Hardware Reference
In-Depth Information
USB_init_SE0Test
btfsc UCON,SE0
bra
USB_init_SE0Test
Vorsorglich wird jetzt das Reset-Bit im Interrupt Status Register gelöscht, falls beim
Einschalten der Schnittstelle ein USB Reset detektiert wurde. Danach können die
erforderlichen Interrupts aktiviert werden. Das Beispielgerät reagiert zunächst auf
drei Interruptereignisse: USB Reset, Endpoint stall und Transaction complete. Bei
Bedarf wird noch eine weitere Interruptquelle zugelassen, und zwar der Bus Acti-
vity Interrupt (siehe Abschnitt 6.5.6).
bcf
UIR,URSTIF
;clear interrupt status flag
bsf
UIE,URSTIE
;enable reset interrupt
bsf
UIE,STALLIE ;enable stall interrupt
bsf
UIE,TRNIE
;enable transaction complete interrupt
5.4 Transaktionen
Die Software des USB Device Stack setzt im Wesentlichen bei den Transaktionen
auf. Die USB-Hardware von PIC18F4550 lässt sich nämlich so konfigurieren, dass
das Ende jeder Transaktion mit einer Programmunterbrechungsanforderung
(Interrupt) signalisiert wird. Das gilt für beide Datenübertragungsrichtungen.
Somit weiß der Anwender, dass bei einem Transaction Complete Interrupt entwe-
der neue Daten im Gerät angekommen oder dass zum Senden freigegebene Daten
vom Host empfangen worden sind. In der Interrupt Service Routine, also dem
Unterprogramm, das den Interrupt bedient, muss zunächst der Grund dafür unter-
sucht werden. Transaktionen können aus unterschiedlichen Paketen bestehen, die
zwischen Host und Gerät versendet werden.
5.5 Transfers
Die gesamte zu liefernde Sendung kann aus diversen Teillieferungen bestehen,
wobei jede Teillieferung ihrerseits mehrere Pakete umfassen kann. Das ist, kurz
zusammengefasst, das Grundprinzip der USB-Datenübertragung. Die folgende
Grafik soll dieses illustrieren. Damit sind drei wesentliche Begriffe eingeordnet, die
im Zusammenhang mit USB immer wieder vo r komme n : Tr a n s f e r s , Tr a n s a k t i on e n
und Pakete. Transfers als übergeordneter Begriff können nun von verschiedener Art
sein. Im Buchbeispiel werden drei Transferarten erscheinen: Control Transfers, Bulk
Transfers und Interrupt Transfers. Die Control Transfers sind der umfangreichste
Search WWH ::




Custom Search