42.2.1 Data Structures
To efficiently manage USB endpoint communications, USBFS implements a Buffer
Descriptor Table (BDT) in system memory. See
.
42.3 Programmers interface
This section discusses the major components of the programming model for the USB
module.
42.3.1 Buffer Descriptor Table
To efficiently manage USB endpoint communications USBFS implements a Buffer
Descriptor Table (BDT) in system memory. The BDT resides on a 512-byte boundary in
system memory and is pointed to by the BDT Page Registers. Every endpoint direction
requires two 8-byte Buffer Descriptor (BD) entries. Therefore, a system with 16 fully
bidirectional endpoints would require 512 bytes of system memory to implement the
BDT. The two BD entries allows for an EVEN BD and ODD BD entry for each endpoint
direction. This allows the microprocessor to process one BD while USBFS is processing
the other BD. Double buffering BDs in this way allows USBFS to transfer data easily at
the maximum throughput provided by USB.
Software should manage buffers for USBFS by updating the BDT when needed. This
allows USBFS to efficiently manage data transmission and reception, while the
microprocessor performs communication overhead processing and other function
dependent applications. Because the buffers are shared between the microprocessor and
USBFS, a simple semaphore mechanism is used to distinguish who is allowed to update
the BDT and buffers in system memory. A semaphore, the OWN bit, is cleared to 0 when
the BD entry is owned by the microprocessor. The microprocessor is allowed read and
write access to the BD entry and the buffer in system memory when the OWN bit is 0.
When the OWN bit is set to 1, the BD entry and the buffer in system memory are owned
by USBFS. USBFS now has full read and write access and the microprocessor must not
modify the BD or its corresponding data buffer. The BD also contains indirect address
pointers to where the actual buffer resides in system memory. This indirect address
mechanism is shown in the following diagram.
Programmers interface
K22F Sub-Family Reference Manual , Rev. 3, 7/2014
992
Freescale Semiconductor, Inc.
Содержание MK22FN256VDC12
Страница 2: ...K22F Sub Family Reference Manual Rev 3 7 2014 2 Freescale Semiconductor Inc...
Страница 136: ...Human machine interfaces K22F Sub Family Reference Manual Rev 3 7 2014 136 Freescale Semiconductor Inc...
Страница 164: ...Module clocks K22F Sub Family Reference Manual Rev 3 7 2014 164 Freescale Semiconductor Inc...
Страница 246: ...Functional description K22F Sub Family Reference Manual Rev 3 7 2014 246 Freescale Semiconductor Inc...
Страница 328: ...Kinetis Flashloader Status Error Codes K22F Sub Family Reference Manual Rev 3 7 2014 328 Freescale Semiconductor Inc...
Страница 360: ...Functional description K22F Sub Family Reference Manual Rev 3 7 2014 360 Freescale Semiconductor Inc...
Страница 388: ...Functional description K22F Sub Family Reference Manual Rev 3 7 2014 388 Freescale Semiconductor Inc...
Страница 402: ...Initialization application information K22F Sub Family Reference Manual Rev 3 7 2014 402 Freescale Semiconductor Inc...
Страница 500: ...Initialization application information K22F Sub Family Reference Manual Rev 3 7 2014 500 Freescale Semiconductor Inc...
Страница 670: ...Flash memory map for EzPort access K22F Sub Family Reference Manual Rev 3 7 2014 670 Freescale Semiconductor Inc...
Страница 680: ...Functional description K22F Sub Family Reference Manual Rev 3 7 2014 680 Freescale Semiconductor Inc...
Страница 744: ...Application information K22F Sub Family Reference Manual Rev 3 7 2014 744 Freescale Semiconductor Inc...
Страница 784: ...Functional description K22F Sub Family Reference Manual Rev 3 7 2014 784 Freescale Semiconductor Inc...
Страница 794: ...Initialization Application Information K22F Sub Family Reference Manual Rev 3 7 2014 794 Freescale Semiconductor Inc...
Страница 960: ...Example configuration for chained timers K22F Sub Family Reference Manual Rev 3 7 2014 960 Freescale Semiconductor Inc...
Страница 1036: ...Device mode IRC48 operation K22F Sub Family Reference Manual Rev 3 7 2014 1036 Freescale Semiconductor Inc...
Страница 1040: ...USB Voltage Regulator Module Signal Descriptions K22F Sub Family Reference Manual Rev 3 7 2014 1040 Freescale Semiconductor Inc...
Страница 1094: ...Initialization application information K22F Sub Family Reference Manual Rev 3 7 2014 1094 Freescale Semiconductor Inc...
Страница 1128: ...Initialization application information K22F Sub Family Reference Manual Rev 3 7 2014 1128 Freescale Semiconductor Inc...
Страница 1216: ...Application information K22F Sub Family Reference Manual Rev 3 7 2014 1216 Freescale Semiconductor Inc...
Страница 1298: ...Functional description K22F Sub Family Reference Manual Rev 3 7 2014 1298 Freescale Semiconductor Inc...
Страница 1312: ...K22F Sub Family Reference Manual Rev 3 7 2014 1312 Freescale Semiconductor Inc...