Hardware Reference
In-Depth Information
7.5.7 SET_ADDRESS
Mit diesem Standard Device Request wird dem Gerät die USB-Adresse zugewie-
sen. Das geschieht während der Enumeration. Wenn ein USB-Gerät eingeschaltet
wird (entweder über eigene Spannungsversorgung oder wenn es über USB mit
Spannung versorgt wird), hat es zunächst die Adresse 0 (Default Address). Der
Host nimmt über diese Adresse den ersten Kontakt zum Gerät auf, um ihm im
Verlauf der Enumeration eine andere Adresse zuzuweisen, unter der das Gerät
während der folgenden temporären Betriebszeit erreichbar ist. Dieser Request
unterscheidet sich im Ablauf von allen anderen, weil die auszuführende Aktion
erst stattfinden darf, wenn die Datenphase des Requests abgeschlossen ist. Das
Gerät muss also während der Datenphase noch unter der Adresse 0 arbeiten und
darf erst nach Beendigung des Control Transfers die neue Adresse übernehmen
[USB 2.0: 9.4.6]. Dieser Request muss innerhalb von 50 ms ausgeführt werden
[USB 2.0: 9.2.6.4].
Datenfeld
Wert
Bedeutung
bmRequestType
00000000
Standard, Host to Device, Recipient: Device
bRequest
00000101
SET_ADDRESS
wValue
(1-127)
Temporäre USB-Adresse
wIndex
0x0000
Keine Endpoint- oder Interface-Adresse
wLength
0x0000
Keine Antwort vom Gerät
;******************************************************************************
; USB Standard Request: SET_ADRESS
;******************************************************************************
; Reference: USB2.0 Chapter 9.4.6 response data: none
; Achtung! the new address transmitted must not be written into the UADDR
; register unless the status stage is completed with the current address
SET_ADDRESS
movff wValueLOW,USBAddress ; keep the new address value
movlw 0xFF
movwf SetAddress ; note this request for IN control status transaction
call
transmitNONE ;send an empty packet trough control IN
bra
transtest_over_ctl_out
Es ist Angelegenheit der Interrupt Service Routine, die bei beendeten IN Token
abläuft, festzustellen, ob das Gerät neu adressiert werden muss. Dabei gilt zu beach-
ten, dass auch die Adresse 0 übermittelt werden kann und ein Gerät damit entadres-
siert wird. Es verliert damit seine Konfiguration.
 
Search WWH ::




Custom Search