USB 2.0 Hi-Speed 3-Port Hub Controller Optimized for Portable Applications
Datasheet
DS00001715A-page 28 2014 Microchip Technology Inc.
Chapter 7 Device Interfaces
The USB3813 provides multiple interfaces for configuration and external memory access. This chapter
details the various device interfaces and their usage.
Note: For information on device configuration, refer to Chapter 6, "Device Configuration," on page 24.
7.1 SPI Interface
The device is capable of code execution from an external SPI ROM. On power up, the firmware looks
for an external SPI flash device that contains a valid signature of 2DFU (device firmware upgrade)
beginning at address 0xFFFA. If a valid signature is found, then the external ROM is enabled and the
code execution begins at address 0x0000 in the external SPI device. If a valid signature is not found,
then execution continues from internal ROM. The following sections describe the interface options to
the external SPI ROM.
The SPI interface is always enabled after reset. It can be disabled by setting the SPI_DISABLE bit in
the UTIL_CONFIG1 register.
Note: For SPI timing information, refer to Section 9.5.7, "SPI Timing," on page 51.
7.1.1 Operation of the Hi-Speed Read Sequence
The SPI controller will automatically handle code reads going out to the SPI ROM address. When the
controller detects a read, the controller drives SPI_CE_N low, and outputs 0x0B, followed by the 24-
bit address. The SPI controller outputs a DUMMY byte. The next eight clocks will clock-in the first byte.
When the first byte is clocked-in, a ready signal is sent back to the processor, and the processor gets
one byte.
After the processor gets the first byte, its address will change. If the address is one more than the last
address, the SPI controller will clock out one more byte. If the address is anything other than one more
than the last address, the SPI controller will terminate the transaction by driving SPI_CE_N high. As
long as the addresses are sequential, the SPI Controller will continue clocking data in.
Figure 7.1 SPI Hi-Speed Read Sequence
SPI_CE_N
SPI_CLK
SPI_DO
SPI_DI
8
0B
MSB
HIGH IMPEDANCE
15 16
123
405
7
6
D
OUT
ADD.
23 24
ADD. ADD.
X
39 40
31
32
47 48
55 56
63 64
71 72
80
D
OUT
NN+1
D
OUT
N+2
D
OUT
N+3
D
OUT
N+4
MSB
MSB
USB 2.0 Hi-Speed 3-Port Hub Controller Optimized for Portable Applications
Datasheet
2014 Microchip Technology Inc. DS00001715A-page 29
7.1.2 Operation of the Dual High Speed Read Sequence
The SPI controller also supports dual data mode. When configured in dual mode, the SPI controller
will automatically handle XDATA reads going out to the SPI ROM. When the controller detects a read,
the controller drives SPI_CE_N low and outputs 0x3B (the value must be programmed into the SPI_
FR_OPCODE Register) followed by the 24 bit address. Bits 23 through Bit 17 are forced to zero, and
address bits 16 through 0 are directly from the XDATA address bus. Because it is in fast read mode,
the SPI controller then outputs a DUMMY byte. The next four clocks will clock-in the first byte. The
data appears two bits at a time on SPI_DO and SPI_DI. When the first byte is clocked in, a ready
signal is sent back to the processor, and the processor gets one byte.
After the processor gets the first byte, its address will change. If the address is one more than the last
address, the SPI controller will clock out one more byte. If the address in anything other than one more
than the last address, the SPI controller will terminate the transaction by driving SPI_CE_N high. As
long as the addresses are sequential, the SPI Controller will continue clocking data in.
7.1.3 32 Byte Cache
There is a 32-byte pipeline cache with an associated base address pointer and length pointer. Once
the SPI controller detects a jump, the base address pointer is initialized to that address. As each new
sequential data byte is fetched, the data is written into the cache and the length is incremented. If the
sequential run exceeds 32 bytes, the base address pointer is incremented to indicate the last 32 bytes
fetched. If the firmware performs a jump, and the jump is in the cache address range, the fetch is done
in 1 clock from the internal cache instead of an external access.
7.1.4 Interface Operation to the SPI Port When Not Performing Fast Reads
There is a 8-byte command buffer (SPI_CMD_BUF[7:0]), an 8-byte response buffer
(SPI_RESP_BUF[7:0]), and a length register that counts out the number of bytes (SPI_CMD_LEN).
Additionally, there is a self-clearing GO bit in the SPI_CTL register. Once the GO bit is set, device
drives SPI_CE_N low and starts clocking. It will then output SPI_CMD_LEN x 8 number of clocks. After
the first COMMAND byte has been sent out, the SPI_DI input is stored in the SPI_RESP buffer. If the
SPI_CMD_LEN is longer than the SPI_CMD_BUF, don’t cares are sent out on the SPI_DO output.
This mode is used for program execution out of internal RAM or ROM.
Figure 7.2 SPI Dual Hi-Speed Read Sequence
SPI_CE_N
SPI_CLK
SPI_DO
SPI_DI
8
0B
MSB
HIGH IMPEDANCE
15 16
123
405
7
6
D1
ADD.
23 24
ADD. ADD.
X
39 40
31
32
44
47 48
51 52
55 56
59
D2
NN+1
D3
N+2
D4
N+3
D5
N+4
MSB
MSB
D1 D2
N
N+1
D3
N+2
D4
N+3
D5
N+4
MSB
43
Bits-7,5,3,1 Bits-7,5,3,1 Bits-7,5,3,1 Bits-7,5,3,1
Bits-6,4,2,0
Bits-6,4,2,0 Bits-6,4,2,0
Bits-6,4,2,0
Bits-7,5,3,1
Bits-6,4,2,0
USB 2.0 Hi-Speed 3-Port Hub Controller Optimized for Portable Applications
Datasheet
DS00001715A-page 30 2014 Microchip Technology Inc.
Automatic reads and writes happen when there is an external XDATA read or write, using the serial
stream that has been previously discussed.
7.1.5 Erase Example
To perform a SCTR_ERASE, 32BLK_ERASE, or 64BLK_ERASE, the device writes 0x20, 0x52, or
0xD8, respectively to the first byte of the command buffer, followed by a 3-byte address. The length
of the transfer is set to 4 bytes. To perform this, the device drives SPI_CE_N low, then counts out 8
clocks. It then outputs on SPI_DO the 8 bits of command, followed by 24 bits of address of the location
to be erased. When the transfer is complete, SPI_CE_N goes high, while the SPI_DI line is ignored
in this example.
Figure 7.3 SPI Erase Sequence
SPI_CE_N
SPI_CLK
16
23
24
31
15
123
405
7
6
ADD.
SPI_DO
SPI_DI
8
Command
MSB MSB
ADD. ADD.
HIGH IMPEDANCE

USB3813I-1080XY-TR

Mfr. #:
Manufacturer:
Microchip Technology
Description:
USB Interface IC USB 2.0 Hi-Spd 3-pt Hub Cntlr
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union

Products related to this Datasheet