M66290AFP [MITSUBISHI]
USB DEVICE CONTROLLER; USB设备控制器型号: | M66290AFP |
厂家: | Mitsubishi Group |
描述: | USB DEVICE CONTROLLER |
文件: | 总53页 (文件大小:432K) |
中文: | 中文翻译 | 下载: | 下载PDF数据表文档文件 |
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
Ver.1.0 Oct. 27, 2000
USB DEVICE CONTROLLER
DESCRIPTION
· Data transf er condition selectable f or each
The M66290A is a general purpose USB (Univ ersal Serial
Bus) dev ice controller compatible with the USB
specification version 1.1 and corresponds to full speed
transf er. Built-in transceiver circuits meet all transf er type
which is defined in USB.
Endpoints (EP1 to EP5)
· Data transf er type
(Bulk, Isochronous and Interrupt)
· Transf er direction (IN/OUT)
· Buf f er size of FIFO (maximum 1024 Bytes)
· Double (Toggle) buf f er configuration
· Continuous transfer mode
(Buf f ering up to 1 KByteX2)
· Max packet size
M66290A has FIFO of 3k Bytes f or data transf er and can
set 6 endpoints (maximum).
Each endpoint can be set programmable of its transf er
condition, so can correspond to each device class transf er
system of USB.
· Supports 4 input clock f requencies
· Input clock : 6/12/24/48 MHz
· Built-in PLL which has an oscillation buf f er
and outputs at 48 MHz
FEATURES
· USB specif ication 1.1 compliant
· Built-in USB transceiv er circuit
· Supports Full Speed (12 Mbps) transmission
· Supports all four USB transf er type :
· Control transf er
· Supports both 8-bit and 16-bit DMA transf ers
· 16-bit CPU bus interface
· 3.3V single power source
· Built-in JTAG
· Bulk transf er
APPLICATION
· Isochronous transf er
· Printer , Scanner , DSC , DVC
· Interrupt transfer
· PC camera , Multimedia speaker , Terminal adapter etc.
· Support all PC peripheral using Full Speed USB
· Built-in FIFO (3 KBy tes) for Endpoint
· Up to 6 endpoint (EP0 to EP5) selectable
PIN CONFIGURATION
(TOP VIEW)
24
D1
37
D12
D13
DATA BUS
23
38
D0
A6
DATA BUS
22
D14
D15
39
21
40
A5
A4
20
M66290AGP
OR
TEST2 INPUT TEST2
41
42
43
44
45
46
47
48
ADDRESS BUS
19
INTERRUPT
READ STROBE
INT
RD
WR
CS
A3
A2
A1
VCC
18
17
16
15
14
13
WRITE STROBE
CHIP SELECT
RESET
DMA REQUEST
GND
Xin
Xout
RST
Dreq
OSCILLATOR INPUT
DMA ACKNOWLEDGE
Dack
OSCILLATOR OUTPUT
Outline
M66290AGP:48P6Q-A(LQFP)
M66290AFP:48P6X-A(TQFP)
MITSUBISHI ELECTRIC CORPORATION
1
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
VCC
BLOCK DIAGRAM
1
16 35
Clock
14
13
Xin
Control
(Oscillator/
PLL)
17
Xout
to
A6 to 1
22
23
to
Device
Control
Unit
USB
Peripheral
Circuit
Vbus
TrON
5
6
D15 to 0
40
45
CS
CPU
Register
44
WR
RD
Serial
Interface
Engine
43
42
INT
4
3
D+
D-
USB
Transceiver
47
Dreq
Dack
Endpoint
Buffer
(3KByteFIFO)
48
8
9
TRST
TCK
10
TMS
11
12
TDI
46
TDO
RST
7
TEST1
TEST2
41
2
15 36
GND
BLOCK DESCRIPTIONS
The M66290A contains USB transceiv er, oscillation
circuit, PLL, serial interface engine, endpoint buf f er,
device control unit, and CPU register.
Endpoint Buf f er
This is a FIFO buf f er f or transmit and receive
between endpoints.
Except f or EP0 for control transfer, f ive endpoints
(EP1 to EP5) can be set.
USB Transceiv er
USB Transceiv er is consisted of dif f erential driv er
and dif f erential receiver.
And is compatible with USB specif ication v ersion 1.1
and corresponds to Full Speed Transfer mode.
CPU Register
This is an interf ace block with CPU.
Serial Interf ace Engine (SIE)
SIE handles protocol layer as f ollows.
Oscillator/PLL
This block oscillates the internal operation clock
source of 48MHz.
Extract a USB 12MHz clock
Serial-Parallel data conversion
SYNC detection
NRZI encode and decode
Bit stuf f ing and destuf f ing
CRC generator and checker
External clock of 6/12/24/48MHz can be input.
USB peripheral circuit
Detect the connection and the shutdown of USB
by the Vbus input.
Connect the Vbus of USB bus to or the 5V power
supply to Vbus input.
Device Control Unit (DCU)
DCU controls the device state sequence, control
Connect the TrON output to D+ pull-up resistor of
1.5kohm. ON/OFF of the pull-up resistor is controlled
by the register.
transf er sequence, and so on.
2
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
PIN DESCRIPTIONS
Input/
Number of
Item
Pin name
Function
Input/ DATA BUS
D15 to D0
16
6
Output Data bus to access the register from the system
ADDRESS BUS
A6 to A1
CS
Input
Address bus to access the register from the system
CHIP SELECT
Input
1
"L" level enables to communicate with M66290A
CPU
interface
WRITE STROBE
WR
Input
1
Input data is written into the register by the positive edge
READ STROBE
Input
RD
1
Register data can be read when "L" level
INTERRUPT
Output
INT
1
"L" level requests interrupt to system
DMA REQUEST
Output
Dreq
Dack
D+
1
DMA transfer request to endpoint FIFO
DMA
interface
DMA ACKNOWLEDGE
Input
1
FIFO access by DMA transfer is available in "L" level
Input/ USB DATA(+)
1
Output D+ of USB. Connect the external resistor serially.
Input/ USB DATA(-)
D-
1
Output D- of USB. Connect the external resistor serially.
USB
Vbus INPUT (Built-in pull down resistor)
interface
Vbus
Input Connect to the Vbus of USB bus or to the 5V power supply.
Connection or shutdown of the Vbus can be detected.
1
1
1
TrON OUTPUT
Output
Connect to the D+ pull-up resistor of 1.5kohm.
TrON
TRST
ON/OFF control of the pull-up resistor is available.
TEST RESET INPUT (Built-in pull up resistor)
Input Reset input of JTAG. Even if the JTAG is not used, JTAG circuit must be
initialized. Input "L" level to initialize like the RST input.
TEST MODE INPUT (Built-in pull up resistor)
Input
TMS
TCK
TDI
1
1
1
Mode set input to JTAG. If JTAG is not used, keep "H" level or open.
JTAG
TEST CLOCK INPUT (Built-in pull down resistor)
Input
interface
Clock input to JTAG. If JTAG is not used, keep "L" level or open.
TEST DATA INPUT (Built-in pull up resistor)
Input
Data input to JTAG. If JTAG is not used, keep "H" level or open.
TEST DATA OUTPUT
TDO
RST
Output
1
1
Data output from JTAG. If the JTAG is not used, keep open.
RESET
Input
"L" level initializes the register or the counter of M66290A.
OSCILLATO
R INPUT
Generate an internal clock.
Xin
Input
Output
Input
1
1
1
Input or output of internal clock oscillator. When use as a crystal oscillator, connect a
crystal between Xin and Xout.
OSCILLATO
R OUTPUT
Xout
If an external clock is used, input it to Xin, and Xout must be opened.
Others
TEST1 INPUT (Built-in pull down resistor)
Input for the test. Keep "L" level or open.
TEST1
TEST2
TEST2 INPUT (Built-in pull down resistor)
Input for the test. Keep "L" level or open.
Input
1
VCC
-
-
Power supply pin
Ground
3
3
GND
3
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
USB DATA TRANSFER DESCRIPTIONS
Data transmit
M66290A is a USB device controller correspond to all
the f our types of transfer (control, bulk, isochronous,
and interrupt transf er), which is compatible to USB
specification 1.1.
When the data of endpoint FIFO, which corresponds to
transmit request by IN token packet, is ready , M66290A
transmit the corresponded data packet to USB bus.
If the ACK packet come f rom the host for the transmitted
data packet, a transaction completed and the endpoint
FIFO becomes empty and urge CPU to write the next
transmit data by buf f er ready interrupt.
M66290A acts USB functions as below automatically.
(1) Bit stuf f ing/destuf f ing
(2) CRC generate/check
(3) NRZI encode/decode
(4) Packet handling
If the transmit data, which correspond to transmit request
by IN token packet, is not exist in the endpoint FIFO,
M66290A transmit NAK packet to host when received
IN token packet from host and occurs interrupt and
request CPU to write transmit data.
(5) USB address check
(6) Bus error handling
Theref ore, when CPU transact the operations as
follows, USB transf er is realized.
(1) Response to the control transfer request
(2) Permission of store and transmission of the
transmit data into the endpoint buf f er.
(Or read of the receiv ed data f rom the endpoint
buf f er)
When M66290A receiv ed IN token packet again f rom host,
M66290A transmits the data which is written.
If error is not occurred in that transf er, host transmit ACK
packet and if M66290A receiv ed it normally , a transaction
completed.
If USB protocol error is occurred in the data which is
transmitted v ia USB bus, host does not transmit ACK
packet, so M66290A watch and wait until receive IN token
packet, with keeping the data to be transmitted.
(3) Stall handling
(4) Suspend/resume handling
Below are the descriptions about the data transfer.
Data receive
In data receiv e, there are dif f erences of its f unction
between setup transaction and out transaction.
In setup transaction, when receiv ed device request
from host, 8Byte request is always stored into f our
resistors.
When request data is receiv ed correctly ,sends back
ACK packet to host and at the same time, occurs
interrupt to CPU and urge CPU to read request.
In out transaction, after M66290A received OUT
token packet, host transmits data packet.
If packet of maximum packet size or short packet
is stored into the endpoint FIFO of M66290A, and
moreov er, error is not occurred in that transf er,
M66290A transmits ACK packet to host and inf orms
CPU that the data was received by occurring buf f er
ready interrupt.
If USB protocol error is occurred in the host data
which received via USB bus, or if the endpoint FIFO
is full, M66290A does not transmit ACK packet to
host. Host knows that the error occurred because the
ACK packet does not come, and take a step such as
data resend.
4
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
CONTROL REGISTER TABLE
Below is the table of registers of M66290A.
Bit width of all register is 16bits.
shows the reset status by receiving USB reset.
" - " shows that the prev ious status is kept.
Write into reserv ed address is inhibited.
In reset item, "H/W" shows the reset status
by external RST input, "S/W" shows reset
status by USBE register, and "USB"
Address
Name
R/W
H/W
S/W
-
USB
00h
02h
USB Operation Enable Register
Remote Wake-up Register
Sequence Bit Clear Register
Reserved
R/W
R/W
R/W
0000h
0000h
0000h
-
-
-
0000h
0000h
04h
06h
08h
USB_Address Register
IsochronousStatus Register
Reserved
R
0000h
0000h
0000h
0000h
0000h
-
0Ah
0Ch to 0Eh
10h
R/W (note 2)
Interrupt Enable Register0
Interrupt Enable Register1
Interrupt Enable Register2
Interrupt Enable Register3
Interrupt Status Register0
Interrupt Status Register1
Interrupt Status Register2
Interrupt Status Register3
Request Register
R/W
R/W
R/W
R/W
R/W (note 2)
R
0000h
0000h
0000h
0000h
0000h
0000h
0000h
0000h
0000h
0000h
0000h
0000h
0000h
0008h
0000h
0000h
-
12h
0000h
-
14h
0000h
-
16h
0000h
-
18h
0000h
Note 2
1Ah
1Ch
1Eh
20h
0000h
-
-
-
-
-
-
-
-
-
-
R/W
R/W
R
0000h
0000h
-
-
-
-
-
-
-
22h
Value Register
R
24h
Index Register
R
26h
Length Register
R
28h
Control Transfer Control Register
EP0 Packet Size Register
Auto-response Control Register
Reserved
R/W
R/W
R/W
2Ah
2Ch
2Eh
30h
EP0_FIFO Selection Register
EP0_FIFO Control Register
EP0_FIFO Data Register
EP0 Continuous transmit Data Length
Reserved
R/W
R/W (note 2)
R/W
0000h
0800h
xxxx
-
-
-
-
-
-
-
-
32h
34h
36h
R/W
0000h
38h to 3Eh
40h
CPU_FIFO Selection Register
CPU_FIFO Control Register
CPU_FIFO Data Register
Reserved
R/W
R/W (note 2)
R/W
0000h
0800h
xxxx
-
-
-
-
-
-
42h
44h
46h
48h
DMA_FIFO Selection Register
DMA_FIFO Control Register
DMA_FIFO Data Register
Reserved
R/W
R/W (note 2)
R/W
0000h
0800h
xxxx
-
-
-
-
-
-
4Ah
4Ch
4Eh to 5Eh
60h
EP1 Configuration Register0
EP1 Configuration Register1
EP2 Configuration Register0
EP2 Configuration Register1
EP3 Configuration Register0
EP3 Configuration Register1
EP4 Configuration Register0
EP4 Configuration Register1
EP5 Configuration Register0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0000h
0040h
0000h
0040h
0000h
0040h
0000h
0040h
0000h
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
62h
64h
66h
68h
6Ah
6Ch
6Eh
70h
note 1 : Detail description is mentioned later.
note 2 : Some are read only.
5
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
Functional and register descriptions
And when use this function, device state shif ts to Address
state after outputs remote wakeup signal, so it is needed
to set up again the device state to Conf igured state.
Change of set up of device state can be done in S/W
control mode.
We explain about Function and register constitution of
M66290A dividing into f our items as follows.
(1) Sy stem control
(2) Interrupts
(3) Control transf er/enumeration
(4) Endpoints and FIFO control
Remote wakeup signal is a signal to set USB bus to idle
state after output K-state of 10ms length.
(1) System control
If this remote wakeup f unction is set up immediately af ter
detected suspend, USB bus idle state is kept f or 2ms and
then shif ts to K state output. (Because USB bus idle state
must be kept for 5ms minimum until transmit of remote
wakeup signal, on the other hand af ter detect suspend,
USB idle state is continued f or 3ms)
CLOCK
Clock of 48MHz is needed for internal operations
of M66290A.
Built in PLL enables to input external clock of 6/12/
24/48MHz. Selection of it is realized by the XTAL
of "USB Operation Enable Register".
When use external clock of 48MHz, PLL is not
needed, so set to PLL operation disable.
Sequence toggle bit clear function
In each endpoint of EP0 to EP5, data PID can be reset
independently and also can appoint PID of DATA0.
By this f unction, management of sequence toggle bit
in transf er af ter reset PID, is done by H/W automatically .
Built in oscillation circuit enables to supply clock
by self oscillation.
To set the "USB Operation Enable Register", it can
be set the device to standby state. Oscillation is
halted (clock input halted) by XCKE, PLL operation
is halted by PLLC, and clock supply to USB block
is halted by SCKE.
Error inf ormation in isochronous transf er
In isochronous transf er there is not retry f unction of
transmit/receiv e, because the handshake f rom receiv er
to transmitter is not returned not to disturb the time
equivalent data transf er.
To prev ent unstable behavior by unstable clock,
clock supply to USB block must be obey ed the
process, that is, enables clock input by XCKE, wait
until oscillation stabilized, start PLL by PLLC, wait
until oscillation stabilized (less than 1ms), and start
clock supply to USB block by SCKE.
M66290A has enough inf ormation f unction which enables
firmware to manage incorrect transfer in case of transfer
error occurred in isochronous transf er.
Inf ormation which M66290A can inf orm is, over run
error, under run error, receiv ed data error (CRC error,
bit stuf f ing error), and f rame number.
RESET
S/W reset by the register set (USBE), dif f erent from
the hardware reset, keeps the value of register of
USB operation enable register, FIFO relational
register, control transfer relational register,endpoint
setting register, and so on.
Sof tware control mode
In sof tware control mode, it is av ailable to set up (write)
from CPU as f ollows, USB_Address register (USB_Addr),
device state register (DVSQ), control transf er stage
register (CTSQ).
And in USB reset (when more than 2.5us of SE0 state
is continued on D+, D- terminal), the v alue of register
is kept except f or "Interrupt Status Register 0" and
"USB_Address Register"
Normally, use this mode with OFF.
(1) In case of crystal oscillation
C1
As to details of reset state, see each item of register.
Xin
XTAL
D+ pull-up resistor control function
M66290A
Xout
Rf
To set the register, external TrON output is controlled
and can control the ON/OFF of pull-up resistor
(1.5kohm) on USB D+ line.
Rd
C2
Place the parts as near the terminal as possible
(2) In case of external clock input
Remote wakeup function
When dev ice is in suspended state, outputs remote
wakeup signal and can cancel suspended state to receive
resume from USB.
clock input
Xin
M66290A
Remote wakeup function is only ef f ectiv e in Suspended
state in which device state shifts f rom Configured state,
so don't use to other device state.
open
Xout
Figure 1. Xin and Xout connections
6
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(1-1) USB Operation Enable Register (Address : 00h)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
USBPC
SCTR
XCKE PLLC
XTAL[1:0]
SCKE
Tr_on[1:0]
USBE
Reset
H/W S/W USB
Bit
Bit
Name
Function
W/R
W/R
Name
0 : Oscillator disable (clock input disable)
1 : Oscillator enable (clock input enable)
15
14
XCKE
PLLC
Oscillator enable
0
-
-
0 : PLL disable
1 : PLL enable
PLL control
W/R
0
-
-
When use external clock of 48MHz, set to PLL disable.
00 : 1/1 division (external 48MHz input)
10 : 1/2 division (external 24MHz input)
01 : 1/4 division (external 12MHz input)
11 : 1/8 division (external 6MHz input)
13, 12 XTAL[1:0]
Crystal select
W/R
W/R
W/R
00
0
-
-
-
-
-
-
Internal clock
enable
0 : Internal clock (sck) disable
1 : Internal clock (sck) enable
11
10
SCKE
0 : USB transceiver disable
1 : USB transceiver enable
USB transceiver
power control
USBPC
0
In suspend state, resume signal can be received even if USB
transceiver disabled.
X0 : TrON port ="Hi-Z"
01 : TrON port ="L"
Tr_on
[1:0]
Tr_on output
control
11 : TrON port ="H"
9, 8
W/R
00
-
-
This fields selects TrON output state, and it is effective when
external Vbus input is "H" level (5V). If external Vbus input is "L",
these bits can be set but TrON output does not operate.
7 to 2 Reserved
Write/Read "0"
Software control
mode
0 : Normal Operation
1 : Software Control Mode Operation
1
0
SCTR
USBE
W/R
W/R
0
0
-
-
-
-
USB module
enable
0 : USB module disable (S/W Reset)
1 : USB module enable
(1-2) Remote Wake-up Register (Address : 02h)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
WKUP
Reset
H/W S/W USB
Bit
Bit
Name
Function
W/R
Name
15 to 1 Reserved
Write/Read "0"
When CPU write "1" to WKUP for remote wake-up, M66290A outputs
K-State for 10ms, and return to Bus Idle-State.
(Remote wake-up signal)
0
WKUP
Remote wake-up
W/R
0
0
-
This bit returns to "0" automatically after suspend is canceled.
If "1" is written into this bit after detected suspend, bus idle state is kept
for 2ms and after then shifts to K state output.
7
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(1-3) Sequence Bit Clear Register (Address : 04h)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
SQCLR[5:0]
Reset
H/W S/W USB
Bit
Bit
Name
Function
W/R
Name
15 to 6 Reserved
Write/Read "0"
When write "1" into the bit which is correspond to the number
of endpoint, sequence toggle bit of that endpoint is cleared
and appoint the DATA0 by the data PID of next transmission.
Write "1" into the bit after set the response PID of the endpoint, which
5 to 0 SQCLR Sequence toggle bit clears sequence toggle bit, to NAK("00") .
[5:0] clear
Transfers After the transfer appointed, sequence toggle bit is controlled
W/R 00h 00h
-
by H/W.
In USB reset, Sequence toggle bit of each endpoint is not cleared.
If "0" is written into this bit, flag is not changed.
Read data of this bit is always "0".
(1-4)USB Address Register (Address : 08h)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
USB_Addr[6:0]
Reset
H/W S/W USB
Bit
Bit
Name
Function
W/R
Name
15 to 7 Reserved
Write/Read "0"
USB address which is assigned by host is stored.
USB_
6 to 0
USB_Address
register
After stored the address, transaction is done only to the token packet
which is transmitted to this address.
Addr
R
00h 00h 00h
[6:0]
(If S/W control mode is set, write operation is available)
8
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(1-5) Isochronous Status Register (Address : 0Ah)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
OVRN CRCE
FMOD
FRNM[10:0]
Reset
Bit
Bit
Name
Function
W/R
Name
H/W S/W USB
In isochronous transfers (OUT/IN), when over-run or under-run is
occurred to the endpoint buffer, this flag is set at the timing of the
receive end of the OUT/IN token packet.
Over run is occurred when delayed to read the received data from
the endpoint buffer, and means that could not received. Over run is
occurred when the direction of transmission is OUT.
Also the received data has CRC or bit stuffing error, this flag is set.
Under run is occurred when delayed to write the transmit data into the
endpoint buffer, and means that could not transmitted. Under-run is
occurred when the direction of transmission is IN.
15
OVRN
Over run error
W/R
0
0
-
When a state above is occurred, endpoint buffer notready interrupt is
occurred.
When "0" is written, status flag is cleared.
When "1" is written, flag is not changed.
In isochronous transfers(OUT), if the received data has CRC or
bit stuffing error, this flag is set at the timing of the end of transaction.
When a state above is occurred, endpoint buffer notready interrupt is
14
CRCE Receive data error occurred.
W/R
0
0
-
When "0" is written, status flag is cleared.
When "1" is written, flag is not changed.
Write/Read "0"
13 to 12 Reserved
Select the renewal timing of the flame number to be stored
to FRNM[10:0].
Frame number
mode
11
FMOD
W/R
0
0
-
-
0 : Renew the flame number when SOF is received .
1 : In isochronous transfer, renew the flame number at the
timing of the end of transaction.
Stores the flame number.
FRNM
[10:0]
10 to 0
Frame number
The timing to renew the stored flame number is selectable by set
FMOD.
R
000h 000h
9
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(2) Interrupts
Resume detect interrupt (RESM)
There are eight factors of interrupt to CPU.
When interrupt occurred, the factor can be known to
ref er to "Interrupt Status Register 0" and "Interrupt
Status Register 1".
If device state is in suspended state and resume interrupt
enable f lag is set, interrupt occurs when USB bus state
is changed ("J" to "K" or "SE0").
This interrupt can be occurred even if the internal
clock(sck) is halted. To clear the status f lag, set the
internal clock(sck) in operation and then write "0". If the
internal clock(sck) is halted, status f lag can not be
cleared.
These interrupts can be set of its enable/disable
independently to set "Interrupt Enable Register 0"
and "Interrupt Enable Register 1".
If disable is set, interrupt is not occurred but interrupt
status flag is set.
SOF detect interrupt (SOFR)
Interrupt occurs when detect SOF.
Each factor of interrupt is shown in the table below,
and also describes below the interrupt conditions and
how to deal with the interrupt.
Device state transition interrupt (DVST)
Vbus (connect/shut down) interrupt (VBUS)
M66290A manages the device state by H/W.
It manages Powered, Default, Address, Conf igured, and
Suspended state. Dev ice state can be known to ref er to
"Interrupt Status Register 0".
Interrupt occurs when Vbus input state is changed
(both "L" to "H" and "H" to "L").
To know Vbus input state, conf irm the Vbus bit of
interrupt status register 0. Conf irmation of Vbus bit
must be done after enabled internal clock operation.
This interrupt can be occurred even if the internal
clock(sck) is halted. To clear the status f lag, enables
the internal clock(sck) in operation and then write "0".
If the internal clock(sck) is halted, status flag can not
be cleared.
As to dev ice state shif t, see the item of "Device state
shift" in "(3) Control transf er/emulation" in the latter part.
Device state transition interrupt occurs when dev ice state
shifted. The number of f actors is f our, that is, USB bus
reset detect, suspend detect, execution of "Set Address",
and execution of "Set Configuration".
USB reset is detected when SE0 state over 2.5us is
continued on D+, D- terminal.
This interrupt is usef ul to detect connect/shut-down of
USB for prepareration/close of USB transf ers.
Suspend is detected when idle state over 3ms is
continued on D+, D- terminal.
Summary of interrupts
Status bit
VBUS
Name
Abstract of interrupt f actor
Relational status bit
Vbus
Vbus interrupt
Change of the Vbus input
(connec/shut-down detect) (both "L" to "H" and "H" to "L")
RESM
SOFR
Resume detect interrupt
SOF detect interrupt
Resume signal receiv ed in suspended
Received SOF
device state transition
interrupt
Shif t of dev ice state
DVSQ[2:0]
CTSQ[2:0]
DVST
CTRT
Control transf er
Stage shif t of control transfer
stage transition interrupt
In each endpoint, when data transmit of all buf f er
is ended and buf f er is empty , or in OUT transf er,
received packet which exceeds max packet size.
Endpoint buf f er
EPB_EMP_OVR[5:0]
BEMP
empty /size-ov er interrupt
Endpoint buf f er not ready When buf f er is in not ready state (SIE cannot read
EPB_NRDY[5:0]
EPB_RDY[5:0]
INTN
INTR
interrupt
and write) to IN/OUT token of each endpoint.
Endpoint buf f er ready
interrupt
When buf f er of each endpoint became ready
(read enable/write enable)
10
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
Each of "Set Address" and "Set Configuration" execution
detects the device state shif t by analyzing the dev ice
request in control transfer.
Endpoint buffer not ready interrupt (INTN)
When the buf f er is in not ready state to IN/OUT token
of each endpoint, interrupt occurs at the timing of token
packet receive end.
Each of these f our f actors can be set of its interrupt to
enable or disable by setting the corresponded bit of
interrupt enable register 0.
By ref er to EPB_NRDY[5:0] of interrupt status register 1,
it can be known which endpoint occurred the interrupt.
For example by using this interrupt, when USB bus reset
is detected, a step to USB bus is av ailable and when
suspend is detected, a step to shif t dev ice to low power
consumption.
If endpoint is set to isochronous transf er, when over-run/
under-run error is occurred, interrupt occurs at the timing
of token packet receive end.
And if it is set to isochronous (OUT), if receiv ed data
has
Control transfer stage transition interrupt (CTRT)
M66290A manages the sequence of control transf er
by H/W.
error such as CRC error, interrupt occurs at the timing of
transaction end.
Each stage of control transf er, such as setup stage,
data stage, and status stage can be known to ref er to
the "Interrupt Status Register 0".
The v ariety of error in isochronous transf er is known to
ref er "Isochronous Status Register".
Control transf er stage transition interrupt is occurred
when the control transf er stage is shif ted.
There are f ive f actors, that is, setup stage end,
control write transf er stage shift, control read transfer
stage shif t, control transfer end, and control transf er
sequence error.
Endpoint buffer ready interrupt (INTR)
Interrupt occurs when the buf f er of each endpoint
became ready (read/write is av ailable).
It can be known which endpoint occurred the interrupt
to ref er EPB_RDY[5:0] of interrupt status register 1.
According to the endpoint and its access mode, the
factor of interrupt is dif f erent as follows.
Except f or setup stage, Each of these f our factors can
be set of its interrupt to enable or disable by setting the
corresponded bit of interrupt enable register 0.
As to control transfer sequence error which can be
recognized by H/W, ref er to "Control transfer stage
shift" in the item of "(3) Control transf er/enumeration"
in the latter part.
1. In case of EP0
Interrupt occurs when receive (OUT) buf f er of endpoint
0 became ready .
If it is set to control write continuous receiv e mode,
when continuous receiv e of 255 bytes ended or when
received short packet, interrupt occurs.
Interrupt is not occurred even if the transmit buf f er
became ready .
Endpoint buffer empty/size-over interrupt (BEMP)
Interrupt f actor is dif f erent by transf er direction of
endpoint.
2. In case of EP1 to EP5, when CPU access
Interrupt occurs when the buf f er of each endpoint
became ready .
1. In case of transf er direction is IN
In each endpoint, interrupt occurs when transmission
ended of all data which is stored in the buf f er.
By this interrupt, when endpoint is set to double buf f er,
end of data transmission of all data of the buf f er can
be known.
3. In case of EP1 to EP5, when DMA access
If the transf er direction is set to OUT, interrupt occurs
when received short data packet and then ended DMA
transf er.
And also can know the end of data transmission of
control read transf er in endpoint 0 (EP0).
Interrupt is not occurred if the transf er direction is set
to IN.
2. In case of transf er direction is OUT
In each endpoint, interrupt occurs in data packet
receive when receiv ed packet which exceeds the
maximum packet size.
By ref er to EPB_EMP_OVR[5:0] of interrupt status
register, it can be known which endpoint occurred the
interrupt.
11
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
Figure 2. shows the examples of interrupt output timing
(1) Endpoint buf f er ready interrupt (ex.OUT transaction)
OUT token packet
Data packet
DATA
Hand shake packet (ACK)
SYNC
SYNC
EOP
EOP
CRC
PID Addr Endp CRC
SYNC PID
PID EOP
USB
Buf f er becomes ready (read enable)
and interrupt occurs
INT output
(2) Endpoint buf f er not ready interrupt (ex.OUT transaction)
OUT token packet
Data packet
DATA
Hand shake packet (NAK)
SYNC
SYNC
EOP
EOP
CRC
PID Addr Endp CRC
SYNC PID
PID EOP
USB
Buf f er is in not ready (receiv e disable)
and interrupt occurs
INT output
(3) Endpoint buf f er not ready interrupt (ex.IN transaction)
IN token packet
Hand shake packet (NAK)
SYNC
EOP
SYNC
PID EOP
PID Addr Endp CRC
USB
Buf f er is in not ready (transmit disable)
and interrupt occurs
INT output
Figure 2. Examples of interrupt output timing
12
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(2-1) Interrupt Enable Register 0 (Address : 10h)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
BEMPE
VBSE RSME SOFE DVSE CTRE
INTNE INTRE URST SADR SCFG SUSP WDST RDST CMPL SERR
Reset
Bit
Bit
15
14
Name
Function
W/R
W/R
W/R
Name
VBSE
H/W S/W USB
Vbus interrupt
enable
0 : Disable
1 : Enable
0
0
0
0
-
-
Resume interrupt 0 : Disable
RSME
SOFE
DVSE
CTRE
enable
1 : Enable
SOF interrupt
enable
0 : Disable
1 : Enable
13
12
11
W/R
W/R
W/R
0
0
0
0
0
0
-
-
-
Device state
0 : Disable
1 : Enable
interrupt enable
Control transfer
interrupt enable
0 : Disable
1 : Enable
Endpoint5-0 buffer
empty/size error
interrupt enable
0 : Disable
1 : Enable
10
9
BEMPE
INTNE
W/R
W/R
0
0
0
0
-
-
Endpoint5-0 buffer
not ready
0 : Disable
1 : Enable
interrupt enable
Endpoint5-0 buffer
ready
0 : Disable
1 : Enable
8
7
INTRE
URST
W/R
W/R
0
0
0
0
-
-
interrupt enable
USB reset detect If this bit is "1", then the DVST flag is set when detected USB reset.
Set Address
6
5
4
SADR
SCFG
SUSP
If this bit is "1", then the DVST flag is set after executed SetAddress.
execute
W/R
W/R
W/R
0
0
0
0
0
0
-
-
-
Set Configration
If this bit is "1", then the DVST flag is set after executed SetConfigration.
execute
Suspend
If this bit is "1", then the DVST flag is set when detected suspend.
detect
Control write
If this bit is "1", then the CTRT flag is set when shifted to status stage
3
WDST
transfer status
in control write transfer.
stage
W/R
0
0
-
Control read
If this bit is "1", then the CTRT flag is set when shifted to status stage
2
1
0
RDST
CMPL
SERR
transfer status
in control read transfer.
stage
W/R
W/R
W/R
0
0
0
0
0
0
-
-
-
Control transfer
complete
If this bit is "1", then the CTRT flag is set when control transfer
completed (when the status stage completed normally).
Control transfer
sequence error
If this bit is "1" then the CTRT flag is set when error
occurred in the sequence of control transfer.
13
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(2-2) Interrupt Enable Register 1(Address : 12h)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
EPB_RE[5:0]
Reset
H/W S/W USB
Bit
Bit
Name
Function
W/R
Name
15 to 6 Reserved
Write/Read "0"
Endpoint5-0 buffer 0 : Disable
EPB_RE
5 to 0
[5:0]
ready
1 : Enable
The number of endpoint is correspond to each bit one by one.
W/R 00h 00h
-
interrupt enable
(2-3) Interrupt Enable Register 2 (Address : 14h)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
EPB_NRE[5:0]
Reset
H/W S/W USB
Bit
Bit
Name
Function
W/R
Name
15 to 6 Reserved
Write/Read "0"
Endpoint5-0 buffer 0 : Disable
EPB_NRE
5 to 0
[5:0]
not ready
1 : Enable
The number of endpoint is correspond to each bit one by one.
W/R 00h 00h
-
interrupt enable
(2-4) Interrupt Enable Register 3 (Address : 16h)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
EPB_EMPE[5:0]
Reset
H/W S/W USB
Bit
Bit
Name
Function
W/R
Name
15 to 6 Reserved
Write/Read "0"
Endpoint5-0 buffer 0 : Disable
EPB_
5 to 0
EMPE
[5:0]
empty/size error
interrupt enable
1 : Enable
The number of endpoint is correspond to each bit one by one.
W/R 00h 00h
-
14
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(2-5) Interrupt Status Register 0 (Address : 18h)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
VBUS RESM SOFR DVST CTRT BEMP INTN INTR
Vbus
DVSQ[2:0]
VALID
CTSQ[2:0]
Reset
Bit
Bit
15
Name
Function
W/R
Name
VBUS
H/W S/W USB
This bit changes to "1" when Vbus input changed both "0" to "1" and
"1" to "0".
As to the Vbus input state, confirm to see the bit of Vbus input port.
This bit is set even if the internal clock (sck) is in halt state.
If "0" is written after enabled internal clock as operation, status flag is
cleared. But if internal clock is in halt state, flag is not cleared.
If "1" is written, flag is not changed.
Vbus interrupt
W/R
0
0
-
This bit changes to "1" when USB bus state changed("J" to "K" or "SE0")
under the condition that resume interrupt enable flag is set.
This bit is set even if the internal clock (sck) is in halt state.
If "0" is written after enabled internal clock as operation, status flag is
cleared. But if internal clock is in halt state, flag is not cleared.
If "1" is written, flag is not changed.
14
Resume detect
interrupt
RESM
SOFR
DVST
W/R
W/R
W/R
0
0
0
0
0
0
-
-
This bit changes to "1" when detected SOF.
If "0" is written, status flag is cleared.
If "1" is written, flag is not changed.
SOF detect
interrupt
13
12
This bit changes to "1" when device state shifted.
There are four factors, that is, USB reset detect, suspend detect,
"Set Address" execution, and "Set Configuration" execution.
These four factors can be masked by the corresponded bit of
"Interrupt Enable Register0" .
Device state
1
transition interrupt
If "0" is written, status flag is cleared.
If "1" is written, flag is not changed.
This bit changes to "1" when the stage of control transfer is shifted.
There are five factors, that is, setup stage end, control write transfer
status stage shift, control read transfer status stage shift, control transfer
end, and control transfer sequence error.
Control transfer
stage transition
interrupt
11
CTRT
W/R
0
0
-
Four factors, except for setup stage end, can be masked by the
corresponded bit of the "Interrupt Enable Register0".
If "0" is written, status flag is cleared.
If "1" is written, flag is not changed.
The factor is different by the direction of the transfer of each endpoint.
In each endpoint, this bit changes to "1" when the transmission of all
stored data is completed (direction:IN) and when received the packet
Endpoint5-0 buffer which is exceeded to maximum packet size (direction:OUT).
10
BEMP
empty/size error
interrupt
The endpoint which occurs the interrupt can be checked to see the
EPB_EMP_OVR[5:0].
R
0
0
-
This flag is cleared to clear the status flag of EPB_EMP_OVR[5:0].
15
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
Reset
W/R
Bit
Bit
Name
Function
Name
H/W S/W USB
This bit changes to "1" at the timing of token packet receive end when
buffer respond NAK, of its not ready state, to IN/OUT token of each
Endpoint5-0 buffer endpoint.
not ready
9
INTN
R
0
0
-
interrupt enable
The endpoint which occurred the interrupt is checked to see
EPB_NRDY[5:0].
This flag is cleared to clear the status flag of EPB_NRDY[5:0].
This bit changes to "1" when the buffer of each endpoint
became ready (read/write enable).
Endpoint5-0 buffer
ready
The endpoint which occurred the interrupt is checked to see
EPB_RDY[5:0].
8
INTR
R
0
0
-
interrupt enable
This flag is cleared to clear the status flag of
EPB_RDY[5:0].
Input data from external Vbus is stored.
0: Vbus input port is "L"
7
Vbus
Vbus input port
1: Vbus input port is "H"
R
Ext. Ext. Ext.
External Vbus input data is latched by the positive edge of internal clock.
Refer to this bit after enabled internal clock operation.
000: Powered State
001: Default State
010: Address State
011: Configured State
1xx: Suspended State
Device state can be known.
DVSQ
[2:0]
6-4
Device state
As to the device state shift, refer to Fig.5 in the later part.
When detect USB reset, this becomes 001: Default state automatically.
When detect suspend, this becomes 1xx: Suspended state automatically.
Whatever the automatic response mode is, this becomes 010: Address
state after executed Set_Address request, and becomes 011: Configured
state after executed Set_Configuration request.
R
000 000 001
(Write operation is available when S/W control mode is set)
This bit changes to "1" when received setup packet.
This flag does not the factor of interrupt.
When "0" is written, status flag is cleared .
When "1" is written, flag is not changed .
Setup packet
detect
3
VALID
W/R
0
0
-
000 : Idle or Setup stage
001 : Control read transfer data stage
010 : Control read transfer status stage
011 : Control write transfer data stage
100 : Control write transfer status stage
101 : Control write no data transfer status stage
110 : Control transfer sequence error
111 : Not assigned
CTSQ
[2:0]
Control transfer
Stage
2-0
R
000 000
-
Can be seen the stage of control transfer.
As to the stage shift of control transfer, refer to Fig.5 in the later part.
(Write operation is available when S/W control mode is set)
16
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(2-6) Interrupt Status Register 1 (Address : 1Ah)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
EPB_RDY[5:0]
Reset
H/W S/W USB
Bit
Bit
Name
Function
W/R
Name
15 to 6 Reserved
Write/Read "0"
When buffer becomes ready (read/write enabled) to each endpoint,
the bit which corresponds to the number of endpoint changes to "1".
The factor of the interrupt is different by the transfer condition of each
endpoint.
1. As to EP0
This bit changes to "1" when receive buffer(OUT) became ready
(read enabled) in control write transfer.
If it is set to control write continuous receive mode or completed
receiving of the data of 255Bytes or received short data packet,
this bit changes to "1".
This bit is not changed even if the transmission buffer(IN) became
ready (write enabled) in control read transfer.
The ready state of the transmission buffer(IN) can be known by the
buffer empty interrupt.
2. As to EP1 to EP5, when CPU access
This bit changes to "1" when each buffer of each endpoint became
ready(read/write enabled).
This bit also changes to "1" when set the direction of the transfer to IN
in initialization.
Endpoint5-0 buffer
ready
EPB_RDY
5 to 0
[5:0]
R
00h 00h
-
3. As to EP1 to EP5, when DAM access
interrupt
If the direction of the transfer is set to OUT, this bit changes to "1"
when received short data packet and then completed DMA transfer
of received data.
In this case, clear is only available to write the BCLR command.
This bit is not changed if the direction of transfer is set to IN.
Clearance of this flag is different by the transfer direction of endpoint.
1. If the transfer direction is OUT
After set the number of the object endpoint to the "FIFO Selection
Register", write BCLR command or read all data of the buffer, then
flag is cleared.
(When DMA access, clearance is only available to write BCLR
command)
2. If the direction is IN
After set the number of the object endpoint to the "FIFO Selection
Register", write IVAL command or write data into the buffer of maximum
packet size (buffer size, if in continuous transmission mode ), then
flag is cleared.
17
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(2-7) Interrupt Status Register 2 (Address : 1Ch)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
EPB_NRDY[5:0]
Reset
H/W S/W USB
Bit
Bit
Name
Function
W/R
Name
15 to 6 Reserved
Write/Read "0"
To IN/OUT token of each endpoint, if the set of response PID is not
NAK("00") and if buffer is in not ready state (receive/transmit disabled),
the bit which corresponds to the number of endpoint changes to "1".
(If the endpoint is control transfer or bulk transfer or interrupt transfer,
NAK response is executed)
EPB_
Endpoint5-0 buffer
not ready
If the endpoint is set to isochronous transfer, M66290A does not execute
NAK response, but when over-run or under-run of endpoint buffer
occurred, this bit changes to "1" at the timing of token packet receive end.
If it is set to isochronous (OUT), and if received data has error such as
CRC, this bit changes to "1" at the timing of transaction end.
5 to 0
NRDY
[5:0]
W/R 00h 00h
-
interrupt
When "0" is written, status flag is cleared.
When "1" is written, flag is not changed.
18
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(2-8) Interrupt Status Register 3 (Address : 1Eh)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
EPB_EMP_OVR[5:0]
Reset
H/W S/W USB
Bit
Bit
Name
Function
W/R
Name
15 to 6 Reserved
Write/Read "0"
When factors below are occurred to each endpoint, the bit which
corresponds to the number of endpoint, changes to "1".
1. If the transfer direction is IN
In each endpoint, when transmission completed of all data which stored
in buffer, c
By this interrupt, if endpoint is set to double buffer, it can be known that
transmission of all data of buffer is completed.
EPB_
Endpoint5-0 buffer And also by this interrupt, it can be known that transmission of EP0 is
EMP_
5 to 0
empty/size error
interrupt
completed.
W/R 00h 00h
-
OVR
[5:0]
2. If the direction is OUT
In each endpoint, when received data which exceeds the maximum
packet size in data packet receive, the bit which corresponds to the
number of endpoint changes to "1".
When "0" is written, status flag is cleared.
When "1" is written, status flag is not cleared.
19
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(3) Control transfer / Enumeration
If it is control read transfer, data stage is IN transaction
and CPU prepares f or data transmit (write into endpoint
FIFO) at the timing of interrupt in setup stage.
M66290A is equipped with control transf er continuous
transmit and receive function. Af ter ended data stage,
it proceeds to status stage.
In control transf er, there are setup stage, data stage,
and status stage.
M66290A manages stage and inf orm CPU the stage
shift by interrupt. CPU do stage transact of control
transf er according to the interrupt f actor.
Setup stage
Status stage
In setup stage, 8Bytes request (setup data) of setup
transaction data packet which transf erred f rom host
is stored into f our registers automatically (Request,
Value, Index, and Length register).
Status stage executes receiv e/transmit of Null data
(data length 0), in both control write and control read
transf er. Receive/transmit of Null data is possible to
set control transf er complete enable bit (CCPL) after
ended setup stage.
Except f or dev ice state shif t request (Set Address and
Set Configuration) which can cope with by the automatic
response control function, analysis (decode) and
execution of contents of request must be done by CPU.
By executing the request, it proceeds to data stage or
to status stage.
Control transf er complete enable bit is reset when
received setup packet.
Control transf er executes data transf er using EP0.
To both control read and control write, buf f er size of
EP0 can be set by a unit of 64By tes by "Control
Transf er Control Register".
Data stage
Access to EP0_FIFO data register must be done by
CPU access. DMA transfer can not be set.
Data stage executes IN transaction or OUT transaction
according to the contents of request. If it is control
write transfer, data stage is OUT transaction and CPU
prepares f or data receiv e at the timing of interrupt in
setup stage and reads the received data from endpoint
FIFO when data receiv e ended.
Figure 3. shows the abstract of enumeration
operations.
Device state
M66290A
Device f irmware
USB bus connect
Vbus interrupt
Full speed
device recognition
USB reset receiv e
DVST interrupt
USB reset
USB request
(Control transf er)
Get xx command
CTRT interrupt
Set Address
CTRT/DVST interrupt
(Automatic response available)
USB request
USB request
Get xx command
CTRT interrupt
Set Configuration
CTRT/DVST interrupt
(Automatic response available)
USB request
USB request
Set xx command
CTRT interrupt
Figure 3. Abstract of enumeration operations
20
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
Auto-response control function
which extend plural of transaction.
M66290A has auto-response f unction to dev ice
state transition request (Set Address and Set
Configuration)in control transf er.
If continuous transfer mode is set, it can transfer the
transmit which data length is set to "EP0 Continuous
Transmit Data Length Register", without
By the set of "Auto-response Control Register",
auto-response mode to Set Address and to
Set Configuration can be set individually .
If the auto-response mode is set, device state
transition request can be ended without occurring
interrupt.
occurring interrupt.
Control read buf f er can be set up to 256Bytes at a unit
of 64By tes. Control write buf f er can receive continuously
up to 255By tes, so secure the area of 256Bytes.
Abstract of control transfer operations
Continuous transfer function
Figure 4. shows examples of abstraction of control
transf er operations.
M66290A has continuous transf er f unction to
transmit/receiv e continuously of requested data
Transf er direction of packet :
M66290A to Host
Host to M66290A
(1) Continuous receive mode (control write transfer)
INT1:
Setup
stage
INT1
Setup token
OUT token
OUT token
OUT token
OUT token
OUT token
Data packet
CTRT interrupt (setup stage completion)
Read EP0 request and conf irm the contents of request.
ACK
NAK
NAK
ACK
ACK
ACK
Data packet
Data packet
Data packet
Data packet
Data packet
By receiv ing SETUP token packet, response PID of
EP0 is set to NAK automatically.
Data
stage
By the set of response PID to BUF (buf f er control),
data receive starts.
INT2:
INT2
CTRT interrupt (control write transfer status stage shif t)
Confirm the number of by te of received data and read
the received data.
IN token
IN token
IN token
NAK
Status
stage
NAK
By the set of CCPL, transmit the Null data.
Interrupt, which is occurred by control write transf er
status stage shift and by control transf er completion is
dif f erent by interrupt enable setting.
Null data packet
ACK
(2) Continuous transmit mode (control read transfer)
INT1:
Setup
stage
INT1
Setup token
IN token
IN token
IN token
IN token
IN token
Data packet
NAK
CTRT interrupt (setup stage completion)
Read EP0 request and conf irm the contents of request.
ACK
By receiv ing SETUP token packet, response PID of
EP0 is set to NAK automatically.
NAK
NAK
Executes transmit data write which is requested,
set transmit data length, set response PID to BUF
(buf f er control), and data transmit is started.
Data
stage
Data packet
ACK
ACK
Data packet
Data packet
IN token
ACK
ACK
By the set of CCPL, ACK handshake is executed
when received Null data.
Interrupt which is occurred by control read transf er
status stage shift and by control transf er completion is
dif f erent by interrupt enable setting.
Status
stage
Null data packet
OUT token
Figure 4. Examples of abstract of control transf er operations
21
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
other state and to Set_Address request which Dev iceAddess
is not equal to 01h to 7Fh, auto-response is not executed.
To Set_Conf iguration request, auto-response is executed
to Set_Conf iguration request (Conf igurationValue is not equal
to 0) which device state is in Address state and to
Set_Configuration request (ConfigurationValue=0) which device
state is in Conf igured state.
Device state transition
M66290A manages dev ice state by H/W.
It manages Powered, Default, Address, Conf igured,
and Suspended state of USB dev ice state.
To Set_Address and Set_Conf iguration request in
auto-response mode, transf er can be completed
without occurring interrupt to CPU.
To other state and to Set_Conf iguration request which is
dif f erent of its Conf igurationValue from the value abov e,
auto-response is not executed.
To Set_Address request, auto-response is executed to
Set_Address request (Dev iceAddess=01h
to 7Fh) which dev ice state is in Default state, and to
Suspend detection (DVST)
Resume detection (RESM)
USB reset detection (DVST)
Figure 5. Device state shift
22
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
Control transfer stage transition
3. OUT token packet receive in control read data stage.
(OUT token packet receiv e which did not do data transf er
once to IN token packet in data stage).
M66290A manages control transfer sequence by H/W.
There are setup stage, data stage, and status stage in
control transf er stage, as shown in f igure 6. And when
stage shif ts, CTRT interrupt occurs.
4. IN token packet receive in control read status stage.
There are f ive f actors in CTRT interrupt, that is, setup
stage end, control write transf er status stage shift,
control read transf er status stage shif t, control transfer
end, and control transfer sequence error. And there are
seven errors as f ollows in control transfer sequence
error which can be detected by H/W.
5. Data packet receiv e except f or Null data in control
read status stage.
6. OUT token packet receive in control write no data
status stage.
7. Data receiv e which exceeds maximum packet size.
If H/W detected control transf er sequence error,
response PID is set to STALL("1x") automatically.
In control write data stage, it can not be recognized as
sequence error when receiv ed data packet which exceeds
request wLength v alue.
1. IN token packet receive in control write data stage
(In token packet receive which did not do ACK
handshake once to OUT token packet in data stage)
2. OUT token packet receive in control write status stage
Control
transf er
sequence
Error detected
error
Receive
setup packet
ACK receiv e
(Control transfer
complete)
ACK transmit
(Setup stage complete)
Setup
stage
ACK receiv e
(Control transfer
complete)
ACK transmit
(Setup stage complete)
ACK receiv e
(Control transfer
complete)
ACK transmit
(Setup stage complete)
Figure 6. Stage shift of control transfer
23
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(3-1) Request Register (Address : 20h)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
bRequest[7:0]
bmRequestType[7:0]
Reset
H/W S/W USB
Bit
Bit
Name
Function
W/R
R
Name
bRequest
[7:0]
15 to 8
7 to 0
Request register This fields provides bRequest of the last setup packet received.
00h 00h
00h 00h
-
-
bmRequest
Type
RequestType
This fields provides bmRequest of the last setup packet received.
register
R
[7:0]
(3-2) Value Register (Address : 22h)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
wValue[15:0]
Reset
Bit
Bit
Name
Function
W/R
R
Name
H/W S/W USB
wValue
[15:0]
15 to 0
Value register
This fields provides wValue of the last setup packet received.
0000h
-
-
(3-3) Index Register (Address : 24h)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
wIndex[15:0]
Reset
H/W S/W USB
Bit
Bit
Name
Function
W/R
R
Name
wIndex
[15:0]
15 to 0
Index register
This fields provides wIndex of the last setup packet received.
0000h
-
-
(3-4) Length Register (Address : 26h)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
wLength
Reset
H/W S/W USB
Bit
Bit
Name
Function
W/R
R
Name
wLength
[15:0]
15 to 0
Length register
This fields provides wLength of the last setup packet received.
0000h
-
-
24
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(3-5) Control Transfer Control Register (Address : 28h)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
CTRR
Ctr_Rd_Buf_Nmb[5:0]
CTRW
Ctr_Wr_Buf_Nmb[5:0]
Reset
Bit
Bit
Name
Function
W/R
Name
H/W S/W USB
Control read
Control read transfer continuous transmit mode is set
when "1" is written in this bit.
15
14
CTRR transfer continuous
transmit mode
W/R
0
-
-
Reserved
Write/Read "0"
Appoint the start number of the buffer which is used in control read
transfer by a unit of 64bytes.
Ctr_Rd_
Control read buffer
13 to 8 Buf_Nmb
[5:0]
The buffer is available from #00h to #2Fh.
W/R 00h
-
-
-
-
start number
When control read continuous transmit mode is set, it can
transmit continuously up to 255Bytes, so keep the area of the
buffer of 256Bytes (4 blocks).
Control write
When "1" is written, control write transfer continuous receive mode
is set.
7
6
CTRW transfer continuous
receive mode
W/R
0
Reserved
Write/Read "0"
Appoint the start number of the buffer which is used in control write
transfer by a unit of 64bytes.
Ctr_Wr_
Control write buffer The buffer is available from #00h to #2Fh.
5 to 0 Buf_Nmb
[5:0]
W/R 00h
-
-
start number
When control write continuous receive mode is set, it can receive
continuously up to 255bytes, so keep the area of buffer of 256bytes
(4 blocks).
(3-6) EP0 Packet Size Register (Address : 2Ah)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
EP0_MXPS[6:0]
Reset
Bit
Bit
Name
Function
W/R
Name
H/W S/W USB
15 to 7 Reserved
Write/Read "0"
Set the maximum value of data (byte) which transmit or receive in a
packet transfer.
EP0_MXPS
6 to 0
[6:0]
Max Packet size Set the value of wMaxPacketSize in request.
This bit must be set after set the response PID to NAK("00").
W/R 08h
-
-
25
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(3-7) Auto-response Control Register (Address : 2Ch)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
ASCN ATAD
Reset
Bit
Bit
Name
Function
W/R
Name
H/W S/W USB
15 to 2 Reserved
Write/Read "0"
When "1" is written into this bit, auto-response mode of
Set_Configuration request is set.
To the Set_Configuration request in auto-response mode,
transfer can be completed without occurring interrupt to CPU.
(Set of CCPL is not needed)
Set_Configuration
Auto-response
mode
Auto-response is done to the Set_Configuration request
(ConfigurationValue is not equal to 0) in Address device state
1
ASCN
W/R
0
-
-
and to the Set_Configuration request (ConfigurationValue is equal to 0)
in Configured state.
To the other state and to the Set_Configuration request which
ConfigurationVale is different from the value above, auto-response
is not done.
When "1" is written into this bit, automatic response mode of
Set_Address request is set.
To the Set_Address request in automatic response mode,
transfer can be completed without occurring the interrupt to
CPU. (Set of CCPL is not needed)
Set_Address
Auto-response
mode
0
ASTD
W/R
0
-
-
Automatic response is done to the Set_Address request (DeviceAddress
is equal to 01h to 7Fh) which device state is Default state.
To the other state and to the Set_Address request which DeviceAddress
is not equal to 01h to 7Fh, automatic response is not done.
(3-8) EP0_FIFO Selection Register (Address : 30h)
D15
D14
D13
D12
D11
D10
Octl
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
RCNT
ISEL
Reset
H/W S/W USB
Bit
Bit
15
Name
Function
W/R
W/R
Name
If this bit is "1", every time when read EP0_FIFO register,the value of
ODLN register is counted down.
RCNT
Read count mode
0
-
-
14 to 11 Reserved
Write/Read "0"
If this bit is set to "1", data register of FIFO turns to 8-bit mode and
lower 8 bit[7:0] becomes enable when access the "FIFO Data Register"
FIFO access
8 bit mode
of endpoint.
10
Octl
W/R
0
-
-
When transmit data of odd number byte, data must be written in 8-bit
mode.
When read in 8-bit mode, set to 8-bit mode before data receive.
9-1
0
Reserved
ISEL
Write/Read "0"
0 : Control write (OUT) buffer select
1 : Control read (IN) buffer select
Buffer select
W/R
0
-
-
26
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(3-9) EP0_FIFO Control Register (Address : 32h)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
EP0_PID[1:0]
IVAL BCLR E0req CCPL
ODLN[7:0]
Reset
H/W S/W USB
Bit
Bit
Name
Function
W/R
Name
Setting the response PID.
00 : NAK Whatever the buffer state is,do NAK handshake.
01 : BUF Response PID is selected by the state of buffer
and sequence toggle bit status.
(One of ACK, NAK, and DATA0/DATA1)
1x : STALL Do STALL handshake
EP0_PID
[1:0]
15 to 14
Response PID
1. When received Setup packet, turns to "00"(=NAK) automatically.
2. When received request (Set_Address, etc.) which is set to
automatic response, turns to "01"(=ACK) automatically after
completed the Setup transaction.
W/R 00
-
-
3. If sequence error occurred in control transfer,or received data
in control write transfer which exceed maximum packet size,
this turns to "1x"(=STALL) automatically.
If the control read buffer is selected, this becomes IN buffer
effective state flag.
When set to "1", it becomes to transmit data set state (SIE read enabled).
If data is written which exceeds to the maximum byte of maximum
packet size (MXPS), this bit is set to "1".
When short packet transmit, set this bit to "1" after wrote transmit data.
If the IVAL="1" and BCLR="1" is written at the same time,
IN buffer effective state flag is set.
13
IVAL
In buffer status
W/R
0
-
-
(This is effective to transmit 0 length data)
If the control readout) buffer is selected, it becomes OUT buffer
effective state status.
Status "1" shows that there is data which can be read.
This bit shows the effective value when E0req bit is "0".
If "1" is written, it is not changed.
If "0" is written, flag is not changed.
If "1" is written into this bit When the selected endpoint is set to IN, IN
buffer effective state flag and the data (byte) which is written are cleared.
If IVAL="1" and BCLR="1" is written at the same time, data is cleared
but IN buffer effective state flag is set.(This is effective to transmit 0
length data)
12
BCLR
Buffer clear
W/R
0
-
-
When "1" is written into this bit, if the selected endpoint is set to OUT,
OUT buffer effective state flag is cleared and read data is also cleared.
When "0" is written, this bit is not changed.
If this bit is "0", access to EP0_FIFO data register is enabled.
And when this bit is "0", IVAL and ODLN bit shows the effective value.
11
E0req
EP0_FIFO ready EP0_FIFO data register, when read or write, needs cycle time of
200ns (min).
R
1
-
-
(Continuous access at 5MHz is available)
27
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
Reset
W/R
Bit
Bit
10
Name
Function
Name
H/W S/W USB
To write "1" into this register, status stage of control transfer can be
completed.
If this bit is "1" and response PID is BUF("01"), Null data is transmitted
in control write transfer, and do response ACK in control read transfer
when received NULL data.
Control transfer
complete enable
CCPL
W/R
0
-
-
If this bit is "0", do response NAK in status stage.
This flag is reset to "0" when received setup packet.
9 to 8 Reserved
Write/Read "0"
Received data length(byte) can be read from this register.
If RCNT mode is set, every time when read EP0_FIFO data register,
it is counted down by -1(8-bit mode) or by -2(16-bit mode).
This bit shows effective value when E0req bit is "0".
Control write
receive
ODLN
7 to 0
R
00h
-
-
[7:0]
data length
(3-10) EP0_FIFO Data Register (Address : 34h)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
EP0_FIFO[15:0]
Reset
H/W S/W USB
Bit
Bit
Name
Function
W/R
Name
When read, this becomes to receive data FIFO register.
If it is set to 8-bit mode, lower 8 bit[7:0] is valid.
When write, this becomes to transmit data FIFO register.
If it is set to 8-bit mode, lower 8 bit[7:0] is valid.
EP0_FIFO
[15:0]
15 to 0
EP0_FIFO data
W/R xxxx
-
-
Both for read and write, cycle time of 200ns (min) is needed.
(Continuous access at 5MHz is available)
Read when IN buffer is selected or write when OUT buffer is
selected is inhibited.
(3-11) EP0 Continuous transmit Data Length (Address : 36h)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
SDLN[7:0]
Reset
Bit
Bit
Name
Function
W/R
Name
H/W S/W USB
14-8 Reserved
Write/Read "0"
Set the control read continuous transmit data length (byte).
It can be set up to FFh (255bytes).
Control read
continuous transmit
data length
SDLN
7 to 0
In control read continuous transmit mode, write FIFO data (transmit data)
after set this register.
W/R 00h
-
-
[7:0]
This is available in control read continuous transmit mode.
28
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(4) Endpoint and FIFO control
To use with double buf f er constitution, 1kBy tes x2
maximum of buf f ering is realized.
Except f or EP0 for control transfer, M66290A can set
fiv e endpoints as EP1 to EP5.
Continuous receive mode can receiv e data packet
continuously up to the buf f er size which is set, or until
receives short packet. If the data to be receiv ed is data
packet of max packet size, it can receive continuously
up to the buf f er size without occurring interrupt to CPU,
and if the data is data packet (max packet size) which is
less than buf f er size, interrupt to CPU is not occurred.
In bulk transf er, when set max packet size as 64By tes,
buf f er size as 1024Bytes, and FIFO constitution as
double buf f er, when received data of max packet size
as 16 times (1024By tes), it became buf f er redried
enable) and urge to CPU by interrupt to read receiv ed
data. When receiv ed short packet, ends the continuous
receive and buf f er became redried enable).
Each of these f ive endpoints (EP1 to EP5) can be set to
bulk, interrupt, and isochronous transf er. And yet,
another constitution can conf igurated independently .
Below are the constitutions to be realized.
Built-in FIFO f or endpoint buf f er is 3kBy tes totally of its
memory capacity. This FIFO of 3kBytes can div ided
into each endpoint of EP0 to EP5 and to each endpoint,
can assign up to 1024Bytes (max) by a unit of 64Bytes.
Buf f er size of each endpoint must be set to ov er the
capacity which is set in maximum buf f er size.
In the buf f er size, which is set, by tes of maximum
packet size is used f or valid. (If set the buf f er size to
128By tes to the endpoint which maximum packet size
is set to 64Bytes, 64Bytes are valid)
Continuous transmit mode can transmit data packet
continuously up to buf f er size which is set. Short packet
transmit can be done to set IVAL flag. And it is needed
to set IVAL f lag to transmit a multiple data of maximum
packet size which is less than buf f er size.
We show setting examples to each of these buf f er of
EP0 to EP5 below, and next explain about continuous
transmit and receive function, FIFO control, DMA
transf er, and double buf f er.
Continuous transfer function
By set Null data transmit addition mode, when write a
multiple data of max packet size into buf f er and
transmit, Null data can be transmitted automatically
after the last packet is transmitted .
Continuous transf er function is to transmit/receive data
which extend plural transaction without occurring interrupt
to CPU.
For EP1 to EP5, this function is ef f ectiv e when transf er
type is bulk transf er.
In each endpoint, when continuous transf er mode is set,
it can transf er data up to the buf f er size which is set to
the endpoint without occurring interrupt to CPU.
Examples of endpoint FIFO setting
Memory
address
FIFO
Endpoint setting
number
EP0:Control write transfer
Buffer size:256Bytes
Control write continuous receive
mode(CTRW)
Construction of endpoint (EP1 to EP5) FIFO
00h to
03h
000h to
0FFh
Register
EP1 to EP5
Can be set to Bulk,
Interrupt, isochronous
transfer.
FIFO area:256Bytes(4 blocks)
Transfer type
EPi_TYP[1:0]
EP0:Control read transfer
Buffer size:256Bytes
Control read continuous transmit
mode(CTRR)
04h to
07h
100h to
1FFh
Transfer direction
EPi_DIR
Can be set to IN/OUT
Double buffer
(Toggle buffer)
FIFO area:256Bytes(4 blocks)
EPi_DBLB
Can be set
EP2:Interrupt transfer(IN)
Buffer size:64Bytes
FIFO area:64Bytes(1 block)
200h to
23Fh
08h
09h
Can be set
Continuous
transmit/receive
EPi_RWMD
(Effective in bulk transfer)
EP4:Interrupt transfer(OUT)
Buffer size:64Bytes
FIFO area:64Bytes(1 block)
240h to
27Fh
Can be set
EPi_Buf_siz[3:0] (Up to 1024bytes by
a unit of 64bytes)
Buffer size
EP3:Bulk transfer(IN)
Buffer size:64Bytes
Double buffer constitution(DBLB)
FIFO area:128Bytes(2 blocks)
0Ah to
0Bh
280h to
2FFh
Can be set to
NAK, STALL, and
BUF(buffer control).
Response PID
DMA transfer
EPi_PID[1:0]
EPi_DMAE
EPi_ACLR
0Ch to
0Fh
300h to
3FFh
Not used:256Bytes(4 blocks)
Can be set
Receive data
read and abandon
mode
EP1:Bulk transfer(OUT)
Buffer size:1024Bytes
Double buffer constitution(DBLB)
Continuous receive mode(RWMD)
FIFO area:2kBytes(32 blocks)
Can be set
10h to
2Fh
400h to
BFFh
Can be set
( 0 to 1023bytes)
Max packet size
EPi_MXPS[9:0]
29
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
DMA transfer
FIFO control
To endpoint of EP1 to EP5, 16bits width or 8bit width of
DMA
Access to endpoint buf f er of EP0 to EP5 is done by
three FIFO data registers. One is only f or EP0 and
Others are common to EP1 to EP5. Common data
registers are div ided into two, because accessing
is dif f erent, that is f or CPU access and for DMA
transf er. Which endpoint of EP1 to EP5 to be
accessed can be selected to set each FIFO
selection register.
transf er is available.
Each endpoint of EP1 to EP5 can be set to CPU access
mode or DMA access mode by set of "EPx Configuration
Register 1" mentioned later.
DMA transf er is realized to hand shake with external DMAC
and Dreq, Dack signal. Dreq is asserted when endpoint
buf f er, which is set to DMA transfer mode, became ready.
The means of Buf f er ready state is, if the endpoint
transf er
Accessing
Register name
Endpoint
EP0
EP0_FIFO
data register
CPU access
CPU_FIFO
data register
CPU access
DMA transf er
direction is set to Out (recive data from host) buf f er ready
means that in read enable state, if the endpoint transf er
direction is set to IN(transmit data to host) buf f er ready
means that in write enable state. Setting the transfer
direction can be done by "EPi Conf iguration Register 0" to
each endpoint.
EP1 to EP5
DMA_FIFO
data register
Each of three FIFO registers has f unctions as
follows. And these f unctions can be used to set
"Each FIFO Selection/Control Register".
Short packet transmission f unction
(IVAL : IN buf f er status bit)
When Dack comes f rom external DMAC after asserted
Dreq, Dreq is negated.
Transmit/receiv e buf f er clear f unction
(BCLR : Buf f er clear bit)
In DMA transfer, Dack is dealt equiv alently with CS signal
and DMA_FIFO address appointment.
Null data (data length 0) transmit f unction
(IVAL & BCLR)
Appoint read or write operation by RD or WR signal.
This DMA transf er can be used only f or single transf er,
which
Data length (8/16 bit) set f unction
(Octl : Register 8bit mode bit)
Received data length count down f unction
(RCNT : Read count mode bit)
*: There is none f or DMA transf er
transf ers one word (16bit or 8bit) by one time Dreq start.
In DMA transfer, as same as the CPU access, occurs
endpoint buf f er not ready interrupt and endpoint buf f er
empty interrupt according to endpoint buf f er state. But as
to endpoint buf f er ready interrupt, it is not same as the
CPU access as f ollows.
Access to CPU_FIFO data register when interrupt
occurred, to know the endpoint which requested
access, access the "Interrupt Status Register 0/1"
and by checking the interrupt status f lag and know
the endpoint which requested access, and then set
endpoint to be accessed by "CPU_FIFO Selection
Register".
In DMA transfer, endpoint buf f er ready interrupt is not
occurred if the transf er direction is IN.
If the transf er direction is OUT, interrupt is occurred when
received short data packet and ended data transfer of all
data which received in DMA transf er.
If there is no change of endpoint setting, it is not
needed to set again the CPU access endpoint
appointment bit.
Occurring of endpoint buf f er ready interrupt and to ref er
DMA_DTLN, it can be known that short data packet was
received.
Data transfer procedure
DMA_DTLN shows the number of by te of short data
packet,
Data which is set to endpoint FIFO, is sent to USB
bus by LSB f irst. When store the receiv ed data
from USB bus to endpoint FIFO, it is as the same
as abov e.
or in the continuous receiv e mode it shows the number of
byte
of received data bef ore short data packet receiv e.
Time scale
1
16
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11D12 D13 D14D15
(Data send procedure to USB bus)
30
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
Double buffer operations
The endpoint FIFO of EP1 to EP5 can be
set to double buffer constitution.
So a double of transfer data of its buffer size, which
is set, can be stored.
(1) Receiv ing
Below are the receive status examples
of the endpoint which is set to double buf f er.
Endpoint buffer status
CPU bus side
USB side
IN
Buf f er1
Buf f er2
"Data1" receiv e start
data1
receiving data
Buf f er2
Buf f er1
data1
When data receive ended, the buf f er
is set to Ready state (read enable)
and occurs INTR interrupt
"Data1" receiv e end
"Data2" receiv e start
"Data1" read start
data receive
available
data receive completed
data read available
Buf f er2
data2
Buf f er1
IN
IN
Continuous receiving is available
before data read.
data1
data read available
receiving data
Buf f er2
data2
Buf f er1
OUT
data1
receiving data
reading data
Buf f er2
data2
Buf f er1
data1
In OUT token receive to this
OUT
endpoint, M66290A occurs
Bef ore "Data1" read end
"Data2" receiv e end
INTN interrupt and do NAK
handshake.
reading data
data receive completed
data receive impossible
It becomes receive enable
after read of data1 ended.
And occurs INTR interrupt
because the buf f er is ready.
Buf f er1
Buf f er2
data2
"Data1" read end
data receive enable
Buf f er1
data read available
Buf f er2
data2
Af ter "Data1" read end
"Data2" receiv e end
M66290A Occurs INTR interrupt
because the buf f er is ready.
data receive available data read available
Buf f er1
data3
receiving data
Buf f er2
IN
"Data3" receiv e start
data2
data read available
data
: Data exists in buf f er
Figure 7. Double buf f er activ ities-1
31
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(2) Transmitting
Below are the transmit status examples
of the endpoint which is set to double buf f er.
Endpoint buffer status
CPU bus side
USB side
Buf f er1
Buf f er2
Can not transmit because the
In token receiv e
"Data1" write start
transmit buf f er is in NotReady .
Request CPU to prepare transmit
data by INTN interrupt
data transmit impossible
Buf f er1
data write available
Buf f er2
data1
IN
data transmit impossible
writing data
End of data write of maximum packet
size or to set(short packet transmit)
IVAL f lag, it becomes transmit data
set status, and transmit becomes enable.
And occurs INTR interrupt because
the buf f er is in Ready (write enable).
Buf f er2
data1
Buf f er1
"Data1" write end
data transmit available
data write available
Buf f er1
Buf f er2
OUT
IN
IN
Data write is available during
data transmitting.
"Data1" transmit start
"Data2" write start
data1
data2
writing data
transmitting data
Buf f er2
data1
Buf f er1
data2
data write completed
data writeimpossible
End of data write of maximum packet
size or to set (short packet transmit)
IVAL flag, it becomes transmit data
set status, and transmit becomes enable.
OUT
Before "Data1" transmit end
"Data2" write end
transmitting data
When data transmit ended,
it occurs INTR interrupt
because the buf f er is in
Ready.
Buf f er1
data2
Buf f er2
"Data1" transmit end
data transmit avalable
data write avalable
Buf f er2
Buf f er1
data2
When data transmit ended, it occurs
INTR interrupt because the buf f er
is in Ready .
Af ter "Data1" transmit end
"Data2" write end
data transmit avalable
data write avalable
Buf f er1
Buf f er2
data3
IN
"Data3" write start
data2
writing data
data transmit avalable
data
: Data exists in buf f er
Figure 8. Double buf f er activ ities-2
32
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(4-1) CPU_FIFO Selection Register (Address : 40h)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
RCNT
CPU_EP[3:0]
Reset
Bit
Bit
15
Name
Function
W/R
W/R
Name
H/W S/W USB
If this bit is "1", every time when read CPU_FIFO register,
CPU_DTLN register value is counted down.
RCNT
Read count mode
0
-
-
14 to 4 Reserved
Write/Read "0"
Appoint the CPU access endpoint.
"0001"=EP1,"0010"=EP2,"0011"=EP3,
"0100"=EP4,"0101"=EP5
EP0 can not be appointed.
CPU_EP
CPU access
endpoint
Don't change the setting in writing (IN) or in reading (OUT).
Change of the setting of the endpoint of direction IN must be
done after confirmed that IVAL="0" and Creq="0", or IVAL="1"
and Creq="1".
3 to 0
[3:0]
W/R 0000
-
-
Change of the setting of the endpoint of direction OUT must
be done after confirmed that IVAL="1" and Creq="0", or
IVAL="0" and Creq="1".
(4-2) CPU_FIFO Control Register (Address : 42h)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
IVAL BCLR Creq
CPU_DTLN[10:0]
Reset
Bit
Bit
Name
Function
W/R
Name
H/W S/W USB
15, 14 Reserved
Write/Read "0"
If the selected endpoint is set to IN, this becomes IN buffer
effective state flag.
When set to "1", it becomes transmit data set state.
(SIE is available to read)
When the data (byte) which exceeds to the maximum packet size
(MXPS) is written, this bit is set to "1".
In short packet transmit, set this bit to "1" after wrote the transmit data.
If IVAL="1" and BCLR="1" is written at the same time, the
effective state flag is set.
13
IVAL
IN buffer status
W/R
0
-
-
(This is effective to transmit 0 length data)
If the selected endpoint is set to OUT, it becomes to
OUT buffer effective state status.
Status "1" shows that there is data which is available to read.
When Creq bit is "0", this bit shows effective value.
This bit is not changed when "1" is written.
Flag is not changed when "0" is written.
33
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
Reset
W/R
Bit
Bit
Name
Function
Name
H/W S/W USB
If the selected endpoint is set to IN, when "1" is written into
this bit, the IN buffer effective state flag and the data (byte)
which is written are cleared.
If IVAL="1" and BCLR="1" is written at the same time, data
is cleared but the IN buffer effective state flag is set.
(This is effective to transmit 0 length data)
If the selected endpoint is set to OUT, when "1" is written into
this bit, the OUT buffer effective state flag and the read data (byte)
are cleared.
12
BCLR
Buffer clear
W/R
0
-
-
If it is set to double buffer, the state of write/read enable buffer
for CPU is cleared.
To set the EPi_ACLR, USB bus buffer is cleared.
This bit is not changed when "0" is written.
If this bit is "0", access to CPU_FIFO data register is available.
And if this bit is "0", the bit of IVAL and CPU_DTLN bit shows the
effective value.
11
Creq
CPU_FIFO ready
R
1
-
-
When read or write to CPU_FIFO register, 200ns (min) of cycle
time is needed. (Continuous access at 5MHz is available)
If the access end point is changed, 200ns (min) of recovery
time is needed.
When read this register, receive data length (byte) appears.
When RCNT mode is set, every time when read CPU_FIFO
register, it is counted down by -1 (8-bit mode) or by -2 (16-bit mode).
If RCNT mode is not set, this register turns to 000h after all of
received data is read.
CPU_FIFO
receive data
length
CPU_DTL
N[10:0]
10 to 0
R
000h
-
-
This bit shows effective value when Creq bit is "0".
34
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(4-3) CPU_FIFO Data Register (Address : 44h)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
CPU_FIFO[15:0]
Reset
H/W S/W USB
Bit
Bit
Name
Function
W/R
Name
If the selected endpoint is set to OUT, this becomes to
receive data FIFO register.
If the selected endpoint is set to IN, this becomes to
transmit data FIFO register.
CPU_FIFO
[15:0]
15 to 0
CPU_FIFO data If the selected endpoint is set to 8-bit mode, lower 8 bit [7:0] is valid.
When read or write, 200ns (min) of cycle time is needed.
W/R xxxx
-
-
(Continuous access at 5MHz is available)
Read operation when direction IN is appointed or write operation
when direction OUT is appointed, write operation is inhibited.
(4-4) DMA_FIFO Selection Register (Address : 48h)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
DMAEN
MODE
DMA_EP[3:0]
Reset
H/W S/W USB
Bit
Bit
15
Name
Function
W/R
W/R
Name
Set the operation mode of DMA transfer.
0 : High speed transfer mode
1 : One word transfer mode
DMA operation
mode
In high speed transfer mode, when endpoint buffer is in read/write enable
in the state that DMA transfer enable, Dreq is asserted.
MODE
0
-
-
In one word transfer mode, when endpoint buffer is in read/write enable
in the state that DMA transfer enable and Dack="H", Dreq is asserted.
In both mode, Dreq detects Dack="L" and is negated.
14 to 9 Reserved
Write/Read "0"
If this bit is "1", endpoint buffer which is appointed by DMA_EP[3:0]
is enable to write or when read is enable, Dreq is asserted.
If "0" is written in DMA transferring, DMA transfer is forced to end.
DMA transfer
enable
8
DMAEN
W/R
0
-
-
7 to 4 Reserved
Write/Read "0"
Appoint the endpoint for DMA transfer.
"0001"=EP1,"0010"=EP2,"0011"=EP3,
"0100"=EP4,"0101"=EP5
EP0 can not be appointed.
DMA_EP
DMA transfer
endpoint
Don't change the setting during write (IN) or read (OUT).
Change of the setting of the endpoint of direction IN must
be done after confirmed that IVAL="0" and Dreq="0", or
IVAL="1" and Dreq="1".
3 to 0
[3:0]
W/R 0000
-
-
Change of the setting of the endpoint of direction OUT must
be done after confirmed that IVAL="0" and Dreq="1".
35
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(4-5) DMA_FIFO Control Register (Address : 4Ah)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
IVAL BCLR Dreq
DMA_DTLN[10:0]
Reset
H/W S/W USB
Bit
Bit
Name
Function
W/R
Name
15, 14 Reserved
Write/Read "0"
If the selected endpoint is set to IN, this becomes IN buffer
effective state flag.
When set to "1", it becomes transmit data set state.
(SIE is available to read)
When the data (byte) which exceeds to the maximum packet size
(MXPS) is written, this bit is set to "1".
In short packet transmit, set this bit to "1" after wrote
the transmit data.
If IVAL="1" and BCLR="1" is written at the same time, the
IN buffer effective state flag is set to "1".
(This is effective to transmit 0 length data)
13
IVAL
IN buffer status
W/R
0
-
-
If the selected endpoint is set to OUT, it becomes to
OUT buffer effective state status.
Status "1" shows that there is data which is available to read.
When Creq bit is "0", the value of this bit is effective.
This bit is not changed when "1" is written.
Flag is not changed when "0" is written.
If "1" is written into this bit when the selected endpoint is
set to IN, IN buffer effective state flag and the data (byte)
which is written are cleared.
If the IVAL="1" and BCLR="1" is written at the same time,
the data is cleared but the IN buffer effective state flag
is set.(This is effective to transmit 0 length data)
If "1" is written into this bit when the selected endpoint is
set to OUT, OUT buffer effective state flag and the read data
(byte) are cleared.
12
BCLR
Buffer clear
W/R
0
-
-
If it is set to double buffer, the state of buffer which can
be read or write for CPU bus is cleared.
To set the EPi_ACLR, USB bus buffer is cleared.
This bit is not changed when "0" is written.
36
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
Reset
W/R
Bit
Bit
11
Name
Function
Name
H/W S/W USB
If this bit is "0", then access is available to DMA_FIFO register.
And if this bit is "0", then the bit of IVAL and DMA_DTLN is valid.
This bit is used as DMA request signal (Dreq).
Dreq
DMA_FIFO
ready
R
R
1
-
-
-
-
DMA_FIFO
receive data
length
DMA_DT
LN[10:0]
When read this register, receive data length (byte) is appears.
This bit is valid when Dreq bit is "0".
10 to 0
000h
(4-6) DMA_FIFO Data Register (Address : 4Ch)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
DMA_FIFO[15:0]
Reset
H/W S/W USB
Bit
Bit
Name
Function
W/R
Name
If the selected endpoint is set to OUT, this becomes to receive data
FIFO register.
If the selected endpoint is set to IN, this becomes to transmit data
DMA_FI
FO[15:0]
15 to 0
DMA_FIFO data FIFO register.
If the selected endpoint is set to 8-bit mode, lower 8 bit [7:0] are valid.
Read operation when the endpoint appointed direction IN, or
write operation when the endpoint appointed direction OUT, is inhibited.
W/R xxxx
-
-
37
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(4-7) EPi Configuration Register 0 ( i=1 to 5)
(Address : EP1=60h, EP2=64h, EP3=68h, EP4=6Ch, EP5=70h)
D15
D14
D13
DIR
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
EPi_TYP[1:0]
ITMD
EPi_Buf_siz[3:0]
DBLB RWMD
EPi_Buf_Nmb[5:0]
The EPi configuration register 0 must be set in a state of response PID is NAK("00").
Bit
Reset
H/W S/W USB
Bit
Name
Function
W/R
Name
To set the transfer type of endpoint.
00 : not Configured
01 : bulk transfer
EPi_TYP
[1:0]
15 to 14
Transfer type
W/R 00
-
-
-
-
10 : interrupt transfer
11 : isochronous transfer
To set the transfer direction of endpoint
0 : OUT (receive data from host)
13
EPi_DIR Transfer direction 1 : IN (transmit data to host)
W/R
W/R
0
0
When changed the state of transfer direction, clear (EPi_ACLR)
the endpoint buffer.
To set the sequence toggle bit mode of interrupt transfer.
0 : Alternation data toggle bit mode
(Only toggled when transfer completed with no problem)
1 : Continuous toggle bit mode
Interrupt toggle
mode
12 EPi_ITMD
-
-
(Whatever the hand shake exists or the types are, it toggles
every time when data packet is transmitted )
This is effective when endpoint is set to interrupt(IN) transfer.
Set endpoint buffer size at a unit of 64Bytes.
"0000"=64Bytes, "0001"=128Bytes, ...., "1110"=960Bytes,
"1111"=1024Bytes
EPi_Buf_
siz[3:0]
11 to 8
Buffer size
W/R 0000
-
-
-
-
Set the constitution of endpoint buffer.
0 : Single buffer mode
7
EPi_DBLB Double buffer mode 1 : Double buffer mode
In double buffer mode, double of the buffer size is taken as the endpoint
W/R
0
buffer.
If "1" is written into this bit, continuous transfer mode of endpoint is set.
When the direction of endpoint is set to OUT, then it is set to continuous
receive mode. And when the direction of endpoint is set to IN, then it is
set to continuous transmit mode.
Continuous
transfer mode
(only for Bulk
transfer)
Continuous receive mode can receive data packet up to the buffer size
which is set, or can receive continuously before receives short packet.
Continuous transmit mode can transmit data packet up to the buffer size
which is set, and transmission of short packet can be done by set the
IVAL flag.
EPi_
6
W/R
0
-
-
RWMD
In data packet (max packet size) receive which is less than buffer
size, interrupt to CPU does not occur.
Continuous transfer mode is effective only in bulk transfer.
Appoint the first number of the buffer of a unit of 64Bytes.
Buffer exists from #00h to #2Fh.
EPi_Buf_
Nmb[5:0]
5 to 0
Buffer start number Buffer size(double of the buffer size in double buffer mode), which is
appointed from the first, is secured for endpoint buffer.
W/R 00h
-
-
Set that plural of endpoint do not occupy the same buffer area.
38
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(4-8) EPi Configuration Register 1 ( i=1 to 5 )
(Address : EP1=62h, EP2=66h, EP3=6Ah, EP4=6Eh, EP5=72h)
D15
D14
D13
D12
D11
D10
Octl
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
DMAMD NULMD
EPi_PID[1:0]
ACLR
EPi_MXPS[9:0]
The EPi configuration register 1 must be set in a state of response PID is NAK("00").
Bit
Reset
H/W S/W USB
Bit
Name
Function
W/R
Name
Set response PID.
00 : NAK Whatever the buffer state is, do NAK handshake.
01 : BUF Response PID is selected according to the state of buffer
and sequence toggle bit. (In bulk/interrupt transfer, one of
ACK, NAK, DATA0, and DATA1)
EPi_
PID
15, 14
Response PID
W/R 00
-
-
[1:0]
1x : STALL Do STALL handshake.
If the transfer direction of selected endpoint is OUT, when received
data which exceeded maximum packet size (MXPS), it becomes
"1x" (=STALL) automatically.
Set the access mode to endpoint buffer.
EPi_
13
12
DMA transfer mode 0 : CPU access mode
1 : DMA transfer mode
W/R
W/R
0
0
-
-
-
-
DMAMD
To set this bit as "1", Null data addition transmit mode is set .
In the endpoint which is set to continuous transmit mode, when
write a multiple data of maximum packet size into buffer and transmit,
Null data is transmitted automatically after transmitted the last packet.
This setting is effective when continuous transmit mode is set.
Null data
addition
EPi_
NULMD
transmit mode
When the selected endpoint is set to OUT and if this bit is set to "1",
OUT buffer effective flag and read data (number of byte) is cleared.
In this state(OUT buffer does not become effective state), SIE side
writes data from host into OUT buffer but CPU side does not read.
When set this bit to "1", whatever the transfer direction is, endpoint
buffer (all buffer of single/double buffer) are cleared.
EPi_
OUT buffer
automatic
11
W/R
0
-
-
ACLR
clear mode
When clear the endpoint buffer, set this bit to "1" and then set again to "0".
When this bit is set to "1", FIFO data register becomes 8-bit mode and
when accessed "FIFO Data Register" of endpoint, lower 8bit[7:0]
becomes effective.
FIFO access
8 bit mode
10
EPi_Octl
W/R
0
-
-
-
-
When transmit odd number of byte, it is needed to write in 8-bit mode.
When read in 8-bit mode, set to 8-bit mode before data receive.
EPi_
MXPS
[9:0]
Set the maximum data size (Byte) to transmit/receive in one packet
transfer.
9 to 0
Max Packet size
W/R 040h
Set the value of wMaxPacketSize in request.
39
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
ABSOLUTE MAXIMUM RATINGS
Symbol
VCC
VI
Parameter
Supply voltage
Input voltage
Ratings
-0.3 to +4.2
-0.3 to VCC+0.3
-0.3 to VCC+0.3
±20
Unit
V
V
VO
Output voltage
Output current
Power dissipation
Storage temperature
V
IO
mA
mW
C
Pd
400
Tstg
-55 to +150
RECOMMENDED OPERATING CONDITIONS
Limits
Typ.
3.3
Symbol
Parameter
Unit
Min.
3.0
Max.
3.6
VCC
GND
VI
Supply voltage
Supply voltage
V
V
0
Input voltage
0
0
0
0
VCC
5.25
VCC
+70
500
V
VI(Vbus)
VO
Input voltage ( Only for Vbus Input )
Output voltage
V
V
Topr
Operating temperature
Normal input
+25
C
ns
tr, tf
Input rise, fall time
Schmidt trigger input
5
ms
40
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
ELECTRICAL CHARACTERISTICS
Limits
Symbol
Parameter
Condition
Unit
Min.
2.52
0
Typ.
Max.
3.6
VIH
VIL
"H" input voltage
"L" input voltage
VCC = 3.6V
VCC = 3.0V
V
V
Xin
0.9
VT+
VT-
Threshold voltage in positive direction
Threshold voltage in negative direction
"H" output voltage
1.4
0.5
2.6
2.4
V
Note 1
Xout
VCC = 3.3V
1.65
V
VOH
VOL
VOH
VOL
VOH
VOL
IIH
IOH = -50uA
V
VCC = 3.0V
VCC = 3.0V
VCC = 3.0V
VCC = 3.6V
VCC = 3.6V
"L" output voltage
IOL = 50uA
IOH = -2mA
IOL = 2mA
IOH = -4mA
IOL = 4mA
VI = VCC
0.4
0.4
V
"H" output voltage
2.6
2.6
V
Note 2
Note 3
"L" output voltage
V
"H" output voltage
V
"L" output voltage
0.4
10
V
"H" input current
uA
uA
uA
uA
kW
kW
kW
IIL
"L" input current
VI = GND
VO = VCC
VO = GND
-10
10
IOZH
IOZL
Rdv
Rdt
Ru
"H" output current in off status
"L" output current in off status
Pull down resistance
Pull down resistance
Pull up resistance
D15-0
,TDO
-10
Note 4
Note 5
Note 6
100
50
50
Average supply current in operation
mode
f(Xin)=48MHz,VCC = 3.6V
USB transmit state
ICC(A)
40
2
55
4
mA
mA
Oscillator disable,PLL disable,
USB transceiver enable,
TrON=H/L output
VI=Vcc or GND fixed,Vcc = 3.6V
Oscillator disable,PLL disable,
USB transceiver disable,
TrON=H/L output
30
10
200
100
uA
uA
ICC(S)
Supply current in static mode
VI=Vcc or GND fixed,Vcc = 3.6V
Suspend state
Oscillator disable,PLL disable,
USB transceiver disable,
TrON=H/L output
VI=Vcc or GND fixed,Vcc = 3.6V
H/W reset state
Notes 1: All input and bidirection pins except for Xin (except for USB buffer)
2: INT,Dreq,TDO output pins
3: D15-0 input /output pins
4: Vbus input pins
5: TEST1,TEST2,TCK input pins
6: TRST,TMS,TDI input pins
41
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
ELECTRICAL CHARACTERISTICS (USB)
(1) DC CHARACTERISTICS
Limits
Symbol
Parameter
Test condition
| (D+)-(D-) |
Unit
Min.
0.2
Typ.
Max.
2.5
VDI
Differential Input Sensitivity
V
V
VCM
Differential Common Mode Range
0.8
0.8
VSE
VOL
VOH
Single Ended Receiver Threshold
"L" Output voltage
2.0
0.3
3.6
V
V
V
RL of 1.5KWto 3.6V
VCC = 3.0V
VCC = 3.6V
VCC = 3.3V
"H" Output voltage
RL of 15KWto GND
VO =0V
2.8
-10
-10
4
IOZL
IOZH
"L" output current in off status
"H" output current in off status
Output resistance
10
10
15
15
mA
mA
W
VO =3.6V
Ro(Pch)
Ro(Nch)
VO =0V
7
7
Output resistance
VO =3.3V
4
W
(2) AC CHARACTERISTICS
Limits
Typ.
Symbol
Parameter
Test condition
Unit
Min.
4
Max.
20
tr
tf
Rise transition time
Fall transition time
10% to 90% of the data signal
CL=50pF
CL=50pF
ns
ns
%
V
10% to 90% of the data signal
4
20
TRFM
VCRS
Rise/fall time matching
Output signal crossover voltage
tr/tf
90
1.3
110
2.0
CL=50pF
42
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
SWITCHING CHARACTERISTICS
Limits
Symbol
Parameter
Test condition
Unit
ns
Min.
Typ.
Max.
30
ta(A)
Address access time
ta(CTRL)
tv(CTRL)
ten(CTRL)
Control access time
Data valid time after control
30
ns
ns
ns
0
0
0
Data output enable time after control
20
tdis(CTRL)
td(Dack-
Data output disable time after control
Dreq disable propagation time
INT disable propagation time
INT "H" pulse width
20
60
60
ns
ns
ns
ns
ns
td(WR-INT)
twh(INT)
CL=50pF
320
60
twh(Dreq)
Dreq "H" pulse width
td(CTRL-
Dreq)
Dreq output enable time after control
Dreq output enable time after Dack
TDO output enable time after TCK
TDO output disable time after TCK
60
20
ns
ns
ns
ns
td(Dackh-
Dreq)
td(TCK-
TDOV)
30
30
td(TCK-
TDOX)
TIMING REQUIREMENTS
Limits
Typ.
Symbol
tsu(A)
Parameter
Test condition
Unit
Min.
30
Max.
Address setup time
Address hold time
ns
ns
th(A)
0
tw(CTRL)
trec(CTRL)
tsu(D)
Control pulse width
Control recovery time
Data setup time
30
30
20
0
ns
ns
ns
ns
ns
th(D)
Data hold time
tw(cycle)
FIFO access cycle time
200
tw(RST)
tst(RST)
RESET pulse width
Control start time after RESET
TCK cycle time
100
100
100
40
ns
ns
ns
ns
ns
ns
ns
ns
ns
tc(TCK)
tw(TCKH)
tw(TCKL)
tsu(TDI-TCK)
th(TDI-TCK)
tw(TRST)
TCK "H" pulse width
TCK "L" pulse width
TDI,TMS setup time
TDI,TMS setup time
TRST "L" pulse width
TRST "L" pulse width
40
20
20
100
td(CTRL-
Dack)
83
43
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
Measurement circuit
1. Terminals except f or USB buf f er block
Vcc
Vcc
Input
RL=1kohm
SW1
Item
SW1
close
open
close
open
SW2
open
close
open
close
tdis(CTRL(LZ))
tdis(CTRL(HZ))
ta(CTRL(ZL))
ta(CTRL(ZH))
D15-0, TDO
CL
CL
SW2
P.G
DUT
RL=1kohm
(1) Input pulse level
: 0 to 3.3V
50ohm
Other output
Input pulse rise/f all time : tr=tf=3ns
Input timing v oltage
Output timing v oltage
: 1.65V
: Vcc/2
(tdis(LZ) is measured at 10% of output,
tdis(HZ) is measured at 90% of output)
(2) Capacitance CL includes stray capacitance
and probe capacitance.
2. USB buf f er block
Vcc
Vcc
RL=1.5kohm
D+
CL
CL
RL=27ohm
RL=27ohm
RL=15kohm
(1) tr, tf is measured f rom 10% to 90% of output.
(2) Capacitance CL includes stray capacitance
and probe capacitance.
DUT
D-
RL=15kohm
GND
44
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
TIMING DIAGRAM
(1) Write timing
tsu(A)
th(A)
Address is established
A6 to 1
tw(cycle)
trec(CTRL)
tw(CTRL)
CS ,WR
(note2)
tsu(D)
th(D)
Data input is established
D15 to 0
(2) Read timing
ta(A)
th(A)
Address is established
A6 to 1
(note1)
tw(cycle)
ta(CTRL)
trec(CTRL)
tw(CTRL)
CS ,RD
(note3)
tv(CTRL)
tdis(CTRL)
ten(CTRL)
Data output is established
D15 to 0
note 1 : tw(cycle) is needed when access FIFO.
note 2 : Write is done in the overlap period when CS and WR is active "L".
Spec from the positive edge is valid from the fastest inactive signal.
Spec of pulse width is valid of the overlap period of active "L".
note 3 : Read is done in the overlap period of CS and RD is active "L"
Spec from the negative edge is valid from the latest signal.
Spec from the positive edge is valid form the fastest inactive signal.
Spec of pulse width is valid during active "L" overlap period.
45
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(3) DMA Transfer Timing -1
In case of Full speed transfer mode (DMA operation mode register : MODE=0)
(3-1) Write timing -1
twh(Dreq)
(note 4)
Dreq
Dack
td(CTRL-Dreq)
td(Dack-Dreq)
trec(CTRL)
tw(CTRL)
WR
(note 5)
tsu(D)
th(D)
Data input is established
D15 to 0
(3-2) Read timing -1
twh(Dreq)
(note 4)
Dreq
Dack
td(CTRL-Dreq)
td(Dack-Dreq)
ta(CTRL)
trec(CTRL)
tw(CTRL)
(note 6)
RD
tv(CTRL)
tdis(CTRL)
ten(CTRL)
D15 to 0
Data output is established
note 4 : Inactive condition of Dreq is Dack="L"
And when next DMA transfer exists, spec when Dreq turns to active is valid the latest one of twh(Dreq) or td(CTRL-Dreq).
note 5 : Write is done in the overlap period when Dack and WR is active "L".
Spec from the positive edge is valid from the fastest inactive signal.
Spec of pulse width is valid of the overlap period of active "L".
note 6 : Read is done in the overlap period of Dack and RD is active "L"
Spec from the negative edge is valid from the latest signal.
Spec from the positive edge is valid form the fastest inactive signal.
Spec of pulse width is valid during active "L" overlap period.
46
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(3-3) Write timing -2
(note 4)
Dreq
Dack
td(CTRL-Dreq)
td(CTRL-Dreq)
td(Dack-Dreq)
RD
WR
tw(CTRL)
tw(CTRL)
(note 5)
tsu(D)
tsu(D)
th(D)
th(D)
D15 to 0
(3-4) Read timing -2
(note 4)
Dreq
Dack
td(CTRL-Dreq)
td(CTRL-Dreq)
td(Dack-Dreq)
tw(CTRL)
tw(CTRL)
(note 6)
RD
WR
tv(CTRL)
tv(CTRL)
ta(CTRL)
ta(CTRL)
D15 to 0
note 4 : Inactive condition of Dreq is Dack="L"
And when next DMA transfer exists, spec when Dreq turns to active is valid the latest one of twh(Dreq) or td(CTRL-Dreq).
note 5 : Write is done in the overlap period when Dack and WR is active "L".
Spec from the positive edge is valid from the fastest inactive signal.
Spec of pulse width is valid of the overlap period of active "L".
note 6 : Read is done in the overlap period of Dack and RD is active "L"
Spec from the negative edge is valid from the latest signal.
Spec from the positive edge is valid form the fastest inactive signal.
Spec of pulse width is valid during active "L" overlap period.
47
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(4) DMA Transfer Timing -2
In case of one word transfer mode (DMA operation mode register : MODE=1)
(4-1) Write timing -1
twh(Dreq)
(note 7)
Dreq
Dack
td(Dackh-Dreq)
td(Dack-Dreq)
td(CTRL-Dack)
trec(CTRL)
tw(CTRL)
WR
(note 5)
tsu(D)
th(D)
Data input is established
D15 to 0
(4-2) Read timing -1
twh(Dreq)
(note 7)
Dreq
Dack
td(Dackh-Dreq)
td(Dack-Dreq)
td(CTRL-Dack)
ta(CTRL)
trec(CTRL)
tw(CTRL)
(note 6)
RD
tv(CTRL)
tdis(CTRL)
ten(CTRL)
D15 to 0
Data output is established
note 7 : Inactive condition of Dreq is Dack="L"
And when next DMA transfer exists, spec when Dreq turns to active is valid the latest one of twh(Dreq) or td(Dackh-Dreq).
note 5 : Write is done in the overlap period when Dack and WR is active "L".
Spec from the positive edge is valid from the fastest inactive signal.
Spec of pulse width is valid of the overlap period of active "L".
note 6 : Read is done in the overlap period of Dack and RD is active "L"
Spec from the negative edge is valid from the latest signal.
Spec from the positive edge is valid form the fastest inactive signal.
Spec of pulse width is valid during active "L" overlap period.
48
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(5) Interrupt timing
twh(INT)
INT
td(CTRL-INT)
CS ,WR
(note 8)
note 8 : Write is done in the overlap period when CS and WR is active "L".
Spec from the positive edge is valid from the fastest inactive signal.
(6) Reset timing
tw(RST)
RST,TRST
tst(RST)
CS ,WR
49
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
(7) JTAG timing
tc(TCK)
tw(TCKL)
tw(TCKH)
TCK
th(TCK-TDI)
tsu(TDI-TCK)
TDI,TMS
td(TCK-TDOX)
td(TCK-TDOV)
TDO
tw(TRST)
TRST
50
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
Abstraction of JTAG
Test mode input (TMS)
M66290A has JTAG (Joint Test Action Group) interf ace
which meets IEEE 1149.1 test access port spec.
This JTAG interf ace can be used f or input/output path
(boundary scan path) f or boundary scan test.
Further inf ormation as to JTAG test access port, refer
to "IEEE Std. 1149.1a-1993".
Test mode select input to control status shif t of test
circuit. This is sampled by the positive edge of TCK.
Test reset input (TRST)
"L" active test reset input to initialize the test circuit
asynchronously . To assure this reset f unction, keep
TMS input as "H" when this signal changes f rom "L"
to "H".
Pin descriptions
Pin description which relates to JTAG interf ace of
M66290A are as follows.
JTAG circuit constitution
Test clock input (TCK)
Clock input into test circuit.
Test data input (TDI)
JTAG circuit of M66290A is constituted by the blocks
as f ollows.
(1) Command register which keeps command code
which is f etched through the boundary scan path.
(2) Data register group which is accessed through the
boundary scan pass.
Sy nchronous serial input to input test command
code and test data. Data is sampled by the
positive edge of TCK.
(3) Test access port (TAP) controller to control the
status shif t of JTAG block.
Test data output (TDO)
Sy nchronous serial output to output test command
code and test data. Output data changes by the
negative edge of TCK and is output only in the state
of Shif t-IR or Shift-DR. In other state,keeps "Z".
(4) Control logic f or input select, output select, and so.
M66290A
Data register group
Boundary scan
register (JTAGBSR)
11
TDI
By pass register
(JTAGBPR)
ID code register
(JTAGIDR)
Decoder
12
TDO
Command register
(3bits) (JTAGIR)
TMS
TCK
10
9
TAP controller
8
TRST
51
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
Abstract of JTAG operations
JTAG interf ace shif ts the internal state according to TMS
input, and do two kinds of operations as follows. Both are
basically
There are f our basic access to command register
and to data register. And the access is executed
based on the status shift of TAP controller.
TAP controller is shif ted of its status by the TMS
input and make a control signal which is needed to
each state.
executed in turn of "Capture -> Shif t -> Update".
IR path sequence
Set the command code into command register and when
path sequence comes, select the data register which is
the object of the operation.
Capture operation
Result of the boundary scan test or the f ixed
data which is defined to each register, is sampled.
For operation, load the input data into shif t register
stage.
DR path sequence
To selected data register, ref er or set the data.
Shif t operation
Through the boundary scan path, access f rom external
is done. M66290A set the data f rom external and at the
same time, output the data which is sampled by capture
operation.
Input select Shift register
stage
To next cell
Data output
Data input
A
Y
D
Q
D
Q
From previous
cell
B
For register operation, right shif t is executed among
shift register stage of each bit.
T
T
A/B
Shift-DR/IR
Clock-DR/IR
Update-DR/IR
Parallel output
stage
Update operation
In shif t operation, drive the data which is set by external.
For register operation, transf er the v alue which is set to
shift register stage, to parallel output stage.
Test reset
Figure. Basic construction of JTAG related register
1
0
Test-Logic-Reset
0
1
1
1
Run-Test-/Idle
Select-DR-Scan
0
Select-IR-Scan
0
1
1
Capture-DR
0
Capture-IR
0
Shift-DR
1
Shift-IR
0
0
1
1
Exit1-DR
Exit1-IR
0
0
Pause-DR
Pause-IR
0
0
1
Exit2-DR
1
1
0
0
Exit2-IR
1
Update-DR
Exit2-IR
1
0
1
0
Update-IR
note: 0,1 shows the status of TMS input signal
Figure. Status shif t of TAP controller
52
MITSUBISHI <DIGITAL ASSP>
M66290AGP/FP
USB DEVICE CONTROLLER
JTAG registers
Command registers
Data registers
(1) Boundary scan register (JTAGBSR)
Command register is constituted by 3 bits register
which keeps command code, and is set in the IR
path sequence. Data register, which is selected in
the f ollowing path sequence, is determined by the
command which is set into the command register.
Initial value in test reset is IDCODE command.
Until the command code is set f rom external,
IDCODE register is kept selecting as the data
register.
This is f or boundary scan test and is assigned to each
terminal of M66290A which is related to JTAG.
Boundary scan register is connected between TDI and
TDO terminal, and is selected when "EXTEST Command"
is ordered. This register captures the status of input
terminal or the output v alue f rom internal logic circuit in
the state of Capture-DR. In the state of Shift-DR, input
the data f or boundary scan test parallely outputting the
sampled v alue. And set terminal f unction (IN/OUT of
bidirectional terminal or direction of 3-state output) and
output value.
M66290A supports three commands (EXTEST,
SAMPLE/PRELOAD, and BYPASS) which are
established as essential by IEEE 1149.1 and the
device recognize register access command
(IDCODE).
As to the JTAG related terminal and the structure of
boundary scan, ref er to BSDL specially.
Below are the commands and the related code.
(2) BYPASS register (JTAGBPR)
BYPASS register is one bit register to bypass the boundary
scan path when M66290A is not the object in boundary scan
test. BYPASS register is connected between TDI and TDO
terminal, and is selected when "BTPASS command" is
ordered. In the state of Capture-DR, "0" is loaded.
EXTEST (Command code : b'000)
Executes outside circuit connection test and on
board connection test. Reads the TDI input into the
"Boundary Scan Register" and outputs the contents
of "Boundary Scan Register" f rom TDO.
IDCODE (Command code : b'001)
(4) IDCODE register (JTAGIDR)
Selects the "IDCODE Register" and outputs the
device and company discrimination data from
TDO.
IDCODE register is a register of 32bits to discriminate the
device and the company, and keeps information as f ollows.
IDCODE register is connected between TDI and TDO
terminal,
SAMPLE/PRELOAD (Command code : b'010)
Samples the circuit status in operation and outputs
it f rom TDO, and at the same time, inputs the data
from TDI which will be use in the next boundary
scan test and set into the "Boundary Scan Register"
previously .
and is selected when "IDCODE Command" is ordered.
IDCODE data is loaded in Capture-DR state and is output
from TDO in Shif t-DR state.
1. Version inf ormation (4bits) : b'0000
2. Part number (16bits)
3. Company ID (11bits)
4. LSB (1bit)
: b'0001 1000 1001 0010
(Binary code of "6290")
BYPASS (Command code : b'111)
Selects the "BYPASS Register" and executes the
ref er and the set of the data.
: b'000 0001 1100
(JEDEC code of MITSUBISHI)
: b'1
(Fixed)
Don't set the command code except f or above.
53
相关型号:
©2020 ICPDF网 联系我们和版权申明