mcs7860 MosChip, mcs7860 Datasheet - Page 10
![no-image](/images/no-image-200.jpg)
mcs7860
Manufacturer Part Number
mcs7860
Description
Usb 2.0 Link Controller With Phy
Manufacturer
MosChip
Datasheet
1.MCS7860.pdf
(13 pages)
MCS7860
USB 2.0 Link Controller with PHY
Configuration Function
RDSM
It interfaces USB device controller’s bulk_in endpoint
to the bridge. It reads from SRAM and sends data to
USB with a maximum packet size of 512 bytes in High
speed (64 bytes in Full speed), per transaction. It works
under the control of bulk_in_endpoint of the
usb_device_controller. RDSM keeps track of the read
pointer, generates read addresses and other signals for
read operation to the memory. At the end of read, it
asserts set_ready for write 0.
Before start of any transfer, the RDSM reads control
information from the last location(Location 257) of the
FIFO. It gets the information about packet length and
Page 10
HS on both Ends
FS on both ends
HS write and FS read
FS write and HS read
RequestType
0100_0000
0000_1101
Request
Reads packets from the banks considering the max_packet_size to be 512
bytes.
Reads packets from the banks considering max_packet_size to be 64 bytes.
Full Speed end reads packets considering max_packet_size to be 64 bytes.
The conditions than need to be considered are as follows.
read in chunks of 64 bytes (max) until it encounters a partial packet or zero
lenght packet.
FS device writes 8 packets of 64 bytes length. Switches for every 8 packets.
Stops after writing the zero length packet.
HS read- controller reads 1 packet of 512 bytes (<512 bytes) length.
Stops after reading the zero length packet.
High speed device considers 512 as the max packet size.
The WRSM writes max 512 bytes (or <512) and the FS read controller
Feature Selector
Value
packet type from this read.
It generates the data_ready signal to the bulk_in end-
point so as to enable the usb_device_controller to gen-
erate appropriate handshake to the host.
If the bulk_in_endpoint reports packet error, the RDSM
moves the read_pointers back to their initial value (ini-
tial value of the read_pointer is the value in this register
before the start of this transfer). This enables retry of
packet-reads.
Index
0000
Length
0000
Rev. 1.2