ETC TMU3100DC

TMU3100
USB Controller
GENERAL DESCRIPTION
The TMU3100 is an 8-bit microprocessor embedded device tailored to the USB/PS2 Keyboard application. It
includes an 8-bit RISC CPU core, 192-byte SRAM, Low Speed USB Interface and an 8K x 14 internal
program OTP-ROM.
FEATURE
„
Compliance with the Universal Serial Bus specification v1.1
„
Built-in USB Transceiver and 3.3V regulator
„
Support USB Suspend and Resume function
„
One Control IN/OUT and two Interrupt IN endpoints
„
PS2 compatible keyboard interface share with USB interface
„
192 byte internal SRAM
„
8K x 14 internal program OTP-ROM
„
8-bit RISC CPU core with only 36 instruction
„
3MHz instruction rate with 6MHz crystal oscillation
„
40/48 pin package
BLOCK DIAGRAM
USB
Transceiver
USB
SIE
USB
Controller
Keyboard
Interface
8-bit RISC
CPU
1
8K x 14
Program OTP
ROM
192 Bytes
SRAM
tenx technology, inc.
Rev 1.4 2004/03/01
DS-TMU3100
PIN DESCRIPTION
Name
VDD
VSS
X1
X2
RESETn
TESTn
DP/PB[3]
DM/PB[2]
KSI[7:0]
KSO[15:0]
PA[3:0]
PB[1:0]
LED[3:0]
VPP
V33
I/O
P
P
I
O
I
I
I/O
I/O
I
O
I/O
I/O
O
I
O
Description
5V Power from USB cable
Ground
Crystal in (6MHz)
Crystal out
Chip reset (active low)
Test Mode control (active low)
USB positive data signal / General purpose I/O (pseudo open-drain)
USB negative data signal / General purpose I/O (pseudo open-drain)
Key scan input (with built-in pull-up resistor)
Key scan output (open drain with pull up resistor)
General purpose I/O (open drain with pull up resistor)
General purpose I/O (pseudo open-drain)
LED output (with serial 450 ohm resistor)
OTP programming power
3.3V regulator output
2
tenx technology, inc.
Rev 1.4 2004/03/01
DS-TMU3100
PIN ASSIGNMENT
VSS
V33
DP/PB[3]
DM/PB[2]
PB[1]
PB[0]
1
2
6
8
KSO[1]
KSO[2]
KSO[3]
KSO[4]
KSO[5]
KSO[6]
KSO[7]
37
5
PA[0]
KSO[0]
38
4
7
RESETn
39
3
PA[1]
VPP
40
9
10
11
12
13
14
15
16
17
18
36
TMU3100
PDIP 40 pin
35
X2
X1
VDD
LED[0]
LED[1]
LED[2]
34
KSI[0]
33
KSI[1]
32
31
30
29
28
27
26
25
24
23
KSI[2]
KSI[3]
KSI[4]
KSI[5]
KSI[6]
KSI[7]
KSO[15]
KSO[14]
KSO[13]
KSO[12]
KSO[8]
19
22
KSO[11]
KSO[9]
20
21
KSO[10]
3
VSS
1
48
X2
V33
2
47
X1
DP/PB[3]
3
46
VDD
DM/PB[2]
4
45
PA[2]
PB[1]
5
44
LED[0]
PB[0]
6
N.C.
7
TESTn
PA[1]
TMU3100
SSOP 48 pin
43
N.C.
42
LED[1]
8
41
LED[2]
9
40
KSI[0]
PA[0]
10
39
KSI[1]
VPP
11
38
KSI[2]
RESETn
12
37
KSI[3]
KSO[0]
13
36
KSI[4]
KSO[1]
14
35
KSI[5]
KSO[2]
15
34
KSI[6]
KSO[3]
16
33
KSI[7]
KSO[4]
17
32
LED[3]
KSO[5]
18
31
N.C.
N.C.
19
30
KSO[15]
PA[3]
20
29
KSO[14]
KSO[6]
21
28
KSO[13]
KSO[7]
22
27
KSO[12]
KSO[8]
23
26
KSO[11]
KSO[9]
24
25
KSO[10]
tenx technology, inc.
Rev 1.4 2004/03/01
DS-TMU3100
FUNCTIONAL DESCRIPTION
1. CPU Core
1.1 Clock Scheme and Instruction Cycle
The clock input (X1) is internally divided by two to generate Q1 state and Q2 state for each instruction cycle.
The Programming Counter (PC) is updated at Q1 and the instruction is fetched from program ROM and
latched into the instruction register in Q2. It is then decoded and executed during the following Q1-Q2 cycle.
1.2 Programming Counter (PC) and Stack
The Programming Counter is 13-bit wide capable of addressing a 8K x 14 program ROM. As a program
instruction is executed, the PC will contain the address of the next program instruction to be executed. The
PC value is normally increased by one except the followings. The Reset Vector (0) and the Interrupt Vector
(1) are provided for PC initialization. For CALL/GOTO instructions, PC loads its lower 12 bits from instruction
word and the MSB from STATUS’s bit 6. For RET/RETI/RETLW instructions, PC retrieves its content from
the top level STACK. For the other instructions updating PC[7:0], the PC[12:8] keeps unchanged.
The STACK is 13-bit wide and 6-level in depth. The CALL instruction and Hardware interrupt will push
STACK level in order, While the RET/RETI/RETLW instruction pops the STACK level in order.
1.3 Addressing Mode
There are two Data Memory Plane in CPU, R-Plane and F-Plane. The registers in R-Plane are write-only.
The “MOVWR” instruction copy the W-register’s content to those registers by direct addressing mode.
Registers in F-Plane can be addressed directly or indirectly. Indirect Addressing is made by address “0”,
where FSR points to an actual address. The first half of F-Plane is also bit-addressable.
Program Memory
0000
0001
Reset Vector
F-Plane
R-Plane
00
00
Registers, STATUS.4=0/1
Bit addressable
Interrupt Vector
MOVWR Instruction
Write Only
Program ROM Page 0
STATUS.6=0
1f
20
RAM, STATUS.4=0 RAM, STATUS.4=1
Bit addressable
Bit addressable
0fff
3f
3f
1000
40
Program ROM Page 1
STATUS.6=1
RAM, STATUS.4=0 RAM, STATUS.4=1
1fff
7f
4
tenx technology, inc.
Rev 1.4 2004/03/01
DS-TMU3100
1.4 ALU and Working (W) Register
The ALU is 8 bits wide and capable of addition, subtraction, shift and logical operations. In two-operand
instructions, typically one operand is the W register, which is an 8-bit non-addressable register used for ALU
operations. The other operand is either a file register or an immediate constant. In single operand
instructions, the operand is either W register or a file register.
Depending on the instruction executed, the ALU may affect the values of Carry(C), Digit Carry(DC), and
Zero(Z) Flags in the STATUS register. The C and DC flags operate as a /Borrow and /Digit Borrow,
respectively, in subtraction.
1.5 STATUS Register
This register contains the arithmetic status of ALU and the page select for Program ROM and Data RAM.
The STATUS register can be the destination for any instruction, as with any other register. If the STATUS
register is the destination for an instruction that affects the Z, DC or C bits, then the write to these three bits
is disabled. These bits are set or cleared according to the device logic. It is recommended, therefore, that
only BCF, BSF and MOVWF instructions be used to alter the STATUS Register because these instructions
do not affect those bits.
1.6 Interrupt
Each interrupt source has its own enable control bit. An interrupt event will set its individual flag. If the
corresponding interrupt enable bit has been set, it would trigger CPU to service the interrupt. CPU accepts
interrupt in the end of current executed instruction cycle. In the mean while, A “CALL 0001” instruction is
inserted to CPU, and the I-flag is set to prevent recursive interrupt nesting. The I-flag is cleared in the
instruction after the “RETI” instruction. That is, at least one instruction in main program is executed before
service the pending interrupt. The interrupt event is level trigged. F/W must clear the interrupt event register
while serves the interrupt routine.
1.7 Instruction Set
Each instruction is a 14-bit word divided into an OPCODE, which specified the instruction type, and one or
more operands, which further specify the operation of the instruction. The instructions can be categorized as
byte-oriented, bit-oriented and literal operations list in the following table.
For byte-oriented instructions, “f” represents address designator and “d” represents destination designator.
The address designator is used to specify which address in F-Plane is to be used by the instruction. The
destination designator specifies where the result of the operation is to be placed. If “d” is “0”, the result is
placed in the W register. If “d” is “1”, the result is placed in the address specified in the instruction.
For bit-oriented instructions, “b” represents a bit field designator, which selects the number of the bit affected
by the operation, while “f” represents the address designator.
For literal operations, “k” represents the literal or constant value.
For “MOVWR” instruction, “r” specifies which address in R-Plane is to be used by the instruction.
All instructions are single cycle except for program branches, which are two-cycle.
5
tenx technology, inc.
Rev 1.4 2004/03/01
DS-TMU3100
Mnemonic
NOP
SLEEP
CLRWDT
MOVWR
RET
RETI
MOVWF
CLRW
CLRF
SUBWF
DECF
IORWF
ANDWF
XORWF
ADDWF
MOVFW
TESTZ
COMF
INCF
DECFSZ
RRF
RLF
SWAPF
INCFSZ
BCF
BSF
BTFSC
BTFSS
RETLW
MOVLW
IORLW
ANDLW
ADDLW
XORLW
CALL
GOTO
r
f
f
f,d
f,d
f,d
f,d
f,d
f,d
f
f
f,d
f,d
f,d
f,d
f,d
f,d
f,d
f,b
f,b
f,b
f,b
k
k
k
k
k
k
k
k
Op Code
00 0000 0 0000000
00 0000 0 0000011
00 0000 0 0000100
00 0000 0 0rrrrrr
00 0000 0 1000000
00 0000 0 1100000
00 0000 1 fffffff
00 0001 0 1000000
00 0001 1 fffffff
00 0010 d fffffff
00 0011 d fffffff
00 0100 d fffffff
00 0101 d fffffff
00 0110 d fffffff
00 0111 d fffffff
00 1000 0 fffffff
00 1000 1 fffffff
00 1001 d fffffff
00 1010 d fffffff
00 1011 d fffffff
00 1100 d fffffff
00 1101 d fffffff
00 1110 d fffffff
00 1111 d fffffff
010 00 bbb ffffff
010 01 bbb ffffff
010 10 bbb ffffff
010 11 bbb ffffff
011 000 kkkkkkkk
011 001 kkkkkkkk
011 010 kkkkkkkk
011 011 kkkkkkkk
011 100 kkkkkkkk
011 111 kkkkkkkk
10 kkkk kkkkkkkk
11 kkkk kkkkkkkk
Flag
Cycles Affect
Description
1
No operation
1
Go into standby mode, Clock oscillation stops
1
Clear and enable Watch Dog Timer
1
Move W to “r”
2
Return
2
Return from interrupt
1
Move W to “f”
1
Z
Clear W
1
Z
Clear “f”
1
C,DC,Z Subtract W from “f”
1
Z
Decrement “f”
1
Z
OR W with “f”
1
Z
AND W with “f”
1
Z
XOR W with “f”
1
C,DC,Z Add W and “f”
1
Move “f” to “w”
1
Z
Test if “f” is zero
1
Z
Complement “f”
1
Z
Increment “f”
1 or 2
Decrement “f”, skip if zero
1
C
Rotate right “f” through carry
1
C
Rotate left “f” through carry
1
Swap high/low nibble of “f”
1 or 2
Increment “f”, skip if zero
1
Clear “b” bit of “f”
1
Set “b” bit of “f”
1 or 2
Test “b” bit of “f”, skip if clear
1 or 2
Test “b” bit of “f”, skip if set
2
Return, place Literal “k” in W
1
Move Literal “k” to W
1
Z
OR Literal “k” with W
1
Z
AND Literal “k” with W
1
C,DC,Z Add Literal “k” to W
1
Z
XOR Literal “k” with W
2
Call subroutine “k”
2
Jump to branch “k”
6
tenx technology, inc.
Rev 1.4 2004/03/01
DS-TMU3100
2. I/O Port
2.1 KSO[15:0]
These pins are used as keyboard scan outputs. They have at least 4mA drive and sink strength.
50uA
Read
Data
Pin
D
Data
4mA
Q
Data
Register
CK
/WR
KSO[15:0]
2.2 KSI[7:0]
These pins are used as keyboard scan inputs. Each one of them has a pull up resistor. In addition, each KSI
pin can cause Keyboard interrupt (KBDint) if the corresponding interrupt mask bit (KBDmask) is 0. The
KBDint is asserted at the falling edge of KSI pin.
Read
Data
Pin
KSI[7:0]
2.3 PA[3:0]
These pins are similar to KSO pins, except data are read from pin. They can be used as input or open drain
output.
50uA
Pin
D
Data
4mA
Q
Data
Register
Read
Data
CK
/WR
PA[3:0]
7
tenx technology, inc.
Rev 1.4 2004/03/01
DS-TMU3100
2.4 PB[1:0]
These pins are “Pseudo-Open-Drain” structure. In “Read-Modify-Write” instruction, CPU actually reads the
output data register. In the others instructions, CPU reads the pin data. The so-called “Read-Modify-Write”
instruction includes BSF, BCF and all instructions using F-Plane as destination.
The PB[0] pin can also generate interrupt (PB0int) at its falling edge.
4mA
Read
Register
50uA
1 OSC
period
delay
D
Data
Pin
Q
Data
Register
Read
Pin
4mA
CK
/WR
PB[1:0]
2.5 DP/PB[3] and DM/PB[2]
These pins are similar to PB[1:0], except they share the pin with USB function. An extra control bit “PS2kbd”
is used to enable the small pull-up current.
3.3V
3.3V
4mA
Read
Register
50uA
20uA
1 OSC
period
delay
D
Data
4mA
Q
Data
Register
USB
Output
CK
/WR
PS2kbd
Read
Pin
DP/PB[3] and DM/PB[2]
2.6 LED[3:0]
These pins are used to drive LED. They are open-drain structure with a serial resistor. The typical resistor
value is 420 ohm.
Pin
Read
Data
D
Data
Q
Data
Register
CK
/WR
LED[3:0]
8
tenx technology, inc.
Rev 1.4 2004/03/01
DS-TMU3100
3. Power Down Mode
The power down mode is activated by SLEEP instruction. In power down mode, the crystal clock oscillation
stops to minimize power consumption. Power down mode can be terminated by Reset or enabled Interrupts.
4. Watch Dog Timer
The Watch Dog Timer (WDT) is disabled after Reset. F/W can use the CLRWDT instruction to clear and
enable the Watch Dog Timer. Once enabled, the Watch Dog Timer overflow and generate a chip reset signal
if no CLRWDT executed in a period of 4000000 oscillator’s cycle (0.66 second for 6MHz crystal). The WDT
does not work in Power Down Mode to provide wake-up function. It is only designed to prevent F/W goes
into endless loop.
5. Timer 0
The Timer 0 is an 8-bit wide register of F-Plane. It can be read or written as any other register of F-Plane.
Besides, Timer 0 increases itself periodically and reloads itself with a special value every time while roll over.
The value to be load at roll over point is defined by “Timer 0 Reload” (T0RLD) register in the R-Plane. The
period which Timer 0 increases itself is defined by “Timer 0 Pre-Scale” (T0PSCL) register in R-Plane, the
default (0) mean 4 instruction cycles increase Timer 0. The Timer 0 also generates interrupt (T0int) while it
rolls over.
6. USB Engine
The USB engine includes the Serial Interface Engine (SIE), the low-speed USB I/O transceiver and the 3.3
Volt Regulator. The SIE block performs most of the USB interface function with only minimum support from
F/W. Three endpoints are supported. Endpoint 0 is used to receive and transmit control (including SETUP)
packets while Endpoint 1 and endpoint 2 are only used to transmit data packets.
The USB SIE handles the following USB bus activity independently:
1. Bitstuffing/unstuffing
2. CRC generation/checking
3. ACK/NAK
4. TOKEN type identification
5. Address checking
F/W handles the following tasks:
1. Coordinate enumeration by responding to SETUP packets
2. Fill and empty the FIFOs
3. Suspend/Resume coordination
4. Verify and select DATA toggle values
6.1 USB Device Address
The USB device address register (USBadr) stores the device’s address. This register is reset to all 0 after
chip reset. F/W must write this register a valid value after the USB enumeration process.
6.2 Endpoint 0 receive
After receiving a packet and placing the data into the Endpoint 0 receive FIFO (RC0FIFO), TMU3100
updates the Endpoint 0 status registers to record the receive status and then generates an Endpoint 0
receive interrupt (RC0int). F/W can read the status register for the recent transfer information, which includes
the data byte count (RC0cnt), data direction (EP0dir), SETUP token flag (EP0set), packet toggle (RC0tgl)
and data valid flag (RC0err). The received data is always stored into RC0FIFO and the RC0cnt is always
updated for DATA packets following SETUP tokens. The data following an OUT token is written into the
RC0FIFO, and the RC0cnt is updated unless Endpoint 0 STALL (EP0stall) is set or Endpoint 0 receive ready
(RC0rdy) is cleared. The SIE clears the RC0rdy automatically and generates RC0int interrupt when the
RC0cnt or RC0FIFO is updated. As long as the RC0rdy is cleared, SIE keep responding NAK to Host’s
Endpoint 0 OUT packet request. F/W should set the RC0rdy flag after the RC0int interrupt is asserted and
RC0FIFO is read out.
6.3 Endpoint 0 transmit
After detecting a valid Endpoint 0 IN token, TMU3100 automatically transmit the data pre-stored in the
Endpoint 0 transmit FIFO (TX0FIFO) to the USB bus if the Endpoint 0 transmit ready flag (TX0rdy) is set and
the EP0stall is cleared. The number of byte to be transmitted depends on the Endpoint 0 transmit byte count
register (TX0cnt). The DATA0/1 token to be transmitted depends on the Endpoint 0 transmit toggle control
9
tenx technology, inc.
Rev 1.4 2004/03/01
DS-TMU3100
bit (TX0tgl). After the TX0FIFO is updated, TX0rdy should be set to 1. This enables the TMU3100 to respond
to an Endpoint 0 IN packet. TX0rdy is cleared and an Endpoint 0 transmit interrupt (TX0int) is generated
once the USB host acknowledges the data transmission. The interrupt service routine can check TX0rdy to
confirm that the data transfer was successful.
6.4 Endpoint 1/2 transmit
Endpoint1 and Endpoint2 are capable of transmit only. These endpoints are enabled when the Endpoint1 /
Endpoint2 configuration control bit (EP1cfg/EP2cfg) is set. After detecting a valid Endpoint 1/2 IN token,
TMU3100 automatically transmit the data pre-stored in the Endpoint 1/2 transmit FIFO (TX1FIFO/TX2FIFO)
to the USB bus if the Endpoint 1/2 transmit ready flag (TX1rdy/TX2rdy) is set and the EP1stall/EP2stall is
cleared. The number of byte to be transmitted depends on the Endpoint 1/2 transmit byte count register
(TX1cnt/TX2cnt). The DATA0/1 token to be transmitted depends on the Endpoint 1/2 transmit toggle control
bit (TX1tgl/TX2tgl). After the TX1FIFO/TX2FIFO is updated, TX1rdy/TX2rdy should be set to 1. This enables
the TMU3100 to respond to an Endpoint 1/2 IN packet. TX1rdy/TX2rdy is cleared and an Endpoint 1/2
transmit interrupt (TX1int/TX2int) is generated once the USB host acknowledges the data transmission. The
interrupt service routine can check TX1rdy/TX2rdy to confirm that the data transfer was successful.
6.5 USB Control and Status
Other USB control bits include the USB enable (ENUSB), Suspend (Susp), Resume output (RsmO), Control
Read (CtrRD), and corresponding interrupt enable bits. The CtrRD should be set when program detects the
current transfer is an Endpoint0 Control Read Transfer. Once this bit is set, the TMU3100 will stall an
Endpoint0 OUT packet with DATA toggle 0 or byte count other than 0. Other USB status flag includes the
USB reset interrupt (RSTint), Resume input interrupt (RSMint), and USB Suspend interrupt (SUSPint).
6.6 Suspend and Resume
Once the Suspend condition is asserted, F/W can set the Susp bit to save the power consumption of USB
Engine. F/W can further save the device power by force the CPU to go into the Power Down Mode. In the
Power Down mode, the X'tal is stop, but CPU can be waken-up by the trigger of enabled interrupt's source,
which includes RSMint, KBDint and PB0int.
The TMU3100 send Resume signaling to USB bus when Susp=1 and RsmO=1. In the suspend mode, if a
keyboard interrupt is asserted, F/W should send resume signal to wake up the USB bus.
10
tenx technology, inc.
Rev 1.4 2004/03/01
DS-TMU3100
MEMORY MAP of F-Plane
Name
Address R/W Rst Description
Timer0
PCL
ROMpage
RAMbank
Z
DC
C
FSR
PAD
PBD
PBD
LED
KSOL
KSOH
KSI
GPR0
GPR1
ENUSB
USBadr
RC0int
TX0int
TX1int
TX2int
RSTint
SUSPint
RSMint
KBDint
PB0int
T0int
Susp
RsmO
EP1cfg
EP2cfg
CtrRD
RC0rdy
RC0tgl
RC0err
EP0dir
EP0set
RC0cnt
TX0rdy
TX0tgl
EP0stall
TX0cnt
TX1rdy
TX1tgl
EP1stall
TX1cnt
TX2rdy
TX2tgl
EP2stall
TX2cnt
RC0FIFO
SRAM
01.7~0
02.7~0
03.6
03.4
03.2
03.1
03.0
04.6~0
05.3~0
06.3~0
06.3~0
07.3~0
08.7~0
09.7~0
0A.7~0
0E.7~0
0F.7~0
10.7
10.6~0
11.7
11.6
11.5
11.4
11.3
11.2
12.3
12.2
12.1
12.0
13.7
13.6
13.5
13.4
13.3
13.0
14.7
14.6
14.5
14.4
14.3~0
15.7
15.6
15.5
15.3~0
16.7
16.6
16.5
16.3~0
17.7
17.6
17.5
17.3~0
18~1F
20~7F
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
W
R
R/W
R/W
R/W
R
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R
R
R
R
R
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R
R/W
0
0
0
0
0
0
0
0
f
f
ff
ff
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-
Timer 0
Program Counter [7~0]
Program ROM Page Select (STATUS.6)
SRAM Bank Select (STATUS.4)
Zero Flag (STATUS.2)
Decimal Carry Flag or Decimal /Borrow Flag (STATUS.1)
Carry Flag or /Borrow Flag (STATUS.0)
File Select Register to define Address in indirect addressing mode
Port A output data
Port B output data
Port B output data or Port B pin data
LED output
Key Scan output [7~0]
Key Scan output [15~8]
Key Scan input [7~0]
General Purpose Register 0
General Purpose Register 1
USB function enable (1)
USB device address
Endpoint 0 Receive Interrupt flag, write 0 to clear flag.
Endpoint 0 Transmit Interrupt flag, write 0 to clear flag.
Endpoint 1 Transmit Interrupt flag, write 0 to clear flag.
Endpoint 2 Transmit Interrupt flag, write 0 to clear flag.
USB Bus Reset Interrupt flag, write 0 to clear flag.
USB Suspend Interrupt flag, write 0 to clear flag.
USB Resume Interrupt flag, write 0 to clear flag.
KeyBoard Interrupt flag, write 0 to clear flag.
PB0 interrupt flag, write 0 to clear flag.
Timer0 Interrupt flag, write 0 to clear flag.
F/W force USB interface to go into suspend mode.
F/W force USB interface send Resume signal in suspend mode.
Set Endpoint 1 configuration.
Set Endpoint 2 configuration.
H/W will stall an invalid OUT token during Control Read transfer.
Endpoint 0 ready for receive, clear by H/W while RC0int occurs.
1: received DATA1 packet; 0: received DATA0 Packet.
Endpoint 0 received data error.
1: IN transfer; 0: OUT/SETUP transfer.
SETUP Token indicator.
Received data byte count.
Endpoint 0 ready for transmit, clear by H/W while TX0int occurs.
Endpoint 0 transmit DATA1/DATA0 packet.
Endpoint 0 will stall OUT/IN packet while this bit is 1.
Endpoint 0 transmit byte count.
Endpoint 1 ready for transmit, clear by H/W while TX1int occurs.
Endpoint 1 transmit DATA1/DATA0 packet.
Endpoint 1 will stall IN packet while this bit is 1.
Endpoint 1 transmit byte count.
Endpoint 2 ready for transmit, clear by H/W while TX2int occurs.
Endpoint 2 transmit DATA1/DATA0 packet.
Endpoint 2 will stall IN packet while this bit is 1.
Endpoint 2 transmit byte count.
Endpoint 0 Receive Buffer (8 Bytes)
Internal RAM (96 Bytes x 2 Banks)
11
tenx technology, inc.
Rev 1.4 2004/03/01
DS-TMU3100
MEMORY MAP of R-Plane
Name
Address R/W Rst Description
T0RLD
T0PSCL
01.7~0
02.3~0
W
W
0
0
PWRdwn
WDTe
KBDmask
TESTreg
TX0FIFO
TX1FIFO
TX2FIFO
RC0ie
TX0ie
TX1ie
TX2ie
RSTie
SUSPie
PS2kbd
RSMie
KBDie
PB0ie
T0ie
03
04
05.7~0
0F.3~0
18~1F
20~27
28~2F
11.7
11.6
11.5
11.4
11.3
11.2
12.4
12.3
12.2
12.1
12.0
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Timer0 overflow reload value
Timer0 Pre-Scale, 0:divided by 2, 1:divided by 4, … 7:divided by 256, 8:divided by 1
(Time base is 2*instruction cycle)
Write this register to enter Power-Down Mode
Write this register to clear WDT and enable WDT
Mask KSI[7:0] interrupt function while the corresponding bit is "1"
Test Mode control, keep 0 in normal mode
Endpoint 0 Transmit Buffer (8 Bytes)
Endpoint 1 Transmit Buffer (8 Bytes)
Endpoint 2 Transmit Buffer (8 Bytes)
RC0 Interrupt enable
TX0 Interrupt enable
TX1 Interrupt enable
TX2 Interrupt enable
USB Reset Interrupt enable
Suspend Interrupt enable
Select PS2 keyboard Mode
RSM Interrupt enable
Keyboard Interrupt enable
PB[0] Interrupt enable
Timer 0 Interrupt enable
12
tenx technology, inc.
Rev 1.4 2004/03/01
DS-TMU3100
APPLICATION CIRCUIT
40PIN Package
The circuitry is only for Keyboard reference.
VDD
R2
1.5K
U1
1
2
C1
0.1uF
1uF~10uF
3
DP/CLK
4
DM/DATA
5
6
C2
C1
7
8
9
R1
10
VSS
X2
C3
C4
C5
C6
C7
C14
C13
C12
C11
C15
11
12
13
14
15
16
17
18
19
20
39
DP/PB[3]
VDD
DM/PB[2]
LED[0]
PB[1]
PB[0]
LED[1]
LED[2]
38
D1
KSI[0]
PA[0]
KSI[1]
VPP
KSI[2]
RESETn
KSO[0]
KSI[4]
KSO[1]
KSI[5]
KSO[2]
KSI[6]
KSO[3]
KSI[7]
KSO[4]
KSO[15]
KSO[5]
KSO[14]
KSO[6]
KSO[13]
KSO[7]
KSO[12]
KSO[8]
KSO[11]
KSO[9]
KSO[10]
D2
D3
6MHz
C3 20P
CAP NUM SCROLL
37
36
35
PA[1]
KSI[3]
100K
X1
V33
X1
C2 20P
40
34
33
32
31
30
29
28
27
26
25
24
23
22
21
C4
C5
4.7uF
0.1uF
R0
R1
R2
R3
R4
R5
R6
R7
C17
C16
C0
C9
C8
C10
TMU3100
Programming PIN:
VPP,VDD,X1,RESTn,TESTn,PB[0],KSI[3],KSI[6],KSI[7],VSS
13
tenx technology, inc.
Rev 1.4 2004/03/01
DS-TMU3100
ABSOLOUTE MAXIMUM RATINGS
GND= 0V
Name
Symbol
Maximum Supply Voltage
VDD
Maximum Input Voltage
Vin
Maximum output Voltage
Vout
Maximum Operating Temperature Topg
Maximum Storage Temperature
Tstg
RECOMMEND OPERATING CONDITION
at Ta=-20℃ to 70℃,GND= 0V
Name
Symb.
Min.
Supply Voltage
VDD
4.5
Input “H” Voltage
Vih
3.5
Input “L” Voltage
Vil1
0
Range
-0.3 to 5.5
-0.3 to VDD+0.3
-0.3 to VDD+0.3
-5 to +70
-25 to +125
Max.
5.5
5.5
0.8
DC CHARACTERISTICS
at Ta=-25 ℃,VDD=5.0V, VSS= 0V, Fosc=6MHz
Name
Symb.
Min.
Operating current
Icc
Suspend current
Isus
Output High Voltage
Voh1
Voh2
Output Low Voltage
Vol
RESET pull up resistor
Rrst
KSI pull up resistor
Rksi
LED sink current
Iled
V33 output voltage
V33
Unit
V
V
V
℃
℃
Unit
V
V
V
Typ.
5.5
360
4.0
4.5
0.4
31
46
5.5
3.28
Max.
AC CHARACTERISTICS
at Ta=-25 ℃,VDD=5.0V, VSS= 0V, Fosc=6MHz
Name
Symb.
Min.
Max.
Unit
DP/DM rising time
Trise
75
300
ns
DP/DM falling time
Tfall
75
300
ns
DP,DM cross point
Vx
1.3
2.0
V
Note: All USB transceiver characteristics can meet USB1.1 spec.
14
Unit
mA
uA
V
V
V
Kohm
Kohm
mA
V
Condition
Fosc=6MHz
No load
Ioh=30uA
Ioh=4mA
Iol=15mA
(Vrst=3.38v)
Vled=3.2V
Note
tenx technology, inc.
Rev 1.4 2004/03/01
DS-TMU3100
Package Diagrams
40 PIN P_ DIP
15
tenx technology, inc.
Rev 1.4 2004/03/01
DS-TMU3100
48 PIN SSOP
16
tenx technology, inc.
Rev 1.4 2004/03/01
DS-TMU3100
PAD locations
PB0 PB1
DM
DP
V33
VSS
X2
X1 VDD
PA2
LED0
1
TSTN
LED1
PA1
LED2
PA0
KSI0
VPP
KSI1
RSTN
KSI2
Die size:2170*2130 um
KSO0
KSI3
KSI4
KSO1
KSI5
KSO2
KSO3
KSI6
KSO4
KSI7
KSO5
LED3
PA3 KSO6 KSO7
KSO8 KSO9 KSO10 KSO11 KSO12
KSO13KSO14 KSO15
(2170,2130)um
17
tenx technology, inc.
Rev 1.4 2004/03/01
DS-TMU3100
Probe
Number
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Pad
Name
VSS
V33
DP
DM
PB1
PB0
TSTN
PA1
PA0
VPP
RSTN
KSO0
KSO1
KSO2
KSO3
KSO4
KSO5
PA3
KSO6
KSO7
KSO8
KSO9
X
Y
Probe
Coordinate Coordinate Number
1150.50 2021.00 23
902.50
2021.00 24
782.50
2021.00 25
588.50
2021.00 26
467.50
2021.00 27
334.50
2021.00 28
109.00
1795.50 29
109.00
1678.50 30
109.00
1506.50 31
109.00
1386.50 32
109.00
1246.50 33
109.00
1006.5
34
109.00
874.50
35
109.00
754.50
36
109.00
622.50
37
109.00
492.50
38
109.00
334.50
39
334.50
109.00
40
467.50
109.00
41
588.50
109.00
42
836.50
109.00
43
957.50
109.00
44
Pad
Name
KSO10
KSO11
KSO12
KSO13
KSO14
KSO15
LED3
KSI7
KSI6
KSI5
KSI4
KSI3
KSI2
KSI1
KSI0
LED2
LED1
LED0
PA2
VDD
X1
X2
X
Y
Coordinate Coordinate
1087.50 109.00
1205.50 109.00
1335.50 109.00
1575.50 109.00
1708.50 109.00
1829.50 109.00
2061.00 336.50
2061.00 467.50
2061.00 587.50
2061.00 826.50
2061.00 946.50
2061.00 1066.50
2061.00 1186.50
2061.00 1306.50
2061.00 1542.50
2061.00 1662.50
2061.00 1793.50
1835.50 2021.00
1714.50 2021.00
1514.50 2021.00
1393.50 2021.00
1271.50 2021.00
Ordering Information
Ordering Code
TMU3100CC
TMU3100DC
TMU3100SSC
Package Type
Chip
40 Pin DIP Package
48 Pin SSOP Package
18
Operating Range
Commercial
Commercial
Commercial
tenx technology, inc.
Rev 1.4 2004/03/01