Hardware Reference
In-Depth Information
7.12 USB488 Subclass Device Requests
DiezweiteErgänzungnachdenUSBTMCDeviceRequestsistdieGruppeder
USB488 Subclass Device Requests, mit der die Gruppe der Control Transfers eines
Test- und Messgeräts dann vollständig ist. Diese Unterklasse ist wie die USBTMC
DeviceRequestsindieGruppederClassspecificRequestseingeordnet.IhreFunk-
tion kann, wie bereits zuvor beschrieben, ebenfalls mit der USBIO Demo Applica-
tion der Firma Thesycon getestet werden. Diese Requests beziehen sich auf Geräte-
funktionen, die sich am Standard IEEE 488.1 orientieren. Sie beeinflussen direkt die
Schnittstellenfunktion des Test- oder Messgeräts. Es sind insgesamt vier Requests zu
bearbeiten, die im Folgenden beschrieben sind.
7.12.1 READ_STATUS_BYTE
Mit diesem Request wird das Status Byte des Geräts ausgelesen, sofern die Schnitt-
stelle nicht über einen Interrupt-IN Endpoint verfügt. Wenn, wie beim Beispielge-
rät der Fall, ein Interrupt-IN Endpoint vorhanden ist, wird mit diesem Request die
Übertragung des Status Byte über den Interrupt-IN Endpoint veranlasst. Dieser
Control Transfer enthält jedoch immer eine Antwort in der Form einer IN Control
Data Transaction, selbst wenn in dieser Antwort nicht der Inhalt des Status Bytes
übertragen wird, sondern lediglich die Konstante 0x00. Wichtig ist jedoch, dass die
Reihenfolge der Aktionen eingehalten wird. Wenn der Request vom Gerät empfan-
gen worden ist, muss als Reaktion darauf zuerst der Inhalt des Status Byte in den
Interrupt-IN Endpoint übertragen werden. Erst danach darf die IN Control Data
Transaction ausgeführt werden. Sofern das nicht möglich ist, weil der Interrupt-IN
Endpoint blockiert ist, dann muss der Request mit der Status-Meldung STATUS_
INTERRUPT_IN_BUSY beendet werden [USB488: 4.3.1.2]. Der Inhalt des Status
Byte wird an dieser Stelle nicht näher beschrieben. Dafür gibt es einen gesonderten
Abschnitt in diesem Buch, an dem alle relevanten Informationen zum Status Byte
an einem Ort zusammengefasst sind.
(1) bTag ist ein Wert zwischen 2 und 127, der vom Host erzeugt und mit diesem
Request übertragen wird. Der Host sollte bTag für jeden neu gesendeten READ_
Datenfeld
Wert
Bedeutung
bmRequestType
10100001
Standard, Device to Host, Recipient: Interface
bRequest
10000000
READ_STATUS_BYTE
wValue
(bTag)
bTag im lower Byte von wValue(1)
wIndex
0x0000
Interface-Adresse(2)
wLength
0x0002
Es werden 3 Bytes vom Gerät erwartet
 
Search WWH ::




Custom Search