Description Of Host Frame Scheduler (Hfs) Specific To Host Mode - ST STM32G0 1 Series Reference Manual

Table of Contents

Advertisement

Universal serial bus full-speed host/device interface (USB)
accessed directly by the application software. The size of the packet memory is
2048 bytes, structured as 512 words of 32 bits.
Arbiter: this block accepts memory requests coming from the APB1 bus and from the
USB interface. It resolves the conflicts by giving priority to APB1 accesses, while
always reserving half of the memory bandwidth to complete all USB transfers. This
time-duplex scheme implements a virtual dual-port SRAM that allows memory access,
while an USB transaction is happening. Multiword APB1 transfers of any length are
also allowed by this scheme.
Register mapper: this block collects the various byte-wide and bit-wide registers of the
USB peripheral in a structured 32-bit wide word set addressed by the APB1.
APB1 wrapper: this provides an interface to the APB1 for the memory and register. It
also maps the whole USB peripheral in the APB1 address space.
Interrupt mapper: this block is used to select how the possible USB events can
generate interrupts and map them to the NVIC.
37.4.2

Description of host frame scheduler (HFS) specific to Host mode

The host frame scheduler is the hardware machine in charge to submit host channel
requests on the bus according to the USB priority order and bandwidth access rules.
Host channels are divided in two categories:
The host frame scheduler organizes the full-speed frame in 3 sequential windows
At the start of a new frame the host scheduler:
1.
First considers all periodic channels which were active (STAT bits VALID) at the start of
frame
2.
Executes single round of service of periodic channels, the periodic service window, in
hardware priority order from CH#1 to CH#8. For bidirectional channels it executes the
OUT direction first
3.
When the periodic round is finished, HFS closes the periodic service window and stops
servicing periodic traffic even if some periodic channel was re-enabled or some new
channel was enabled after the SOF.
4.
Starts servicing all non-periodic channels which are currently active (STAT bits VALID)
in hardware priority order from CH#1 to CH#8. For bidirectional channels it executes
the OUT direction first.
5.
Executes multiple round-robin service cycles of non-periodic channels until almost the
end of frame
6.
Non periodic traffic can be requested at any time and is serviced by HFS with best
effort latency, with the exception of a black security window at the end of the frame
where new injected requests are directly postponed to the next frame to avoid babbles.
This is also true for pending transactions which have not been serviced ahead of the
security window.
1266/1390
Periodic channels: isochronous and interrupt traffic types. With guaranteed
bandwith access.
Non-periodic channels: bulk and control traffic types. With best effort service.
Periodic service window
Non-periodic service window
Black security window
RM0444 Rev 5
RM0444

Advertisement

Table of Contents
loading

Table of Contents