EXPANDIO-USB-SS Flexipanel, EXPANDIO-USB-SS Datasheet - Page 9
![no-image](/images/no-image-200.jpg)
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
1.EXPANDIO-USB-PT-FS.pdf
(15 pages)
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
The interrupts should be configured as high priority, as
they are by default.
Example using interrupt-on-change:
Wait
The identifier WAIT (0xA9) waits until a register bit
changes or a timeout occurs.
register and byte 2 bits 0-2 indicates the bit (0-7). Byte
2 bit 7 is 0 for wait until clear or 1 for wait until set. Byte
3 is the timeout in milliseconds. Actual timeout might
take slightly more time than specified, but never less.
In the response, byte 3 will be the number of
milliseconds remaining before the timeout would have
occurred, or 0 if it did occur. The timeout is required, as
USB commands are not processed during wait periods.
Example:
Matrix Scan
The identifier SCANMATRIX (0xAA) configures a
keyboard matrix scan on two ports.
indicates the scan port and byte 1 bits 0-3 indicate the
data port (Disable=0000, A=0001, B=0010… for both).
Byte 2 is a mask which indicates which bits to enable on
the scan port. Byte 3 is a mask which indicates which
bits to enable on the data port. Only one scan operation
be in progress at any one time.
Once this command is sent, all enabled pins on the first
port are tri-stated. When expandIO-USB is idle, it will
scan these outputs by setting them one by one to a high
output state and observing the state of the input port. If
the state of the input port (for a given scan line on the
output port) has changed since the last scan, a
SCANMATRIX response will be generated unprompted.
Byte 1 will indicate the output port bit and byte 2 will
indicate the input port value.
p9
98 81 00 00
9B F2 00 00
9B F2 03 01
9B F2 00 00
9B F2 03 01
A9 81 83 FF
AA 23 07 FF
98 81 3F 00 Response: Port B is 0x3F
9B F2 00 00 Response: Cleared RBIF
9B F2 03 01 Response: Set RBIE
95 00 00 00
9B F2 00 00 Response: Cleared RBIF
9B F2 03 01 Response: Re-Set RBIE
95 00 00 00
A9 81 83 00 Response – timed out
AA 23 07 FF Response – Confirm command
AA 03 7B 00 Response – Port C changed to 7B
Command: Read Port B (Clears any
mismatch condition – refer to base
microcontroller data sheet)
Command: Clear RBIF
Command: Set RBIE
Response – An interrupt occurred
Command: Clear RBIF
Command: Re-Set RBIE
Response – An interrupt occurred
Command – wait for Port B bit 3 to set
or 255ms to elapse
Command – Set Port B bits 0-3 out,
all of Port C in
when Port B bit 3 high
22-Nov-10
Byte 1 indicates the
Byte 1 bits 4-7
expandIO-USB
A typical matrix scan circuit is shown in figure 6. If it is
necessary to correctly detect if more than one key is
pressed at a time, line isolation diodes as shown in
figure 7 will be required. To avoid the need for switch
de-bouncing, scans are only made every 25 ms.
Multiplex Output
The
CCMULTIPLEX (0xAE) configure a display multiplex on
two ports. Byte 1 bits 4-7 indicates the scan port and
byte 1 bits 0-3 indicate the data port (Disable=0000,
A=0001, B=0010… for both). Byte 2 is a mask which
indicates which bits to enable on the scan port. Byte 3
is a mask which indicates which bits to enable on the
data port.
The identifier MPXDATA (0xAC) specifies the data to
output on the data port for each scan state. Byte 1
indicates which scan bit (0-7) the data is for and byte 2
indicates the value to output on the data port when that
scan bit is active. Inactive bits on both ports are tri-state.
Byte 3 is the brightness, expressed as a duty cycle from
00 (off) to 255 (fully on). When setting brightness levels,
bear in mind that perceived brightness is logarithmic.
If the CAMULTIPLEX command is specified, the scan bit
is active high and the data bits are active low, suitable
for common anode displays.
command is specified, the scan bit is active low and the
data bits are active high, suitable for common cathode
displays. Only one multiplex operation be in progress at
any one time.
Once this command is sent, the scan port pins will be
activated for exactly equal periods (~1ms) and at the
same time the data output port will output the data
specified by the MPXDATA commands. Timer0 is used
to implement the multiplex function
Figure 6
AA 00 00 00
Figure 7
AC 02 45 FF
AA 03 73 00 Response – Port C changed to 73
AA 00 00 00 Response – Confirm command
HW148-18
identifier
when Port B bit 3 high
Command – Stop scanning
Command – When scan bit 2 high,
CAMULTIPLEX
.
.
.
.
Scan lines
Scan lines
.
.
.
.
.
.
.
.
Output 45 on Port C’s
data pits, full brightness
If the CCMULTIPLEX
www.firmwarefactory.com
.
.
.
.
Vss
Vss
.
.
.
(0xAB)
.
22k
22k
Input
lines
Input
lines
and