09.12.2012 Views

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>RM0090</strong> USB on-the-go full-speed (OTG_FS)<br />

is written to the FIFO along with each received packet. Therefore, a minimum space of<br />

(Largest Packet Size / 4) + 1 must be allocated to receive packets. If multiple isochronous<br />

endpoints are enabled, then at least two (Largest Packet Size / 4) + 1 spaces must be<br />

allocated to receive back-to-back packets. Typically, two (Largest Packet Size / 4) + 1<br />

spaces are recommended so that when the previous packet is being transferred to the CPU,<br />

the USB can receive the subsequent packet.<br />

Along with the last packet for each endpoint, transfer complete status information is also<br />

pushed to the FIFO. Typically, one location for each OUT endpoint is recommended.<br />

Transmit FIFO RAM allocation: the minimum RAM space required for each IN Endpoint<br />

Transmit FIFO is the maximum packet size for that particular IN endpoint.<br />

Note: More space allocated in the transmit IN Endpoint FIFO results in better performance on the<br />

USB.<br />

30.13.2 Host mode<br />

Receive FIFO RAM allocation<br />

Status information is written to the FIFO along with each received packet. Therefore, a<br />

minimum space of (Largest Packet Size / 4) + 1 must be allocated to receive packets. If<br />

multiple isochronous channels are enabled, then at least two (Largest Packet Size / 4) + 1<br />

spaces must be allocated to receive back-to-back packets. Typically, two (Largest Packet<br />

Size / 4) + 1 spaces are recommended so that when the previous packet is being transferred<br />

to the CPU, the USB can receive the subsequent packet.<br />

Along with the last packet in the host channel, transfer complete status information is also<br />

pushed to the FIFO. So one location must be allocated for this.<br />

Transmit FIFO RAM allocation<br />

The minimum amount of RAM required for the host Non-periodic Transmit FIFO is the<br />

largest maximum packet size among all supported non-periodic OUT channels.<br />

Typically, two Largest Packet Sizes worth of space is recommended, so that when the<br />

current packet is under transfer to the USB, the CPU can get the next packet.<br />

The minimum amount of RAM required for host periodic Transmit FIFO is the largest<br />

maximum packet size out of all the supported periodic OUT channels. If there is at least one<br />

Isochronous OUT endpoint, then the space must be at least two times the maximum packet<br />

size of that channel.<br />

Note: More space allocated in the Transmit Non-periodic FIFO results in better performance on<br />

the USB.<br />

30.14 USB system performance<br />

Best USB and system performance is achieved owing to the large RAM buffers, the highly<br />

configurable FIFO sizes, the quick 32-bit FIFO access through AHB push/pop registers and,<br />

especially, the advanced FIFO control mechanism. Indeed, this mechanism allows the<br />

Doc ID 018909 Rev 3 1038/1416

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!