AT91 USB Framework1. IntroductionThis document describes a device-side USB framework developed for Atmel® AT91ARM® Thumb® based microcontrollers. It e
106263A–ATARM–10-Oct-06Application NoteIf a PIO pin is connected to VBus, it is possible to monitor it by configuring the pin as an inputand enabling
116263A–ATARM–10-Oct-06Application NoteBecause the start-of-frame interrupt puts some stress on the processor (since it is called a lot), itis only ac
126263A–ATARM–10-Oct-06Application Note3.5.1.4 Clear Feature, Set Feature & Get StatusSeveral features of a device can either be activated or deac
136263A–ATARM–10-Oct-06Application Notecore_usb.h: USB API definitionscore_udp.c: UDP controller driver methodsMakefile: makefile used to build the pr
146263A–ATARM–10-Oct-06Application Note– Possible values: YES, NO.– Default: NO.•LEDS– Optional, enables the program to use the board LEDs to signal d
156263A–ATARM–10-Oct-06Application NoteEndpoints can be configured to have a specific number of FIFO banks (depending on the USBcontroller peripheral)
166263A–ATARM–10-Oct-06Application Note// USB instancestatic const S_usb sUsb = { &sDefaultDriver, pEndpoints, 1, &sCallbacks,
176263A–ATARM–10-Oct-06Application Note5.2.2.2 Configuration & Interface DescriptorsWhen the configuration descriptor is requested by the host, vi
186263A–ATARM–10-Oct-06Application NoteAgain, those are very generic values. For the interface descriptor, most of them are zeroed. Thisis because thi
196263A–ATARM–10-Oct-06Application Note(char *) &sLanguageID,pManufacturer,pProduct,pSerial};The actual descriptors list can then be instantiated:
26263A–ATARM–10-Oct-06Application Note3. Framework DescriptionThe framework is comprised of several components:• Standard USB structures• USB API–Stru
206263A–ATARM–10-Oct-06Application Notedo that, an interrupt must be programmed when the status of VBus changes. The ISR shouldcall the USB_Attach fun
216263A–ATARM–10-Oct-06Application Note5.4.2 Suspend & ResumeThe Suspend callback is used by the USB API to notify the device that it should enter
226263A–ATARM–10-Oct-06Application Note6. Revision HistoryTable 6-1.Document Ref. CommentsChange Request Ref.6263 First issue
Disclaimer: The information in this document is provided in connection with Atmel products. No license, express or implied, by estoppel or otherwise,
36263A–ATARM–10-Oct-06Application NoteA pointer to an S_usb instance is needed to use all of the USB API methods. This pointer ispassed as an argument
46263A–ATARM–10-Oct-06Application Note• Reset• Suspend• Resume• NewRequest•StartOfFrameBe sure to use the same order when declaring the S_usb_callback
56263A–ATARM–10-Oct-06Application NoteThis function triggers the Resume and the Suspend callbacks upon attachment/detachment.Those callbacks are used
66263A–ATARM–10-Oct-06Application Note3.3.1.7 Device State DiagramFigure 3-1 is the device state diagram (refer to chapter 9 of the USB specification
76263A–ATARM–10-Oct-06Application Note• Resume, when the bus becomes active again• Reset, when an end-of-bus reset is detected• NewRequest, when a set
86263A–ATARM–10-Oct-06Application NoteThis function handles double-buffering, if it is supported by the USB controller and if it hasbeen enabled for t
96263A–ATARM–10-Oct-06Application NoteFigure 3-2. Callback Invocation Flowchart3.4.2 InitThe Init callback is invoked when the USB_Init method is call
Comments to this Manuals