Table of Contents

Serial Smart Board (SB-5)

When attached to the IO-204 module, the Serial Smart Board acts as a serial port.

Theory of Operation

The serial board has a 200 byte FIFO receive buffer. This is necessary because the host module manages so many things as once. It cannot listen solely to a serial board. As data is received from an external serial peripheral, it is placed in the FIFO buffer. Approximately once per second, the host module check the buffer. If there is data in the buffer the module will fetch up to 50 characters of it and pass it along to the ioBridge server. Any remaining data will be grabbed the next time the module checks the buffer one second later. Therefore, regardless of the baud rate set for the serial board, there is only an effective transfer rate of 50 characters per second on in-bound serial data. Obviously this is a large throughput by today's standards. But the serial board is meant for serial based sensors and interfacing with microcontrollers where the individual message lengths are short.

On the transmit side of things (serial data being sent from the serial board), there is no buffer involved. Data received by the module and passed along to the serial board is transmitted immediately. However, the out-bound messages still must be 50 characters or less.

Technical Details

Pinout

+5V - Power

TX - Serial transmit

RX - Serial receive

RTS - Ready-To-Send (goes low when RX buffer is full)

GND - Ground (must be connected to the ground of external circuit)

Supported Modes

This serial board is capable of serial communication with the following settings only.

Pacing

Pacing is a setting available on the module configuration page under the I/O channel for which the serial board is attached. This value sets the number of milliseconds to wait between the transmission of individual bytes from the serial board. For example, if pacing is set to 500 and the character sequence “AB” is sent to the serial board for transmission, there will be a 500ms delay between the “A” and the “B” as they are sent from the TX pin. The purpose of pacing to allow a microcontroller time to process each byte of data and then resume listening for the next byte.

Logic Levels

The serial board operates naively on TTL voltage levels, 0v/5v. However, the RX pin will accept other voltage levels, such as 0v/3v and RS-232 levels of -10v/+10v. Be sure that the external circuit is capable of receiving 5v from the TX pin as that voltage is not adjustable.

RTS Line

RTS, short for Ready-To-Send, Indicates the condition of the 200 byte receive buffer. If the buffer is capable of receiving additional bytes of data, the RTS will be high (5v). If the buffer fills completely with 200 bytes, the RTS line will go low (0v). At this point any additional bytes received through the RX pin of the serial board will be lost. As the data bytes are removed from the buffer by the module, the buffer will again be free to receive more data and the RTS line will go high.

Linking Two Serial Smart Boards

Serial Smart Boards can be linked to create a “virtual serial cable” that spans the globe. The two serial boards must be attached to modules under the same user account. To create a serial link, go to Actions and clink Create Action. There you can choose Serial Link select the proper module information.

By default, a two-way serial link is created between the serial boards. However, if only one-way communication is needed, the appropriate entry can be removed from the the Actions table.

Accessing Serial Data

Through Widgets

The following widgets are available under the Create Widget menu.

Encoding Special Characters

To encode special characters that cannot normally be typed into the browser, use URL encoding. For example, To include a carriage return and line feed in a serial message use %0D%0A. A complete list of URL character codes can be found here:

http://www.w3schools.com/TAGS/ref_urlencode.asp

Through the API

Resources

Serial Web Services API