TM
expandIO-USB
Driver-free USB I/O expander for software-controlled peripherals
Summary
Figure 1: How
expandIO-USB is an ultra-low cost USB I/O expander.
expandIO-USB
PC
It allows a PIC microcontroller to be remotely controlled
works
via USB, significantly reducing time-to-market for simple
USB-based products.
expandIO-USB provides control of most microcontroller
functions and is available for PIC18F14K50, LF2455,
Commands
sent by USB
and LF4455 microcontrollers.
expandIO-USB uses the Human Interface Device (HID)
USB profile. It does not require USB drivers and so is
.
USB Status
Crystal /
immediately plug-and-play compatible with present and .
expandIO-USB
Indicators Resonator
.
future Windows, Linux and Mac operating systems.
expandIO-USB is supplied as HexWax firmware, or pre-
I/O under PC control
programmed and pre-configured microcontroller is larger
No microcontroller
programming required
volumes.
A/D-I/O-SPI-I2C-UNI/O
USB Features
I/O Expander Command Set
True HID plug and play - No drivers required
Set/Get register byte/bit
Ultra-low cost, single chip solution
Set/Get digital I/O port/bit
Low speed version can use a low cost resonator,
Get analog input
200 commands per second
Interrupt Event
Full speed version can process up to 32K
commands per second
Matrix Scan (for matrix keyboards)
Product name, manufacturer name, serial
SPI / I2C / UNI/O synchronous serial master
number, GUID & 122-byte EEPROM configurable
Multiplex Output (for LED displays)
over USB
Stream Data
No Vendor ID / Product ID registration required
Wait
USB 2.0 compatible
USB / Self Power inputs
Applications
Optional Configured, Suspended and All-
PC peripheral control
Systems-Go, Tx / Rx indications
Embedded system peripheral control
DIL, SSOP, TSSOP and QFP packages
Rapid development of USB products
PLCs for testing and automation
Peripheral Features
Table 1. Peripheral feature matrix
Firmware Factory USB Product Family
Base PIC18F
14K50 2455 4455
Microcontroller
USB-232 asynchronous serial interface
I/O pins 12 21 32
TEAleaf-USB security and authentication dongle
Interrupt on edge 3 3 3
Interrupt on change 0 4 4
expandIO-USB I/O expander
Count / Compare /
1 2 2
USB-SPI synchronous serial slave interface
Pulse Width Moduln
UART (not buffered) 1 1 1
USB-I2C synchronous serial slave interface
SPI/I2C (as master) 1 1 1
USB-DAQ data logger
UNI/O (as master) 12 21 32
Comparators 2 0 2
USB-FileSys USB embedded file system
10-bit A to D 9 10 13
Timer 8-bit 1 1 1
Firmware Factory Ltd
Timer 16-bit 3 2 3
rd
2 Marshall St, 3 Floor
Product ID, low speed
0120 0129 012A
London W1F 9BB, UK
(hex)
sales@firmwarefactory.com
Product ID, full speed
012D 0132 0133
support@firmwarefactory.com
(hex)
DIL,
Available packages DIL,SOIC DIL,TQFP
SSOP
p1 22-Nov-10 expandIO-USB HW148-18 www.firmwarefactory.comThese pin functions, and optional USB status indicator
Electrical Specifications
pins, are described in detail below:
Table 2. Electrical Specifications
Vss, Vdd, Vusb
Operating voltage Vdd, 18LFx45x 2.7V 5.5V
Operating voltage Vdd, 18F14K50 1.8V 5.5V
Vss is the power supply ground reference. Vdd and
Typical/max supply current, Vdd = 5.0 10mA / 21mA
Vusb should be connected to a regulated supply, for
Typical/max Sleep current, Vdd = 5.0 0.1A / 2A
example regulated from the USB bus power.
Operating Temperature -40C to +85C
Refer to base microcontroller data sheet for further information
OSC1, OSC2
OSC1 and OSC2 should be connected to a 12MHz
Part Numbering
parallel cut crystal circuit with 22pF capacitors. It may
be replaced with a 12MHz resonator with 0.25% total
expandIO-USB parts are numbered as follows:
tolerance. In low speed devices, it may be replaced with
expandIO-USB-XX-YY-ZZ
a 12MHz resonator with 1.5% total tolerance, e.g.
Murata 81-CSTCE12M0G55-R0.
where XX is FS for full speed, LS for low speed; YY is
DIL for dual-in-line, PT for TQFP, or SS for SSOP; ZZ is
Vpp, PGC, PCD
20, 28, 40 or 44 according to the number of pins. If XX
TEAclipper programming pins. Refer to the Delivery
is not specified, FS should be assumed. ZZ is only
and Programming section for details. Note that the Vpp
given only for DIL packages.
pin may be subject to voltages as high as 12V during
The following parts are widely stocked by distributors:
programming.
expandIO-USB-FS-DIL-28
Reset
expandIO-USB-PT-FS
This pin should normally be pulled high via a 22k
expandIO-USB-SS
resistor. It may be pulled low to reset the device.
Contact us for information about availability of other
Tx Indication
parts.
Output for connecting to a transmit indication LED. It
Basic Operation turns on for approximately 100ms when data has been
transmitted to the host. This setting is available as
To the PC (host), expandIO-USB looks like a Human
active high or low on any I/O pin.
Interface Device (HID) with which it may exchange
Rx Indication
information using simple commands.
Optional output for connecting to a receive indication
Commands are provided to control most of the I/O and
LED. It turns on for approximately 100ms when data
peripherals of the microcontroller, allowing all product
has been received from the host. This setting is
development to take place in the PC software
available as active high or low on any I/O pin.
application. No microcontroller firmware development is
required.
Tx / Rx Indication
expandIO-USB is available as a full speed device, which
Optional output for connecting to a transmit / receive
can process up to 32K commands per second, or as a
indication LED. It turns on for approximately 100ms
low speed device which can process up to 200
when data has been transmitted to or received from the
commands per second.
host. This setting is available as active high or low on
any I/O pin.
Pin Functions
Configured Indication
Dedicated pin functions are shown in table 3. Note that
Optional output that indicates when the USB interface
some output pins are in a tri-state condition until ~20s
has completed configuration and the host has indicated
after power-on. Pin-outs for the different packages are
that the device may draw its full power setting. Prior to
shown in Appendix II.
configuration completing, the device should draw no
Table 3. Dedicated pin functions
more than 100mA from the bus. Note that the
Name Description configured indication continues to stay high when in
suspend mode, even though the device must consume
NMCLR Reset (active low)
no more than 100A during suspend. This setting is
Vpp TEAclipper Vpp
available as active high or low on any I/O pin.
Vusb USB supply filter
D- USB data -
Suspend Indication
PGC TEAclipper PGC
D+ USB data+
Optional output that indicates when the host is entering
PGD TEAclipper PGD
a sleep state (active low). In this state, the device
Vss Power ground reference
should draw no more than 100A from the bus,
Vdd Power positive input
excluding the consumption of the expandIO-USB chip.
OSC1 Oscillator output
This setting is available as active high or low on any I/O
OSC2 Oscillator input
pin.
p2 22-Nov-10 expandIO-USB HW148-18 www.firmwarefactory.com