MDK-ARM Keil, MDK-ARM Datasheet - Page 115

KIT REALVIEW MCU DEVELOPMENT

MDK-ARM

Manufacturer Part Number
MDK-ARM
Description
KIT REALVIEW MCU DEVELOPMENT
Manufacturer
Keil
Type
Compiler and IDEr
Datasheets

Specifications of MDK-ARM

For Use With/related Products
ARM MCUs
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Getting Started: Building Applications with RL-ARM
115
Interrupt Pipe
The first of the varieties of user pipe is an interrupt pipe. Since only the host can
initiate a data transfer, no network device can asynchronously communicate to
the host. Using an Interrupt pipe, the developer can define how often the host
can request a data transfer from the remote device. This can be between 1ms and
255ms. An interrupt pipe in USB has a defined polling rate. For example, in the
case of a mouse, we can guarantee a data transfer every 10 ms. Defining the
polling rate does not guarantee that data will be transferred every 10 ms, but
rather that the transaction will occur somewhere within the tenth frame. For this
reason, a certain amount of timing jitter is inherent in a USB transaction.
Isochronous Pipe
The second type of user pipe is called an isochronous pipe. Isochronous pipes
are used for transferring real-time data such as audio data. Isochronous pipes
have no error detection. An Isochronous pipe sends a new packet of data every
frame, regardless of the success of the last packet. This means that in an audio
application a lost or corrupt packet will sound like noise on the line until the next
successful packet arrives. An important feature of Isochronous data is that it
must be transferred at a constant rate. Like an Interrupt pipe, an Isochronous
pipe is also subject to the kind of jitter described above. In the case of
Isochronous data, no interrupt is generated when the data arrives in the Endpoint
buffer. Instead, the interrupt is raised on the Start-Of-Frame token. This
guarantees a regular 1 ms interrupt on the Isochronous Endpoint, allowing data to
be read at a regular rate.
Bulk Pipe
The Bulk pipe is for all data which is not Control, Interrupt, or Isochronous.
Data is transferred in the same manner and with the same packet sizes as in an
Interrupt pipe, but Bulk pipes have no defined polling rate. A Bulk pipe takes up
any bandwidth that is left over after the other pipes have finished their transfers.
If the bus is very busy, then a bulk transfer may be delayed. Conversely, if the
bus is idle, multiple bulk transfers can take place in a single 1ms frame. Interrupt
and isochronous are limited to a maximum of one packet per frame. An example
of bulk transfers would be sending data to a printer. As long as the data is
printed in a reasonable time frame, the exact transfer rate is not important.

Related parts for MDK-ARM