Appendix G USB-MODEVM Protocol
G.1 USB-MODEVM Protocol
Appendix G
The USB-MODEVM is defined to be a Vendor-Specific class, and is identified on the PC system as an
NI-VISA device. Because the TAS1020 has several routines in its ROM which are designed for use with
HID-class devices, HID-like structures are used, even though the USB-MODEVM is not an HID-class
device. Data is passed from the PC to the TAS1020 using the control endpoint.
Data is sent in an HIDSETREPORT (see Table G-1 ):
Table G-1. USB Control Endpoint
HIDSETREPORT Request
Part Value Description
bmRequestType 0x21 00100001
bRequest 0x09 SET_REPORT
wValue 0x00 don't care
wIndex 0x03 HID interface is index 3
wLength calculated by host
Data Data packet as described below
The data packet consists of the following bytes, shown in Table G-2 :
Table G-2. Data Packet Configuration
BYTE NUMBER TYPE DESCRIPTION
0 Interface Specifies serial interface and operation. The two values are logically ORed.
Operation:
READ 0x00
WRITE 0x10
Interface:
GPIO 0x08
SPI_16 0x04
I2C_FAST 0x02
I2C_STD 0x01
SPI_8 0x00
1 I
2
C Slave Slave address of I
2
C device or MSB of 16-bit reg addr for SPI
Address
2 Length Length of data to write/read (number of bytes)
3 Register address Address of register for I
2
C or 8-bit SPI; LSB of 16-bit address for SPI
4..64 Data Up to 60 data bytes could be written at a time. EP0 maximum length is 64. The return
packet is limited to 42 bytes, so advise only sending 32 bytes at any one time.
Example usage:
Write two bytes (AA, 55) to device starting at register 5 of an I
2
C device with address A0:
[0] 0x11
[1] 0xA0
[2] 0x02
[3] 0x05
[4] 0xAA
[5] 0x55
SLAU218 – August 2007 USB-MODEVM Protocol 49
Submit Documentation Feedback