Code Mercenaries IOW56-DG User manual

Code Mercenaries
1
IIIIOO
OO
WW
55
55
66
66----
DD
DD
GG
GG
1. Features
• USB interface
• USB V1.1/2.0 full speed device
• 50, 100, or 400 kHz I2C (IIC / TWI) master
• SPI master up to 8 MBit/sec
• Throughput up to 60 kbyte/s
• Based on IO-Warrior56
• Supports clock stretching on I2C
• Multi master capable I2C
• 5 V and 3.3 V available for external circuit
• Uses standard system drivers
• Standard form factor, no blocked ports
• Extended temperature: -10 to +85°C
1.1 Variants
The standard IOW56-DG is shipped as a kit containing an assembled and tested PCB, a two part dongle case, and a ten wire cable to solder to the dongle as required for the target application.
1.2 Custom variants
OEM versions with specialized cables or custom modifications are possible
2. Functional overview
IOW56-DG packages a standard IO-Warrior56 in a small form factor dongle case with a 3.3 V voltage regulator. The SPI and I2C signals of the IO-Warrior56 are made available externally through solder pads to allow application specific cabling to be attached. All software and tools for IO-Warrior56 are also usable for the dongle. The I2C interface works as a bus master, supports clock stretching handshake and multi master configurations. SPI works as a master with clock rates up to 8 MHz (cable length may be critical at higher clock rates). For compatibility with low voltage slaves the internal pull up resistors of IOW56 can be switched off by software command. Pull up control is independent for SPI and I2C.
3. Connecting the cable
The function of the signals is marked on the board next to the solder pads for the cable: SS SPI - Slave Select, active low +5 5V from USB, max. 100 mA MOSI SPI - Master Out Slave In RDY SPI - /DRDY SCK SPI - Serial clock MISO SPI - Master In Slave Out GND Ground SDA I2C SDA signal SCL I2C SCL signal
3.3 3.3V output, max. 50 mA
Solder the cable to the pads as required for your application. The 5 V and 3.3 V supplies are meant to be used exclusive of each other. If both are used at the same time the combined current may not exceed 100 mA.
Dongle shown from both sides.
V1.0.1 October 6th 2012
USB to SPI and I2C Dongle based on IO-Warrior56
Code Mercenaries
2
IIIIOO
OO
WW
55
55
66
66----
DD
DD
GG
GG
3.1 Compatibility with 3.3 V slaves
If a 3.3 V slave is to be connected the internal pull up resistors of the IOW56 should be switched off by software on enabling the I2C or SPI function. This requires external pull up resistors which may be added either on the slave side or soldered to the lower side of the dongle PCB. It is recommended to add protection diodes so the slave does not get exposed to 5 V on the signal lines before the SPI or I2C function of the IOW56 is initialized. There are landing pads for pull up resistors connecting to 3.3 V on the lower side of the dongle PCB
3.2 Pull Up resistor positions
4. Software/Programming support
The IO-Warrior SDK is used with the dongle. The SDK, additional software, and the data sheet for the IOW56 are available on our website.
5. FCC / CE
The IOW56-DG is sold as kit. As such it can not be FCC or CE approved. Code Mercenaries has excerted greatest care in designing this module to minimize RF emission and assure stable operation. Though the use of proper cable materials and correct integration into a device is crucial to assure product safety and interference free operation. The integrator who assembles the module into a device has to take care for appropriate testing and safety measures.
6. Ordering information
The standard packaging for IOW56-DG is a blister pack containing the parts for one unit. The order code is: IOW56-DG Bulk packs with the parts for 10 units in a bag are availabe under the order code: IOW56-DG10
Legal Stuff
This document is ©1999-2012 by Code Mercenaries.
The information contained herein is subject to change without notice. Code Mercenaries makes no claims as to the completeness or correctness of the information contained in this document.
Code Mercenaries assumes no responsibility for the use of any circuitry other than circuitry embodied in a Code Mercenaries product. Nor does it convey or imply any license under patent or other rights.
Code Mercenaries products may not be used in any medical apparatus or other technical products that are critical for the functioning of lifesaving or supporting systems. We define these systems as such that in the case of failure may lead to the death or injury of a person. Incorporation in such a system requires the explicit written permission of the president of Code Mercenaries.
Trademarks used in this document are properties of their respective owners.
Code Mercenaries Hard- und Software GmbH Karl-Marx-Str. 147a 12529 Schönefeld OT Grossziethen Germany Tel: x49-3379-20509-20 Fax: x49-3379-20509-30 Mail: support@codemercs.com Web: www.codemercs.com
HRB 9868 CB Geschäftsführer: Guido Körber, Christian Lucht
V1.0.1 October 6th 2012
Code Mercenaries
1
IIIIOO
OO----
WW
aa
aarrrrrrrriiii
oo
oorrrr
55
55
66
66
1. Features
• Full speed USB interface (12MBit/sec)
• Full USB V2.0 compliant full speed device
• Full USB HID 1.1 compliance
• 50 general purpose I/O pins
• IIC master with 50, 100, or 400kbit/sec, multi master capable
• Supports a wide range of alphanumeric and graphic LCD modules
• SPI master up to 8MBit/sec
• Drives a LED matrix up to 8x64 with external shift registers
• Drives a 8x8 key or switch matrix
• Easy to use starter kit
• Software support for Mac(10.2 and up), Linux (Kernel 2.6), and Windows (XP and up)
• No USB knowledge necessary to use
• Single +5V power supply
• Available in MLFP56 package or 100mil spaced through hole module.
• Extended temperature range: -40°C to +85°C
1.1 Variants
Right now the IO-Warrior chip family is available in three low speed and one full speed variant. This data sheet describes the full speed variant IOW56. For the low speed IO-Warrior chips please refer to the separate data sheet.
1.2 Custom variants
Custom adaptions are available on request.
1.3 Supported OSes
WinXP and later Compatibility with older Windows version is not tested and no support available for those Linux kernel 2.6 and up MacOS X 10.3 and up
2. Functional overview
IO-Warrior offers a simple access to the USB. Many projects that formerly used the parallel port or some other kind of direct I/O interface today face the problem that getting simple things to work on the USB is quite complex. With a serial or parallel port you needed only a simple circuit to control an external relay or read a single switch. With USB you need a microcontroller that handles all the protocol work to do the same thing. Several standard commands need to be supported to get a device accepted as a USB device, let alone implementing any real function. IO-Warrior brings simplicity to the USB. The protocol is encapsulated in the IO-Warrior Chip. You only have to care about the I/O pins and have to write only a few simple lines of code to access them. IO-Warrior also supports a range of industrial standard interfaces to simplify interfacing to certain chips or modules. These interfaces are handled internally in IO-Warrior removing the bandwith wasting controlling of individual pins.
V 1.0.3, November 6nd 2012 for chip version V1.1.0.1
Generic universal I/O Controller for USB
Code Mercenaries
2
IIIIOO
OO----
WW
aa
aarrrrrrrriiii
oo
oorrrr
55
55
66
66
2.1 Product selection matrix
2.2 Starter Kits
With the IO-Warrior Starter Kits you can make your first steps with IO-Warrior 56. A few elements on the kit allow first experiments with inputs and outputs, the bread board area provides space to test your individual circuit. The starter kits are sold unassembled. A few minutes soldering will provide you with a working unit.
Actual components supplied with the kit may vary from those shown here.
Type USB Speed I/O Pins LCD IIC SPI RC5 IR Keys LEDs Timer SSOP48 DIL24 SOIC24 MLFP56 Module IO-Warrior40 IO-Warrior24
low low
32 16

 
8x16 8x32
8x32

IO-Warrior56 full 50  8x8 8x64 
V 1.0.3, November 6nd 2012 for chip version V1.1.0.1
Code Mercenaries
3
IIIIOO
OO----
WW
aa
aarrrrrrrriiii
oo
oorrrr
55
55
66
66
3.0 Pin Configurations
IO-Warrior56-LFXI
MLFP56 Package
All drawings: TOP VIEW!
V 1.0.3, November 6nd 2012 for chip version V1.1.0.1
P2.3
P2.5
P2.7
P0.1
56
55
54
1
P0.3
P0.5
53
525051
P0.7
Gnd
Vcc
P0.6
49
48
P0.4
47
P0.2
46
P0.0
45
P2.6
44
P2.4
43
42
P2.2
P2.1
P4.7
P4.5
P4.3
P4.1
P3.7
P3.5
P3.3
P3.1
P5.7
P5.5
P5.3
P5.1
10
11
12
13
14
2
3
4
5
6
7
8
9
15
16
17
18
192120
22
23
24
25
26
27
41
40
39
38
37
36
35
34
33
32
31
30
29
28
P2.0
P4.6
P4.4
P4.2
P4.0
P3.6
P3.4
P3.2
P3.0
P5.6
P5.4
P5.2
P5.0
P1.7
P1.5
D-
D+
P1.3
Gnd
P1.1
Vcc
P6.7
P6.0
P1.0
P1.2
P1.4
P1.6
Code Mercenaries
4
IIIIOO
OO----
WW
aa
aarrrrrrrriiii
oo
oorrrr
55
55
66
66
IO-Warrior56-MOD
Module
Pin numbers
All drawings: TOP VIEW!
1234
56
78
910
11 12
13 14
15 16
17 18
19 20
21 22
23 24
25 26
27 28
29 30 3132
3334
3536
3738
3940
4142
4344
4546
4748
4950
5152
5354
5556
V 1.0.3, November 6nd 2012 for chip version V1.1.0.1
Code Mercenaries
5
IIIIOO
OO----
WW
aa
aarrrrrrrriiii
oo
oorrrr
55
55
66
66
IO-Warrior56-MOD
Module
Pin names
All drawings: TOP VIEW!
V 1.0.3, November 6nd 2012 for chip version V1.1.0.1
P1.5
P5.1
P5.5
P3.1
P3.5
P4.1
P4.5
P2.1
P2.5
P0.1
P0.5
P0.6
NC
P1.3
P1.7
P5.3
P5.7
P3.3
P3.7
P4.3
P4.7
P2.3
P2.7
P0.3
P0.7
NC
GndD-D+
Vcc
P1.0
P1.2
P1.6
P5.2
P5.6
P3.2
P3.6
P4.2
P4.6
P2.2
P2.6
P0.2
P6.7
P6.0
P1.1
P1.4
P5.0
P5.4
P3.0
P3.4
P4.0
P4.4
P2.0
P2.4
P0.0
P0.4
Code Mercenaries
6
IIIIOO
OO----
WW
aa
aarrrrrrrriiii
oo
oorrrr
55
55
66
66
4.0 Pin Assignments IO-Warrior56
Pi # MLFP56 Pin# Module Type Name Special function
1 2
22 19
I/O I/O
P2.3
P2.1X3X2 3 4 5 6
20 17
I/O
I/O 18 15
I/O
I/O
P4.7 P4.5 LCD-CS1 (not driven by special mode function) P4.3 P4.1
LCD-E-/RE
LCD-RS 7 8 9
10
16 13
I/O
I/O 14 11
I/O
I/O
11 12 13 14
12
9
I/O
I/O 10
7
I/O
I/O
P3.7 P3.5
LCD-Data7
LCD-Data5 P3.3 P3.1
LCD-Data3
LCD-Data1 P5.7 P5.5 P5.3 P5.1
SPI-/DRDY
SPI-/SS
15 16 17 18
8 5
I/O I/O
6
53
I/O
I/O 19 20 21 22
4 3
power
USB 2 1
USB
power
P1.7 P1.5
IIC-SCL
IIC-SDA P1.3 P1.1
LED-/OE
LED-Clk, undefined state during start up Gnd D+ D­Vcc
23 24 25 26
56 55
I/O
I/O 54 52
I/O
I/O
27 28 29 30
51 50
I/O
I/O 49 48
I/O
I/O
P6.7 P6.0 Power select during start up P1.0 P1.2
LED-Data, undefined state during start up
LED-Strobe P1.4 P1.6 P5.0 P5.2
SPI-SCK
SPI-MOSI
31 32 33 34
47 46
I/O
I/O 45 44
I/O
I/O
35 36 37 38
43 42
I/O
I/O 41 40
I/O
I/O
P5.4 P5.6
SPI-MISO
P3.0 P3.2
LCD-Data0
LCD-Data2 P3.4 P3.6
LCD-Data4
LCD-Data6 P4.0 P4.2
LCD-/On
LCD-R/W-/WE
39 40 41 42
39 38
I/O
I/O 37 36
I/O
I/O
43 44 45 46
35 34
I/O
I/O 33 32
I/O
I/O
P4.4 P4.6
LCD-E2-/RES
LCD-CS2 (not driven by special mode function) P2.0 P2.2X0X2 P2.4 P2.6X4X6 P0.0 P0.2Y0Y2
47 48 49 50
31 27
I/O I/O
-
-
power
power 51 52 53 54
28 25
I/O
I/O 26 23
I/O
I/O
P0.4 P0.6Y4Y6 Vcc Gnd P0.7 P0.5Y7Y5 P0.3
P0.1Y3Y1 55 56
24 21
I/O I/O
P2.7
P2.5X7X5
V 1.0.3, November 6nd 2012 for chip version V1.1.0.1
Code Mercenaries
7
IIIIOO
OO----
WW
aa
aarrrrrrrriiii
oo
oorrrr
55
55
66
66
4.1 Pin descriptions
D+, D-
Differential data lines of USB. Put 24 series resistors in these lines and connect them to the USB cable or plug, see application circuit for details. The IOW56-MOD already has the series resistors. For a PCB layout make sure to run these two signals next to each other. USB data is a differential signal that produces best signal quality and lowest RF emission if the two lines are close to each other.
P0.0..P0.7
First I/O port of the chip. These pins correspond with the lowest 8 bits of the input or output (bits
0..7).
P1.0..P1.7
Second I/O Port. Corresponds to the bits 8..15. P1.0 and P1.1 are used during production of the IOW56. After power up and during the internal start up process of IOW56 these two pins can change their status a couple times. Take this into account when connecting external circuits.
P2.0..P2.7
Third I/O Port. Corresponds to the bits 16..23.
P3.0..P3.7
Fourth I/O Port. Corresponds to the bits 24..31.
P4.0..P4.7
Fifth I/O Port. Corresponds to the bits 32..39.
P5.0..P5.7
Sixth I/O Port. Corresponds to the bits 40..47.
P6.0, P6.7
Seventh I/O Port. Corresponds to the bits 48 and
55. This port has only two pins. Always write the unused bits as "1".
GND
Power supply ground.
Vcc
Supply voltage.
A 100nF ceramic capacitor is required to be connected directly to each pair of the power supply pins. The IOW56-MOD already has the capacitors. The MLFP56 package has a center ground pad that must be connected to ground (Vss).
4.2 Special mode pin functions
IO-Warrior56 supports various higher level functions including IIC, SPI, LED matrix, key matrix, and driving various LCD modules. Handling IIC via the normal generic I/O would be very slow as each edge of data and clock would have to be transmitted separately. At a rate of 1000 such transactions per second (which is the maximum IO-Warrior56 is allowed by USB specifications) the maximum bit rate and throughput would be around 250 bits/sec. To make IIC and other devices usable IO-Warrior implements the special mode functions. By handling the IIC inside IO-Warrior the actual data rate is approaching the theoretical maximum. When any of the special mode functions is activated the corresponding pins will no longer respond as generic I/O pins but are under control of the activated special mode function.
4.2.1 IIC Mode pins
IO-Warrior56 can act as an IIC master with 50, 100, or 400kbit/sec data rate. Multi master mode is supported. IO-Warrior56 supports clock stretching handshake with slaves that need throttling of the data flow. The following pins get reassigned when the IIC function is enabled:
These pins will no longer be affected by the data sent via the normal port setting command. Both pins have internal pull up resistors and open drain drivers. They can be connected direct to IIC compatible chips. Optionally the internal pull up resistors can be disabled by setting the appropriate flag in the IICenable command. This allows operation with lower voltage IIC slaves.
Function IOW56 SCL SDA
P1.7 P1.5
V 1.0.3, November 6nd 2012 for chip version V1.1.0.1
Loading...
+ 19 hidden pages