ETC1 NT68F62U 8-bit microcontroller for monitor (32k flash mtp type) Datasheet

NT68F62
8-Bit Microcontroller for Monitor (32K Flash MTP Type)
Features
Two layers of interrupt management
NMI interrupt sources
- INTE0 (External INT with selectable edge trigger)
- INTMUTE (Auto Mute Activated)
IRQ interrupt sources
- INTS0/1 (SCL Go-low INT)
- INTA0/1 (Slave Address Matched INT)
- INTTX0/1 (Shift Register INT)
- INTRX0/1 (Shift Register INT)
- INTNAK0/1 (No Acknowledge)
- INTSTOP0/1 (Stop Condition Occurred INT)
- INTE1 (External INT with Selectable Edge Trigger)
- INTV (VSYNC INT)
- INTMR (Base Timer INT)
- INTADC (AD Conversion Done INT)
Hardware watch-dog timer function
40-pin P-DIP and 42-pin S-DIP packages
Operating voltage range: 4.5V to 5.5V
CMOS technology for low power consumption
6502 8-bit CMOS CPU core
8 MHz operation frequency
32K bytes of flash memory for Multi -Times Program
512 bytes of RAM
2Kbytes Masked BootROM for ISP.
One 8-bit base timer
13 channels of 8-bit PWM outputs with 5V open drain
4 channel A/D converters with 6-bit resolution
25 bi-directional I/O port pins (8 dedicated I/O pins)
Hsync/Vsync signals processor for separate &
composite signals, including hardware sync signals
polarity detection and freq. counters with 2 sets of
Hsync counting intervals
Hsync/Vsync polarity controlled output, 5 selectable
free run output signals and self-test patterns, automute function, half freq. I/O function
Two built-in IIC bus interfaces support VESA
DDC1/2B+
General Description
operation and two IIC bus interfaces. The user can store
EDID data in the 128 bytes of RAM for DDC1/2B, so that
the user can reduce a dedicated EEPROM for EDID. The
half frequency output function can save the external oneshot circuit. All of these designs are borne of our
committment to offer our user savings on component costs.
The 42 pin S-DIP IC provides two additional I/O pins –
port40 & port41, Part number NT68F62U represents the SDIP IC. For future reference, port40 & port42 are only
available for the 42 pin S-DIP IC.
The NT68F62 is a new generation of monitor µC for autosync and digital control applications. Particularly, this chip
supports various functions to allow users to easily develop
USB monitors. It contains the 6502 8-bit CPU core, 512
bytes of RAM for use as working RAM and as stack area,
32K bytes of Flash memory, 13-channels of 8-bit PWM D/A
converters, 4-channel A/D converters for detection of keys
which can save I/O pins, one 8-bit pre-loadable base timer,
an internal Hsync and Vsync signals processor and a
watch-dog timer, which prevents the system from abnormal
1
V1.0
NT68F62
Pin Configurations
40-Pin P-DIP
2
40
39
3
4
38
37
5
36
35
34
1
[PG] DAC2
[0] DAC1/ADC3
[YE] DAC0/ADC2
[VPP] RESET
VDD
GND
[8MHZ]OSCO
[0]OSCI
[XA5] P13/HALFI
12
13
[XA4] P12/HALFO
[XA3] P11/ADC1
[XA2] P10/ADC0
14
15
[1]P16/INTE1
[DB7] P27
[DB6] P26
16
[DB5] P25
[DB4] P24
[DB3] P23
18
19
17
20
NT68F62
9
10
11
[OE/SE] P15/INTE0
[XE] P14/PATTERN
VSYNCI/INTV [XA8]
[VPP] RESET
VDD
GND
P07/HSYNCO [XA1]
[8MHZ]OSCO
P06/VSYNCO [XA0]
P05/DAC12 [XY5]
[0]OSCI
30
29
28
P04/DAC11 [XY4]
[OE/SE] P15/INTE0
[XE] P14/PATTERN
P03/DAC10 [XY3]
P02/DAC9 [XY2]
P01/DAC8 [XY1]
P00/DAC7 [XY0]
[XA4] P12/HALFO
[XA3] P11/ADC1
[XA2] P10/ADC0
27
26
25
24
23
22
21
38
37
36
26
25
18
19
[DB5] P25
[DB4] P24
32
31
30
28
27
16
17
[DB7] P27
[DB6] P26
35
34
33
29
14
15
[1]P16/INTE1
]: Flash Mode
5
DAC3 [NV]
DAC4/SCL1 [ERASE]
DAC5/SDA1 [MASS]
P41
DAC6 [EXRSTB]
CREG[TMR]
12
13
[DB3] P23
*[
40
39
9
10
11
[XA5] P13/HALFI
P31/SCL0 [XA7]
P30/SDA0 [XA6]
P20 [DB0]
P21 [DB1]
P22 [DB2]
3
4
6
7
8
P40
33
32
31
42
41
VSYNCI/INTV [XA8]
2
1
[PG] DAC2
[0] DAC1/ADC3
[YE] DAC0/ADC2
HSYNCI[0]
DAC3 [NV]
DAC4/SCL1 [ERASE]
DAC5/SDA1 [MASS]
DAC6 [EXRSTB]
CREG[TMR]
NT68F62U
6
7
8
42-Pin S-DIP
20
24
23
21
22
*[
HSYNCI[0]
P07/HSYNCO [XA1]
P06/VSYNCO [XA0]
P05/DAC12 [XY5]
P04/DAC11 [XY4]
P03/DAC10 [XY3]
P02/DAC9 [XY2]
P01/DAC8 [XY1]
P00/DAC7 [XY0]
P31/SCL0 [XA7]
P30/SDA0 [XA6]
P20 [DB0]
P21 [DB1]
P22 [DB2]
]: Flash Mode
Block Diagram
VDD
CREG
GND
Voltage
Regulator
SCL0
32KB Flash memory &
2KB BootROM
IIC BUS
OSCI
SDA1
OSCO
INTE0/1
SRAM + STACK
Timing Generator
512 Bytes
CPU core
6502
8-Bit Base Timer
PWM DACs
ADC0 - ADC3
A/D Converter
P00 - P07
VSYNCO
HSYNCO
PATTERN
Interrupt
Controller
Watch Dog Timer
I/O Ports
P10 - P16
P20 - P27
P30 - P31
HALFI
HALFO
DAC0 - DAC7
DAC8 - DAC12
VSYNCI/INTV
HSYNCI
SDA0
SCL1
H/V Sync Signals
Processor
JEDEC Control
Block
2
ISP Control
Block
P40 - P41
NT68F62
Pin Description
Pin No.
40 Pin
42 Pin
Designation
1
1
DAC2
2
2
DAC1/ADC3
3
3
DAC0/ADC2
4
4
5
Reset Init.
I/O
Description
O
Open drain 5V, D/A converter output 2
DAC1
O
Open drain 5V, D/A converter output 1, shared with the A/D
converter channel 3 input
DAC0
O
Open drain 5V, D/A converter output 0, shared with the A/D
converter channel 2 input
RESET
I
Schmitt Trigger input pin, low active reset with internal
pulled down 50KΩ resistor *
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/INTE0
I/O
Bi-directional I/O pin with internal pulled up 22KΩ resistor,
shared with input pin of external interrupt source0 (NMI),
withSchmitt trigger, selectable triggered, and internal pulled
up 22KΩ resistor
10
11
P14/PATTERN
I/O
Bi-directional I/O pin with internal pulled up 22KΩ resistor,
shared with the output of the self test pattern
11
12
P13/HALFI
P13
I/O
Bi-directional I/O pin with internal pulled up 22KΩ resistor,
shared with the half hsync input
12
13
P12/HALFO
P12
I/O
Bi-directional I/O pin with internal pulled up 22KΩ resistor,
shared with the half hsync output
13
14
P11/ADC1
P11
I/O
Bi-directional I/O pin with internal pulled up 22KΩ resistor,
shared with the A/D converter channel 1 input
14
15
P10/ADC0
P10
I/O
Bi-directional I/O pin with internal pulled up 22KΩ resistor,
shared with the A/D converter channel 0 input
I/O
Bi-directional I/O pin with internal pulled up 22KΩ resistor,
shared with input pin of external interrupt source1, with
Schmitt Trigger, selectable triggered, and an internal pulled
up 22KΩ resistor
15
16
P16/INTE1
P16
3
NT68F62
Pin Description (continued)
Pin No.
Designation
40 Pin
42 Pin
16 - 23
17 - 24
P27 – P20
24
25
P30/SDA0
25
26
26
Reset Init.
I/O
Description
I/O
Bi-directional I/O pin, push-pull structure with high current
drive/sink capability
P30
I/O
Open drain 5V bi-directional I/O pin P30, shared with the
SDA0 pin of IIC bus Schmitt Trigger buffer
P31/SCL0
P31
I/O
Open drain 5V bi-directional I/O pin P31, shared with the
SCL0 pin of IIC bus Schmitt Trigger buffer
27
P00/DAC7
P00
I/O
Bi-directional I/O pin with internal pulled up 22KΩ resistor,
shared with open drain 5V D/A converter output 7
27
28
P01/DAC8
P01
I/O
Bi-directional I/O pin with internal pulled up 22KΩ resistor,
shared with the open drain 5V D/A converter output 8
28
29
P02/DAC9
P02
I/O
Bi-directional I/O pin with internal pulled up 22KΩ resistor,
shared with the open drain 5V D/A converter output 9
29
30
P03/DAC10
P03
I/O
Bi-directional I/O pin with internal pulled up 22KΩ resistor,
shared with the open drain 5V D/A converter output 10
30
31
P04/DAC11
P04
I/O
Bi-directional I/O pin with internal pulled up 22KΩ resistor,
shared with the open drain 5V D/A converter output 11
31
32
P05/DAC12
P05
I/O
Bi-directional I/O pin with internal pulled up 22KΩ resistor,
shared with the open drain 5V D/A converter output 12
32
33
P06/VSYNCO
P06
I/O
Bi-directional I/O pin with internal pulled up 22KΩ resistor,
shared with the vsync out
33
34
P07/HSYNCO
P07
I/O
Bi-directional I/O pin with internal pulled up 22KΩ resistor,
shared with the hsync out
34
35
DAC7
O
Open drain 5V, D/A converter output 7
35
36
DAC6
O
Open drain 5V, D/A converter output 6
36
38
DAC5/SDA1
O
Open drain 5V, D/A converter output 5, shared with open
drain SDA1 line of IIC bus, Schmitt Trigger buffer
DAC5
4
NT68F62
Pin Description (continued)
Pin No.
Designation
Reset Init.
I/O
39
DAC4/SCL1
DAC4
O
Open drain 5V, D/A converter output 4, shared with the
open drain SCL1 line of IIC bus, Schmitt Trigger buffer
38
40
DAC3
O
Open drain 5V, D/A converter output 3
39
41
HSYNCI
I
Debouncing & Schmitt Trigger input pin for video horizontal
sync signal, internal pull high, shared with the composite
sync input
I
Debouncing & Schmitt trigger input pin for video vertical
sync signal, internal pull high, shared with the input pin of
the external interrupt source, intv, with Schmitt Trigger,
selectable triggered and internal pulled up 22KΩ resistor
40 Pin
42 Pin
37
VSYNCI
Description
40
42
VSYNCI/INTV
-
6
P40
I/O
Bi-directional I/O pin with internal pulled up 22KΩ resistor,
only 42 pin S-DIP available
-
37
P41
I/O
Bi-directional I/O pin with internal pulled up 22KΩ resistor,
only 42 pin S-DIP available
* This RESET pin must be pulled high by an external pulled-up resistor (5KΩ suggestion), or it will remain at low voltage to
continually rest system.
5
NT68F62
Functional Description
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 and variable length stack, a wide selection of addressable memory ranges,
and interrupt input options.
The CPU clock cycle is 4MHz (8MHz system clock divided by 2). Please refer to the 6502 data sheet for more detailed
information.
7
0
Accumnlator A
7
0
Index Register Y
7
0
Index Register X
8
15
Program Counter PCH
PCL
7
0
7
0
Stack Pointer SP
7
N
V
B
D
I
Z
0
C
Status Register P
Carry
Zero
1=TRUE
1=Result ZERO
IRQ Disable
Decimal Mode
1=DISABLE
1=TRUE
BRK Command
Overflow
1=BRK
1=TRUE
Negative
1=NEG
Figure 1.1. The 6502 CPU Registers and Status Flags
6
NT68F62
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→I
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
7
NT68F62
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↓, (PC+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→I
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.
8
NT68F62
3. RAM: 512 X 8 bits
The built-in 512 X 8-bit SRAM is used for data memory and stack area. The RAM addressing range is from $0080 to $027F.
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). Since the 6502 default stack pointer is $01FF,
programmers must set S register to FFH when starting the program.
as;
LDX
TXS
#$FF
$0000
$003E
$0080
System Registers
Unused
stack pointer
RAM
$01FF
( 512 Bytes )
$027F
$0280
Unused
$77FF
$7800
( 2 K Bytes )
$7FFA
$7FFB
$7FFC
$7FFD
$7FFE
$7FFF
Boot
ROM
NMI-L
NMI-H
RST-L
RST-H
IRQ-L
IRQ-H
NMI vector
RESET vector
IRQ vector
$8000
Flash
( 32 K Bytes )
$FFFA
$FFFB
$FFFC
$FFFD
$FFFE
$FFFF
Memory
NMI-L
NMI-H
RST-L
RST-H
IRQ-L
IRQ-H
NMI vector
RESET vector
IRQ vector
4.1. BootROM: 2K X 8 bits
NT68F62 Provides 2K bytes of Boot-ROM for ISP. The memory space is from $7800 to $7FFF. The addresses, from $7FFA
to $7FFF, are reserved for the 6502 CPU vector.
4.2. Flash memory: 32K X 8 bits
NT68F62 provides 32K flash memory space for programming. The flash memory space is located from $8000 to $FFFF.
The addresses, from $FFFA to $FFFF, are reserved for the 6502 CPU vectors, thus users must arrange them by
themselves. This flash memory can be progammed repeatly at limited times to guarantee its performance.
9
NT68F62
5. System Registers
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
R/W
Control Registers for I/O Port0 & Port1
$0000
PT0
FFH
P07
P06
P05
P04
P03
P02
P01
P00
RW
$0001
PT1
7FH
―
P16
P15
P14
P13
P12
P11
P10
RW
P22OE
P21OE
P20OE
W
Control Register to Control Port2 I/O Direction
$0002
PT2DIR
FFH
P27OE
P26OE
P25OE
P24OE
P23OE
Control Registers for I/O Port2 - 4
$0003
PT2
FFH
P27
P26
P25
P24
P23
P22
P21
P20
RW
$0004
PT3
03H
―
―
―
―
―
―
P31
P30
RW
$0005
PT4
03H
―
P41
P40
RW
Only available for the 42 Pin SDIP version
Control Registers for Synprocessor
$0006
$0007
SYNCON
HV CON
FFH
―
―
―
―
INSEN
―
HSEL
S/ C
R
FFH
―
―
―
―
INSEN
ENHSEL
HSEL
S/ C
W
FFH
―
―
HSYNCI
VSYNCI
HPOLI
VPOLI
HPOLO
VPOLO
R
FFH
ENHOUT
ENHOUT
―
―
―
―
HPOLO
VPOLO
W
$0008
HCNT L
00H
HCL7
HCL6
HCL5
HCL4
HCL3
HCL2
HCL1
HCL0
R
$0009
HCNT H
00H
HCNTOV
―
―
―
HCH3
HCH2
HCH1
HCH0
R
CLRHOV
―
―
―
―
―
―
―
W
$000A
VCNT L
00H
VCL7
VCL6
VCL5
VCL4
VCL3
VCL2
VCL1
VCL0
R
$000B
VCNT H
00H
VCNTOV
―
VCH5
VCH4
VCH3
VCH2
VCH1
VCH0
R
CLRVOV
―
―
―
―
―
―
―
W
―
―
―
FREQ2
FREQ1
FREQ0
W
―
―
―
―
W
$000C
FREECON
FFH
ENPAT
PAT1
$000D
HALFCON
FFH
ENHALF
NOHALF
HALFPOL
―
$000E
AUTOMUTE
FFH
ENHDIFF
ENPOL
ENOVER
―
HDIFFVL3 HDIFFVL2
HDIFFVL1 HDIFFVL0
W
Control Registers to Enable PWM 8 - 15 Channels
$000F
ENDAC
FFH
―
―
ENDK12
ENDK11
ENDK10
W
ENDK9
ENDK8
ENDK7
ENADC2
ENADC1
ENADC0
W
Control Registers for ADC 0 - 3 Channels
$0010
ENADC
FFH
CSTA
―
―
―
$0011
AD0 REG
C0H
―
―
AD05
AD04
AD03
AD02
AD01
AD00
R
$0012
AD1 REG
00H
―
―
AD15
AD14
AD13
AD12
AD11
AD10
R
$0013
AD2 REG
00H
―
―
AD25
AD24
AD23
AD22
AD21
AD20
R
$0014
AD3 REG
00H
―
―
AD35
AD34
AD33
AD32
AD31
AD30
R
10
ENADC3
NT68F62
System Registers (continued)
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
R/W
Control Register for Polling (Read) Interrupt Groups & Clearing (Write) INTE0 & INTMUTE Interrupt Requests
$0016
$0017
NMIPOLL
IRQPOLL
00H
00H
―
―
―
―
―
―
INTE0
INTMUTE
R
―
―
―
―
―
―
CLRE0
CLRMUTE
W
―
―
―
―
―
IRQ2
IRQ1
IRQ0
R
Control Registers of Interrupt Enable
$0018
IENMI
00H
―
―
―
―
―
―
INTE0
INTMUTE
RW
$0019
IEIRQ0
00H
―
―
INTS0
INTA0
INTTX0
INTRX0
INTNAK0
INTSTOP0
RW
$001A
IEIRQ1
00H
―
―
INTS1
INTA1
INTTX1
INTRX1
INTNAK1
INTSTOP1
RW
$001B
IEIRQ2
00H
―
―
―
―
INTADC
INTV
INTE1
INTMR
RW
Control Registers for Polling (Read) & Clearing (Write) Interrupt Requests
$001C
$001D
$001E
IRQ0
IRQ1
IRQ2
00H
00H
00H
―
―
INTS0
INTA0
INTTX0
INTRX0
INTNAK0
INTSTOP0
R
―
―
CLRS0
CLRA0
CLRTX0
CLRRX0
CLRNAK0 CLRSTOP0
W
―
―
INTS1
INTA1
INTTX1
INTRX1
INTNAK1
INTSTOP1
R
―
―
CLRS1
CLRA1
CLRTX1
CLRRX1
CLRNAK1 CLRSTOP1
W
―
―
―
―
INTADC
INTV
INTE1
INTMR
R
―
―
―
―
CLRADC
CLRV
CLRE1
CLRMR
W
INTVR
INTE1R
INTE0R
R/W
1
0
1
W
Selection of Edge Triggered for INTV, INTE0 & 1 Interrupts
$001F
TRIGGER
FFH
―
―
―
―
―
Control Registers for Clearing Watch Dog Timer
$0020
CLR WDT
―
0
1
0
1
0
Control Register for DDC1/2B+ of Channel 0
$0021
CH0ADDR
A0H
ADR7
ADR6
ADR5
ADR4
ADR3
ADR2
ADR1
―
W
$0022
CH0TXDAT
00H
TX7
TX6
TX5
TX4
TX3
TX2
TX1
TX0
W
$0023
CH0RXDAT
00H
RX7
RX6
RX5
RX4
RX3
RX2
RX1
RX0
R
$0024
CH0CON
E0H
ENDDC
MD1/ 2
―
START
STOP
―
TXACK
―
W
―
―
SRW
START
STOP
―
―
―
R
MODE
MRW
―
―
DDC2BR2
DDC2BR1
DDC2BR0
W
$0025
CH0CLK
FFH
RSTART
Control Register for DDC1/2B+ of Channel 1
$0026
CH1ADDR
A0H
ADR7
ADR6
ADR5
ADR4
ADR3
ADR2
ADR1
―
W
$0027
CH1TXDAT
00H
TX7
TX6
TX5
TX4
TX3
TX2
TX1
TX0
W
$0028
CH1RXDAT
00H
RX7
RX6
RX5
RX4
RX3
RX2
RX1
RX0
R
11
NT68F62
System Registers (continued)
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
R/W
$0029
CH1CON
E0H
ENDDC
MD1/ 2
―
START
STOP
―
TXACK
―
W
―
―
SRW
START
STOP
―
―
―
R
MODE
MRW
―
―
DDC2BR2
DDC2BR1
DDC2BR0
W
$002A
CH1CLK
FFH
RSTART
Control Registers for Base Timer
$002E
BT
00H
BT7
BT6
BT5
BT4
BT3
BT2
BT1
BT0
W
$002F
BTCON
03H
―
―
―
―
―
―
BTCLK
ENBT
W
Control Registers for PWM Channel 0 - 13
$0030
DACH0
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0031
DACH1
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0032
DACH2
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0033
DACH3
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0034
DACH4
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0035
DACH5
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0036
DACH6
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
―
―
―
―
―
―
―
―
―
$0037
$0038
DACH7
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0039
DACH8
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$003A
DACH9
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$003B
DACH10
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$003C
DACH11
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$003D
DACH12
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$003E
ISP REG
00H
03H
DDC0_IS
P
CH0_A0
R
W
ISP
12
DDC1_ISP
CH1_A0
NT68F62
6. Timing Generator
This block generates the system timing and control signals
to be supplied to the CPU and on-chip peripherals. A
crystal quartz, ceramic resonator, or an external clock
signal which will be provided to the OSCI pin generates
system timing. It generates 8MHz for the system clock and
4MHz for the CPU. Although internal circuits have a
feedback resistor and compacitor included, users can
externally add these components for proper operating.
The typical clock frequency is 8MHz. Different frequencies
will affect the operation of those on-chip peripherals whose
operating frequency is based on the system clock.
OSCI
External Clock
8MHz
OSCO
Unconnected
OSCI
OSCO
(1)
(2)
NT68F62
NT68F62
Figure 6.1. Oscillator Connections
7. RESET
The reset status is as follows:
1. PORT0、PORT1、PORT2、PORT3 (& PORT4) 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. Various Interrupt sources are disabled and cleared
6. A/D converter is disabled and stopped
7. DDC1/2B+ function is disabled
8. PWM DAC0 – DAC6 output 50% duty waveform and
DAC7 - DAC12 is disabled
9. Watch-dog timer is cleared and enabled
The NT68F62 can be reset by the external reset pin or by
the internal watch-dog timer. This is used to reset or start
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 a positive edge
is detected on the RESET input, the µC will immediately
begin the 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.
An internal Schmitt Trigger buffer at the RESET pin is
provided to improve noise immunity.
13
NT68F62
8. A/D Converters
The structure of these analog to digital converters is 6-bit
successive approximation. Analog voltage is supplied from
external sources to the A/D input pins and the result of the
conversion is stored in the 6-bit data latch registers ($0011
& $0014). The A/D channels are activated by clearing the
correspondent control bits in the ENADC control register.
When users write '0' into one of the enabled control bits, its
correspondent I/O pin or DAC will be switched to the A/D
converter input pin (ADC0 & ADC1 are shared with
PORT10 & PORT 11; ADC2 & ADC3 are shared with
DAC0 & DAC1). Conversion will be started by clearing the
CSTA bit (CONVERSION START) in the ENADC control
register. When the conversion is finished, the system will
set this INTADC bit. Users can monitor this bit to get the
valid A/D conversion data in the AD latch registers ($0011 $0014). Users can also open the interrupt sources to
remind users to get the stable digital data. Notice that only
at the activated A/D channel, its latched data are available.
The analog voltage to be measured should be stable during
the conversion operation and the variation must not exceed
LSB for the best accuracy in measurement.
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
R/W
$0010
ENADC
FFH
CSTA
―
―
―
ENADC3
ENADC2
ENADC1
ENADC0
W
$0011
AD0 REG
C0H
―
―
AD05
AD04
AD03
AD02
AD01
AD00
R
$0012
AD1 REG
00H
―
―
AD15
AD14
AD13
AD12
AD11
AD10
R
$0013
AD2 REG
00H
―
―
AD25
AD24
AD23
AD22
AD21
AD20
R
$0014
AD3 REG
00H
―
―
AD35
AD34
AD33
AD32
AD31
AD30
R
$001B
IEIRQ2
00H
―
―
―
―
INTADC
INTV
INTE1
INTMR
R/W
$001E
IRQ2
00H
―
―
―
―
INTADC
INTV
INTE1
INTMR
R
―
―
―
―
CLRADC
CLRV
CLRE1
CLRMR
W
Reference ADC Table (VDD = 5.0V)
15
1.50V
1C
2.06V
23
2.59V
2A
3.14V
16
1.58V
1D
2.12V
24
2.67V
2B
3.22V
17
1.66V
1E
2.20V
25
2.75V
2C
3.30V
18
1.74V
1F
2.28V
26
2.82V
2D
3.38V
19
1.82V
20
2.35V
27
2.91V
2E
3.46V
1A
1.90V
21
2.44V
28
2.98V
2F
3.54V
1B
1.98V
22
2.51V
29
3.07V
30
3.62V
Note: It is strongly recommended that the ADC’s input signal should be allocated within the ADC’s linear voltage
range (1.5V~3.5V) to obtain a stable digital value. Do not use the outer ranges (0V~1.4V & 3.6V~5.0V) in which
the converted digital value is not guaranteed.
14
NT68F62
9. PWM DACs (Pulse Width Modulation D/A Converters)
There are 13 PWM D/A converters with 8-bit resolution in the NT68F62. All of these D/A (DAC0 - DAC12) converters are of
open-drain output structure with an external 5V applied maximum. DAC0 – DAC6 are dedicated PWM channels, and DAC7 DAC12 are shared with the I/O pins. These shared PWM channels are activated by clearing the correspondent control bits in
the ENDAC control register ($000F). When users write '0' into one of the enable control bits, its correspondent I/O pin will be
switched to a PWM output pin.
The PWM refresh rate is 62.5KHz operating on an 8MHz system clock. There are 13 readable DACH registers
corresponding to 13 PWM channels ($0030 - $003D). 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 every 1 bit addition will add 62.5ns pulse width. After reset, all DAC outputs are set to 80H (1/2 duty output).
(Please refer to Figure 9.1 for the detailed timing diagram of the PWM D/A output.)
8MHz Fosc
PWM value :
00
255
0
1
2
3
m-1
m
255
01
02
03
m
255(FF)
Figure 9.1. The DAC Output Timing Diagram and Wave Table
15
0
1
NT68F62
PWM DACs (continued)
DAC0 & DAC1 are shared with the ADC2 & ADC3 input pins respectively. If ENADC2/ 3 bit in the ENADC control register is
cleared to LOW, the A/D converters will activate simultaneously. After the chip is reset, ENADC2/ 3 bits will be in HIGH state
and DAC0 & DAC1 will act as PWM output pins.
DAC4 & DAC5 are shared with SCL1 & SDA1 I/O pins respectively. If users clear the ENDDC bit in the CH1CON control
register to LOW, channel 1 of the DDC will be activated. When used as the DDC channel, the I/O port will be of an open
drain structure and include a 'Schmitt Trigger' buffer for noise immunity. After the chip is reset, ENDDC bits will be in HIGH
state and DAC4 - DAC5 will act as PWM output pins.
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
$000F
ENDAC
FFH
―
―
ENDK12
ENDK11
ENDK10
ENDK9
ENDK8
ENDK7
$0010
ENADC
FFH
CSTA
―
―
―
ENADC3
ENADC2
ENADC1
ENADC0
$0030
DACH0
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0031
DACH1
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0032
DACH2
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0033
DACH3
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0034
DACH4
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0035
DACH5
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0036
DACH6
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
―
―
―
―
―
―
―
―
―
$0037
Bit1
Bit0
R/W
W
W
$0038
DACH7
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$0039
DACH8
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$003A
DACH9
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$003B
DACH10
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$003C
DACH11
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
$003D
DACH12
80H
DKVL7
DKVL6
DKVL5
DKVL4
DKVL3
DKVL2
DKVL1
DKVL0
RW
DAC control register ($000F) and DAC value register ($0030 - $003D)
16
NT68F62
10. Watch-Dog Timer (WDT)
The NT68F62 implements a watch-dog timer reset to avoid
system stop or malfunction. The clock of the WDT is taken
from the on-chip RC oscillator, which does not require any
external components. Thus, the WDT will run, even if the
clock on the OSCI/OSCO pins of the device has been
stopped. The WDT time interval is about 0.5 second. The
as;
LDA
STA
WDT must be cleared within every 0.5 second when the
software is in normal sequence, otherwise the WDT will
overflow and cause a reset. The WDT is cleared and
enabled after the system is reset, and can not be disabled
by the software. Users can clear the WDT by writing 55H to
the CLRWDT register ($0020).
#$55
$0020
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
R/W
$0020
CLR WDT
-
0
1
0
1
0
1
0
1
W
11. Interrupt Controller
The system provides two kinds of interrupt sources: NMI &
IRQ. The NMI cannot be masked if user enabled this NMI
interrupt. Users will execute the NMI interrupt vector any
time that sources are activated. The IRQ interrupts can be
masked by executing a CLI instruction or by setting the
interrupt mask flag directly in the µC status register. In the
process of an IRQ interrupt, if the interrupt mask flag is not
set, the µC will begin an interrupt sequence. The program
counter and processor status register will be stored in the
stack. The µC will then set the interrupt mask flag high so
that no further interrupts may occur. At the end of this
cycle, the program counter will be loaded from addresses
$FFFE & $FFFF, thus transferring program control to the
memory vector located at these addresses. For NMI
interrupt, µC will transfer execution sequence to the
memory vector located at addresses $FFFA & $FFFB.
When manipulating various interrupt sources, NT68F62
divides them into two groups for accessing them easily.
One is the NMI group and the other is the IRQ group.
- The NMI group includes INTE0, INTMUTE.
- The IRQ group includes the subgroup of IRQ0,
IRQ1,RQ2:
IRQ0: DDC1/2B+ Channel 0 interrupt sources; It
includes INTS0, INTA0, INTTX0, INTRX0,
INTNAK0 and INTSTOP0 interrupts.
IRQ1: DDC1/2B+ Channel 1 interrupt sources; It
includes INTS0, INTA1, INTTX1, INTRX1,
INTNAK1 and INTSTOP1.
IRQ2: It includes INTADC, INTV, INTE1 and INTMR
interrupt sources.
Below are the interrupt sources.
Nonmaskable Interrupt Group:
Interrupt
Meaning
Action
INTE0 INT
External 0 INT
It will be activated by the rising or falling edge of the external interrupt pulse.
The triggered edge can be selected by EDGE0 bit.
INTMUTE
Auto Mute
It will be activated when the mute condition occurs (Hsync frequency change).
Please refer the synprocessor section for a more detailed explanation.
Maskable Interrupt Group:
Interrupt
Meaning
Action
INTADC
A/D Conversion
Done
User activates the ADC by clearing the CSTART bit. When the AD
conversion is done, this bit will be set.
INTV INT
Vsync INT
INTE1 INT
External 1 INT
It will be activated by the rising or falling edge of the external interrupt pulse.
The triggered edge can be selected by EDGE1 bit.
INTMR INT
Timer INT
It will be activated by the rising edge of every ??? when the Base Timer
counter overflows and counting from $FF to $00.
It will be activated by the rising edge of every vsync pulse.
17
NT68F62
DDC Channel 0/1 Maskable Interrupt Sources:
Interrupt
Meaning
Action
INTS INT
SCL Go-Low INT
In DDC1 mode, it will be activated when the external device proceed a DDC2
communication. This action includes pulling the SCL line to ground or sending
out a 'START' condition directly. The system will respond to this action by
changing DDC1 mode to DDC2 slave mode.
INTA INT
Address Matched
INT
It will be activated in DDC2 slave mode when the external device calls a
NT68F62 slave address. If this calling address matches the NT68F62 address,
the system will generate this interrupt to remind the user
INTTX INT
Transfer Buffer
Empty INT
It will be activated in DDC2 mode when the transmission buffer, IIC_TXDAT, is
empty in transmission mode.
INTRX INT
Receiving Buffer
Overflow INT
It will be activated in DDC2 mode when the new data are stored in the
IIC_RXDAT register in receive mode.
INTNAK INT
No Acknowledge
INT
In transmission mode, this interrupt will be activated when the NT68F62 has
send out one byte of data but the external device does not respond with an
acknowledgement bit to it.
INTSTOP INT
DDC2 Stop INT
In SLAVE mode, this interrupt will be activated when the NT68F62 receives a
'STOP' condition.
IRQ0
IEIRQ0
INTSTOP0
INTNAK0
INTRX0
INTTX0
INTA0
INTS0
IRQ0
IRQ1
IEIRQ1
INTSTOP1
INTNAK1
INTRX1
INTTX1
INTA1
INTS1
IRQ2
INTMR
INTE1
INTV
INTADC
NMIPOLL
INTMUTE
INTE0
IRQ1
IEIRQ2
IRQ2
IENMI
NMI (to CPU 6502)
Figure 11.1. Interrupt Controller Structure
18
IRQ (to CPU 6502)
NT68F62
Enabling Interrupts: The system will disable all of these
interrupts after reset. Users can enable each of the
interrupts by setting the interrupt enable bits at the IENMI,
IEIRQ0 ~ IEIRQ2 control registers. For example, if users
want to enable the external interrupt 0 (INTE0), write '1' to
the INTE0 bit in the IENMI control register. At the INTE0
pin, whenever NT68F62 detects an interrupt message, it
will generate an interrupt sequence to fetch the NMI vector.
Because these IEX control registers can be read, users can
read back what interrupts he has activated. At polling
sequence, users need not poll those unactivated interrupts.
Polling Interrupts: When an NMI interrupt occurs, during the
NMI interrupt service routine, users must poll the INTE0 &
INTMUTE bit in the NMIPOLL control register to confirm the
NMI interrupt source. The polling sequence decides the
priority of the NMI interrupt acceptance. When an IRQ
interrupt occurrs, during the IRQ interrupt service routine,
users must poll the IRQ0 – IRQ2 in the IRQPOLL control
register to confirm the IRQ interrupt source. In the same
way, the polling sequence decides the priority of the IRQ
interrupt acceptance. When deciding the IRQ source, users
can further confirm the real interrupt source by polling the
Correspondent IRQX control register ($001C - $001E).
Requesting Interrupts be set : No matter whether the user
has set the interrupt enable bits or not, if the interrupt
triggered condition is matched, the system will set the
correspondent bits in the IRQ0 ~ IRQ3 control registers or
in the NMIPOLL control register (INTE0 & INTMUTE bits).
For example, if at the VSYNCI pin, the system detects a
pulse occurring, the system will set the INTV bit in the IRQ2
control register.
Clearing the Interrupt Request bit: When an interrupt
occurrs, the CPU will jump to the address defined by the
interrupt vector to execute the interrupt service routine.
Users can check which one of the interrupt sources is
activated and operating a task. Upon entering the interrupt
service routine, the request bit that caused the interrupt
must be cleared by the user before finishing the service
routine and returning to the normal instruction sequence. If
users forget to clear this request bit, after returning to the
main program, it will interrupt CPU again because the
request bit remains activated. Simply, users just need to
write '1' to the polling bits in the NMIPOLL & IRQX registers
($0016 & $001C - $001E) to clear those completed
interrupt sources.
Interrupt Groups: The system divides the IRQ interrupt
sources into several groups, ex IRQ0, IRQ1, and IRQ2. In
each of these groups, if its membership in one of the
interrupt groups has been activated, its group bit in the
IRQPOLL control register will be set. For example, if the
INTS0 of the first DDC1/2B+ channel is activated, the
INTS0 bit in the IRQ0 control register will be set and the
IRQ0 bit in the IRQPOLL control register will also be set.
Notice that the IRQ0 bit in the IRQPOLL control register will
be cleared by the system when all of its interrupt sources,
INTS0, INTA0, INTTX0, INTRX0, INTNAK0 and INTSTOP0
have been cleared by the user or the system. The NMI
group follows the same procedure as the IRQ groups.
Selecting interrupt trigger edge: INTVR, INTE0R & INTE1R
interrupt sources are the edge triggered type of interrupts.
The system allows the selection of rising or falling edge
triggers to be used under the user’s control. After reset, the
rising edge triggers are provided and the content is 'FF' in
the TRIGGER control register ($001F). The user just clears
the control bits in this TRIGGER register and switches
these interrupts to be falling edge triggered.
19
NT68F62
Control Bit Description
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
R/W
Control Register for Polling Interrupt
$0016
$0017
NMIPOLL
IRQPOLL
00H
00H
―
―
―
―
―
―
INTE0
INTMUTE
R
―
―
―
―
―
―
CLRE0
CLRMUTE
W
―
―
―
―
―
IRQ2
IRQ1
IRQ0
R
Control Registers of Interrupt Enable
$0018
IENMI
00H
―
―
―
―
―
―
INTE0
INTMUTE
RW
$0019
IEIRQ0
00H
―
―
INTS0
INTA0
INTTX0
INTRX0
INTNAK0
INTSTOP0
RW
$001A
IEIRQ1
00H
―
―
INTS1
INTA1
INTTX1
INTRX1
INTNAK1
INTSTOP1
RW
$001B
IEIRQ2
00H
―
―
―
―
INTADC
INTV
INTE1
INTMR
RW
Control Registers for Polling (Read) & Clearing (Write) Interrupt Requests
$001C
$001D
IRQ0
IRQ1
00H
00H
―
―
INTS0
INTA0
INTTX0
INTRX0
INTNAK0
INTSTOP0
R
―
―
CLRS0
CLRA0
CLRTX0
CLRRX0
CLRNAK0 CLRSTOP0
W
―
―
INTS1
INTA1
INTTX1
INTRX1
INTNAK1
INTSTOP1
R
―
―
CLRS1
CLRA1
CLRTX1
CLRRX1
CLRNAK1 CLRSTOP1
W
―
―
―
―
CLRADC
CLRV
CLRE1
CLRMR
W
INTE1R
INTE0R
R/W
Selection of Edge Triggers for INTE0 & 1 Interrupt
$001F
TRIGGER
FFH
―
―
―
―
20
―
INTVR
NT68F62
12. I/O PORTs
and then the input signals can be read. This port output is
high after reset.
P00 - P05 are shared with DAC7 - DAC12 respectively. If
The NT68F62 has 25 pins dedicated to input and output.
These pins are grouped into 4 ports.
ENDK7 - ENDK12 is set to LOW in the ENDAC register,
P00 - P05 will act as DAC7 - DAC12 respectively (Figure
12.1. PORT0: P00 - P07
12.2). After the chip is reset, ENDK7 - ENDK12 will be in
the HIGH state and P00 - P05s will act as I/O ports.
PORT0 is an 8-bit bi-directional CMOS I/O port with PMOS
as internal pull-up (Figure 12.1). Each pin of PORT0 may
be bit programmed as an input or output port without
software controlling the data direction register. When Port0
works as an output, the data to be output are 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 inputs
Addr.
Register
INIT
Bit7
Bit6
P06 、 P07 are shared with VSYNCO & HSYNCO
respectively. If ENHOUT 、 ENVOUT is set to LOW in the
HVCON register, P06 、 P07 will act as VSYNCO &
HSYNCO respectively (Figure 12.3). After the chip is reset,
ENHOUT & ENVOUT will be in the HIGH state and
P06、P07 will act as I/O pins.
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
R/W
$0000
PT0
FFH
P07
P06
P05
P04
P03
P02
P01
P00
RW
$0007
HV CON
FFH
―
―
HSYNCI
VSYNCI
HPOLI
VPOLI
HPOLO
VPOLO
R
FFH
ENHOUT
ENVOUT
―
―
―
―
HPOLO
VPOLO
W
FFH
―
―
ENDK12
ENDK11
ENDK10
ENDK9
ENDK8
ENDK7
W
$000F
ENDAC
PWM
VDD
Output
PWM
Data In
I/O
Figure 12.2. PWM Output Structure
VDD
Data Out
O/P
Data In
Data Out
Figure 12.1. I/O Structure
Figure 12.3. Output Structure
21
NT68F62
12.2. Port1: P10 - P16
PORT10 - PORT16 is a 7-bit bi-directional CMOS I/O port
with PMOS as internal pull-up (Figure 12.1). Each bidirectional I/O pin may be bit programmed as an input or
output port without software controlling the data direction
register. When Port1 works as an 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
by the internal PMOS pull-ups. In this state they can be
used as inputs and then the input signals can be read. This
port output is high after reset.
sync processor paragraph. After the chip is reset, the
ENHALF bits will be in the HIGH state and P12、P13 will
act as I/O pins.
P14 is shared with the output pin of the self test pattern. If
users clear the PATTERN bit in the SYNCON control
register and the free running function has been activated,
the P14 will switch to be the output pin of the self test
pattern. This pattern output pin is of the push-pull structure.
After the chip is reset, the PATTERN bits will be in the
HIGH state and P14 will act as an I/O pin. (Refer to the
'Syncprocessor' section for more detailed information.)
P10 & P11 are shared with AD0 & AD1 input pins
respectively. If the ENADC0/ 1 bit in the ENADC control
register is cleared to LOW, the A/D converters will activate
P15 & P16 can be shared with the external interrupt INTE0
& INTE1 pins if the INTE0/1 bits are set in the control
register of the interrupt enable ($0018 & $001B). These
interrupt pins have 'Schmitt Trigger' input buffers. After the
chip is reset, INTE0/1 bits will be in the HIGH state and P15
& P16 will act as I/O pins.
simultaneously. After the chip is reset, ENADC0/ 1 bits will
be in the HIGH state and P10 - P11 will act as I/O pins.
P12、P13 are shared with the HALF SIGNALS input and
OUTPUT pins by accessing the OUTCON control register.
If the ENHALF bit is cleared to LOW, P13 will switch to
HALFHI pin (input pin) and P12 will switch to HALFHO pin
(output pin, Figure 12.3). For HALFHI & HALFHO pin
descriptions, please refer half frequency function in the H/V
Refer to the 'INTERRUPT CONTROLLER' paragraph
above for more details about the interrupt function.
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
R/W
$0001
PT1
7FH
―
P16
P15
P14
P13
P12
P11
P10
RW
$000C
FREECON
FFH
ENPAT
PAT0
―
―
―
FREQ2
FREQ1
FREQ0
W
$0010
ENADC
FFH
CSTA
―
―
―
ENADC3
ENADC2
ENADC1
ENADC0
W
$0018
IENMI
00H
―
―
―
―
―
―
INTE0
INTMUTE
RW
$001B
IEIRQ2
00H
―
―
―
―
―
INTV
INTE1
INTMR
RW
VDD
VDD
Data Out
.
I/P
Data Input
Data OE
Figure 12.4. Schmitt Input Structure
Data In
Figure 12.5. I/O Structure
22
I/O
NT68F62
12.3. PORT2: P20 - P27
PORT2, an 8-bit bi-directional I/O port (Figure 12.5), may be programmed as an input or output pin by the software control.
When setting the PT2DIR control bit to '0', its correspondent pin will act as an output pin. On the other hand, clear PT2DIR
bit to '1'and it will act as an input pin. When programmed as an input pin, it has an internal pull-up resistor. When
programmed as an output pin, the data to be output is latched to the port data register and output to the pin with a push-pull
structure. This port acts as an input port after reset.
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
R/W
$0002
PT2DIR
FFH
P27OE
P26OE
P25OE
P24OE
P23OE
P22OE
P21OE
P20OE
W
$0003
PT2
FFH
P27
P26
P25
P24
P23
P22
P21
P20
RW
$0010
ENADC
FFH
CSTA
―
―
―
ENADC3
ENADC2
ENADC1
ENADC0
W
$0029
CH1CON
FFH
ENDDC
MD1/ 2
SRW
START
STOP
RXACK
TXACK
―
RW
12.4. PORT3: P30 - P31
PORT3 is a 2 bit bi-directional open-drain I/O port (Figure 12.6). Each pin of Port3 may be bit programmed as an input or
output port with open drain structure. When Port3 works as an output pin, the data to be output is latched to the port data
register and output to the pin. When Port3 pins have '1's written to them, users must connect PORT3 with the external
pulled-up resistor and then PORT3 can be used as an input (the input signal can be read). This port output is hiGH after
reset.
P30 、 P31 include Schmitt Trigger buffers for noise immunity and can be configured as the IIC pins SDA0 & SCL0
respectively. If ENDDC is set to LOW in the CH0DDC control register, P30、P31 will act as SDA0 & SCL0 I/O pins
respectively and will be of an open drain structure (Figure 12.6). After the chip is reset, this ENDDC bit will be in the HIGH
state and PORT3 will act as I/O pin.
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
R/W
$0004
PT3
FFH
―
―
―
―
―
―
P31
P30
RW
$0024
CH0CON
FFH
ENDDC
MD1/ 2
SRW
START
STOP
RXACK
TXACK
―
RW
I/O
Data Out
Data In
Figure 12.6. PORT3
23
NT68F62
12.5. PORT4: P40 - P41
PORT4 is available only on the 42pin SDIP IC. PORT40 - PORt41 is a 2-bit bi-directional CMOS I/O port with PMOS internal
pull-up (Figure 12.1). Each bi-directional I/O pin may be bit programmed as an input or output port without software
controlling the data direction register. When Port4 works as an output port, the data to be output is latched to the port data
register and output to the pin. Port4 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 pins. The input signal can be read. This port outputs HIGH after reset.
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
R/W
$0005
PT4
FFH
―
―
―
―
―
―
P41
P40
RW
13. H/V Sync Signals Processor
The functions of the sync processor include polarity detection, Hsync & Vsync signals counting, and programmable sync
signals output. It also provides 3-sets of free running signals and special outputs of the test pattern during the burn-in
process when activating the free running output function. The NT68F62 can properly handle either composite or separate
sync signal inputs even without sync signal input. As to processing the composite sync signal, a hardware separator will be
activated to extract the HSYNC signal under the users control. The input at HSYNCI can be either a pure horizontal sync
signal or a composite sync signal. For the sync waveform refer to Figure 13.1 & Figure 13.2.
The sync processor block diagram is shown in Figure 13.3. Both VSYNCI & HSYNCI pins have Schmitt Triggers and filtering
processes to improve noise immunity. Any pulse that is shorter than 125 ns, will be regarded as a glitch and will be ignored.
(a) Positive polarity
(b) Negative polarity
Figure 13.1. Separate H Sync. Waveform
(a) Positive Polarity
(b) Negative Polarity
Figure 13.2. Composite H Sync. Waveform
24
NT68F62
VCNTL
VCNTH
Control
Logic
V sync.
Latch
Enable
INTV
S/C
VSYNC
INPUT
Schmitt
Trigger
Digital
Filter
1
Enable
8us
V sync.
counter
V
HSEL
0
16.384 ms
0
32.968 ms
1
Reset
ENHSEL
0
Enable
H sync.
counter
1
Reset
AUTO
MUTE
V
HSYNC
INPUT
Digital
Filter
Schmitt
Trigger
Sync
Separator
H&V
Sync.
Polarity
Detector
H
INTMUTE
H sync.
Latch
Enable
HCNTL
HPOLO
HCNTH
HPOLI
H Sync.
Output
Control
H
HSYNCO
ENPAT, PAT10/1
FREQ0/1/2
S/C
0
V
VPOLI
V
FREE_RUN
Control
V Sync.
Output
Control
1
VPOLO
Figure 13.3. Sync. Processor Block Diagram
25
Pattern
O/P
Control
PATTERN
VSYNCO
NT68F62
13.1. V & H Counter Register: VCNTL/H, HCNTL/H
Vsync counter: VCNTL/H, the 14-bit READ ONLY register, contains information on the Vsync frequency. An internal counter
counts the numbers of 8us pulses between two VSYNC pulses. When the next VSYNC signal is recognized, the counter is
stopped and the VCNTH/L register latches the counter value. Then the counter counts from zero again for evaluating the
next VSYNC time interval. The counted data can be converted to the time duration between two successive Vsync pulses. If
there is no VSYNC signal , the counter will overflow and set the VCNTOV bit (in the VCNTH register) to HIGH. Once the
VCNTOV is set to HIGH, it stays in the HIGH state until '1' is written to it (CLRVOV bit).
Hsync counter: If the ENHSEL bit is set to HIGH, the internal counter counts the Hsync pulses between two Vsync pulses.
The HCNTL/H control registers contain the numbers of Hsync pulse between two Vsync pulses. These data can determine if
the Hsync frequency is valid or not to determine the accurate video mode.
The system supports two other options of the time interval for the user to count the frequency of Hsync pulses. If users clear
the ENHSEL and set the HSEL bits properly, this internal counter counts the Hsync pulses during a system defined time
interval. The time interval is defined below:
ENHSEL
HSEL
Hsync Freq
1
-
Disabled
0
0
16.384 ms
0
1
32.768 ms
Note
After system reset or users disabling
After system reset, this interval will be disabled and the content of ENHSEL & HSEL0 bits will be '1'. When this function is
disabled, the HCNTL/H counter works on the VSYNC pulse. It is invalid to write '00' to them.
Latching the hsync counter: The counted value will be latched by the HCNTH/L register pairs that are updated by the Vsync
pulse or by the system defined time interval. (Refer to the Figure 13.4 for the operation of the HCNTL/H counter.) If the
counter overflows, the HCNTOV bit (in the HCNTH register) will be set to HIGH. Once the HCNTOV is set to HIGH, it keeps
in the HIGH state until '1' is written to it (CLRHOV bit). When setting this CLRHOV bit, the HCNT counter will not be reset to
zero.
Latch HCNT register
Reset H sync. counter
Start pulse counting
Latch HCNT register
Reset H sync. counter
Start pulse counting
●
26
●
●
Figure 13.4. Hsync Counter Operation
●
●
●
HSYNCI
●
●
●
16.384ms/32.768ms
(Setting HSEL0/1 bits)
●
●
HSYNCI
●
VSYNCI
NT68F62
●
(1) HSYNCI
●
●
Composite H sync. waveform (H EOR V)
●
(2) HSYNCI
●
●
Composite H sync. waveform (H OR V)
Hsync pulse or no pulse, 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 13.5. Composite H & V Sync. Processing
27
NT68F62
Sync. Mode
Processing
Set S/C = '0'
Clear VCNTOV & HCNTOV
Open INTV & clear INTV flag
System Default:
S/C = '1' & ENSEL = '1'
Open INTV & clear INTV flag
Freq.
Calculating
Set S/C = '1' & ENSEL = ''0'
& SELECT TIME INTRVAL
(16.384 or 32.968ms)
Clear VCNTOV & HCNTOV
Delay 2 * TIME INTELVAL
No
INTV ?
Delay 132 ms
Yes
Yes
HCNTH = '00'
?
Delay 132 ms
Off Mode
1. Extract VCNTL/H 14 bit data
2. 14 bits data * 8 us
= Vsync. time duration
3. Its reciprocal
is Vsync. freq.
No
VCNTOV = '1'
?
Yes
Suspend Mode
Yes
VCNTOV = '1'
?
No
STAND-BY Mode
No
Yes
HCNTH = '00'
?
NORMAL Mode
Seperate Sync.
HCNTH ='00'
?
No
Yes
Worng Mode
1. Extract HCNTL/H
12 bit data
2. 12 bit data * Vsync. freq.
= Hsync. freq.
or 12 bits data/time interval
(16.382 or 32.968 ms)
3. Its reciprocal
is Hsync. time duration.
No
Read VCNT|HCNT
Counter Register
Read VCNT|HCNT
Counter Register
Freq.
Calculating
Return
NORMAL Mode
Composite Sync.
Return
Figure 13.6. H & V Sync. Software Control Flow Chart (for reference only)
28
NT68F62
13.2. Sync Processor Control Register:
Polarity: The detection of Hsync or Vsync polarity is
achieved by the hardware circuit that samples the sync
signal's voltage level periodically. Users can read the
HPOLI & VPOLI bits from the HVCON register, the bit = '1'
represents positive polarity and '0' represents negative
polarity. Furthermore, users can read the HSYNCI and
VSYNCI bits in the HVCON register to detect the H & V
sync input signal. Users can control the polarity of the H &
V sync output signal by writing the appropriate data to the
HPOLO and VPOLO 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 ENVOUT & ENHOUT are set
to '0' in the HVCON register, P06 & P07 will act as
VSYNCO & HSYNCO output pins. When the input sync is a
separate signal, the V/HSYNCO will output the same signal
as the input without delay. But if the input sync is a
composite signal, the VSYNCO signal will have a fixed
delay time of about 20ns and the HSYNCO has a nonfixed
delay time of about 125ns.
Half frequency Input and output: In pin assignment, when
Composite sync: Users have to determine whether the
incoming signal is separate sync or composite sync and set
users set ENHALF bits to '0' in the HALFCON register, the
HALFHO pin will act as an output pin and output half of the
input signal in the HALFHI pin with 50% duty (see Figure
the S/ C & ENHSEL / HSEL bit properly. If the input sync
signal is composite and after setting S/ C to '0', the sync
separator block will be activated (please refer to Figure
13.5). At the area of a Vsync pulse, there can exist Hsync
pulses or not. For the output of Hsync, users can activate
hardware to interpolate the Hsync pulses in that area by
13.7). If set NOHALF to '0', HALFHO will output the same
signal in the HALFHI pin and the user can control its
polarity of output HALFHO by setting HALFPOL bit, '1' for
positive and '0' for negative polarity. After the chip is reset,
ENHALF 、 NOHALF & HALFPOL will be in the HIGH
state and P12 & P13 will act as I/O pins. It is recommended
to add a Schmitt Trigger buffer at the front of the HALFI pin.
clearing the INSEN bit. The width of these inserted pulses
is fixed at 2uS and the time interval is the same as the
previous one. According to the last Hsync pulse outside the
Vsync pulse duration, the hardware will arrange the interval
of these hardware interpolated pulses. These inserted
Hsync pulse perhaps have maximum phase deviation of
125 nS. The Vsync pulse can be extracted by hardware
from the composite Hsync signal and the delay time of the
output Vsync signal will be limited to less than 20ns. To
insert the Hsync pulse safely, the extracted Vsync pulse will
be widened about 9µs. Although , the system will insert the
Hsync pulse evenly, the last inserted Hsync pulse will have
a different frequency from the original ones.
The system will not implement this insertion function so
Free run signal output: The user can select one of the free
running frequencies (listed below) outputting to HYSNCO &
VSYNCO pin by setting the FREQ0/1/2 bits. If the user
does not enable the H/VSYNCO by clearing the ENVOUT
or the ENHOUT bits, any setting of FREQ0/1/2 bits will be
invalid. After system reset, NT68F62 does not provide free
running frequency and both of the FREQ0/1/2 bits are set
to ' 1'. The free running frequency can be set according the
table below:
users must clear the INSEN bit in the SYNCON control
register to activate this function. After reset, the S/ C &
INSEN bits default value are HIGH and clear the VCNT |
HCNT counter latches to zero.
Free Running Freq.
FREQ2
FREQ1
FREQ0
Hsync Freq.
Vsync Freq.
Note
1
0
0
0
8M/256=31.2K
Hsync/512=61.0Hz
Refer to
Figure 13.7
2
0
0
1
8M/4/9/5=44.4K
Hsync/512=86.8Hz
3
0
1
0
8M/128=62.5K
Hsync/3/5/7/8=74.4Hz
4
0
1
1
8M/4/5/5=80K
Hsync/1024=78.1Hz
5
1
0
0/1
8M/4/2/11=90.9K
Hsync/1024=88.7Hz
1
1
0
1
1
1
Disabled Free
Run function
29
After System
Reset
NT68F62
Self test pattern: On activating the free running function, the system will generate the test pattern when clearing the ENPAT
bit. The PORT14 pin will switch from I/O pin to pattern output pin (push-pull structure). The system provides four types of test
patterns. Refer to the figure below. Set the PAT0 bits to select the pattern type (Figure 13.8). If the free run function has not
been enabled, any change of ENPAT & PAT0 bits will be invalid. Refer to the Figure 13.9 for the porch time of the video
pattern.
PAT0
Test Pattern
0
(1)
1
(2)
Note
Only activated when ENPAT bit is cleared
The porches of the self test pattern are listed below:
Free Running
Freq.
Front Porch of
VBLANK
BACK Porch of
VBLANK
Front Porch of
HBLANK
BACK Porch of
HBLANK
VSYNC
PULSE WIDTH
HSYNC
PULSE WIDTH
1
128µs
864µs
460ns
2.00µs
64µs
1µs
2
90.5µs
589µs
1.18µs
1.93µs
64µs
1µs
3
51µs
528µs
424ns
1.92µs
64µs
1µs
4
51.5µs
596µs
185ns
1.94µs
64µs
1µs
5
46.6µs
515µs
436ns
1.94µs
64µs
1µs
Mode change detection: The system provides a hardware detection of a Sync signal change and supports the user to
respond to this transition with a proper process as soon as possible. There are three kinds of detection that will set the
INTMUTE bit.
Hsync counter: Users can enable the HDIFF comparison by clearing the ENHDIFF bit and then preloading a different value
to the HDIFF0-3 bits in the AUTOMUTE control register ($000E). The system will latch the new value of theHsync counter
and compare it with the last latched value. If this difference is great than the user defined value at theHDIFF0-3 bits then the
system will set the INTMUTE interrupt bit.
H/V polarity: Users can enable polarity detection by clearing the ENPOL bit. The system will set the INTMUTE bit when the
polarity of Hsync or Vsync have been changed.
H/V counter overflow: Users can enable the detection of sync counters overflow by clearing the ENOVER bit. The system
will set the INTMUTE bit whenever the counter of Hsync or Vsync has overflowed.
The above three sources of setting this INTMUTE bit can be enabled or disabled by user. If the user opens this interrupt and
this interrupt event occured, the system will generate a NMI interrupt to remind users any time. At the user's manipulation, a
software debounce to confirm the transition of a sync signal one more time will make the frequency detection more stable
and reliable, but it will affect the response time. After the system reset, this 'automute' function will be disabled and the
HDIFF0~2 control bits will be cleared to ' $0F'.
HALFHI
HALFHO: Half freq. Output signal (50% duty)
HALFHO output signal when NOHALF bit clear to LOW
(the same signal as in the HALFHI pin)
Figure 13.7. Half Freq. Sync. Waveform
30
NT68F62
(1)
(2)
Figure 13.8. Two Types of Testing Pattern
VSYNC
64µs
Back-Porch
Front-Porch
Video
HSYNC
1µs
Back-Porch
Front-Porch
Video
Figure 13.9. The Porch of the Free Running Self Test Pattern
31
NT68F62
13.3 Power Saving Mode detect:
Video modes are listed below, especially from mode 2 to mode 4 just for power saving. All of the modes can be easily
detected by NT68F62 (Figure 13.6).
Mode
H-Sync
V-Sync
Active
Active
(2) Stand-by
Inactive
Active
(3) Suspend
Active
Inactive
Inactive
Inactive
(1) Normal
(4) Off
Control Bit Description:
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
R/W
Control Registers for Synprocessor
$0006
$0007
SYNCON
HV CON
FFH
―
―
―
―
INSEN
―
HSEL
S/ C
R
FFH
―
―
―
―
INSEN
ENHSEL
HSEL
S/ C
W
FFH
―
―
HPOLI
VPOLI
HPOLO
VPOLO
R
FFH
ENHOUT
ENVOUT
―
―
―
―
HPOLO
VPOLO
W
HSYNCI VSYNCI
$0008
HCNT L
00H
HCL7
HCL6
HCL5
HCL4
HCL3
HCL2
HCL1
HCL0
R
$0009
HCNT H
00H
HCNTOV
―
―
―
HCH3
HCH2
HCH1
HCH0
R
CLRHOV
―
―
―
―
―
―
―
W
$000A
VCNT L
00H
VCL7
VCL6
VCL5
VCL4
VCL3
VCL2
VCL1
VCL0
R
$000B
VCNT H
00H
VCNTOV
―
VCH5
VCH4
VCH3
VCH2
VCH1
VCH0
R
CLRVOV
―
―
―
―
―
―
―
W
$000C
FREECON
FFH
ENPAT
PAT0
―
―
―
FREQ2
FREQ1
FREQ0
W
$000D
HALFCON
FFH
ENHALF
NOHALF
HALFPOL
―
―
―
―
―
W
$000E
AUTOMUTE
FFH
ENHDIFF
ENPOL
ENOVER
―
32
HDIFFVL3 HDIFFVL2 HDIFFVL1 HDIFFVL0
W
NT68F62
14. Base Timer (BT)
The BASE TIMER is an 8-bit counter, and its clock source
can be chosen from 1µs or 1ms by setting the BTCLK bit
('0' for 1µs and '1' for 1ms). The BT can be enabled or
preloaded with a value by writing a value to the BT register
(write only) at any time and then the BT will start to count
up from this preloaded value. When the BT’s value reaches
FFH, it will generate a timer interrupt if the timer interrupt is
enabled, and then the counter will wrap around to 00H. The
timer’s maximum interval is 256ms or 256µs depending on
the BTCLK value.
disabled by the ENBT bit in the BTCON register. The BT
will start counting while clearing the ENBT bit to ‘0’. After
the chip is reset, the BTCLK and ENBT bits are set to '1'
(the BT is disabled). Before enabling the BT, it can be
1us
1ms
0
1
BT7
BT6
BT5
BT4
BT3
BT2
BT1
BT0
INTMR INT
BTCLK
Control Bit Description:
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
R/W
$002E
BT
00H
BT7
BT6
BT5
BT4
BT3
BT2
BT1
BT0
W
$002F
BT CON
03H
―
―
―
―
―
―
BTCLK
ENBT
W
33
NT68F62
15. IIC Bus Interface: DDC1 & DDC2B Slave Mode
Interface: IIC bus interface is a two-wire, bi-directional
serial bus which provides a simple, efficient way for data
communication between devices, and minimizes the cost of
connecting among various peripheral devices. NT68F62
provides two IIC channels. Both of them are shared with I/O
pins and their structures are open drain. When the system
is reset, these channels are originally of general I/O pin
structure. All of these IIC bus functions will be activated
Data transfer: At first, the user must put one byte of
transmitted data into the CH0/1TXDAT register in advance,
and activate the IIC bus by setting the ENDDC bit to '0'.
Then open the INTTX0/1 interrupt source by setting
INTTX0/1 to '1' in the IEIRQ0/1 registers. On the first 9
rising edges of Vsync, the system will shift out invalid bits in
the shift register to the SDA pin to empty the shift register.
When the shift register is empty and on the next rising edge
of Vsync, it will load data from the CH0/1TXDAT registers
to the internal shift register. At the same time, the NT68F62
will shift out the MSB bit and generate an INTTX0/1
interrupt to remind the user to put the next byte data into
the CH0/1TXDAT register. After eight rising clocks, there
will have been eight bits shifted out in proper order and shift
register will become empty again. At the ninth rising clock,
it will shift the ninth bit (null bit '1') out to the SDA. And on
the next rising edge of Vsync clock, the system will
generate an INTTX0/1 interrupt again. In the same way, the
NT68F62 will load new data from the CH0/1TXDAT
registers to the internal shift register and shift out one bit
right away. Beware: the user should put one new data into
the CH0/1TXDAT registers before the shift register is empty
(the next INTTX0/1 interrupt). If not, the hardware will
transmit the last byte of data repeatedly.
only after their ENDDC bits are cleared to '0' (CH0/1CON
registers).
DDC1 & DDC2B+ function: Two modes of operation have
been implemented in the NT68F62, uni-directional mode
(DDC1 mode) and bi-directional mode (DDC2B+ mode).
These channels will be activated as DDC1 function initially
when users enable the DDC function. These channels will
switch automatically to DDC2B+ function from DDC1
function when a low pulse greater than 500ns is detected
on the SCL line. Users can start a master communication
directly from the DDC1 communication by clearing the
MODE bit in the CH0/1CLK control register.
The channels can return to DDC1 function when users set
the MD1/ 2 bit to '1' in the CH0/1CON registers.
Vsync clock: Only in the separate SYNC mode can the
Vsync pulse be used as a data transfer clock and its
frequency can be up to 25KHz maximum. In composite
Vsync mode, NT68F62 can not transmit any data to the
SDA pin, regardless of whether the Vsync can be extracted
from the composite Hsync signal.
15.1. DDC1 bus interface
Vsync input and SDA pin: In DDC1 function, the Vsync pin
is used as an input clock pin and the SDA pin is used as a
data output pin. This function comprises two data buffers:
one is the preloading data buffer for putting one byte data
in advance by the user (CH0/1TXDAT), and the other is the
shift register for shifting out one bit data to the SDA line,
which users can not access directly. These two data buffers
cooperate properly. For the timing diagram please refer to
Figure 15.1. After the system resets, the IIC bus interface is
in DDC1 mode.
34
NT68F62
Control Bit Description:
Addr.
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
R/W
$0016
NMIPOLL
00H
―
―
―
―
―
―
INTE0
INTMUTE
R
―
―
―
―
―
―
CLRE0
CLRMUTE
W
$0017
IRQPOLL
00H
―
―
―
―
―
IRQ2
IRQ1
IRQ0
R
$0019
IEIRQ0
00H
―
―
INTS0
INTA0
INTTX0
INTRX0
INTNAK0
INTSTOP0
RW
$001A
IEIRQ1
00H
―
―
INTS1
INTA1
INTTX1
INTRX1
INTNAK1
INTSTOP1
RW
$001C
IRQ0
00H
―
―
INTS0
INTA0
INTTX0
INTRX0
INTNAK0
INTSTOP0
R
―
―
CLRS0
CLRA0
CLRTX0
CLRRX0
CLRNAK0
CLRSTOP0
W
―
―
INTS1
INTA1
INTTX1
INTRX1
INTNAK1
INTSTOP1
R
―
―
CLRS1
CLRA1
CLRTX1
CLRRX1
CLRNAK1
CLRSTOP1
W
$001D
IRQ1
00H
Control Register for DDC1/2B+ of Channel 0
$0021
CH0ADDR
A0H
ADR7
ADR6
ADR5
ADR4
ADR3
ADR2
ADR1
―
W
$0022
CH0TXDAT
00H
TX7
TX6
TX5
TX4
TX3
TX2
TX1
TX0
W
$0023
CH0RXDAT
00H
RX7
RX6
RX5
RX4
RX3
RX2
RX1
RX0
R
$0024
CH0CON
E0H
ENDDC
MD1/ 2
―
START
STOP
―
TXACK
―
W
―
―
SRW
START
STOP
RXACK
―
―
R
MODE
MRW
RSTART
―
―
DDC2BR0
W
$0025
CH0CLK
FFH
DDC2BR2 DDC2BR1
Control Register for DDC1/2B+ of Channel 1
$0026
CH1ADDR
A0H
ADR7
ADR6
ADR5
ADR4
ADR3
ADR2
ADR1
―
W
$0027
CH1TXDAT
00H
TX7
TX6
TX5
TX4
TX3
TX2
TX1
TX0
W
$0028
CH1RXDAT
00H
RX7
RX6
RX5
RX4
RX3
RX2
RX1
RX0
R
$0029
CH1CON
E0H
―
START
STOP
―
TXACK
―
W
RXACK
―
―
R
DDC2BR0
W
DDC0_ISP
CH0_A0
R
W
$002A
CH1CLK
FFH
$003E
ISP REG
00H
03H
ENDDC MD1/ 2
―
―
SRW
START
STOP
MODE
MRW
RSTART
―
―
DDC2BR2 DDC2BR1
ISP
35
DDC1_ISP
CH1_A0
NT68F62
ENDDC
(in CH0CON register)
Vsync Pulse
●
1
2
3
●
●
9
4
INTV
●
●
1
2
3
4
5
6
8
7
9
1
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
2
●
Load data in the CH0TXDAT
register to shift register
INTTX
User can load next byte data
to CH0TXDAT register
SDA
Invalid data
●
●
Shift
register
8
●
7
6
5
●
●
●
1
Null
Bit
8
7
6
5
4
3
2
1
Null
Bit
8
7
Second Byte Data
8
MSB
7
6
5
4
3
2
1
LSB
First Byte Data
Figure 15.1. DDC1 Mode Timing Diagram
15.2. DDC2B + Slave & Master Mode Bus Interface
The built-in DDC2B+ IIC bus Interface features are as follows:
SLAVE mode (NT68F62 is addressed by a master that
drives SCL signal)
- MASTER mode (NT68F62 addresses external
devices and sends out the SCL clock)
- Compatible with IIC bus standard
- One default $A0 slave address ( can be disabled ) and
one user programmable address
- Automatic wait state insertion
- Interrupt generation for status control
- Detection of START and STOP signals
The DDC2B+ will be activated as SLAVE mode initially.
Users can switch to MASTER mode by clearing the MODE
bit under either of these conditions listed as follows:
36
1. After entering into DDC1 function and clearing this bit,
the system will be changed from DDC1 to DDC2B+
MASTER mode operation.
2. After entering into DDC2B+ slave mode function and
clearing this bit, the system will be changed from slave
mode into master mode operation.
During clearing of the MODE bit, the system will send out a
'START' condition and wait for the user to put the calling
address into the CH0/1TXDAT control register. Notice: the
user must predetermine the direction of the master mode
transmission before putting the calling address.
Below is the DDC2B+ function with channel 0, and the
manipulation of channel 1 is the same as channel 0.
NT68F62
STOP
CONDITION
START
CONDITION
SDA
● ● ●
8
9
ADDRESS
R/W
ACK
SCL
IIDAT Reg.
bit stream
8
MSB
7
● ● ●
● ● ●
1-7
6
5
4
●
●
●
1
LSB
8
1-7
9
ACK
DATA
ACK
8
7
6
5
8
1-7
4
9
ACK
DATA
3
MSB
2
1
LSB
Figure 15.2. DDC2B Data Transfer
37
ACK
8
MSB
7
●
●
●
NT68F62
S
Address
R/W
DATA
A
A
DATA
A
DATA
A
Data transferred
from external device
0
From external device to NT68F62
A = Acknowledge
S = START
P = STOP
From NT68F62 to external device
(a) WRITE Mode Data Format
SCL
SDA
(external device)
wait
wait
wait
R/W
START
1 0 1 0 0 0 0 0
STOP
DATA
DATA
DATA
INTS
INTA
INTRX
SDA
(NT68F62)
A
A
A
(b) WRITE Mode Timing Diagram
Figure 15.3. DDC2B Write Mode Spec.
38
A
P
NT68F62
S
NT68F62 Address
R/W
A
DATA
A
DATA
A
DATA
A
P
Data transferred
from NT68F62
1
From external device to NT68F62
A = Acknowledge
A = No acknowledge
From NT68F62 to external device
S = START
P = STOP
(a) Read Mode Data Format
SCL
SDA
(external device)
wait
wait
START
wait
STOP
R/W
1
0 1 0
0
0 0
1
A
A
INTS
INTA
INTTX
SDA
(NT68F62)
user load first data into TXDAT buffer
A
DATA
(b) READ Mode Timing Diagram
Figure 15.4. DDC2B Read Mode Spec.
39
DATA
NT68F62
15.3. DDC2B Slave Mode Bus Interface
and stores in the CH0RXDAT register. The system
indicates the data transfer direction. The NT68F62
supports the 'A0' default address and another set of
addresses that can be accessed by writing to the
CH0ADDR register. The ‘A0’ default address of the DDC
channel 0 or 1 can be disabled by bit0 or bit1 at the
CH0/1_A0 control register ($3E). Upon receiving the calling
address from an external device, the system will compare
this received data with the default 'A0' address (if it is not
disabled) and the data in the CH0ADDR register. If either of
these addresses matches, the system will set the INTA0 bit
in the IRQ0 register. If the user sets the INTA0 bit to '1' (in
the IEIRQ0 register) in advanced and addresses match, the
NT68F62 will generate an INTA0 interrupt. Under the
address matching condition, the NT68F62 will send an
acknowledgement bit to an external device. If the address
does not match, the NT68F62 will not generate the INTA0
interrupt and will neglect the data change on the SDA line
in the future.
Enable IIC and INTS: After the user clears the ENDDC to
‘0’, NT68F62 will enter into DDC1 mode, and it will switch
to DDC2B SLAVE mode when a low pulse is detected on
the SCL line. The DDC2B bus consists of two wires, SCL
and SDA; SCL is the data transmission clock and SDA is
the data line. NT68F62 will remind the user that the mode
has changed by generating an INTS interrupt. When users
set MD1/ 2 to '1' at this time, the NT68F62 will return back
to DDC1 mode. (For DDC2B please refer to Figure 15.2.)
The figure exhibits what isimportant in IIC: START signal,
slave ADDRESS, transferred data (proceed byte by byte)
and a STOP signal.
Start condition: When SCL & SDA lines are at 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 at high state). When there is a
START condition, NT68F62 will set the 'START' bit to '1'
and the user can poll this status bit to control the DDC2B
transmission at any time. This bit will stay as '1' until the
user clears it. After sending a START signal for DDC2B
communication, an external device can repeatedly send a
start condition 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 a
different mode (Read or Write mode) without releasing the
bus.
Data transmission direction: In the INTA0 interrupt servicing
routine, the user must check the LSB of the address data in
the CH0RXDAT register. According to the IIC bus protocol,
this bit indicates the DDC2B data transfer direction in later
transmission; '1' indicates a request for a 'READ MODE'
action (external master device read data from system), '0'
indicates a 'WRITE MODE' action (external master device
write data to system). For the timing about READ mode
and WRITE mode please refer to Figure 15.3 and Figure
15.4. The data transfer can proceed byte by byte in a
Address matched and INTA0: After the STARTcondition a
slave address is sent by an external device. When the IIC
bus interface changes to DDC2B mode, NT68F62 will act
as a receiver first to receive this one byte data. This
address data is 7 bits long followed by the eighth bit (R/W)
that the system receives as an address data from an
external device,
INTSTOP
direction specified by the R/ W bit after a successful slave
address is received.
The system will switch to either 'READ' mode or 'WRITE'
mode automatically whichever is determined by this
direction bit.
STOP Detector
SDA
TXDAT
INTTX
TXACK
in
9 bits Shift Register
out
clk
VSYNC
INTNAK
ENDDC
INTRX
RXDAT
INTA
Compare Logic
INTS
MD1/2
R/W
MODE
ADDR
DDC2BR [2..0]
SCL
Clock Generator
Figure 15.5. DDC Structure Block
40
NT68F62
Data transfer and wait: The data on the SDA line must 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 of
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. In the wired-AND connection, any slower
device can hold the SCL line LOW to force the faster
device into a waiting state. Data transmission will be
suspended until the slower device is ready for the next byte
transfer by releasing the SCL line.
The INTTX0 on the READ mode: An external device can
read data from NT68F62. During INTTX0 interrupt, the
system will load new data from the CH0TXDAT register
which the user has earlier put into this internal shift register.
Then , the system will begin to send out this new data
continually . After this newly loaded data had been shifted
out by every SCL clock, the system will request the user to
put the next byte of data into the CH0TXDAT register by
the INTTX0 interrrupt.
If both of the shift register and the CH0TXDAT register are
empty and the user still cannot load data into the
CH0TXDAT register, the NT68F62 system will let SCL pin
keep ‘LOW’ and wait the another new data after receiving
the acknowledgment bit from external device.
Acknowledge: The acknowledgment will be generated at
the ninth clock by whomever is receiving data. In the
WRITE MODE, the NT68F62 system must respond to this
When SCL is held low by the system and after the user had
put one new byte of data into the CH0TXDAT register, the
SCL will be released for generation of the SCL
transmission clock. At this time, the system will load this
byte of data into the shift register and generate an INTTX0
interrupt again to remind the user to putt the next byte into
the CH0TXDAT register. For the timing diagram refer to
Figure 15.4.
acknowledgment. Users should clear the TXACK bit in the
CH0CON to open the ‘ACK’ function. After receiving one
byte of data from the external device, NT68F62 will
automatically send this acknowledgment bit.
In the READ mode, an external device must respond to the
acknowledgment bit after every byte of data is sent out.
The system will set the INTNAK bit when the external
device does not send out the '0' acknowledgment bit.
Furthermore, the user can open this interrupt source by
clearing the INTNAK bit in the IEIRQ0 register.
After every one byte of data transfer, the system will
monitor if the external master device has sent out the
acknowledgment bit or not. If not, the system will set the
INTNAK bit (the acknowledgment is LOW signal). Users
will get an INTNAK interrupt if the INTNAK has been
enabled as a interrupt source.
The INTTX0 & INTRX0 interrupt: After NT68F62 completes
one byte transmission or receiving, it will generate INTTX0
(READ mode) & INTRX0 (WRITE mode) interrupts. These
interrupts are generated at the falling edge of the ninth
clock. Users can control the flow of DDC2B transmissions
at these interrupts.
STOP condition: When SCL & SDA lines have been
released (held on 'high' state), DDC2B data transfer is
always terminated by a STOP condition generated by an
external device. A STOP signal is defined as a LOW to
HIGH transition of SDA while SCL is at HIGH state. When
there is a STOP condition, NT68F62 will set the 'STOP' bit
& INTSTOP bit to '1' and the user can poll this status bit or
open a INTSTOP interrupt to control the DDC2B
transmission at any time. This bit will stay as '1' until the
user clears it by writing '1' to this bit. Notice: The SCL and
SDA lines must conform to IIC bus specifications. For the
software flowchart please refer to Figure 15.6. Please refer
to the standard IIC bus specification for details.
The INTRX0 on the WRITE mode: NT68F62 reads data
from the external master device. When users detect an
INTRX0 interrupt, it means that one byte of data has been
received and the user can read out by accessing the
CH0RXDAT control register. At the same time, if the user
responded to an 'ACK' signal beforehand, the shift register
will send out this 'ACK' bit (low voltage) and continue to
receive the next byte data. If both of the shift register and
the CH0RXDAT register are full and the user still does not
load data from the CH0RXDAT register, the NT68F62
system will let the SCL pin keep ‘LOW’ and will wait for
user to retrieve this collected data. After the user obtains
one byte of data from the CH0RXDAT register, the SCL will
be released for generation of the SCL transmission clock.
At this time , the external device can continue sending the
next byte of data to NT68F62. The timing diagram refers to
Figure 15.3. The user must respond with a NAK signal
beforehand to stop the transmission.
Change to DDC1 mode: After an external device terminates
DDC2 transmission by sending a STOP condition, users
can set MD1/ 2 to '1' for changing to DDC1 mode. On the
other hand, when the SCL line has been released (pulledup), the user can force NT68F62 to DDC1 mode
communication at any time.
41
NT68F62
Interrupt
IRQ0/1 Group
Service Routine
Polling
Need
Polling
INTS?
No
Need
Polling
INTA?
yes
yes
INTS
?
DDC2
Change To DDC2
Slave Mode &
RECEIVING Mode
Put Slave Addr. Into
CH0ADDR Reg.
No
INTNAK?
yes
yes
Read One Byte
Data From
CH0RXDAT Reg.
Trans.
Over
?
Need
Polling
INTV?
No
yes
INTTX
?
yes
Read Out the SRW bit
Reset Buffer Index
Need
Polling
INTNAK?
No
yes
READ
Mode
No
INTRX
?
Recv.
Over
?
INTV
?
No
DDC1
yes
Put One Byte
Data Into
CH0TXDATReg.
Put $FF Into
CH0TXDAT Reg.
(release SDA line)
Open
INTTX & INTS
Put One Byte data Into
CH0TXDAT Reg.
Return to
DDC1?
Open
INTTX, INTNAK &
INTA
No
Change To
DDC1 Mode
(MD_CON = 1)
No
No
yes
No
yes
yes
yes
READ Mode
?
No
Open INTA
Need
Polling
INTTX?
yes
yes
Open
INTRX, INTNAK
& INTA
No
WRITE
Mode
No
INTA
?
yes
Need
Polling
INTRX?
No
Return to
DDC1?
No
yes
yes
Open
INTA & INTV
Open
INTA & INTV
Open
INTA
No
Open
INTTX, INTNAK
& INTA
Transmission failed
Open
INTA
Open
INTRX, INTNAK &
INTA
Return
SLAVE Mode Operation
Figure 15.6. Slave Mode INT Operation
42
Other INT.
Service
System release SCL &
SDA & send out STOP
condition User can do
some process
NT68F62
15.4 DDC2B+ Master Mode Bus Interface
Most of the DDC manipulation is the same as SLAVE mode
except the SCL clock generation. In the MASTER mode,
the control of the SCL clock source belongs to NT68F62.
Users must set the calling address and transmission
voltage) and continue to receive the next byte of data. If
both the shift register and the CH0RXDAT register are full
and the user still does not load data from the CH0RXDAT
register, the SCL will be held LOW and will wait for
NT68F62. After the user has received one byte of data
from the CH0RXDAT register, the SCL will be released for
generation of SCL transmission clock. An external device
can continue sending the next byte of data to NT68F62.
Refer to Figure 15.7 for the timing diagram. The user must
respond to a NAK signal in advance to stop the
transmission. Before the last two bytes of data are
received, the user should respond with a 'NAK' signal.
Then, the system will send out a 'NAK' bit after receiving
the last byte of data and enact the 'STOP' condition to
notify the slave that current transmission is terminated.
direction in advance. Access the MODE & MRW bits to
control the transmission flow of DDC2B+ master mode
communication.
Start condition: After user clears the ENDDC & MODE
bits, the system will generate a 'START' condition on the
SCL & SDA lines and wait for the user to put the calling
address into the TXDAT buffer and send it to SDA line. The
frequency of SCL is dependant on the baud-rate setting
value (DDCBR0 - DDCBR2) in the register CH0CLK. The
data transmission direction will be dependant on the MRW
bit and the LSB of the calling address, '1' for read operation
and '0' for write operation.
The INTTX0 on the WRITE mode: The external device
reads data from NT68F62. During an INTTX0 interrupt, the
system will load new data (that the user has already put
into the internal shift register) from the CH0TXDAT register
and continue sending out this new data. After this new
loading data has been shifted out by every SCL clock, the
system will request the user to put the next byte of data into
the CH0TXDAT register.
Calling address: The calling address is 8 bits long. It should
be put in the CH0TXDAT. The setting of the LSB bit in this
TXDAT buffer should be the same as the MRW bit.
STOP condition: There are several cases in which the
system will send out a 'STOP' condition on the SCL & SDA
lines. First, in the 'READ' operation, if the user sets the
TXACK bit to '1', the system will send out the 'NAK'
condition on the bus after receiving one byte of data and
will then send out the 'STOP' condition automatically later.
Second, in the 'START' condition and after the sending out
a calling address, if no slave has responded to an 'ACK'
signal, the master will send out the 'STOP' condition
If both of the shift register and the CH0TXDAT register are
empty and the user still cannot load data into the
CH0TXDAT register, the NT68F62 system will let SCL pin
keep ‘LOW’ and wait the another new data after receiving
the acknowledgment bit from external device.
If SCL is held low by the system, and the user has put one
new byte of data into the CH0TXDAT register, the SCL will
be released for generation of SCL transmission clock. At
this time, the system will load this byte of data into the shift
register and generate an INTTX0 interrupt again to remind
the user to put the next byte into the CH0TXDAT register.
Refer to Figure 15.8 for the timing diagram.
automatically. Third, if the user sets the MODE bit to '1',
the system will generate a 'STOP' condition after the
current byte transmission is done. Notice that if the slave
device did not release the SCL and SDA line, the system
can not send out the 'STOP' condition.
After the 'STOP' condition, the master will release the SCL
& SDA lines and return to SLAVE mode.
Repeat start condition: If the user clears the RSTART bit
to '0' in the ' WRITE' operation, the system will send out a
'Repeat Start'. Notice that if the slave device does not
release the SCL and SDA lines, the system can not send
out a 'REPEAT START condition.
The INTTX0 & INTRX0 interrupt: After NT68F62 completes
one byte transmission or receiving of data, it will generate
INTTX0 (WRITE mode) & INTRX0 (READ mode) interrupts.
Users can control the flow of DDC2B transmission at these
interrupts.
SCL baud rate selection: There are three Baud Rate bits for
users to select one of eight clock rates on the SCL line.
After a system reset, the default value of these Baud Rate
bits (DDC2BR0-2) are '111'.
The INTRX0 on the read mode: NT68F62 reads data from
an external slave device. When users detect an INTRX0
interrupt, it means that one byte data has been received
and the user can read out by accessing CH0RXDAT control
register. At the same time, if the user sent an 'ACK' signal
beforehand, the shift register will send out an 'ACK' bit (low
43
NT68F62
DDC2BR2
DDC2BR1
DDC2BR0
Baud Rate
0.00
0.00
0.00
400K
0.00
0.00
1.00
200K
0.00
1.00
0.00
100K
0.00
1.00
1.00
50K
1.00
0.00
0.00
25K
1.00
0.00
1.00
12.5K
1.00
1.00
0.00
6.25K
1.00
1.00
1.00
3.125K
wait
wait
SCL
R/W
SDA
(external device
putting data)
1 2 3 4 5 6 7 8
A
9
DATA
9
1 2 3 4 5 6 7 8
9
DATA
DATA
MODE = 0
Wait for user to put calling address into TXDAT buffer
START
SDA
(NT68F62)
1 2 3 4 5 6 7 8
wait
If user read out first byte data from RXDAT buffer,
system will respond ACK, NAK or REPeat START
STOP
ADDRESS
A
A
A
INTRX
If user does not read out this byte data from RXDAT buffer,
the shift register will wait after receiving next byte data
Before user reads out this byte data from RXDAT buffer,
he can set TXACK = 1 to terminate communication
Figure 15.7. DDC2B+ MASTER READ Mode Timiing
44
NT68F62
wait
wait
SCL
wait
wait
R/W
SDA
(external device)
A
A
A
MODE = 0
wait for user putting calling address into TXDAT buffer
SDA
(NT68F62)
START
1
2
3
4
5
6
ADDRESS
7 8 9
1
A
2
3
4
5
6
1
7 8 9
2
3
DATA
4
5
6
7 8 9
STOP
DATA
INTTX
If user wants to terminate this communication,
he can set MODE = 1 to send out STOP condition
or clear RSTART = 0 to send out REPEAT START
System will wait if user didn't send out the first byte
data. As user loaded one byte data into TXDAT buffer,
system will latch to shift register and send out MSB bit
right away.
After sending out first byte data, user will get another
INTTX to put next byte data into TXDAT buffer,
If user does not send out the second byte data, the
system will wait again after shifted out first byte data.
Figure 15.8. DDC2B+ MASTER WRITE Mode Timing
45
NT68F62
Control Register:
Addr
Register
INIT
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
R/W
Control Register for Polling Interrupt Groups
$0016
$0017
NMIPOLL
IRQPOLL
00H
00H
―
―
―
―
―
―
INTE0
INTMUTE
R
―
―
―
―
―
―
CLRE0
CLRMUT
E
W
―
―
―
―
―
IRQ2
IRQ1
IRQ0
R
Control Registers of Interrupt Enable
$0018
IENMI
00H
―
―
―
―
―
―
INTE0
INTMUTE
W
$0019
IEIRQ0
00H
―
―
INTS0
INTA0
INTTX0
INTRX0
INTNAK0
INTSTOP0
W
$001A
IEIRQ1
00H
―
―
INTS1
INTA1
INTTX1
INTRX1
INTNAK1
INTSTOP1
W
$001B
IEIRQ2
00H
―
―
―
―
―
INTV
INTE1
INTMR
W
Control Registers for Polling Interrupt Requests
$001C
$001D
$001E
IRQ0
IRQ1
IRQ2
00H
00H
00H
―
―
INTS0
INTA0
INTTX0
INTRX0
INTNAK0
INTSTOP0
R
―
―
CLRS0
CLRA0
CLRTX0
CLRRX0
CLRNAK0
CLRSTOP0
W
―
―
INTS1
INTA1
INTTX1
INTRX1
INTNAK1
INTSTOP1
R
―
―
CLRS1
CLRA1
CLRTX1
CLRRX1
CLRNAK1
CLRSTOP1
W
―
―
―
―
INTADC
INTV
INTE1
INTMR
R
―
―
―
―
CLRADC
CLRV
CLRE1
CLRMR
W
Control Register for DDC1/2B+ of Channel 0
$0021
CH0ADDR
A0H
ADR7
ADR6
ADR5
ADR4
ADR3
ADR2
ADR1
―
W
$0022
CH0TXDAT
00H
TX7
TX6
TX5
TX4
TX3
TX2
TX1
TX0
W
$0023
CH0RXDAT
00H
RX7
RX6
RX5
RX4
RX3
RX2
RX1
RX0
R
$0024
CH0CON
E0H
ENDDC
MD1/ 2
―
START
STOP
―
TXACK
―
W
―
―
SRW
START
STOP
―
―
―
R
MODE
MRW
RSTART
―
―
DDC2BR0
W
$0025
CH0CLK
FFH
DDC2BR2 DDC2BR1
Control Register for DDC1/2B+ of Channel 1
$0026
CH1ADDR
A0H
ADR7
ADR6
ADR5
ADR4
ADR3
ADR2
ADR1
―
W
$0027
CH1TXDAT
00H
TX7
TX6
TX5
TX4
TX3
TX2
TX1
TX0
W
$0028
CH1RXDAT
00H
RX7
RX6
RX5
RX4
RX3
RX2
RX1
RX0
R
$0029
CH1CON
E0H
ENDDC
MD1/ 2
―
START
STOP
―
TXACK
―
W
―
―
SRW
START
STOP
―
―
R
MODE
MRW
RSTART
―
―
DDC2BR1
DDC2BR0
W
$002A
CH1CLK
FFH
46
DDC2BR2
NT68F62
Master Receiver
No
Reset Buffer Index
Just Recv.
One Byte Data?
No
Last Comm,
is Repeat Start?
Yes
ENDDC = 0
After Recv. Data
Send Repeat Start?
Yes
No
No
Just Recv.
One Byte Data?
No
ENDDC = 0
Send NO_ACK
Set Last Byte Flag
Yes
Yes
After Recv. Data
Send Repeat Start?
No
Send NO_ACK
Set Last Byte Flag
Yes
Send Address
Send Repeat Start
set last byte flag
Open INTRX & INTNAK
MODE = 0
Send Address
Open INTTX & INTNAK
Send Address
Open INTTX INTNAK
No
Wait INT
Recev. Over?
Yes
Return
Figure 15.9. Master Receiver Operation
Master transmitter
Reset buffer index
Last Comm,
is Repeat Start?
No
Yes
Send Address
Send Repeat Start
Open INTTX INTNAK
MODE = 0
Send Address
Open INTTX & INTNAK
No
Wait INT
Trans. Over?
Yes
Return
Figure 15.10. Master Transmitter Operation
47
ENDDC = 0
Send Address
Send Repeat Start
Set Last Byte Flag
Open INTTX & INTNAK
NT68F62
Interrupt
IRQ0/1 Group
Service Routine
Need
Polling
INTRX?
No
Need
Polling
INTTX?
Yes
INTRX ?
No
Last two
byte data?
No
yes
Yes
No
No
No
INTNAK?
INTTX?
Yes
Yes
last byte
data ?
Need
Polling
INTNAK?
No
No
Yes
Read One Byte
Data From
CH0RXDATReg.
send repeat
start?
Yes
Other interruptProcess
or Have someerror
yes
Yes
No
Last byte
Trans.?
Send repeat start
set last byte flag
send repeat
start?
Read One Byte
Data From
CH0RXDATReg.
Read One Byte
Data From
CH0RXDATReg.
Calling
Address?
Yes
Send repeat start
set last byte flag
Receiver Over
close INT interrupt
No
Yes
No
Transmission failed
Yes
No Slave Device Exist
System will send outSTOP &
set MODE bit to 1 automatically
No
Write 1 to MODE bit
(system send out a STOP)
Write 1 to MODE bit
(system send out a STOP)
Send repeat start
Trans. over
close INT interrupt
Put next byte data
into
CH0TXDATReg.
Open INTRX & INTNAK INT
Open INTRX & INTNAK INT
Return
Figure 15.11. Master Mode INT Operation
48
NT68F62
User Referenced Flow Chart
Comparison With NT68P61A
Item
NT68P61A Status
NT68F62 Status
Maximum ROM Size
24K Bytes
32K Bytes
RAM Size
256 Bytes
512 Bytes
14 channels
13 channels
5V & 12V Open Drain O/P
5V Open Drain O/P Only
PWM Channel Refresh
Rate
31.25 KHz
62.5 KHz
A/D Converter Channel
2 channels
4 channels
12 Bits
14 Bits
(handle Vsync freq. down
to 30.5Hz)
(handle Vsync freq. down
to 7.6Hz)
H Interval
8.192 ms
16.384 & 32.768 ms
Auto Mute
X
O
2 sets
5 sets
Self Test Pattern
X
O
IIC Bus Channel
1 channel
2 channels
Max 100KHz
Max 400KHz
DDC1/2B
DDC1/2B+
1 set
2 sets
NMI Interrupt
X
O
Interrupt Trigger Edge
Programmable
X
O
24K
32K
PWM Channel
V Counter Bit No.
Free Run Freq.
IIC Bus Baud Rate
IIC Mode Supported
External Interrupt
MASK ROM option
49
Notes
6 bit resolution
2 self test patterns
NT68F62
DC Electrical Characteristics (VDD = 5V, TA = 25°C, Oscillator freq. = 8MHz, Unless otherwise specified)
Symbol
Parameter
IDD
Operating Current
VIH1
Input High Voltage
Min.
Typ.
Max.
Unit
20
mA
2
V
Conditions
No Loading
P00-P07, P12-P16,
P20-P27, P40, P41
RESET , HALFHI INTE0, INTE1
VIH2
Input High Voltage
VIL1
Input Low Voltage
3
0.8
V
SCL0/1, SDA0/1,P10, P11, P30, P31 pins
V
P00-P07, P12-P16,
P20-P27, P40, P41
RESET , HALFHI, INTE0, INTE1
VIL2
Input Low Voltage
IIH
Input High Current
-200
1.5
V
SCL0/1, SDA0/1, P10, P11 P30 ,P31 pins
-350
µA
P00-P07, P10-P16,
P20-P27, P40,P41
VSYNCI, HSYNCI, HALFHI, RESET
(VIH=2.4V);
VOH1
Output High Voltage
2.4
V
P00-P07, P10-P16, P40,
P41 (IOH = -100µA)
VSYNCO, HSYNCO (IOH = -4mA)
HALFHO (IOH = -4mA)
PATTERN, P20-P27 (IOH = -10mA)
VOH2
Output High Voltage
(DAC0-DAC12)
5
V
External applied voltage
VOL
Output Low Voltage
0.4
V
P00-P07, P10-P16, P40,
P41, DAC0-12 (IOL= 4mA)
SCL0/1, SDA0/1 (IOL= 5mA)
VSYNCO, HSYNCO (IOL = 4mA)
HALFHO (IOL = 4mA)
PATTERN, P20-P27 ( IOL= 10mA)
ROL
Pull Down Resistor ( RESET)
25
50
ROH1
Pull up Resistor
(INTE0, INTE1)
11
22
33
KΩ
ROH2
Pull up Resistor
(PORT0, PORT1, & PORT4)
11
22
33
KΩ
VIH
Input High Voltage
2.2
V
VIL
Input Low Voltage
1.2
V
KΩ
HSYNCI,VSYNCI
VjitterH
Input Jitter Low Voltage
1.6
2.0
V
HSYNCI
VjitterL
Input Jitter High Voltage
1.0
1.4
V
HSYNCI
50
NT68F62
V
HSI
VIH = 2.2V
VjitterH = 1.8V
VjitterL = 1.2V
VIL = 0.8V
HSO
t
51
NT68F62
AC Electrical Characteristics (VDD = 5V, TA = 25°C, Oscillator freq.= 8MHz, unless otherwise specified)
Symbol
Parameter
Fsys
System Clock
tCNVT
A/D Conversion Time
Min.
Typ.
Max.
8
Unit
MHz
750
µs
1
LSB
3.5
V
20
ns
Voffset
A/D Converter Error
Vlinear
A/D Input Dynamic Range of
Linearity Conversion
tDELAY
The Delay Time of Vsync input
and Vsync output
tRESET
Reset Pulse Width Low
2
Fvsync
Vsync Input Frequency
8
25K
Hz
tVPW
Vsync Input Pulse Width
8
300
µs
Fhsync
Hsync Input Frequency
30
120
KHz
7
µs
1.5
tHPW1
Maximum Pulse Width of Hsync
Input High (Positive Polarity)
0.25
tHPW2
Minimum Pulse Width of Hsync
Input Low (Positive Polarity)
9.125
Conditions
tCYCLE
Composite sync with fixed
delay (Refer Figure 13.5)
tCYCLE = 2/ Fsys
tVSYNC = 1/Fvsync
tHSYNC = 1/Fhsync
µs
tERROR1
Counting Deviation of Base
Timer
1
µs
1µs clock source
tERROR2
Counting Deviation of Base
Timer
1
ms
1ms clock source
52
NT68F62
DDC1 Mode
Symbol
tVPW
Fvsync
tDD
tMODE
Parameter
Min.
Max.
Unit
0.50
300
µs
Vsync Input Frequency
32
25K
Hz
Data Valid
200
500
ns
500
ns
Vsync High Time
Typ.
Time for Transition to DDC2B
Mode
Conditions
tVSYNC =1/Fvsync
SCL
tMODE
tDD
SDA
Bit 0
Null Bit
Bit 7
VSYNC
tVPW
Composite
Hsync Input
● ● ●
tHPW2
tHPW1
Extracted
Vsync Output
tDELAY
53
Bit 6
NT68F62
DDC2B+ Mode
Symbol
Parameter
Min.
Typ.
Max.
Unit
400
KHz
fSCL
SCL Clock Frequency
tBUF
Bus Free Between a STOP and START Condition
4.7
µs
Hold Time for START Condition
0.8
µs
tLOW
LOW Period of the SCL Clock
1.3
µs
tHIGH
HIGH Period of the SCL Clock
0.8
µs
tSU; STA
Set-up Time for a Repeated START Condition
1.3
µs
tHD; DAT
Data Hold Time
200
ns
tSU; DAT
Data Set-up Time
300
ns
tHD; STA
tR
Rising Time of Both SDA and SCL Signals
1
µs
tF
Falling Time of Both SDA and SCL Signals
300
ns
tSU; STO
Set-up Time for STOP Condition
SDA
µs
0.80
tBUF
tLOW
tF
tR
tHD; STA
SCL
tHD; STA
tHD; DAT
tSU; STA
tSU; DAT
tSU; STO
tHIGH
STOP
START
START
54
STOP
NT68F62
Ordering Information
Part No.
Packages
NT68F62
40L P-DIP
NT68F62U
42L S-DIP
55
NT68F62
Package Information
P-DIP 40L Outline Dimensions
unit: inches/mm
D
21
E1
40
20
1
E
A1
A2
Base Plane
Seating Plane
L
A
C
S
B
B1
a
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.
56
eA
NT68F62
Package Information
S-DIP 42L Outline Dimensions
unit: inches/mm
D
42
22
E
pin 1 index
1
21
ME
A1
A2
Base Plane
Seating Plane
L
A
C
Z
e1
b1
b
MH
e
Symbol
Dimensions in inches
Dimensions in mm
A
0.200 Max.
5.08 Max.
A1
0.020 Min.
0.51 Min.
A2
0.157 Max.
4.0 Max.
b
0.051 Max.
1.3 Max.
0.031 Min.
0.8 Min.
b1
0.021 Max.
0.53 Max.
0.016 Min.
0.40 Min.
c
0.013 Max.
0.32 Max.
0.010 Min.
0.23 Min.
1.531 Max.
38.9 Max.
(1)
D
E(1)
1.512 Min.
38.4 Min.
0.551 Max.
14.0 Max.
0.539 Min.
13.7 Min.
e
0.070
1.778
e1
0.600
15.24
L
0.126 Max.
3.2 Max.
0.114 Min.
2.9 Min.
ME
0.622 Max.
15.80 Max.
0.600 Min.
15.24 Min.
MH
0.675 Max.
17.15 Max.
0.626 Min.
15.90 Min.
w
0.007
0.18
Z(1)
0.068 Max.
1.73 Max.
Notes:
1. Plastic or metal protrusions of 0.25 mm maximum per side are not included.
57
Similar pages