Embedded LINUX in a Soft Real-Time Task:
The Canadian Geological Survey Internet Seismometer
© September 2001
A network friendly, soft-real-time operating system
The output from the sensor packs is then digitized by a 16-bit A/D converter and digitally filtered (decimated) in a first stage before it is passed on to the single board computer which is an integral part of the data acquisition system and also implements the data- and communications server for the instrument.
The sensitivity of the digitization is ultimately equivalent to 18 bits due to oversampling and a two-stage decimation filter.
The single board computer runs a multi-threaded processing and acquisition software which also was devised by arescon ltd. under LINUX, an Open-Source, free operating system.
While LINUX was initially not designed to meet the challenge of a real-time oper-ating
system, it proved to be very well suited to provide the scheduling of processing
and acquisition task with sufficient accuracy for this particular application. LINUX
handles program tasks which – while running independently – still have to communicate
with one another, very well since it implements much of the functionality of the
POSIX standard, in particular a subset of the POSIX-Timers and POSIX-Threads sys-tem
Figure 3: Power-supply, the accelerometer (upper left corner of the circuit board) and the computer fit on two sandwiched circuit boards.
Most of the space is taken up by the emergency battery.
Since, for the purpose of limiting manufacturing costs and design complexity, an individual instrument does not have an accurate clock, synchronization is maintained over the Internet by means of the Network Time Protocol (NTP). The instrument becomes a client to several Internet timeservers and the sophisticated algorithms of the NTP protocol suite then keep the normal system clock in tune with the high precision GPS or Cesium clocks of remote timeservers. The ultimate timing accuracy is in the order of 10 milli-seconds, which happens to be the final sampling interval, with which the seismic signals are digitally recorded. Thus the instrument will be typically not deviate more than one sample interval from true time.
For maintenance purposes, to perform firm-ware up-dates or to change the acquisition
parameters, the embedded LINUX system features secure shell access (OpenSSH2),
which grants full command of the system with all the security of authentication and
encryption to prevent the system from being abused in cracking attempts. A full suite
of system and acquisition log-files can be monitored with a Secure-Shell connection if
troubleshooting is required.
The data-server part implements two additional protocols for data retrieval: The Trivial-File-Transfer-Protocol (TFTP), which is well suited for non-interactive data downloads, and the regular FTP protocol (PureFTP) which provides authorized interactive access through a web-browser as well as a means to automatically download data periodically, for example with the wget-program.
LINUX is booted out of a Compact-Flash memory and afterwards runs entirely in volatile RAM. One and a half days worth of data are also stored in volatile memory on a RAM-Disk in ring-buffer fashion, after the storage limits are reached, the oldest data is overwritten.
When the instrument is initially deployed at a site it can be configured by connecting a terminal (VT100) to its serial port. Thus, the network configuration and the station identifiers can be set for example, by simply connecting a Palm-Pilot to the instrument.
The currently implemented data-formats are the Canadian National Seismographic Network CA-format or as an option, the IRIS (Incorporated Research Institutions for Seismology) miniSEED format. A multicolumn ASCII format is also available.