Home ] Up ] Software ] Microcontroller ] [ IASI ] I/O ] I2C ] Serial ] Wire ] Other ] Terms ]

Cart Quantity: Total:

  Select Device  
  BV4102
BV4103
BV4105
BV4106
BV4107
BV4108
BV4113
BV4115
BV4116-7
BV604

 

 
     
 
  IASI  
  This IASI (Intelligent Asynchronous Serial Interface) allows a very easy solution for many hardware problems. The interface is based on a serial RS232 or TTL logic and plane ASCII text. Two letter commands are sent to the device to control such things as LCD displays, Keypads, Stepper motors etc. There is a full range of devices in this section.

There is a new IASI2 protocol being introduced to the IASI devices, below is a description of the original protocol. The new protocol is included is described below and on the relevant datasheets.

** New VB 2005 Express Edition source code examples of driving the devices  **

The products in the range listed below are:

BV4102 3 colour 8 x 8 LED Matrix - New IASI2 Protocol
BV4103[-20] Blue LCD Displays  - New IASI2 Protocol
BV4108 LCD controller  - New IASI2 Protocol
BV4113 DC / Stepper motor controller  - New IASI2 Protocol
BV4115 Remote sender, Packet Transmitter - uses IASI-1 protocol for description see IASI-Description and Protocol.pdf
BV4116 Packet receiver - uses IASI-1 protocol for description see IASI-Description and Protocol.pdf
BV4117 Packet transceiver - uses IASI-1 protocol for description see IASI-Description and Protocol.pdf
BV604 This is a serial lead for connecting to a standard COM Port

IASI 2 Serial Communication

Electrical Interface

The serial interface consists of 5 connections, of which, only four will be used at any one time. The connection details are as follows:

Pin 1 RX(m) Signal in non-inverted
Pin 2 TX Signal out controlled by software
Pin 3 +5V Power
Pin 4 RX(232) Signal in inverted for direct connection to RS232
Pin 5 GND Ground

There are two interface options, RS232 via a standard PC COM port (Pins 4 and 2) or from a microcontroller UART (pins 1 and 2). As an example to interface to a standard 9 pin D type connector the following connections would be made.

Connection Via PC Com Port (Inverted) - Single Device

RS232 9 Pin  IASI
Pin 2 Pin 2
Pin 3 Pin 4
Pin 5 Pin 5
Short pins 1,6,4  
Short pins 7 and 8  

The above shows how to connect a device via a standard PC-COM port or a USB to RS232 convertor, the type used when no COM port is available. This method of connection is designed for single devices although multiple devices can be used if only the TX line from the com port is used.

Connection Via UART (Non-inverted) - Multiple Devices

UART  IASI
TX Pin 1
RX Pin 2
no connection Pin 4
+5V Pin 3
Ground Pin 5
 
RS232 to TTL Convertor USB to TTL Convertor

BV201

BV101

The above is the connection details for connecting to a microcontroller or when using a BV101 or BV201 that will output TTL logic levels to the device. This method must be used for multiple devices on the same bus.

Software

The IASI-2 protocol has been designed to allow serial communication over either a standard RS232 COM port or a microcontroller UART. At the physical level it uses a start bit, 8 data bits and 1 or 2 stop bits so most standard terminals would be able to communicate. There is no need for a voltage level translator as it has two inputs, one for 5V and the other for RS232 plus and minus 12V. For backward compatibility the electrical interface is exactly the same as the original IASI specification.

All devices have an address and so more than one device can be attached to the same bus, the software can then direct commands to the correct device by using its address. the address consists of one byte, see system commands further down the page.

The protocol uses a single byte for addressing and commands from the following range:

  • Special commands    Range 1-31 (effects all devices - non addressable)
  • Reserved                  Range 32 - 64
  • System commands    Range 65 - 96 ( 'A' - '`' )
  • Device commands    Range 97 - 122 ( 'a' - 'z' )
  • Device addresses     Range 97 - 122 ( 'a' - 'z' )

The protocol uses the byte value and does not care about its ASCII code equivalent, however the ranges have been chosen so that system commands are all upper case and device commands are all lower case when printed out or if using a terminal for input. This makes the commands easer to visualise and remember.

All devices share a common set of system commands.

Command

Description

A

Address

B

Write to EEPROM

C

Turn off ACK

D

Delay

E

Turn off error reporting

F

Factory reset

G

Read EEPROM

U

Unlock

M

Macro run at start up

N

Switch to non-inverted

P

Print contents of EEPROM

R

Reset device

V

Version

T

Test macro

Z

Create macro

The above table shows the system commands available to all devices. When devices leave the factory they are all configured with address 97 ('a'). This can be changed to any in the allowed range by using the system command 65 ('A'). Most devices also have an EEPROM that the user can store data to, only the first 16 bytes are reserved for system use. this leaves 240 bytes for the user (depending on the device). The LCD (BV4103) for example can use this to store messages.

As an example, to check the firmware version of the device for example the following sequence would be sent:

sendByte(97); sendByte(86);

The device will respond with 3 bytes, the two version bytes and the ACK character 62. This character can be detected (waited for) in software to verify a successful command. Using the chosen characters this looks like the following on a terminal:

aV

1a>

The choice of ranges above makes it easy to use when experimenting manually and also easy to use for a microcontroller or some other from of automation.

Special Commands

There are currently 3 special commands, Address discovery(1), Reset(3) and Invert(4). These commands will cause all of the devices on the bus to respond, the commands in the special range do not need to send the address.

Address discovery allows an automated system to determine how many IASI2 devices are connected  to the bus and what their addresses are. When this command is sent the device will respond with its address, but depending on what address it has will determine the amount of time it takes to respond. Each address is separated by 30ms and so the first address 'a' (97) will respond immediately but 'h' for example will wait for 210 ms before responding. This method allows all of the devices to respond without causing a clash on the bus. The command can be sent using a terminal by pressing CTRL-A.

The Invert special command refers to the output of the device. All devices output via pin 2 of the IASI connector and by default this output is inverted data, electrically this means that in the idle state the output is low and a bit is high. This will work with a standard COM port attached to a PC or a standard serial convertor of the type used for laptops where no COM port exists. The output is only 0v and 5V, rather than the plus and minus 12V RS232 specification but this will work with nearly all standard COM ports.

The purpose of this command is to invert the output so that the idle sate is now +5V and the data is 0V. This will now be suitable for connection to a microcontroller UART or an RS232 to TTL convertor (see BV101 and BV102). The other advantage of using this mode is that, because pin 2 is open collector, more than one device can output to the same bus. The IASI specification has two inputs, inverted and non-inverted so this only applies to the output pin 2.

The command can be send using a terminal by CTRL-D. More details are available on the individual device data sheets.