The ML60851A is a general purpose Universal Serial Bus (USB) device controller. The ML60851A
provides a USB interface, control/status block, application interface, and FIFOs. The FIFO interface
and two types of transfer have been optimized for BulkOut devices such as printers and BulkIn
devices such as digital still cameras and image scanners. In addition, Mass Storage devices are
also applicable to this device.
FEATURES
• USB 1.0 compliant
• Built-in USB transceiver circuit
• Full-speed (12 Mb/sec) support
• Supports printer device class, image device class, and Mass Storage device class
• Supports three types of transfer; control transfer, bulk transfer, and interrupt transfer
• Built-in FIFOs for control transfer
Two 8-byte FIFOs (one for receive FIFO and the other for transmit FIFO)
• Built-in FIFOs for bulk transfer (available for either receive FIFO or transmit FIFO)
One 64-byte FIFO
Two 64-byte FIFOs
• Built-in FIFO for interrupt transfer
One 8-byte FIFO
• Supports one control endpoint, two bulk endpoint addresses, and one interrupt endpoint
address
• Two 64-byte FIFOs enable fast BulkOut transfer and BulkIn transfer
• Supports 8 bit/16 bit DMA transfer
•VCC is 3.0 V to 3.6 V
• Supporting dual power supply enables 5 V application interface
The local MCU writes a device address, which is given by the SET_ADDRESS command form the
host computer, into this register. Thereafter, this device processes an only token packet transmitted
to the given device address.
Device State Register (C1h, 41h)
D7D6D5D4D3D2D1D0
RFU
Default State (R/W)
Address State (R/W)
Configuration State (R/W)
Suspended State (R)
Remote Wakeup (R/W)
USB Bus Reset Clear
Default, Address, and Configuration States: D2, D1, and D0 are set to 0, 0, and 1 (default states) by
reset respectively. Changing the values of this register gives no influence on operation of this
device.
Suspended State: This register is asserted when the device enters the suspended state.
This register is deaserted by reset or when the device exits the suspended state by a resume signaling
from the USB bus.
Remote Wakeup: When this device signals a remote wakeup during the suspended state, this
register is asserted by a local MCU. This register is automatically deasserted when the device exits
the suspended state by a resume signaling from the USB bus.
USB Bus Reset Status Clear: Writing "1" to this bit causes the interrupt status to be cleared (the USB
bus reset interrupt status bit is "0" and the INTR pin is deasserted) while the USB bus reset interrupt
is being serviced (when D5, the USB bus reset interrupt status bit, of the interrupt status register is
"1" and the INTR pin is asserted). This bit is readable, and when read, its value will be always "0".
Packet Error Register (C2h, –)
D7D6D5D4D3D2D1D0
RFU
Bit Stuff Error (R)
RFU = 0000b
Data CRC Error (R)
Address CRC Error (R)
PID Error (R)
7/44
FIFO Status Register 1 (C3h, –)
pty (R)
pty (R)
)
D7D6D5D4D3D2D1D0
RFU
RFU = 0000b
FIFO Status Register 2 (C4h, –)
D7D6D5D4D3D2D1D0
RFU
RFU = 0000b
ML60851A¡ Semiconductor
Receive FIFO0 Full (R)
Receive FIFO0 Empty (R)
FIFO1 Full (R)
FIFO1 Em
Transmit FIFO0 Full (R)
Transmit FIFO0 Empty (R)
FIFO2 Full (R)
FIFO2 Empty (R)
FIFO3 Full (R)
FIFO3 Em
Endpoint Packet-Ready Register (C8h, 48h)
D7D5D4D3D2D1D0D6
RFU
EP0 Receive Packet Ready (R/Reset)
EP1 Receive Packet Ready (R/Reset)
EP2 Receive Packet Ready (R/Reset)
EP0 Transmit Packet Ready (R/Set)
EP1 Transmit Packet Ready (R/Set)
EP2 Transmit Packet Ready (R/Set)
EP3 Transmit Packet Ready (R/Set
Receive Packet Ready: When a valid packet arrives at an endpoint, this bit is automatically set and
the endpoint is locked. When "1" is written in this register, Receiver Packet Ready is reset and the
endpoint is unlocked. (This bit also is set to "0".)
When DMA is enabled, EP1 Receive Packet Ready is automatically reset after all the data in EP1 is
read during DMA transfer.
Transmit Packet Ready: When "1" is written in this register, the Transmit Packet Ready is set and the
packet in the corresponding endpoint is transmitted. Transmit Packet Ready is automatically reset
when the ACK handshake is returned from the host.
When DMA is enabled, EP1 Transmit Packet Ready is automatically set after the data written in EP1
reaches the maximum packet size during DMA transfer.
The value of this register remains unchanged when "0" is written in this register.
8/44
Endpoint 0 Receive Byte Count Register (C9h, –)
y
D7D6D5D4D3D2D1D0
ML60851A¡ Semiconductor
RFU
EP0 Byte Count (R)
Endpoint 1 Receive Byte Count Register (CAh, –)
D7D6D5D4D3D2D1D0
RFU
EP1 Byte Count (R)
Endpoint 2 Receive Byte Count Register (CBh, –)
D7D6D5D4D3D2D1D0
RFU
EP2 Byte Count (R)
Flash Transmit FIFO (–, 4Eh)
D7D6D5D4D2D1D0D3
0
0000
In case EP1 is set as a transmission endpoint, when "1" is
written in this bit, the FIFO at EP1 is cleared and Packet
Ready at EP1 is reset by the WRITE pulse.
In case EP2 is set as a transmission endpoint, when "1" is
written in this bit, the FIFO at EP2 is cleared and Packet
Ready at EP2 is reset by the WRITE pulse.
In case EP3 is set as a transmission endpoint, when "1" is
written in this bit, the FIFO at EP3 is cleared and Packet
Read
at EP3 is reset by the WRITE pulse.
Note: Please clear all FIFOs at the same time, otherwise some of them may not be cleared.
System Control (–, 4Fh)
D7D6D5D4D2D1D0D3
00
0
When "1" is written in this bit, the ML60851A is reset
by the WRITE pulse.
Oscillation Stop Command
Oscillation Stop Command: Writing 1010b to D7 to D4, (writing A0h into this register) causes the
oscillator circuit of the ML60851A to be deactivated and go into the standby mode.
When oscillation is stopped, reading and writing into the register is possible but reading and writing
into FIFO is not possible. Asserting the RESET pin restarts oscillation.
9/44
bmRequestType Setup Register (D0h, –)
D7D6D5D4D2D1D0D3
ML60851A¡ Semiconductor
Type (R)
Data Transfer Direction (R)
Recipient (R)
bRequest Setup Register (D1h, –)
D7D6D5D4D2D1D0D3
Specific Request (R)
• wValueLSB Setup Register (D2h, –)
D7:D0 = LSB of Word Size Field (R)
• wValueMSB Setup Register (D3h, –)
D7:D0 = MSB of Word Size Field (R)
0 = Device
1 = Interface
2 = Endpoint
3 = Others
4 to 31 = Reserved
0 = Standard
1 = Class
2 = Vendor
3 = Reserved
0 = Host to device
1 = Device to host
• wIndexLSB Setup Register (D4h, –)
D7:D0 = LSB of Word Size Field (R)
• wIndexMSB Setup Register (D5h, –)
D7:D0 = MSB of Word Size Field (R)
• wLengthLSB Setup Register (D6h, –)
This field defines the length of data that is transferred in the second stage (data stage) of control
transfer. (R)
• wLengthMSB Setup Register (D7h, –)
This field defines the length of data that is transferred in the data stage of control transfer. (R)
10/44
Assertion Select Register (DAh, 5Ah) (R/W)
D7D6D5D4D3D2D1D0
RFU
Assertion
of DACK
Assertion
of DREQ
Interrupt Enable Register (DBh, 5Bh) (R/W)
D7D6D5D4D3D2D1D0
Assertion
of INTR
0 = Active LOW (Initial value)
1 = Active HIGH
0 = Active LOW (Initial value)
1 = Active HIGH
0 = Active HIGH (Initial value)
1 = Active LOW
Setup Ready
Interrupt Enable
EP1 Packet Ready
Interrupt Enable
EP2 Packet Ready
Interrupt Enable
EP0 Receive Packet Ready
Interrupt Enable
EP0 Transmit Packet Ready
Interrupt Enable
USB Bus Reset
Interrupt Enable
Suspended State
Interrupt Enable
EP3 Packet Ready
Interrupt Enable
ML60851A¡ Semiconductor
Initial value of D0 is 1.
Initial values of D1 to D7 are 0.
11/44
ML60851A¡ Semiconductor
p
Interrupt Status Register (DCh, 5Ch) (R)
D7D6D5D4D3D2D1D0
Setup Ready
Interrupt Status (R)
EP1 Packet Ready
Interrupt Status (R)
EP2 Packet Ready
Interrupt Status (R)
EP0 Receive Packet Ready
Interrupt Status (R)
EP0 Transmit Packet Ready
Interrupt Status (R)
USB Bus Reset
Interrupt Status
Suspended State
Interrupt Status (R)
EP3 Packet Ready
Interru
t Status
Setup Ready Interrupt Status: Equivalent to Setup Ready at (F3h) described later when the corresponding
Interrupt Enable bit is asserted.
EP1 Packet Ready Interrupt Status: Equivalent to EP1 Receive Packet Ready (the complement of EP1
Transmit Packet Ready when EP1 is set for transmitter) at (C8h) described before when the
corresponding Interrupt Enable bit is asserted.
EP2 Packet Ready Interrupt Status: Equivalent to EP2 Receive Packet Ready (the complement of EP2
Transmit Packet Ready when EP2 is set for transmitter) at (C8h) described before when the
corresponding Interrupt Enable bit is asserted.
EP0 Receive Packet Ready Interrupt Status: Equivalent to EP0 Receive Packet Ready at (C8h) described
before when the corresponding Interrupt Enable bit is asserted.
EP0 Transmit Packet Ready Interrupt Status: Equivalent to the complement of EP0 Transmit Packet
Ready at (C8h) described before when the corresponding Interrupt Enable bit is asserted.
USB Bus Reset Interrupt Status: This bit is set to "1" at USB bus reset when the D5 bit of the interrupt
enable register (DBh) is "1". To return this bit back to "0", "1" should be written to the D5 bit of the
device states register.
Suspended State Interrupt Status: Equivalent to Suspended State Register at (C1h) described before
when the corresponding Interrupt Enable bit is asserted.
EP3 Packet Ready Interrupt Status: When the D7 bit of the interrupt enable register (DBh) is "1", the
complement of the D7 bit of the endpoint packet ready register (C8h) is being copied.
12/44
ML60851A¡ Semiconductor
DMA Control Register (DDh, 5Dh) (R/W)
D7D6D5D4D3D2D1D0
RFU
Transfer
Mode
Transfer
Size
Byte
Count
Address
Mode
DMA
Enable
0 = Disables DMA Transfer (Initial value)
1 = Enables DMA Transfer for EP1
0 = Single Address Mode (Initial value)
1 = Dual Address Mode
0 = (Initial value)
1 = Inserts EP1 receive byte count into the top byte or
top word of the transfer data. (Note 1)
0 = Byte (8 bits) (Initial value)
1 = Word (16 bits) (Note 2)
0 = Single Transfer Mode (Initial value)
1 = Demand Transfer Mode
(Note 1)When 16-bit mode is set, the upper byte of the top word is 00h.
(Note 2)When 16-bit mode is set and the packet size is an odd-number byte, the upper byte of the
last word is 00h.
DMA Interval Register (DEh, 5Eh) (R/W)
D7D6D5D4D3D2D1D0
This register specifies a DMA transfer interval between de-assertion and re-assertion of DREQ in
Single Transfer mode. The interval is specified between 0 and 255 (bit times). The initial value is 0.
1-bit time = 1/12 MHz (= 84 ns)
13/44
Endpoint 0 Receive Control Register (E0h, –)
(R)
D7D6D5D4D3D2D1D0
ML60851A¡ Semiconductor
RFU
00000RFU
Configuration Bit (R)
Transfer Type (R)
Endpoint Address
Configuration Bit: Only when this bit is asserted ("1"), a packet transmitted from a host computer
to this EP is received. The packet is ignored when this bit is deasserted ("0").
This bit is deasserted by system reset and is asserted by USB reset (both D+ and D- are 0s for more
than 2.5 ms).
Endpoint 0 Receive General Register (E1h, –)
D7D6D5D4D3D2D1D0
RFU
Data Sequence
Toggle Bit (R)
Endpoint 0 Receive Payload Register (E2h, 62h)
D7D6D5D4D3D2D1D0
RFU
Maximum Packet Size (R/W)
14/44
Loading...
+ 31 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.