In many occasions we need to transfer data between serial isolated
devices (controllers, programmable logic controllers or computers),
located at long distance or in inaccessible locations. In these
locations the only way to communicate is over GSM network (Tisal, J.,
1999; Hammuda H., 1999). Also, all these devices are produced by third
party producers and we do not have possibility to upgrade their software
or add drivers (Bajenarescu T, 2000). In this case we need new equipment
which adapt the signals and connect our isolated devices through GSM
network. The equipment will ensure end to end communication connection
protocol between three independent serial lines (two R[S.sub.2]32 lines
and one RS485 line).
Until now, many manufacturers offer dedicated devices for
communicating over GSM using modems connected through USB cables
(Bajenarescu T, 2000). But we have a lot of old devices that not support
USB connections. Also the modems request software driver or additional
hardware modules implemented into connected device. Presented solution
solves these requests by introducing a hardware protocol level between
two communicating end points equipments.
2. GENERAL DESCRIPTION
The system proposed is composed by two communication devices. Each
device is able to communicate with the pair device, and create a direct
channel between each corresponding port (Fig. 1.). The device creates
three parallel communication channels for each port. Attached to each
port the device creates an internal 1024 Bytes buffer for data
synchronization. For communication, each port status is show using 3
status LEDs (for data transmission, data receiving and buffer
[FIGURE 1 OMITTED]
[FIGURE 2 OMITTED]
Additional the communication device have attached an Ethernet port.
Over this port the operator can connect, using a notebook, with internal
CPU unit data and configure the communication device parameters.
To ensure link with GSM network the communication device contains
the GSM air connection modem.
The activity of all modules is synchronized by micro-controller
unit. The microcontroller run dedicated software for implementation of
communication protocol and link connection between unit and GSM modem.
2.1 Hardware Architecture
To solve all this requests (see Fig. 2) we are using an RCM-4010
Rabbit 8 bits CPU unit @ 59 MHz (Rabbit Semiconductor Inc, part of Digi
International). This CPU is offering us possibility for connection of
four serial USART connection ports (Rabbit Semiconductor Inc., 2006).
Also the CPU has one Ethernet port on board for TCP/IP connection and
implemented of one Web Server in system driver library. For saving data
the CPU contain a data flash on board. Two USARTs from CPU board are
connected with RS232 external devices (COM2 and COM3) using RS232
interface line adapters (see Fig. 2.) and one USART is connects RS485
devices (over COM1 connector) with our controller through RS485
interface line adapter. The connection with GSM modem is ensuring using
low voltage serial port COM4 from CPU board (Rabbit Semiconductor Inc.,
The Rabbit 4000 series CPU offer us possibility for parallel
multitasking software programming through Dynamic-C compiler (Rabbit
Semiconductor Inc., 2006).
Modem used for communication with GSM Network is Motorola G24-Lite
(G24-L) modem. This modem implements Motorola G24 AT commands for
communication and control.
On GSM network the modem supports GSM/CSD protocol for data
transfer on quad band GSM networks (850/900/1800/1900 MHz) and GPRS
multislot class 10 (Motorola Inc, 2008).
Modem, micro-controller and interfaces are integrated in the same
compact enclosure (see Fig. 1). The module can be powered from 8-30V
power supply. The external ports (communication ports and Ethernet port)
are placed one the front of enclosure for easy access.
[FIGURE 3 OMITTED]
2.2 Software Architecture
All software is created based on parallel programming mechanism,
ensured by Dynamic-C compiler language for Rabbit 4000 processors
(Rabbit Semiconductor Inc, 2006). The software is divided in five
threads, started by main application (see Fig. 3):
* Three of them are responsible with serial data processing
incoming over R[S.sub.2]32 connections with local communication devices
(named serialProcessl, serialProcess2, serialProcess3);
* One thread is responsible with processing of web interface (named
* One thread is monitor communication with GSM modem, and monitor
GSM communication line (for testing GSM signal strength, verifying GSM
incoming connection), named gsmProcess;
* One thread is responsible with data delivery over GSM
communication line (named gsmDataProcess). serialProcess thread, is the
base thread which processing incoming data from R[S.sub.2]32 line (COM1,
COM2 or COM3). This process is buffering incoming data from R[S.sub.2]32
controller's device driver. The process also drive synchronisation
signals between controller and serial attached device. Also, the same
process analyse one of the data receiving from GSM remote unit from data
queues. If some data are found in attached queue, the data is extract
from that queue and send through corresponding serial device driver,
byte by byte.
gsmProcess thread is responsible with monitoring of GSM line. This
thread monitors if is signalling a GSM connection from other threads.
The process will force a connection with remote GSM unit, if GSM signal
is able to ensure clear connection with the remote unit. When the
connection with remote unit is established the process will send a
signal in system. In case of incoming request from remote GSM unit, the
process is responsible with ensure of correct answer to establish the
connection with remote unit. After this, the process will signal in
system that connection is ensured. All protocol syntax is described into
G24-L modem device driver (Motorola Inc., 2008).
gsmDataProcess thread is responsible with processing of stream of
data transferred through GSM communication line with remote unit. The
activity of this process is divided into two main tasks. One task is
involved with testing of serial receiving queue; in case of detecting at
least one character, the thread will request a GSM connection with the
remote unit over G24L modem. The other task of this thread is monitoring
of incoming data stream from GSM network. When data are receiving, the
task get data extract from data package the serial information data and
transfer it to destination data buffer.
And at last is the webProcess thread. This thread is responsible
with presentation of the status of the unit and configure of the unit on
a web page. This web page can be accessed through TCP/IP layer over
Ethernet port. Using this thread we can configure the following
* The communication USART parameters (speed, parity, even bit,
serial word width, hardware protocol levels etc)
* The phone number of remote unit
* Buffer size for each channel (1 for direct connection)
All settings are saved into a local flash memory.
The link channel realised with this devices ensures a serial
connection at 600-19200 bps speed between end equipments.
In domain 600-4800 bps speed, the connection protocol layer does
not request data buffering. The data delay transmission (between data
send and data recreated at end point) is about 2 ms + 1 / speed (where
Speed is the data transmission speed).
When we are using the higher speed than 4800 bps, the data buffer
is essential, and also the terminal must use hardware handshake signals
to synchronize data transfer. The transmission delay is about 2 ms.
The connection time is depending by the calling time in GSM
network. If you want to obtain good results (low time connection
response) we recommend using an "auto connection" mode; in
this case the communication devices will try to keep the data line
Current equipment is created for an easy way of connection between
two PLCs or controllers at long distance range using GSM network. The
connection does not request any other equipments or software drivers.
This solution is very efficient when we do not have possibility of
upgrading of equipments or software implemented into the controllers or
PLCs. The adopted solution does not interpret the transferred
information; it is presented as a protocol layer between the end points
In future the solution can be developed by sending data from PLC or
custom controller to PC central point using GSM/CDMA or GSM/GPRS network
infrastructure (Geier, J., 2005).
Bajenarescu, T. (2000). Personal Communication Systems, Teora, ISBN
973-20-0236-0, Bucharest, Romania
Geier, J. (2005). Wireless Networks first-step, Corint, ISBN
973-653-709-9, Bucharest, Romania
Hammuda, H. (1999) Celular Mobile Radio Systems, Teora, ISBN
973-20-0004-X, Bucharest, Romania
Motorola Inc. (2008). Motorola G24-L and G24-LC Developer's
Guide. Module Hardware Description., Motorola, 6802984C05-C, USA
Rabbit Semiconductor Inc. (2006-2007). RabbitCore RCM4000
User's Manual, Rabbit Semiconductors Inc, 019-0157, 070928-F, USA
Tisal, J. (1999). GSM: reseau et services, Teora, ISBN
973-200192-5, Bucharest, Romania