ETC NT68P61A

NT68P61A
8-Bit Microcontroller for Monitor (24K OTP ROM Type)
Features
„
„
„
„
„
„
„
„
„
„
„
„
„
„
„
„
„
40 pin DIP & 42 pin SDIP package
Operating Voltage Range: 4.5V to 5.5V
CMOS technology for low power consumption
Crystal oscillator or ceramic resonator* available
6502 8-bit CMOS CPU core
8MHz operation of frequency
24K bytes of OTP (one time programming) ROM
256 bytes of RAM (which stores EDID for DDC1/2B)
One 8-bit pre-loadable base timer
14 channels of 8 bit PWM outputs:
6 channel with 5V open drain and 8 channel with 12V
open drain
2 channel A/D converters with 6-bit resolution
24 bi-directional I/O port pins and 1 I/P pin
„
„
Hsync/Vsync signal processor
Hardware sync signals polarity & freq. evaluator
2
Built-In I C bus interface
Supporting VESA DDC1/2B function
Six-interrupt sources
- INTV (Vsync INT)
- INTE (External INT with rising edge trigger)
- INTMR (Timer INT )
- INTA (Slave Address Matched INT)
- INTD (Shift Register INT)
- INTS (SCL GO-LOW INT)
Hardware watch-dog timer function
Built-In Low Voltage reset circuit (LVRC)
General Description
NT68P61A is a monitor component µC for auto-sync and
digital controlled applications. It contains a 6502
8-bit CPU core, 256 bytes of RAM used as working RAM
and stack area, 24K bytes of OTP ROM**, 14-channel 8bit PWM D/A converters, 2-channel A/D converters for
key detection saving I/O pins, one 8 bit pre-loadable
base timer, internal Hsync and Vsync signals processor
providing mode detection, watch-dog timer preventing
2
system from abnormal operation, and an I C bus
interface. The LVRC enables NT68P61A operate
properly.
Users can store EDID data in the 128 bytes of RAM for
DDC1/2B, so that users can save the cost of dedicated
EEPROM for EDID. Half frequency output function can
save external one-shot circuit. All of these designs create
savings in component costs.
* The frequency deviation of ceramic resonator has
+/- 6% maximum.
** The NT6861 (MASK ROM type) will provide
4/8/12/16/24K bytes program ROM.
1
V1.0
NT68P61A
Pin Configuration
3
4
40
DAC3 [PGM]
39
5
38
DAC4 [MODE0]
DAC5 [MODE1]
6
37
36
NC
35
DAC7 [A14]
34
33
P07/HSYNCO [A7]
P06/VSYNCO [A6]
32
P05/DAC13 [A5]
31
30
P04/DAC12 [A4]
[OE] DAC2
1
HSYNCI
DAC1
2
3
4
38
DAC0
V DD
GND
5
36
6
OSCO
7
8
35
34
DAC3
DAC4
DAC5
DAC6
DAC7
33
P07/HSYNCO [A7]
32
31
P06/VSYNCO [A6]
P05/DAC13 [A5]
30
29
28
P15
[CE] P14
9
10
37
NT68P61A
OSCI
2
[PGM]
[MODE0]
[MODE1]
[MODE2]
[CE] P14
11
[A11] P13/HALFHI
12
13
12
13
[A8] P10/AD0
14
15
27
26
P03/DAC11 [A3]
P02/DAC10 [A2]
P01/DAC9 [A1]
P00/DAC8 [A0]
[DB7] P27
[DB6] P26
16
25
P31/SCL [A13]
17
[DB5] P25
[DB4] P24
[DB3] P23
18
19
24
23
P30/SDA [A12]
P20 [DB0]
P21 [DB1]
P22 [DB2]
*[
21
OSCO
OSCI
P04/DAC12 [A4]
11
20
7
8
P15
[A11] P13/HALFHI
22
NC
GND
9
10
[A10] P12/HALFHO
[A9] P11/AD1
P16/INTE
[VPP] RESET
V DD
[A10] P12/HALFHO
[A9] P11/AD1
[A8] P10/AD0
P16/INTE
[DB7] P27
[DB6]P26
]: OTP Mode
NT68P61AU
VSYNCI/INTV
VSYNCI/INTV/ [A14]
[VPP] RESET
1
42
41
40
39
[OE] DAC2
DAC1
DAC0
HSYNCI
DAC6 [MODE2]
14
15
29
P03/DAC11 [A3]
P02/DAC10 [A2]
28
P01/DAC9 [A1]
16
27
P00/DAC8 [A0]
17
26
25
P31/SCL [A13]
24
[DB5] P25
18
19
[DB4] P24
20
23
P20 [DB0]
P21 [DB1]
[DB3] P23
21
22
P22 [DB2]
*[
P30/SDA [A12]
]: OTP Mode
Block Diagram
V DD
GND
Timing Generator
OTP Program ROM
24K Bytes
IIC BUS
SCL
SDA
OSCI
OSCO
CPU core
6502
SRAM + STACK
PWM DACs
DAC0 - DAC7
DAC8 - DAC13
256 Bytes
INTE
A/D Converter
VSYNCI/INTV
HSYNCI
Interrupt
Controller
8 Bit Base Timer
P00 - P07
I/O Ports
VSYNCO
HSYNCO
H/V Sync Signals
Processor
AD0 - AD1
P10 - P15
P16
Watch Dog Timer
HALFHI
LVRC
P20 - P27
P30 - P31
HALFHO
2
NT68P61A
Pin Descriptions
Pin No.
Designation
Reset Init.
I/O
Description
40 Pin
42 Pin
1
1
DAC2
[ OE ]
O
[I]
Open drain 12V, D/A converter output 2
[OTP ROM program output enable]
2
2
DAC1
O
Open drain 12V, D/A converter output 1
3
3
DAC0
O
Open drain 12V, D/A converter output 0
4
4
RESET
[ VPP ]
I
[P]
5
5
VDD
P
Power
6
7
GND
P
Ground
7
8
OSCO
O
Crystal OSC output
8
9
OSCI
I
Crystal OSC input
9
10
P15
I/O
Bi-directional I/O pin
10
11
P14
[ CE ]
I/O
[I]
Bi- directional I/O pin
[OTP ROM program chip enable]
11
12
P13/HALFHI
[ A11 ]
P13
I/O
[I]
Bi- directional I/O pin, shared with half hsync input
[OTP ROM program address buffer]
12
13
P12/HALFHO
[ A10 ]
P12
I/O
[I]
Bi- directional I/O pin, shared with half hsync output
[OTP ROM program address buffer]
13
14
P11/AD1
P11
I/O
Bi- directional I/O pin, shared with A/D converter channel
1 input
[OTP ROM program address buffer]
[ A9 ]
14
15
P10/AD0
[I]
P10
[ A8 ]
I/O
16
P16/INTE
16 - 23
17 - 24
P27 - P20
I/O
[ DB7 ] [ DB0 ]
[ I/O ]
25
P30/SDA
P16
P30
[ A12 ]
25
26
P31/SCL
27
P00/DAC8
[ A0 ]
I
I/O
[I]
P31
[ A13 ]
26
Bi- directional I/O pin, shared with A/D converter
channel 0 input
[OTP ROM program address buffer]
[I]
15
24
Schmitt trigger input pin, low active reset**
[OPT ROM program supply voltage]
I/O
[I]
P00
I/O
[I]
Schmitt trigger input pin with internal pull high, shared
with external Rising-edge trigger interrupt
Bi- directional I/O pin, push-pull structure with high current
drive/sink capability
[OTP ROM program data buffer]
Open drain 5V Bi-direction I/O pin P30, shared with SDA
2
pin of I C bus schmitt trigger buffer
[OTP ROM program address buffer]
Open drain 5V Bi-direction I/O pin P31, shared with SCL
2
pin of I C bus schmitt trigger buffer
[OTP ROM program address buffer]
Bi- directional I/O pin, shared with open drain 5V D/A
converter output 8
[OTP ROM program address buffer]
* [ ]: OTP Mode
** This RESET pin must be pulled high by external pulled-up resistor (5KΩ suggestion), or it will stay low
voltage to reset system all the time.
3
NT68P61A
Pin Descriptions (continued)
Pin No.
40 Pin
42 Pin
27
28
Designation
Reset Init.
I/O
P01/DAC9
P01
I/O
[ A1 ]
28
29
P02/DAC10
[I]
P02
[ A2 ]
29
30
P03/DAC11
[I]
P03
[ A3 ]
30
31
P04/DAC12
32
P05/DAC13
P04
I/O
[I]
P05
[ A5 ]
*[
I/O
[I]
[ A4 ]
31
I/O
I/O
Description
Bi- directional I/O pin, shared with open drain 5V D/A
converter output 9
[OTP ROM program address buffer]
Bi- directional I/O pin, shared with open drain 5V D/A
converter output 10
[OTP ROM program address buffer]
Bi- directional I/O pin, shared with open drain 5V D/A
converter output 11
[OTP ROM program address buffer]
Bi- directional I/O pin, shared with open drain 5V D/A
converter output 12
[OTP ROM program address buffer]
[I]
Bi- directional I/O pin, shared with open drain 5V D/A
converter output 13
[OTP ROM program address buffer]
32
33
P06/VSYNCO
[ A6 ]
P06
I/O
[I]
Bi- directional I/O pin, shared with vsync out
[OTP ROM program address buffer]
33
34
P07/HSYNCO
[ A7 ]
P07
I/O
[I]
Bi-directional I/O pin, shared with hsync out
[OTP ROM program address buffer]
34
35
DAC7
[ A14 ]
O
Open drain 12V, D/A converter output
[OTP ROM program address buffer]
35
36
DAC6
[ MODE2 ]
O
[I]
Open drain 12V, D/A converter output
[OTP ROM mode select]
36
38
DAC5
[ MODE1 ]
O
[I]
Open drain 12V, D/A converter output
[OTP ROM mode select]
37
39
DAC4
[ MODE0 ]
O
[I]
Open drain 12V, D/A converter output
[OTP ROM mode select]
38
40
DAC3
[ PGM ]
O
[I]
Open drain 12V, D/A converter output
[OTP ROM program control]
39
41
HSYNCI
I
Debouncing & schmitt trigger input pin for video horizontal
sync signal, internal pull high, shared with composite sync
input
40
42
VSYNCI/INTV
I
Debouncing & schmitt trigger input pin for video vertical
sync signal, internal pull high, shared with external
interrupt source
VSYNCI
[A14]
[I]
-
6
NC
I/O
Bi-directional I/O pin, with internal pulled up 22KΩ
resister, only 42 pin SDIP available
-
37
NC
I/O
Bi-directional I/O pin, with internal pulled up 22KΩ
resister, only 42 pin SDIP available
]: OTP Mode
4
NT68P61A
Functional Descriptions
1. 6502 CPU
The 6502 is an 8-bit CPU that provides 56 instructions, decimal and binary arithmetic, thirteen addressing modes, true
indexing capability, programmable stack pointer with variable length stack, a wide selection of addressable memory, and
interrupt input options.
The CPU clock cycle is 4MHz (8MHz system clock divided by 2). Refer to 6502 data sheet for more details.
7
0
Accumulator A
7
0
Index Register Y
7
0
Index Register X
15
8
Program Counter PCH
PCL
7
0
7
0
Stack Pointer SP
7
N
0
V
B
D
I
Z
C
Status Register P
Carry
Zero
IRQ Disable
Decimal Mode
BRK Command
1 = TRUE
1 = Result ZERO
1 = DISABLE
1 = TRUE
1 = BRK
Overflow
1 = TRUE
Negative
1 = NEG
Figure 1. 6502 CPU Registers and Status Flags
5
NT68P61A
2. Instruction Set List
Instruction Code
Meaning
Operation
ADC
Add with carry
A + M + C → A, C
AND
Logical AND
A•M→A
ASL
Shift left one bit
C ← M7 • • • M0 ← 0
BCC
Branch if carry clears
Branch on C = 0
BCS
Branch if carry sets
Branch on C = 1
BEQ
Branch if equal to zero
Branch on Z = 1
BIT
Bit test
A • M, M7 → N, M6 → V
BMI
Branch if minus
Branch on N = 1
BNE
Branch if not equal to zero
Branch on Z = 0
BPL
Branch if plus
Branch on N = 0
BRK
Break
Forced Interrupt PC+2 ↓ PC ↓
BVC
Branch if overflow clears
Branch on V = 0
BVS
Branch if overflow sets
Branch on V = 1
CLC
Clear carry
0→C
CLD
Clear decimal mode
0→D
CLI
Clear interrupt disable bit
0→J
CLV
Clear overflow
0→V
CMP
Compare accumulator to memory
A−M
CPX
Compare with index register X
X − M
CPY
Compare with index register Y
Y−M
DEC
Decrement memory by one
M−1→M
DEX
Decrement index X by one
X−1→X
DEY
Decrement index Y by one
Y − 1→ Y
EOR
Logical exclusive-OR
A ⊕ M →A
INC
Increment memory by one
M+1→M
INX
Increment index X by one
X+1→X
INY
Increment index Y by one
Y+1→Y
6
NT68P61A
Instruction Set List (continued)
Instruction Code
Meaning
Operation
JMP
Jump to new location
(PC+1) → PCL, (PC+2) → PCH
JSR
Jump to subroutine
PC + 2 ↓, (P+1) → PCL, (PC+2) → PCH
LDA
Load accumulator with memory
M→A
LDX
Load Index register X with memory
M→X
LDY
Load Index register Y with memory
M→Y
LSR
Shift right one bit
0 → M7 • • • M0 → C
NOP
No operation
No operation (2 cycles)
ORA
Logical OR
A + M →A
PHA
Push accumulator on stack
A↓
PHP
Push status register on stack
P↓
PLA
Pull accumulator from stack
A↑
PLP
Pull status register from stack
P↑
ROL
Rotate left through carry
C ← M7 • • • M0 ← C
ROR
Rotate right through carry
C → M7 • • • M0 → C
RTI
Return from interrupt
P ↑, PC ↑
RTS
Return from subroutine
PC ↑, PC+1 → PC
SBC
Subtract with borrow
A − M − C → A, C
SEC
Set carry
1→C
SED
Set decimal mode
1 →D
SEI
Set interrupt disable status
1→J
STA
Store accumulator in memory
A →M
STX
Store index register X in memory
X →M
STY
Store index register Y in memory
Y →M
TAX
Transfer accumulator to index X
A →X
TAY
Transfer accumulator to index Y
A→Y
TSX
Transfer stack pointer to index X
S→X
TXA
Transfer index X to accumulator
X→A
TXS
Transfer index X to stack Pointer
X →S
TYA
Transfer index Y to accumulator
Y→A
* Refer to 6502 programming data book for more details.
7
NT68P61A
3. OTP ROM: 24K X 8 bits
The OTP ROM storing application program code, executed by 6502 CPU, has a capacity of 24K X 8 bits, addressed from
$A000 to $FFFF. It is programmed by the universal EPROM writer through a conversion adapter.
In PROGRAMMING mode, OTP ROM is integrated with system and cannot be directly accessed. When using the OTP
ROM alone, first enter the PROGRAMMING mode by setting: RESET = VPP.
At this time, through multiplex pins, normal procedures are used to program and verify the OTP ROM block with the
universal programmer.
OTP ROM Mega Cell D.C. Electrical Characteristics (READ Mode)
(VDD = 5V , TA = 25°C, unless otherwise specified)
Symbol
Parameter
VIH
VIL
IIL
Min.
Max.
Unit
VDD-0.3
VDD+0.3
V
1
-0.3
0.3
V
1
+/-10
µA
Input Voltage
Typ.
Input Current
IOH
-400
µA
VDD =5V, VOH = 4.5V
1
µA
VDD =5V, VOL = 0.5V
1
µA
f = 4MHz
100
µA
Output Voltage
IOL
IDD
ISTB1
Test Conditions
Operating Current
Standby Current
Note
2
3
Notes: 1. All inputs and outputs are CMOS compatible
2. f = 4MHz, Iout = 0mA, CE = VIH, VDD = 5V
3. CE = VIH, OE = VIL, VDD = 5V
OTP ROM Mega Cell l A.C. Electrical Characteristics (READ Mode)
(VDD = 5V, TA = 25°C, unless otherwise specified)
Symbol
Parameter
Tcyc
Cycle Time
T12
Nonoverlap Time to PH1 & PH2
Tacc
Min.
Max.
250
5
Unit
ns
65
ns
Address Access Time
145
ns
Tce
OTPCE to Output Valid
145
ns
Tst
Output Data Setup Time
20
ns
Toh
Output Data Hold Time
0
ns
OTP ROM MEGA CELL A.C. Test Conditions
Output Load
1 CMOS Gate and CL = 10pF
Input Pulse Rise and Fall Times
10ns Max.
Input Pulse Levels
0V to 5V
Timing Measurement Reference Level
Inputs 0V and 5V outputs 0.3V and 4.7V
8
Conditions
4.5V < VDD < 5.5V
NT68P61A
OTP ROM Mega Cell Timing Waveforms (READ Mode)
T12
Tcyc
PH1
PH2
A0 - A14
OTPCE
DB0 - DB7
Tacc & Tce
Tst
Toh
OTP ROM Mega Cell A.C. Electrical Characteristics (PROGRAMMING Mode)
(TA = 25°C, unless otherwise specified)
Symbol
Parameter
VDD
Supply Voltage
VPP
VIH
Input Voltage
VIL
IIL
Input Current
IOH
Output Current
IOL
Min.
Typ.
Max.
Unit
6
6.5
V
10.5
12.75
V
2
VDD +0.3
V
-0.3
0.8
V
+/-10
µA
Test Conditions
4
-400
µA
VDD = 5V, VOH = 4.5V
1
mA
VDD = 5V, VOL = 0.5V
IDD
Programming
30
mA
IPP
Current
20
mA
VPP = 12.75V
Note: 4. For reliability concern, we suggested VDD = 6V & VPP = 12.75V for test OTP ROM AC characteristics in
PROGRAMMING mode, using the same condition for the universal programmer supply voltage.
9
Note
NT68P61A
OTP ROM Mega Cell D.C. Electrical Characteristics (PROGRAMMING Mode)
(TA = 25°C, unless otherwise specified)
Symbol
Parameter
Min.
Typ.
Max.
Unit
Tms
Mode Decode Setup Time
2
ms
Tmh
Mode Decode Hold Time
2
ms
Tas
Address Setup Time
2
ms
Tah
Address Hold Time
2
ms
Tces
CE Setup Time
2
ms
Tceh
CE Hold Time
2
ms
Tds
Data Setup Time
2
ms
Tdh
Data Hold Time
2
ms
Tvs
VPP Setup Time
2
ms
Tpw
Program Pulse Width
100
ms
Tdv
OE to Output Valid
150
ns
Tdf
OE to Output in High-Z
90
ns
Test Conditions
CE = VIL
OTP ROM Mega Cell A.C. Test Conditions
Output Load
1 TTL Gate and CL = 100pF
Input Pulse Rise and Fall Times
10ns Max.
Input Pulse Levels
0.45V to 2.4V
Timing Measurement Reference Level
Inputs 0.8V and 2.2V
Outputs 0.8V and 2.4V
Note: 5. VDD must be applied simultaneously or before VPP and cut off simultaneously or after VPP.
6. Removing the device from power or setting the device with VPP = 12.75V may cause permanent damage
to the device.
10
Note
NT68P61A
OTP ROM Mega Cell Timing Waveforms (PROGRAM Mode)
Tms
Tmh
MODE DEC.
TEST = VPP, MODE [0..2] = 000;
Tvs
VPP
Tas
Tah
A0 - A14
CE
Tceh
Tces
OE
Tdf
DOUT
D IN
DB0 - DB7
Tdv
PGM
Tds
Tpw
Tdh
11
NT68P61A
OTP ROM Mega cell Mode Selection
RESET = 12.75V, OSCI = VIL,
P16 = VIH, DAC0 = VIL
Mode [0..2]
not VPP
---
VPP
Mode
CE
OE
VPP
DB0 DB7
Normal Operating
-
-
-
-
000
Output Disable
-
VIH
-
high-Z
VPP
000
Program
VIH
VIH
VPP
data in
VPP
000
Program Verify
VIH
VIL
VPP
data out
VPP
000
Program Inhibit (Standby)
VIL
-
VPP
high-Z
VPP
001
Security (Program)
VIH
-
VPP
data in
VPP
010
Word-line Stress
-
-
VPP
-
VPP
011
Bit-line Stress
-
-
VPP
"0"
VPP
100
OTP Row (after pkg)
VIH
VIH
VPP
data in
VPP
101
OTP Column (after pkg)
VIH
VIH
VPP
data in
* The security byte is at address $0000.
READ
PROGRAM
NT68P61A's OTP ROM mega cell has 2 control pins. CE
(Chip Enable) controls the operation power and is used
for device selection. The OE (Output Enable) controls
the output buffers.
Initially, all bits are in "1" state which is the erased state.
The program operation is to introduce "0" data into the
desired bit locations by electrical programming. When
the VPP input is at 12.75V and CE is at VIH, the chip
enters the PROGRAMMING mode.
OUTPUT DISABLE
PROGRAM VERIFY
If OE = VIH, the outputs will be in a high impedance
state. Two or more ROMs can be connected together on
a common bus.
The VERIFY mode is to check if the desired data is
correctly programmed on the programmed bit. The
VERIFY is accomplished with CE at VIH, VPP input is at
12.75V, and OE = VIL.
STANDBY
By applying a low power level to the CE input, the chip
enters STANDBY reducing the operating current to
100µA.
PROGRAM INHIBIT
Using this mode, programming of two or more OTP
ROMs in parallel with different data is accomplished. All
inputs except for CE and OE may be commonly
connected, and a TTL high level program pulse is
applied to the CE of the desired device only and TTL
high level signal is applied to the other devices.
12
NT68P61A
4. RAM: 256 X 8 bits
256 X 8-bit SRAM is used for data memory and stack. The RAM addressing range is from $0080 to $017F. From $0100 to
$017F is used as the EDID data buffer when activating DDC1/2B mode transmission. The contents of RAM are
undetermined at power-up and are not affected by system reset. Software programmers can allocate stack area in the
RAM by setting stack pointer register S. Because the 6502 default stack pointer is $01FF, programmers must set register
S to FFH when starting the program, so the stack area will map $01FF - $0180 to $00FF - $0080.
as;
LDX
TXS
#$FF
$0000
$0025
System Registers
Unused
$0080
RAM
stack pointer
$00FF
$0100
EDID
$017F
$0180
Unused
$BFFF
$A000
(24K Bytes)
OTP
ROM
$FFFC
RST-L
$FFFD
RST-H
IRQ-L
RESET vector
IRQ-H
IRQ vector
$FFFE
$FFFF
13
NT68P61A
5. System Registers
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
$0000
PT0
FFH
P07
P06
P05
P04
P03
P02
P01
P00
RW
$0001
PT1
7FH
-
P16
P15
P14
P13
P12
P11
P10
RW
$0002
PT2DIR
FFH
P27OE
P26OE
P25OE
P24OE
P23OE
P22OE
P21OE
P20OE
W
$0003
PT2
FFH
P27
P26
P25
P24
P23
P22
P21
P20
RW
$0004
PT3
03H
-
-
-
-
-
-
P31
P30
RW
$0005
MD CON
07H
-
-
-
-
-
-
S/ C
MD1/ 2
R
INSEN
HSEL
S/ C
MD1/ 2
W
HCNTOV
VCNTOV
HSYNCI
VSYNCI
HPOLI
VPOLI
HPOLO
VPOLO
R
W
$0006
HV CON
2FH
$0007
HCNT L
00H
HCL7
HCL6
HCL5
HCL4
HCL3
HCL2
HCL1
HCL0
R
$0008
HCNT H
00H
-
-
-
-
HCH3
HCH2
HCH1
HCH0
R
$0009
VCNT L
00H
VCL7
VCL6
VCL5
VCL4
VCL3
VCL2
VCL1
VCL0
R
$000A
VCNT H
00H
-
-
-
-
VCH3
VCH2
VCH1
VCH0
R
$000B
SYNCON
FFH
NOHALF
ENHALF
-
FRUN
FRFREQ
HALFPOL
ENH
ENV
W
$000C
ENDAC
FFH
ENAD1
ENAD0
ENDK13
ENDK12
ENDK11
ENDK10
ENDK9
ENDK8
W
$000D
AD0 REG
C0H
CEND
AD05
AD04
AD03
AD02
AD01
AD00
R
W
CSTA
$000E
AD1 REG
00H
-
-
AD15
AD14
AD13
AD12
AD11
AD10
R
$000F
IEX
00H
-
-
IEINTS
IEINTD
IEINTA
IEINTR
IEINTE
IEINTV
W
14
NT68P61A
System Registers (continued)
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
$0010
IRQX
00H
-
-
IRQINTS
IRQINTD
IRQINTA
IRQINTR
IRQINTE
IRQINTV
R
$0011
CLR FLG
00H
CLRHOV
CLRVOV
CLRINTS
CLRINTD
CLRINTA
CLRINTR
CLRINTE
CLRINTV
W
$0012
CLR WDT
-
0
1
0
1
0
1
0
1
W
$0013
II ADR
FFH
AR7
AR6
AR5
AR4
AR3
AR2
AR1
-
W
$0014
II DAT
00H
SR7
SR6
SR5
SR4
SR3
SR2
SR1
SR0
RW
$0015
II STS
08H
-
-
START
START
STOP
STOP
RXAK
-
ENDDC
TRX
R
W
$0016
BT
00H
BT7
BT6
BT5
BT4
BT3
BT2
BT1
BT0
W
$0017
BT CON
03H
-
-
-
-
-
-
TBS
ENBT
W
$0018
DACH0
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0019
DACH1
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$001A
DACH2
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$001B
DACH3
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$001C
DACH4
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$001D
DACH5
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$001E
DACH6
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$001F
DACH7
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0020
DACH8
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0021
DACH9
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0022
DACH10
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0023
DACH11
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0024
DACH12
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0025
DACH13
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
Note: The line above a writable signal name indicate an active low signal
The dash line in these control register indicate an undefined bit
The address of control register from $0026 to $007F are not used.
15
NT68P61A
6. Timing Generator
This block generates the system timing and control signal to be supplied to the CPU and on-chip peripherals. A crystal
quartz, ceramic resonator, or an external clock signal provided to the OSCI pin generates 8MHz system clock,
(4 MHz for CPU), Although internal circuits have a feedback resistor and capacitor included, components may be
externally added to ensure proper operation. The typical clock frequency is 8MHz. This frequency will affect the operation
of on-chip peripherals whose operating frequency is based on the system clock .
OSCI
External Clock
OSCI
8MHz
OSCO
Unconnected
OSCO
(2)
(1)
NT68P61A
NT68P61A
Figure 2. Oscillator Connections
7. A/D Converter
The analog to digital converter is a single 6-bit successive approximation converter. Analog voltage is supplied from
external sources to the A/D input pins and the results of the conversion are stored in the 6-bit data latch registers
($000D & $000E). The A/D converter is controlled by the control bits in the A/D control register ENDAC. Refer to the A/D
channel format table A/D input pins activation. A conversion is started by setting a '0' to the CONVERSION START bit
( CSTA ) in the A/D control register ($000D). This automatically sets the CONVERSION END bit ( CEND ) to '1'. When a
conversion has been finished, CEND bit automatically clears to '0'. The A/D conversion data in the AD LATCH registers
($000D & $000E) is valid digital data.
The analog voltage to be measured should be stable during the conversion operation. The variation should exceed
1/2 LSB for accuracy in measurement. Please refer Figure 3 for checking the linearity of A/D.
A/D Channel Format Table
ENAD1
ENAD0
P11 line
P10 line
0
0
AD1
AD0
0
1
AD1
P10
1
0
P11
AD0
1
1
P11
P10
16
NT68P61A
A/D Channel Control Register
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
$000C
ENDAC
FFH
ENAD1
ENAD0
ENDK13
ENDK12
ENDK11
ENDK10
ENDK9
ENDK8
W
$000D
AD0 REG
C0H
CEND
AD05
AD04
AD03
AD02
AD01
AD00
R
W
AD15
AD14
AD13
AD12
AD11
AD10
R
CSTA
$000E
AD1 REG
00H
-
-
Input Voltage
Digital Value
Input Voltage
Digital Value
Input Voltage
Digital Value
0.12
0 ($00)
1.79
23 ($17)
3.5
46 ($2E)
0.37
1 ($01)
2.03
27 ($1B)
3.75
49 ($31)
0.53
7 ($07)
2.27
30 ($1E)
3.99
52 ($34)
0.78
10 ($0A)
2.51
33 ($21)
4.22
56 ($38)
1
14 ($0E)
2.76
36 ($24)
4.46
63 ($3F)
1.28
17 ($11)
3
40 ($28)
4.7
63 ($3F)
1.54
20 ($14)
3.25
43 ($2B)
4.95
63 ($3F)
70
These digitals have ± 1 LSB deviation
60
Digital Value
Linear Range
50
40
30
20
10
VDD
0
0
0.2
0.3
0.4
0.6
0.7
0.8
Input Voltage
Figure 3. A/D Converter Linearity Diagram
17
1
NT68P61A
8. PWM DACs (Pulse Width Modulation D/A Converters)
There are 14 PWM D/A converters with 8-bit resolution in NT68P61A. Eight of these D/A (DAC0 - DAC7) converters are
open-drain output structures with 12V applied (maximum), and the other six D/A converters (DAC8 - DAC13) are
open-drain output structures with 5V applied (maximum). The PWM frequency is 31.25 KHz on 8 MHz system clock. Use
of a different oscillator frequency will result in different PWM frequency. As DAC8 - DAC13 are shared with I/O port pins,
user can write '0' to corresponding enable bit in the ENDAC control register to activate each of DACH8 - 13. There are 14channel readable DACH registers corresponding to 14 D/A converters. Each PWM output pulse width is programmable by
setting the 8 bit digital to the corresponding DACH registers. When these DACH registers are set to 00H, the DAC will
output LOW (GND level) and each bit addition will add 125ns pulse width. After reset, all DAC outputs are set to 80H (1/2
duty output). Refer to Figure 4 for the detailed timing diagram of PWM D/A output.
8MHz Fosc
PWM value:
00
255
0
1
2
m
m+1
m+2
255
0
1
01
02
m
255 (FF)
Figure 4. The DAC Output Timing Diagram and Wave Table
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
DAC Output Duty Cycle
0
0
0
0
0
0
0
0
GND
0
0
0
0
0
0
0
1
1/256 Vref.
0
0
0
0
0
0
1
0
2/256 Vref.
0
0
0
0
0
0
1
1
3/256 Vref.
0
0
0
0
0
1
0
0
4/256 Vref.
-
-
-
-
-
-
-
-
X /256 Vref.
1
1
1
1
1
1
1
0
254/256 Vref.
1
1
1
1
1
1
1
1
255/256 Vref.
The DAC value correspondent to PWM output
* Vref. is 12V or 5V
18
NT68P61A
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
$000C
ENDAC
FFH
ENAD1
ENAD0
ENDK13
ENDK12
ENDK11
ENDK10
ENDK9
ENDK8
W
$0018
DACH0
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0019
DACH1
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$001A
DACH2
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$001B
DACH3
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$001C
DACH4
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$001D
DACH5
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$001E
DACH6
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$001F
DACH7
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0020
DACH8
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0021
DACH9
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0022
DACH10
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0023
DACH11
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0024
DACH12
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0025
DACH13
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
DAC control register ($000C) and DAC value register ($0018 - $0025)
Control Bit Description:
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
$000C
ENDAC
FFH
ENAD1
ENAD0
ENDK13
ENDK12
ENDK11
ENDK10
ENDK9
ENDK8
W
$0018
DACH0
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
ENDK8 : Enable DAC channel 8; When clearing this bit
to '0', the I/O port, P00, will change to DAC channel 8.
When setting this bit to '1', the I/O port will
restore to P00.
ENDK9 - ENDK13 : The manipulation is the same as
ENDK8 bit, and control DAC channel 9 - 13.
DACH0 (DKVL0 - DKVL7): Setting DAC output waveform
of DAC channel 8. Please check Figure 3 for the timing
diagram
and wave table.
DACH1 - DACH13: The manipulation is the same as
DACH0 register, and control DAC channel 1 - 13.
19
NT68P61A
9. RESET
This RESET pin must be pulled high by external pulledup resistor (5KΩ suggestion), or it will stay low voltage to
reset system all the time.
NT68P61A can be reset by the external reset pin or by
the internal watch-dog timer. This resets or starts the
microcontroller from a power-down condition. During the
time that this reset pin is held low (*reset line must be
held low for at least two CPU clock cycles), writing to or
from the µC is inhibited. When positive edge is detected
on the reset input, the µC will immediately begin reset
sequence.
After a system initialization time of six CPU clock cycles,
the mask interrupt flag will be set and the µC will load the
program counter from the memory vector locations
$FFFC and $FFFD. This is the start location for program
control. To improve noise immunity a Schmitt Trigger
buffer is provided at the RESET .
10. Watch-dog timer (WDT) and Low Voltage
Reset Circuit (LVRC)
NT68P61A implements a watch-dog timer reset to avoid
system shut-down or malfunction. The clock of the WDT
is from on-chip RC oscillator not requiring any external
components. The WDT runs regardless if the clock of the
OSCI/OSCO pins of the device has been stopped. The
WDT time interval is about 0.5 second. The WDT must
be cleared within every 0.5 second when software is in
normal sequence, otherwise the WDT will overflow and
cause reset. The WDT is cleared and enabled after
system is reset. It cannot be disabled by software. Users
can clear the WDT by writing 55H to CLRWDT register.
Reset status is as follows:
1. PORT0 PORT1. PORT2. PORT3 pins will act as
I/O ports with HIGH output.
2. Sync processor counters reset and VCNT | HCNT
latches cleared
3. All sync outputs are disabled
4. Base timer is disabled and cleared
5. A/D converter is disabled and stopped
6. DDC1/2B function is disabled
7. PWM DAC0 - DAC7 output 50% duty
waveform and DAC8 - DAC13 is disabled
8. Watch-dog timer is cleared and enabled
as;
LDA
STA
NT68P61A will check voltage level of power supply.
When the voltage level of power supply is below a
threshold of 4.0V, the LVRC will issue a reset output to
the chip. After the power supply is restored to 4.0V and
above, the LVRC will keep reset signal low for 10mS and
then restore to high voltage. A power glitch of pulse
width less than 1µs will be ignored and no reset will
occur. This allows the µC enter the reset state in a good
condition. Refer to Figure 5 for the timing diagram.
#$55
$0012
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
$0012
CLR WDT
-
0
1
0
1
0
1
0
1
Vcc = 5.0 V
4.0 V
GND
Hold 10 mS
System Reset
Figure 5. LVR Reset Timing Diagram
20
W
NT68P61A
11. Interrupt Controller
The µC will complete the current instruction being
executed before recognizing the interrupt request. At this
time, the interrupt mask bit in the status register will be
examined. If the interrupt mask bit is not set, µC will
begin interrupt sequence. The program counter and
processor status register are stored in the stack. µC will
then set the interrupt mask flag HIGH so that no further
interrupts occur. At the end of this cycle, the program
counter will be loaded from addresses $FFFE & $FFFF,
transferring program control to the memory vector
located at these addresses.
external pins (INTV & INTE), base timer overflow (INTR),
SCL line go-low (INTS), and serial bus interrupt (INTA &
2
INTD). The serial bus interrupt is generated by the I C
2
circuit as described in under I C bus interface sections.
The interrupt enable (IEX) bit will effects the interrupt
process if the IRQX has already been set. Once IEX bit
is set, its corresponding interrupt will generate an
interrupt source for 6502 CPU. The IRQX will be set no
matter the IEX bit enable or not. The interrupt request is
generated when IRQX and IEX are both '1'. The IRQX
remains in HIGH state unless the CLRIRQ register is
cleared (write '1' to correspondent bit in CLRIRQ
register). The interrupt enable register (IEX) and interrupt
request register (IRQX) are memory mapped registers
which can only be accessed or tested by program. These
registers are cleared to '0' at initialization after the chip is
reset .
When interrupt occurs, CPU jumps to $FFFE & $FFFF to
execute interrupt service routine and finds which one of
the interrupt sources is active by checking the IRQX.
Upon entering the interrupt service routine, the IRQX that
caused the interrupt service must be cleared in the
interrupt service routine program. CPU clears IRQX by
writing '1' to the corresponding bit in CLRIRQ register. If
more than one interrupt is pending and waiting to be
served, each is executed by priority. Priority is defined by
the programmer.
Six interrupt sources are available in this system:
- INTV INT (Vsync INT): Rising edge of every Vsync
pulse
- INTE INT (External INT): Rising edge of external
interrupt pulse
- INTMR INT (Timer INT): As the Base Timer counter
overflow and counting from $FF to $00
- INTA INT (Address Matched INT): External device
calling NT68P61A in DDC2 mode communication
- INTD INT (Shift Register INT): Shift register is
empty or receiving a new byte data in DDC1 & DDC2
mode communication
- INTS INT (SCL Go-Low INT): External device
proceed a DDC2 communication
Three memory mapped registers are used to control the
interrupt operation. The IRQX is set by the rising edge of
Control bit description:
ADDR.
REGISTER
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
$000F
IEX
00H
-
-
IEINTS
IEINTD
IEINTA
IEINTR
IEINTE
IEINTV
W
$0010
IRQX
00H
-
-
IRQINTS
IRQINTD
IRQINTA
IRQINTR
IRQINTE
IRQINTV
R
$0011
CLR FLG
00H
CLRHOV
CLRVOV
CLRINTS
CLRINTD
CLRINTA
CLRINTR
CLRINTE
CLRINTV
W
IRQINTS is the interrupt flag for SCL- At DDC2B TRANSMISSION mode, it is set when SCL line changes from '1' to '0'.
IEINTS enable 6502 interrupt for INTS. - When this bit is set to '1' and IRQINTS flag is set, 6502 will accept interrupt
source and jump to interrupt service routine assigned by interrupt vector.
CLRINTS clears INTS interrupt flag. - Before returning from interrupt service routine, this flag must be cleared.
The manipulation of other interrupt source is the same as INTS.
CLRHOV & CLRVOV: Clear the overflow flag of H/V counter and reset H/V counter to zero.
21
NT68P61A
P00 - P05 are shared with DAC8 - DAC13 respectively. If
user sets ENDK8 - ENDK13 LOW in ENDAC register,
P00 - P05 will act as DAC8 - DAC13 respectively
(Figure 7). After the chip is reset, ENDK - ENDK13 will
enter HIGH state and P00 - P05s will act as I/O ports.
12. I/O PORTs
NT68P61A has 25 pins dedicated to input and output.
These pins are grouped into 4 ports .
12.1. Port0: P00 - P07
Port0 is an 8-bit bi-directional CMOS I/O port with PMOS
as internal pull-up (Figure 6). Each pin of Port0 may be
bit programmed as an input or output port without the
software controlling the data direction register. When
Port0 works as output, the data to be output is latched to
the port data register and output to the pin. Port0 pins
that have '1's written to them are pulled high by the
internal PMOS pull-ups. In this state they can be used as
input, then the input signal can be read. This port outputs
high after reset .
P06, P07 are shared with VSYNCO & HSYNCO
respectively. If user sets ENH , ENV to low in SYNCON
register, P06, P07 will act as VSYNCO & HSYNCO
respectively (Figure 8). After the chip is reset, ENH ,
ENV , will enter high state and P06, BP07 will act as I/O
pins.
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
$0000
PT0
FFH
P07
P06
P05
P04
P03
P02
P01
P00
R
W
$000B
SYNCON
FFH
NOHALF
ENHALF
-
FRUN
FRFREQ
HALFPOL
ENH
ENV
W
$000C
ENDAC
FFH
ENAD1
ENAD0
ENDK13
ENDK12
ENDK11
ENDK10
ENDK9
ENDK8
W
PWM
Vcc
Output
PWM
Data In
I/O
Figure 7. PWM Output Structure
Vcc
Data Out
O/P
Data In
Data Out
Figure 6. I/O Structure
22
NT68P61A
Figure 8. Output Structure
23
NT68P61A
12.2. Port1: P10 - P16
Port10-Port15 are 6-bit bi-directional CMOS I/O ports
with PMOS as the internal pull-up (Figure 6). Port16 is
an input pin only. Each bi-directional I/O pin may be bit
programmed as an input or output port without software
controlling the data direction register. When Port1 works
as output, the data to be output is latched to the port
data register and output to the pin. Port1 pins that have
'1's written to them are pulled high after reset.
P12, P13 are shared with half signals input and output
pins by accessing SYNCON control register. If user
clears the ENHALF bit to low, P13 will switch to HALFHI
pin (input pin) and P12 will switch to HALFHO pin
(output pin, Figure 8). Refer to half frequency function in
the H/V sync processor paragraph concerning HALFHI &
HALFHO pin. After the chip is reset, the ENHALF bits
will enter HIGH state and P12, P13 will act as I/O pins.
P10, P11 are shared with AD0 & AD1 input pins
respectively. If user clears the ENADX bit in the ENDAC
control register to low, A/D converters will activate
simultaneously. After the chip is reset, ENADX bits enter
HIGH state and P10, P11 act as I/O pins.
P16 has a Schmitt Trigger input buffer (Figure 9) and is
shared with the external interrupt pin if set the IEINTE bit
in IEX control register. Refer to 'Interrupt Controller'
section above for function details.
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
$0001
PT1
7FH
-
P16
P15
P14
P13
P12
P11
P10
RW
$000C
ENDAC
FFH
ENAD1
ENAD0
ENDK13
ENDK12
ENDK11
ENDK10
ENDK9
ENDK8
W
$000D
AD0 REG
C0H
CEND
AD05
AD04
AD03
AD02
AD01
AD00
R
W
CSTA
$000E
AD1 REG
00H
-
-
AD15
AD14
AD13
AD12
AD11
AD10
R
$000F
IEX
00H
-
-
IEINTS
IEINTD
IEINTA
IEINTR
IEINTE
IEINTV
W
Vcc
Vcc
Data Out
.
Data OE
I/P
Data Input
Data In
Figure 9. Schmitt Input Structure
Figure 10. I/O Structure
24
I/O
NT68P61A
12.3. Port2: P20 - P27
Port2, an 8-bit bi-directional I/O port (Figure 10), which may be programmed as an input or output pin by the software
control. When setting the PT2DIR control bit to '0', its corresponding pin will act as output pin. Clearing PT2DIR bit to '1',
acts as an input pin. When programmed as an input, it has an internal pull-up resistor. When programmed as an output,
the data to be output is latched to the port data register and output to the pin with push-pull structure. If programmed as an
output pin, user can read out its correspondent control bit about what user has written before. If programmed as an input
pin, user can read out what the I/O pin status outside. This port acts as an input port after reset.
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
$0002
PT2DIR
FFH
P27OE
P26OE
P25OE
P24OE
P23OE
P22OE
P21OE
P20OE
W
$0003
PT2
FFH
P27
P26
P25
P24
P23
P22
P21
P20
RW
12.4. Port3: P30 - P31
Port3 is an 2 bit bi-directional open-drain I/O port (Figure 11). Each pin of Port3 may be bit programmed as an input or
output pin with open drain structure. When Port3 works as an output, the data to be output is latched to the port data
register and output to the pin. For Port3 pins that have '1's written to them, user must connect PORT3 with external pulledup resistor and then PORT3 can be used as input (the input signal can be read). This port outputs high after reset .
2
P30, BP3 include Schmitt Trigger buffer for noise immunity and can be configured as the I C pins SDA & SCL respectively.
If set ENDDC to LOW in IISTS control register, P30, P31 will act as SDA, SCL respectively. After the chip is reset,
ENDDC will be in HIGH and PORT3 will act as I/O pins.
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
$0004
PT3
03H
-
-
-
-
-
-
P31
P30
$0015
II STS
0FH
-
-
START
START
STOP
STOP
ENDDC
TRX
RXAK
I/O
Data Out
Data In
Figure 11. Open Drain I/O Structure
25
RW
R
W
NT68P61A
13. H/V Sync Signals Processor
The functions of the sync processor include polarity
detection,
Hsync
&
Vsync
signals
counting,
programmable sync signals output, free running signal
generator and composite sync separation. The processor
properly handles either composite or separate sync
signal inputs as well as no sync signal input. The input at
HSYNCI can be either a pure horizontal sync signal or a
composite sync signal. For the sync waveform refer to
Figures 12 and 13.
The sync processor block diagram is shown in
Figure 17. Both VSYNCI & HSYNCI pins have a Schmitt
Trigger and filtering process to improve noise immunity.
Any pulse that is shorter than 125ns will be regarded as
a glitch and will be ignored.
VCNTOV bit (in HVCON register) to HIGH (see Figure
14). Once the VCNTOV sets to HIGH, it keeps in HIGH
state unless cleared by CLRVOV bit (in CLRFLG
register) to HIGH. When user clears the CLRVOV bit, the
VCNT counter will be reset to zero and begin to count
again.
Hsync counter: HCNTL/H, the other 12-bit read only
register pairs contain the numbers of Hsync pulse
between two Vsync pulses (see Figure 15), and the data
can be read to determine if the frequency is valid and to
determine the VIDEO mode. If the HSEL bit sets to
HIGH, the internal counter counts the Hsync pulses
between two Vsync pulses. If the HSEL bit clears to
LOW, the internal counter will be reset and begin
counting the Hsync pulses in each 8.192ms interval (see
Figure 16). The counted value will be latched by the
HCNTL/H register pairs which are updated by every
Vsync pulse or 8.192ms interval. If the counter
overflows, the HCNTOV bit (in HVCON register) will be
set to HIGH. Once the HCNTOV sets to HIGH, it remains
in the overflow HIGH state unless cleared by CLRHOV
(in CLRFLG register) to HIGH. When user clears the
CLRHOV bit, the HCNT counter will be reset to zero.
13.1. V & H Counter Register: VCNTL/H, HCNTL/H
Vsync counter: VCNTL/H, the 12-bit read only register,
contains information of the Vsync frequency. An internal
counter counts the numbers of 8µs pulse between two
Vsync pulses. When the next Vsync signal is recognized,
the counter is stopped and the VCNT register latches the
counter value. The counted data can be converted to the
time duration between two successive Vsync pulses by
8µs. If no Vsync comes, the counter will overflow and set
(a) Positive polarity
(b) Negative polarity
Figure 12. Separate H Sync. Waveform
(a) Positive Polarity
(b) Negative Polarity
Figure 13. Composite H Sync. Waveform
26
NT68P61A
Latch VCNT register
Reset V sync. counter
Start pulse counting
Latch VCNT register
Reset V sync. counter
Start pulse counting
å
å
å
å
8 µs
å
Sampling Clock
å
VSYNCI
Figure 14. Vsync Counter Operation
Latch HCNT register
Reset H sync. counter
Start pulse counting
Latch HCNT register
Reset H sync. counter
Start pulse counting
å
å
å
HSYNCI
å
å
VSYNCI
å
Figure 15. Hsync Counter Operation Using Vsync Pulse
Latch HCNT register
Reset H sync. counter
Start pulse counting
Latch HCNT register
Reset H sync. counter
Start pulse counting
å
å
å
å
HSYNCI
å
HSEL = Low
8.192 ms
å
Figure 16. Hsync Counter Operation Using 8.192ms Time Interval
27
NT68P61A
VCNTL
VCNTH
Control
Logic
V sync.
Latch
S/C
VSYNC
INPUT
Schmitt
Trigger
Digital
Filter
1
Enable
8 µs
V sync.
counter
V
Enable
Reset
HSEL
0
8.192 ms
0
1
HSYNC
INPUT
Schmitt
Trigger
Digital
Filter
Sync
Separator
H sync.
Latch
H&V
Sync.
Polarity
Detector
H
Enable
H sync.
counter
HPOLO
Reset
Enable
HCNTL
HCNTH
HPOLI
H Sync.
Output
Control
H
HSYNCO
FREE_RUN
Control
S/C
VPOLI
V
0
V
V Sync.
Output
Control
1
VPOLO
Figure 17. Sync. Processor Block Diagram
28
VSYNCO
NT68P61A
13.2. Sync Processor Control Register:
Composite sync: User has to determine whether the
incoming signal is separate sync or composite sync and
set S/ C & HSEL bit properly. If composite sync signal
is input, after set S/ C to '0', the sync separator block will
be activated ( please refer figure 18). During Vsync pulse
the Hsync will be inserted Hsync pulse by hardware
circuit and the pulse width of inserted pulse is 2µs fixed.
According to the last Hsync pulse outside the Vsync
pulse duration, the hardware will arrange the interval of
these hardware interpolated pulse. So the insertion of
these Hsync pulse will be continued inside the Vsync
pulse duration no matter what the Hsync pulse originally
exist or not. These inserted Hsync pulse have 0.5µs
phase deviation maximum. The Vsync pulse can be
extracted by hardware from composite signal, and the
output of Vsync signal delay time will be limited bellow
20ns. For inserting Hsync pulse safely, the extracted
Vsync pulse will be widen about 9µs. Because evenly
putting the Hsync pulse, the last inserted Hsync pulse
will have different frequency from original ones.
bits in the HVCON register, '1' represents positive
polarity and '0', negative polarity.
Sync output: In pin assignment, VSYNCO & HSYNCO
represent Vsync & Hsync output which are shared with
P06 & P07 respectively. If set ENV & ENH to '0' in
SYNCON register, P06 & P07 will act as VSYNCO &
HSYNCO pin. When input sync is separate signal, the
V/HSYNCO will output the same signal as input sync
signal without delay. But if input sync is composite
signal, the VSYNCO signal will have a delay time of
about 4µs to 8µs. The HSYNCO has no delay output and
still has Vsync pulse among Hsync pulse (i.e. the signal
on HSYNCI pin directly output to HSYNCO pin.)
Free run signal output: The user can set FRUN to '0' bit
in SYNCON register, then VSYNCO will output 61Hz
Vsync signal and HSYNCO will output 62.5KHz Hsync
signal default (Refer to Figure 20). When FRFREQ bit
clears to '0', the HSYNCO pin will output 41.7 KHz Hsync
signal. The free run signal has negative or positive
polarity depending on the HPOLO & VPOLO bit setting in
the HV_CON control register, '1' is positive and '0' is
negative polarity. After chip reset, ENV , ENH , FRFREQ
System will not implement this insertion function, user
must clear INSEN bit in the MD_CON control register to
activate this function.
& FRUN will enter HIGH state and P06 & P07 will act as
I/O pins.
After reset, the HSEL , S/ C & INSEN bits default value
is HIGH and clear the VCNT | HCNT counter latches to
zero.
Half frequency input and output: In this pin assignment,
when ENHALF sets to '0' in SYNCON register, the
HALFHO pin will act as an output pin and output half of
input signal in the HALFHI pin with 50% duty
(Refer to Figure 21). If NOHALF sets to '0', HALFHO will
output the same signal in the HALFHI pin and user can
control its polarity output of HALFHO by setting
HALFPOL bit, '1' for positive and '0' for negative polarity.
After chip reset, ENHALF , NOHALF & HALFPOL will be
in the HIGH state and P13 & P17 will act as I/O pins.
Polarity: The detection of Hsync or Vsync polarity is
achieved by hardware circuits sample the sync signal's
voltage level periodically. The user can read HPOLI &
VPOLI bit in HVCON register, from which bit = '1'
representing positive polarity and '0', negative polarity.
The user can read HSYNCI and VSYNCI bit in HVCON
register to detect H & V sync input signal. The user can
control the polarity of H & V sync output signal by
writing the appropriate data to the HPOLO and VPOLO
29
NT68P61A
å
(1) HSYNCI
å
å
Composite H sync. waveform (H EOR V)
å
(2) HSYNCI
å
å
Composite H sync. waveform (H OR V)
No matter Hsync pulse existing or not,
the output signal of Hsync will be inserted.
2µs
HSYNCO
å
å
å
Original
Hsync Pulse
Original
Hsync Pulse
Inserted Hsync Pulse
VSYNCO
Widen 9 µs
Figure 18. Composite H & V Sync. Processing
30
NT68P61A
Sync. Mode
Processing
Set S/C = '0'
Clear VCNTOV & HCNTOV
Open INTV & clear INTV flag
System Default:
S/C = '1' & HSEL = '1'
Open INTV & clear INTV flag
Freq.
Calculating
Set S/C = '1' & HSEL = '0'
Clear VCNTOV & HCNTOV Delay 10ms
No
INTV ?
Delay 60ms
Yes
Yes
HCNTH = '00'
?
Delay 31 ms
No
Yes
Suspend
Yes
VCNTOV = '1'
?
Off Mode
1. Extract VCNTL/H 12 bit data
2. HSEL = '1'
12 bit data X 8µs
= Vsync. time duration
3. Its reciprocal
is Vsync. freq.
4. HSEL = '0'
12 bit data X 8.192ms
= Vsync. freq.
Mode
VCNTOV = '1'
?
No
STAND-BY Mode
No
Yes
HCNTH = '00'
?
HCNTH ='00'
?
NORMAL Mode
No
Seperate Sync.
Yes
Worng Mode
1. Extract HCNTL/H 12 bit data
2. 12 bit data * Vsync. freq.
= Hsync. freq.
3. Its reciprocal
is Hsync. time duration.
No
Read VCNT|HCNT
Counter Register
Read VCNT|HCNT
Counter Register
Return
Freq.
Calculating
NORMAL Mode
Composite Sync.
Return
Figure 19. H & V Sync. Software Control Flowchart (for reference only)
31
NT68P61A
61Hz
(1) 62.5KHz
Pulse width 64 µs
(a) Free run output Vsync. signal
(2) 41.7KHz
Pulse width 1 µs
(b) Option 2 of free run output Hsync. signal
Figure 20. Free Running Sync. Waveform
HALFHI
HALFHO: Half freq. output signal (50% duty)
HALFHO output signal when NOHALF bit clears to LOW
(the same signal as in the HALFHI pin)
Figure 21. Half Freq. Sync. Waveform
32
NT68P61A
13.3. Power Saving Mode Detect:
The VIDEO mode is listed below. Power saving is from mode 2 to mode 4. All modes can be detected by setting the
control register properly. Refer to Figure 15 control flow chart for software reference.
Mode
(1) Normal
(2) Stand by
(3) Suspend
(4) Off
H-Sync
Active
Inactive
Active
Inactive
V-Sync
Active
Active
Inactive
Inactive
Control bit description:
Addr.
$0005
$0006
Register
MD CON
HV CON
INIT
07H
2FH
Bit7
-
Bit6
-
Bit5
-
Bit4
-
Bit3
-
Bit2
Bit1
Bit0
-
S/ C
MD1/ 2
INSEN
HSEL
S/ C
MD1/ 2
HCNTOV
VCNTOV
HSYNCI
VSYNCI
HPOLI
VPOLI
HPOLO
HCL1
HCH1
VCL1
VCH1
VPOLO
HCL0
HCH0
VCL0
VCH0
ENH
ENV
R
W
R
R
R
R
W
CLRINTE
CLRINTV
W
$0007
$0008
$0009
$000A
$000B
HCNT L
HCNT H
VCNT L
VCNT H
SYNCON
00H
00H
00H
00H
FFH
HCL7
VCL7
-
HCL6
VCL6
-
HCL4
VCL4
-
HCL3
HCH3
VCL3
VCH3
ENHALF
HCL5
VCL5
-
FRUN
FRFREQ
HCL2
HCH2
VCL2
VCH2
HALFPOL
NOHALF
$0011
CLR FLG
00H
CLRHOV
CLRVOV
CLRINTS
CLRINTD
CLRINTA
CLRINTR
R
W
HSYNCI & VSYNCI:User can instantaneously detect
input of H & V Sync pulse at any
time.
HPOLI & VPOLI: The polarity of input H & V Sync pulse
- '1' for positive polarity and '0' for
negative polarity.
HPOLO & VPOLO:To control the output polarity of H & V
Sync pulse - '1' for positive polarity
and '0' for negative polarity.
MDCON control register:
S/ C : The SYNC MODE control. If the input of V & H
Sync are separate signals, set this bit to
'1' (system default). If the input is composite
signal, clear this bit. Under the COMPOSITE
mode,
NT68P61A will extract the V Sync form H Sync
signal.
HSEL : When clearing this bit, system will reset
HCNTL|H counter to zero. The number of Hsync
pulse at the 8.192ms interval is obtained.
INSEN : User can clear this bit for inserting Hsync pulse
when processing the composite signal. System
will disable this function after reset.
HCNTL|H & VCNTL|H control registers:
The 12 bits counter for H & V Sync pulse.
SYNCON control register:
ENH & ENV : Enable the output of H & V Sync. The P06
& P07 will switch to VSYNCO & HSYNCO
output.
FRUN : Open free run signal at the VSYNCO & HSYNCO
output.
FRFREQ : Select the free run frequency of H Sync
output.
ENHALF : P12 & P13 will switch to HALFHO & HALFHI
pin. The HALFHO will output the half signal at
the HALFHI pin with 50% duty.
NOHALF : User must clear ENHALF first. The HALFHO
will output the same signal at the HALFHI
pin.
HALFPOL: User must clear ENHALF first and control
the
HVCON control register:
HCNTOV: The overflow bit of H Sync. After setting
bit '1' without any input Vsync pulses and
HSEL
there are more than 4096 Hsync pulses
coming ,this bit will be set. It will keep '1' and
user can clears it by setting CLRHOV bit to '1'
at the CLRFLG control register. After cleared,
the H Sync counter will reset to '0' and start
counting for every Hsync pulse.
VCNTOV: The overflow bit of V Sync. The operation is
the same as HCNTOV. After cleared, the
Vsync counter will reset to '0' and start
counting for every 8µs.
33
NT68P61A
polarity at the HALFHO output pin - '1' for
positive polarity and '0' for negative polarity.
14. BASE TIMER (BT)
The Base Timer is an 8-bit counter whose clock source must be chosen with 1µs or 1ms by setting or clearing the TBS bit
('0' for 1µs and '1' for 1ms). The BT can be enabled/disabled by the ENBT bit in the BTCON register. When user clearing
this control bit to '0', the BT will start counting, otherwise setting this bit to '1' will stop the counting. After chip is reset, the
TBS and ENBT bits are set to '1' (the BT is disabled). BT, can be preset by writing BT7 - BT0 to the BT register (write
only) at any time and the BT will start count-up from preset value. When the value reaches FFH, it generates a timer
interrupt if the timer interrupt is enabled. When it reaches the maximum value of FFH, the base timer will wrap around and
begin counting at 00H. The timer interval can be within 256 ms maximum if set TBS to '1'. The timer interval can be within
256µs maximum if set TBS to '0'.
1 µs
0
BT7
BT6
BT5
BT4
BT3
BT2
BT1
BT0
TMR INT
1
1ms
TBS
Control bit description:
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
$0016
BT
00H
BT7
BT6
BT5
BT4
BT3
BT2
BT1
BT0
W
$0017
BT CON
03H
-
-
-
-
-
-
TBS
ENBT
W
BT control register :
BT0 - BT7: Preloaded value of the base timer. The timer will count-up from this value.
BTCON control register:
ENBT : When clearing this bit, the base timer will be activated.
TBS: Select the input clock source of base timer - '1' for 1ms and '0' for 1µs.
34
NT68P61A
15. I2C Bus Interface: DDC1 & DDC2B Slave Mode
2
I C bus interface is a two-wire, bi-directional serial bus which provides a simple, efficient way for data communication
between devices. Its structure minimizes the cost of connecting various peripheral devices. In short, the wired-AND
2
2
connection of all I C interface to I C bus is the most important structure. Two modes of operation have been implemented
in NT68P61A: UNI-DIRECTIONAL mode (DDC1 mode) and BI-DIRECTIONAL mode (DDC2B mode). If the MD1/ 2 bit is
set to '1', the device will operate in the DDC1 mode, and if the MD 1/ 2 bit is cleared to '0', the device will operate in the
2
2
DDC2B mode. All of these I C functions will be activated only when ENDDC bit clears to '0' (in IISTS register). When I C
bus
function is activated, the P30 & P31 will switch to SCL & SDA pin. System works on the DDC1 mode transmission default.
The SCL pin will remain high and SDA will transfer one bit of data at every rising edge of Vsync pulse.
SDA
Shift Register (IIDAT)
clock source
0
SCL
1
VSYNC
MD1/2
15.1. DDC1 Bus Interface
Vsync input and SDA pin: In DDC1 data transfer, the
Vsync input pin is used as an input clock for data
transmission and SDA output pin, as serial data line.
This function comprises of two data buffers: one is a
preloaded data buffer for user placing one bit of data in
advance, and one is shift register for system shifting out
one bit of data to the SDA pin. These two data buffer
cooperate properly. Refer to Figure 18. After system
2
reset, the I C bus interface is in DDC1 mode.
INTD interrupt to remind user to replace next byte data
into IIDAT register. After eight rising clocks, there are
eight bits shifted out in proper order and the shift register
becomes empty again. At the ninth rising clock, it will
shift the ninth bit (null bit '1') out to SDA. And on the next
rising edge of Vsync clock, system will generate a INTD
interrupt again. NT68P61A will also load new data in the
IIDAT register to internal shift register and shift out one
bit immediately. User must input new data to IIDAT
register properly before the shift register is empty (the
next INTD interrupt).
Data transfer: In advance, put one byte transmitted data
2
into IIDAT register and activate I C bus by setting
ENDDC bit to '0' and open INTD interrupt source by
setting IEINTD to '1'. On the first 9 rising edge of Vsync,
system will shift out any invalid bit in shift register to
SDA pin to empty shift register. When shift register is
empty and on next rising edge of Vsync, it will load data
in the IIDAT register to internal shift register. At the same
time, NT68P61A will shift out MSB bit and generate an
Vsync clock: In the separate sync signal, the Vsync pulse
is used as a data transfer clock. Its frequency allows
25KHz maximum. If no Vsync input signal is found,
NT68P61A can not transmit any data to SDA pin
regardless what the Vsync has extracted from composite
Hsync signal.
35
NT68P61A
Control bit description:
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
$0005
MD CON
07H
-
-
-
-
INSEN
-
-
IEINTS
IEINTD
IEINTA
IEINTR
$000F
Bit2
Bit1
Bit0
-
S/ C
MD1/ 2
R
HSEL
S/ C
MD1/ 2
W
IEINTE
IEINTV
W
IEX
00H
$0010
IRQX
00H
-
-
IRQINTS
IRQINTD
IRQINTA
IRQINTR
IRQINTE
IRQINTV
R
$0011
CLR FLG
00H
CLRHOV
CLRVOV
CLRINTS
CLRINTD
CLRINTA
CLRINTR
CLRINTE
CLRINTV
W
$0014
II DAT
00H
SR7
SR6
SR5
SR4
SR3
SR2
SR1
SR0
RW
$0015
II STS
08H
-
-
START
START
STOP
STOP
RXAK
ENDDC
TRX
TXAK
R
W
MDCON control register:
MD1/ 2 : Select the DDC mode - '1' for DDC1 and '0' for DDC2B mode. System will be DDC1 mode by default.
When transmission mode is changed form DDC1 to DDC2B, system automatically clears this bit.
IEX control register:
At DDC1 mode, only open INTD interrupt, as well as open INTS interrupt to detect if has changed to DDC2B mode.
II_DAT control register: Data buffer for transmission.
II_STS control register:
ENDDC : When clearing this bit, system will activate DDC transmission. P30 & P31 will switch to SDA & SCL pin.
ENDDC
(in IISTS register)
Vsync Pulse
å
1
2
3
å
å
9
4
å
å
INTV
1
2
3
4
5
6
7
8
9
1
å
å
å
å
å
å
å
å
å
å
å
å
å
å
å
2
å
Load data in the IIDAT register to shift register
INTD
User can load next byte data to IIDAT register
SDA
Invalid data
å
å
Shift
register
å
8
7
6
å
5
å
å
1
Null
Bit
8
7
6
5
4
Second Byte Data
8
MSB
7
6
5
4
3
2
1
LSB
First Byte Data
Figure 22. DDC1 Mode Timing Diagram
36
3
2
1
Null
Bit
8
7
NT68P61A
15.2 DDC2B Slave Mode Bus Interface
2
generating a INTS interrupt and switch to DDC2B mode
automatically. When user sets MD1/ 2 to '1' at this time,
the NT68P61A will still proceed with a DDC1
communication. The DDC2B bus consists of two wires,
SCL and SDA; SCL is for the data transmission clock
and SDA is for the data line. Data transfers follow the
format shown in Figure 19. The standard communication
2
of I C bus protocol includes four parts: a START signal,
slave ADDRESS, transferred data (proceed byte by byte)
and a STOP signal. In the wired-AND connection, any
slow devices can hold the SCL line LOW to force the fast
device into a wait state until the slow device is ready for
the next bit or byte transfer in a type of handshake
procedure.
The DDC2B I C Bus Interface features are as follows:
- SLAVE mode (NT68P61A addressed by a master
which drive SCL signal)
2
- Fully compatible with I C bus standard
- Interrupt and generation of acknowledge handled by
user for communication
- Interrupt driven byte by byte data transfer
- Calling address identification interrupt
- Detection of START and STOP signals
2
Enable I C and INTS: The NT68P61A included the use in
applications requiring storage and serial transmission of
configuration and control information. User can place
address data into IIADR register and set IEINTS to '1' (in
IEX register) in advance. In the DDC1 mode (after
clearing ENDDC to '0') and when the low level on the
SCL pin occurs, NT68P61A will remind user by
STOP
CONDITION
START
CONDITION
SDA
ååå
IIDAT Reg.
bit stream
8
MSB
ååå
1 - 7
8
9
ADDRESS
R/W
ACK
SCL
7
6
5
4
å å å
ååå
8
1 - 7
1
LSB
9
DATA
ACK
8
ACK
7
6
5
8
1 - 7
4
MSB
9
DATA
3
2
ACK
1
LSB
Figure 23. DDC2B Data Transfer
37
ACK
8
MSB
7
å
å
å
NT68P61A
Start condition: When SCL & SDA lines are in HIGH
state, an external device (master) may initiate
communication by sending a START signal (defined as
SDA from high to low transition while SCL is in high
state). When there is a START condition, NT68P61A will
set the 'START' bit to '1' and user can poll this status bit
to control DDC2B transmission at any time. This bit will
keep '1' until user clears it. After sending a START signal
for DDC2B communication, an external device can
repeatedly send start conditions without sending a STOP
signal to terminate this communication. This is used by
the external device to communicate with another slave or
with the same slave in different mode (READ or WRITE
mode) without releasing the bus.
Data validity and transfer: The data on the SDA line mu
be stable during the HIGH period of the clock on the SCL
line. The HIGH and LOW state of the SDA line can only
change when the clock signal on the SCL line is LOW.
Each byte data is eight bits long and one clock pulse for
one bit of data transfer. Data is transferred with the most
significant bit (MSB) first. If a receiver (external device or
NT68P61A) cannot receive another complete byte of
data until it has performed some other function, for
example servicing an internal interrupt, it can hold the
clock line SCL LOW to force the transmitter into a wait
state. Data transfer then continues when the receiver is
ready for another byte of data and release clock line
SCL. Each byte data is followed by an acknowledge bit.
Address matched and INTA: After the START condition,
2
a slave address is sent by external device. When I C bus
interface changes to DDC2B mode, NT68P61A will first
act as a receiver to receive this one byte data. This
address data is 7 bits long followed by the eighth bit that
indicates the data transfer direction (R/ W ). When
NT68P61A system receives address data from external
device, it will store if in IIDAT register. System support
'A0' address by default and another one set of DDC2
address for user. When user enable DDC2 function, the
system will compare address data getting from external
device with the default address 'A0' and data in the
$0013 II_ADR control register written by user. Either of
these address matched, the system will generate an
INTA interrupt flag and this DDC2 communication will be
continued. If user sets IEINTA bit to '1' in advanced and
address data matched, the NT68P61A system will
generate a INTA interrupt. Under the address matching
condition, the NT68P61A will send an acknowledgment
to external device. If address data not matched, the
NT68P61A will not generate INTA interrupt and not care
the data change on SDA line in the future.
Acknowledge: The acknowledgment will be generated at
ninth clock by whom receive data. In the WRITE mode,
NT68P61A
system
must
respond
to
this
acknowledgment. After receiving one byte data from
external device, NT68P61A will automatically send an
acknowledgment by pulling SDA line to 'LOW'. In the
READ MODE, external device must respond to this
acknowledgment and at every byte data sent, user can
read RXAK bit in IISTS register to check if external sent
a ACK or not.
The INTD interrupt: After NT68P61A receive the START
condition, it will generate an INTD interrupt at the falling
edge of the ninth clock. User can control the flow of
DDC2B transmission at this INTD interrupt.
The INTD on the WRITE mode: NT68P61A read data
from external device. At INTD interrupt, the SCL will be
hold LOW by NT68P61A. When getting one byte data
from II_DAT register, user can write '00' into II_DAT
register and the SCL will be released. External device
can continue sending next byte data to NT68P61A.
Refer to Figure 24.
Data Transmission direction: At INTA interrupt servicing
routine, user must check the LSB of address data in
2
IIDAT register. According to I C bus protocol, this bit
indicates the DDC2B data transfer direction in later
transmission - a '1' indicates a request for 'READ
MODE' action (external read data from system); a '0'
indicates a 'WRITE MODE' action (external write data to
system). For READ mode and WRITE mode timing
diagram refer to Figure 24 and 25. The data transfer can
be proceeded byte by byte in a direction specified by the
R/ W bit after a successful slave address is received.
User must set TRX bit in the IISTS register for
NT68P61A transmission mode - '1' for READ mode and
'0' for WRITE mode.
The INTD on the READ mode: External device read data
from NT68P61A. At INTD interrupt, the SCL will be hold
LOW by NT68P61A. User can check RXACK bit in the
IISTS register whether external device has sent an ACK
or not after one byte data transfer. If external device has
sent an ACK, the RXACK will be '0' (assume the
acknowledgment is LOW signal). When user puts one
new byte data into II_DAT register, the SCL will be
released for generation of SCL transmission clock. The
next byte data will be shifted out properly. Refer to
Figure 25.
38
NT68P61A
STOP condition: When SCL & SDA lines have been
released (remain in 'HIGH' state), DDC2B data transfer
is always terminated by a STOP condition generated by
external device. A STOP signal is defined as a low to
high transition of SDA while SCL is in HIGH state. When
there is a STOP condition, NT68P61A will set the 'STOP'
bit to '1' and user can poll this status bit to control
DDC2B transmission at any time. This bit keeps '1' until
user clears it. Notice the SCL and SDA lines must
2
conform to I C bus specifications. (Refer to Figure 26).
2
Refer to the standard I C bus specification for details.
Changing to DDC1 mode: After an external device
terminates DDC2 transmission, set MDI/ 2 to 1 for
changing to DCC1 mode. When the SCL line has been
released (pulled-up), user can force NT68P61A to DDC1
mode communication at any time. This function is
supporting the 'error' recovery protocol in the VESA DDC
standard Ver 2.0.
Control bit description:
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
$0005
MD CON
07H
-
-
-
-
-
-
S/ C
MD1/ 2
R
INSEN
HSEL
S/ C
MD1/ 2
W
$000F
IEX
00H
-
-
IEINTS
IEINTD
IEINTA
IEINTR
IEINTE
IEINTV
W
$0010
IRQX
00H
-
-
IRQINTS
IRQINTD
IRQINTA
IRQINTR
IRQINTE
IRQINTV
R
$0011
CLR FLG
00H
CLRHOV
CLRVOV
CLRINTS
CLRINTD
CLRINTA
CLRINTR
CLRINTE
CLRINTV
W
$0013
II ADR
FFH
AR7
AR6
AR5
AR4
AR3
AR2
AR1
-
W
$0014
II DAT
00H
SR7
SR6
SR5
SR4
SR3
SR2
SR1
SR0
RW
$0015
II STS
08H
-
-
START
START
STOP
STOP
RXAK
-
ENDDC
TRX
R
W
MDCON control register:
II_ADR control register: User can define the address of
DDC2B device. If an external
device sends the same address
data as this control register
(calling NT68P61A), NT68P61A
will generate an INTA interrupt.
MD1/ 2 : Select the DDC mode - '1' for DDC1 and '0' for
DDC2B mode. System will be DDC1 mode by
default.
When transmission mode is changed form
DDC1 to DDC2B, system will automatically
clear
this bit.
II_STS control register:
ENDDC : When clearing this bit, the system will activate
DDC transmission. P30 and P31 will switch to
SDA and SCL pin.
TRX: In the READ mode of DDC2B transmission, user
must set this bit '1'.
RXAK: In the WRITE mode of DDC2B transmission,
after
one byte has been sent out to the SDA line,
there will be an INTD interrupt. At INTD interrupt
service routine, user can check this bit to see if
external device has responded to NT68P61A.
IEX control register:
In DDC2 mode, user use INTS, INTA & INTD interrupt
and II_STS control register to control DDC2B
transmission.
II_DAT control register: Data buffer for transmission
39
NT68P61A
S
NT68P61A Address
R/W
DATA
A
DATA
A
A
P
Data transferred
from external device
0
From external device to NT68P61A
A = acknowledge
S = START
P = STOP
From NT68P61A to external device
(a) WRITE_Mode Data Format
wait
wait
wait
wait
SCL
R/W
START
SDA
(external device)
1
0
1
0
0
0
0
STOP
0
DATA
DATA
INTS
INTA
INTD
SDA
(NT68P61A)
A
A
(b) WRITE_Mode Timing Diagram
Figure 24. DDC2B Write_Mode Spec.
40
A
NT68P61A
S
NT68P61A Address
A
R/W
DATA
A
DATA
A
P
Data transferred
from external device
1
From external device to NT68P61A
A = acknowledge
A = no acknowledge
From NT68P61A to external device
Ô ¾ ÔÕÂÓÕ
Ñ ¾ ÔÕÐÑ
(a) Read_Mode Data Format
wait
wait
wait
wait
SCL
STOP
R/W
START
SDA
(external device)
1
0
1
0
0
0
0
Â
1
Â
INTS
INTA
INTD
SDA
(NT68P61A)
A
DATA
(b) READ_Mode Timing Diagram
Figure 25. DDC2B Read_Mode Spec.
41
DATA
NT68P61A
Interrupt Service Routine
Polling
Need
Polling
INTS ?
Main Program
No
No
Need
Polling
INTA ?
yes
No
No
yes
DDC2
yes
yes
DDC1
Transfer ?
yes
Put Addr.
Into
IIADR Reg.
From EDID
Buffer Index
Put One Byte
Data Into
IIDAT Reg.
Setting IISTS:
TRX = 0
(Recv. Mode)
No
No
INTA ?
INTD ?
Change To
DDC2 Mode
MD 1/2 = 0
(Auto Switch)
Wait Interrupt
or
Doing something
Need
Polling
INTR ?
No
INTS ?
Set ENDDC = 0
No
Need
Polling
INTV ?
yes
yes
yes
Open
INTV & INTS
No
Need
Polling
INTD ?
INTV ?
yes
No
DDC2B
Write_Mode
Operation
?
yes
No
DDC2B
Read_Mode
Operation
Read One Byte
Data From
IIDAT Reg.
To Set EDID
Buffer Index
From EDID
Buffer Index
Put One Byte
Data Into
IIDAT Reg.
Write '00'
To IIDAT
For releasing SCL
DDC1
Reset EDID Buffer Index
From IIDAT Reg.
LSB
To Decide
Write/Read Mode
DDC2B
Write_Mode
Operation
?
yes
Setting IISTS:
TRX = 0
(Recv. Mode)
No
INTR ?
yes
yes
Change To
DDC1 Mode
MD_CON = 1
Reset EDID
Buffer Index
Put One Byte
Data Into
IIDAT Reg.
No
Setting IISTS:
TRX = 1
(Trans. Mode)
Other INT.
Service
Open
INTS & INTD
NO
DDC2 Idle
For 2 Sec. ?
No
Open
INTA & INTR
Open
INTS & INTD
DDC2 Operate
Over ?
Write '00'
To IIDAT
For releasing SCL
yes
Reset EDID
Buffer Index
Open
INTA & INTD
Open
INTA & INTD
Open
INTA & INTV
Return
Figure 26. DDC1/2B Software Flow Chart
42
Put First Byte
Data Into
IIDAT Reg.
For releaseing SCL
& For Transfer data
yes
Return To
DDC1 Mode
Open INTV
NT68P61A
Absolute Maximum Ratings*
*Comments
Stresses above those listed under "Absolute Maximum
Ratings" may cause permanent damage to this device.
These are stress ratings only. Functional operation of
this device at these or any other conditions above those
indicated in the operational sections of this specification
is not implied or intended. Exposed to the absolute
maximum rating conditions for extended periods may
affect device reliability.
DC Supply Voltage VDD - VSS . . . . . . . . . . . .-0.3V to 7V
Input Voltage . . . . . . . . . . . . . . GND -0.2V to VCC +0.2V
Operating Temperature . . . . . . . . . . . . . . . . 0°C to
+70°C
Storage Temperature . . . . . . . . . . . . . . . -50°C to
+125°C
DC Electrical Characteristics (VDD = 5V, TA = 25°C, oscillator freq. = 8MHz, unless otherwise specified)
Symbol
Parameter
Min
.
Typ.
Max
.
Unit
20
mA
Conditions
IDD
Operating Current
VIH1
Input High Voltage
2
V
P00 - P07, P10-P16, P20-P27, P30, P31,
RESET , VSYNCI, HSYNCI, HALFHI, INTE
VIH2
Input High Voltage
3
V
SCL, SDA pins
VIL1
Input Low Voltage
0.8
V
P00 - P07, P10 - P16, P20 - P27, P30, P31,
RESET , VSYNCI, HSYNCI, HALFHI, INTE
VIL2
Input Low Voltage
1.5
V
SCL, SDA pins
IIH
Input High Current
-350
µA
P00 - P07, P10 - P16 ,P20 -P27, VSYNCI,
HSYNCI, HALFHI, RESET (VIH = 2.4V)
V
P00 - P07, P10 - P15 (IOH = -100µA)
VSYNCO, HSYNCO (IOH = -4mA)
HALFHO (IOH = -4mA)
P20-P27 (IOH = -10mA)
-200
2.4
No loading
VOH1
Output High Voltage
VOH2
Output High Voltage (DAC8 DAC13)
5
V
external applied voltage
VOH3
Output High Voltage (DAC0 - DAC7)
12
V
external applied voltage
VOL
Output Low Voltage
0.4
V
P00 - P07, P10 - P15, DAC0 - 13 (IOL =
4mA) SCL/P30, SDA/P31 (IOL = 5mA)
VSYNCO, HSYNCO (IOL = 4mA)
HALFHO (IOL = 4mA)
P20 - P27 (IOL = 10mA)
VLVR
Low Voltage Threshold
ROL
Pull Down Resistor ( RESET )
25K
50K
75K
Ω
ROH1
Pull Up Resistor (INTE)
11K
22K
33K
Ω
ROH2
Pull Up Resistor (PORT0 & PORT1)
11K
22K
33K
Ω
ROH3
Pull Up Resistor (HSYNCI &
VSYNCI)
11K
22K
33K
Ω
4.0
43
V
NT68P61A
AC Electrical Characteristics(VDD = 5V, TA = 25°C, oscillator freq. = 8MHz, unless otherwise specified)
Symbol
Parameter
Min.
Typ.
Max.
Fsys
System Clock
tCNVT
A/D Conversion Time
375
µs
Voffset
A/D Converter Offset Error
39
mV
Vlinear
A/D Input Dynamic Range of Linearity
Conversion
0.7
VDD
tinst
The Inserted Hsync Pulse Width
tdev
The time deviation at the end edge of
inserted Hsync pulse
8
Unit
0.3
MHz
2
250
Composite sync
(Refer Figure 18)
ns
Composite mode &
insertion function activated
Reset Pulse Width Low
2
Fvsync
Vsync Input Frequency
32
25K
Hz
Vsync Input Pulse Width
8
300
µs
Hsync Input Frequency
30
120
KHz
tHPW1
Hsync Input Pulse Width High
0.5
7
µs
tHPW2
Hsync Input Pulse Width Low
8
Fhsync
Vin = 2V for A/D converter
µs
tRESET
tVPW
Condition
tCYCLE
tCYCLE = 2/Fsys
tVSYNC = 1/Fvsync
tHSYNC = 1/Fhsync
µs
Composite sync
tERROR1
Counting Deviation of Base Timer
1
µs
1µs clock source
tERROR2
Counting Deviation of Base Timer
1
ms
1ms clock source
44
NT68P61A
DDC1 Mode
Symbol
tVPW
Fvsync
tDD
tMODE
Parameter
Min.
Typ.
Max.
Unit
Vsync High Time
0.5
300
us
Vsync Input Frequency
32
25K
Hz
Data Valid
200
500
ns
500
ns
Time for Transition to DDC2B
Mode
Condition
tVSYNC = 1/Fvsync
SCL
t MODE
t DD
SDA
Bit 0
Null Bit
Bit 7
VSYNC
t VPW
Composite
Hsync Input
å å å
t HPW2
t HPW1
Extracted
Vsync Output
(no loading)
45
Bit 6
NT68P61A
DDC2B Mode
Symbol
Parameter
Min.
fSCL
SCL Clock Frequency
tBUF
Bus Free Between a STOP and START Condition
tHD; STA
Hold Time for START Condition
Typ.
Max.
Unit
100
KHz
4.7
µs
4
µs
tLOW
LOW Period of the SCL Clock
4.7
µs
tHIGH
HIGH Period of the SCL Clock
4
µs
tSU; STA
Set-up Time for a Repeated START Condition
4.7
µs
tHD; DAT
Data Hold Time
300
ns
tSU; DAT
Data Set-up Time
300
ns
tR
Rise Time of Both SDA and SCL Signals
1
µs
tF
Fall Time of Both SDA and SCL Signals
300
ns
tSU; STO
Set-up Time for STOP Condition
SDA
µs
4
t BUF
t LOW
tF
tR
t HD; ST A
SCL
tHD ; STA
t HD; DAT
t SU; S T A
t SU ; DAT
t SU ; ST O
t HIGH
STOP
START
START
46
STOP
NT68P61A
Ordering Information
Part No.
Package
NT68P61A
40L DIP
47
NT68P61A
Package Information
DIP 40L Outline Dimensions
unit: inches/mm
D
21
E1
40
1
20
E
A1
A2
Base Plane
Seating Plane
L
A
C
S
B
B1
α
e1
Symbol
Dimensions in inches
Dimensions in mm
A
0.210 Max.
5.33 Max.
A1
0.010 Min.
0.25 Min.
A2
0.155±0.010
3.94±0.25
B
0.018 +0.004
-0.002
0.46 +0.10
-0.05
B1
0.050 +0.004
-0.002
1.27 +0.10
-0.05
C
0.010 +0.004
-0.002
0.25 +0.10
-0.05
D
2.055 Typ. (2.075 Max.)
52.20 Typ. (52.71 Max.)
E
0.600±0.010
15.24±0.25
E1
0.550 Typ. (0.562 Max.)
13.97 Typ. (14.27 Max.)
e1
0.100±0.010
2.54±0.25
L
0.130±0.010
3.30±0.25
α
0° ~ 15°
0° ~ 15°
eA
0.655±0.035
16.64±0.89
S
0.093 Max.
2.36 Max.
Notes:
1. The maximum value of dimension D includes end flash.
2. Dimension E1 does not include resin fins.
3. Dimension S includes end flash.
48
eA