EXPANDIO-USB-SS Flexipanel, EXPANDIO-USB-SS Datasheet - Page 5

no-image

EXPANDIO-USB-SS

Manufacturer Part Number
EXPANDIO-USB-SS
Description
USB Interface IC Driver-free USB I/O- expander
Manufacturer
Flexipanel
Series
expandIO-USB™r
Datasheet

Specifications of EXPANDIO-USB-SS

Interface
USB
Number Of I /o
12
Interrupt Output
No
Frequency - Clock
375kHz
Voltage - Supply
2.7 V ~ 5.5 V
Operating Temperature
-40°C ~ 85°C
Mounting Type
Surface Mount
Package / Case
20-SSOP
Includes
-
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Product GUID. If this matches the product GUID you
configured for the device, you have located it.
Once you have located the device, you need to open a
file to communicate with it. You can then send data and
receive data as 64-byte / 8-byte reports as appropriate.
Sample source code for Windows and a Windows
dynamic link library (DLL) are provided in the
development kit. For a detailed description, please refer
to the comments embedded in the source code and the
Visual Basic example in the Excel spreadsheet. Sample
source code for Mac OS and Linux is in preparation.
Commands
Commands are sent from the host and responses are
received from expandIO in the form of HID reports. With
the exception of the EXESPI, EXEI2C and EXEUNIO
commands, all commands and responses are 4 bytes
long. Full speed device reports contain 16 commands /
responses each. Low speed device reports contain 2
commands / responses each. If fewer commands are
sent in a report, the remainder of the report should be
padded out with nulls.
order.
The first byte of a command (byte 0, the leftmost byte in
the examples below) is termed the identifier, and
indicates the type of command. The remaining three
bytes (bytes 1, 2 and 3) are termed the payload.
The EXESPI, EXEI2C and EXEUNIO commands are
slightly different. They may be longer than 4 bytes if
they are the first and only command in the report.
The response to a command will have the same
identifier as the command, (unless an error occurred).
Some events can also generate unprompted responses
at any time.
The response from expandIO-USB is buffered in the
same memory as the incoming commands. Provided no
unprompted responses are sent (e.g. from interrupts),
any unused bytes in the response packet will be
identical to the same byte location in the corresponding
command. This feature may be employed to append
information to allow commands and responses to be
matched.
Note: Accidentally sending a command in the range
0x80-0x8F can modify settings that may permanently
disable the device. During product development, it is
recommended that you work with a device that has been
write locked using HIDconfig.exe. Devices intended for
production should always be write locked.
Null
The identifier NULL (0x00) has no effect. The payload
bytes are ignored.
Example:
Error
The identifier ERROR (0xFF) reports that a command
could not be processed because it had no meaning.
p5
00 00 00 00
00 00 00 00
Null Command
Null Response
22-Nov-10
Commands are processed in
expandIO-USB
Bytes 1, 2 and 3 will be bytes 0, 1 and 2 of the original
command, respectively
Example:
Get Register
The identifier GETREG (0x98) retrieves value of a
microcontroller register. Byte 1 specifies the register as
detailed in appendix I. The response is the same as the
command, except the register value is given in byte 2.
Directly accessing registers requires in-depth knowledge
of the base microcontroller, but it provides greater
flexibility that the other commands. Refer to the base
microcontroller data sheet for details.
Example:
Set Register
The identifier SETREG (0x99) sets the value of a
microcontroller register. Byte 1 specifies the register as
detailed in appendix I. Byte 2 specifies the new value.
The response is the same as the command.
Directly accessing registers requires in-depth knowledge
of the base microcontroller, but it provides greater
flexibility that the other commands. Refer to the base
microcontroller data sheet for details.
Example:
Get Register Bit
The identifier GETBIT (0x9A) retrieves a single bit from
a microcontroller register. Byte 1 indicates the register
as detailed in appendix I and byte 2 indicates the bit (0-
7). In the response, byte 3 is 0 for clear and 1 for set.
Directly accessing registers requires in-depth knowledge
of the base microcontroller, but it provides greater
flexibility that the other commands. Refer to the base
microcontroller data sheet for details.
Example:
Set Register Bit
The identifier SETBIT (0x9B) sets or clears a single bit
of a microcontroller register.
register as detailed in appendix I and byte 2 indicates
the bit (0-7). Byte 3 is 0 for clear and 1 for set. The
response is the same as the command.
Directly accessing registers requires in-depth knowledge
of the base microcontroller, but it provides greater
flexibility that the other commands. Refer to the base
microcontroller data sheet for details.
12 34 56 78
98 CC 00 00
99 CC 5A 00
9A F0 06 00
9B F0 06 01
FF 12 34 56 Error Response
98 CC 5A 00 Response – Value is 0x5A
99 CC 05 00 Response – Value set
9A F0 06 01 Response – Value is 0x01
HW148-18
Meaningless command
Command – Get TMR2 register
Command – Set TMR2 reg to 0x5A
Command – Get INTCON3 bit 6
Command – Set INTCON3 bit 6 to 1
www.firmwarefactory.com
Byte 1 indicates the

Related parts for EXPANDIO-USB-SS