210 likes | 374 Views
SEISLOG Linux. presented at the. WORKSHOP. High Quality Seismic Stations and Networks for Small Budgets. Volcan, Panama 8-13. March, 2004. by. Terje Utheim, Department of Geoscience University of Bergen Norway. SEISLOG Linux. Design Pthreads
E N D
SEISLOG Linux presented at the WORKSHOP High Quality Seismic Stations and Networks for Small Budgets Volcan, Panama 8-13. March, 2004 by Terje Utheim, Department of Geoscience University of Bergen Norway
SEISLOG Linux • Design • Pthreads • Data input from serial ports and Internet • Sockets • Java parameter program • Desktop and Laptop version • Embedded version • No licenses
Design Main program • The main program reads the parameter-file • Initializes data-structures • Creates directory structures • Starts threads • Data structure contains parameters • Data areas • Pointers to memory ring-buffers • POSIX threads, or pthreads, allow multiple tasks to execute concurrently within the same program. data-structure thread thread thread thread thread thread thread
Threads • POSIX threads, or pthreads, allow multiple tasks to execute concurrently within the same program. • Threads share same address space • All in one program • SEISLOG threads: digitizer drivers, filters and detection, writing to memory ring-buffer, writing to disk ring-buffer, socket threads for communication
Data Input from serial ports and Internet • Some threads are drivers reading digitized data from different digitizers. • Data is normally read from serial ports. • Data can in some cases be read from Internet. • Several digitizers can be connected to different serial ports. • Digitizers connected to Internet depend on stable and fast line. Main program C data-structure Serial port driver SADC Internet driver GBV Serial port driver RD3 thread thread thread thread
Sockets • Form of communication between main process and other processes on same CPU (localhost) or processes on remote CPU. • Communication through IP number and socket port number. Main program C data-structure thread Parameter socket thread Internet or Local net Plotting socket thread thread DPL.java DPL.java MON.java Monitor socket thread MON.java
Threads and Data-flow Digitizer thread Digitizer thread Digitizer thread 10 second buffer 10 second buffer 10 second buffer wrt_mem thread wrt_mem thread wrt_mem thread 20 minute buffer 20 minute buffer 20 minute buffer wrt_rng thread wrt_rng thread wrt_rng thread disk ringbuffer disk ringbuffer disk ringbuffer detection thread detection thread detection thread wrt_evt thread S-files + waveform Socket utillities to monitor SEISLOG remotely or locally, radio or Ethernet mon_sei thread mon_sei thread mon_sei thread server socket server socket server socket server socket plt_sei thread plt_sei thread plt_sei thread server socket server socket server socket
Desktop/Laptop version • All SEISLOG core routines written in C and identical for all platforms • Utilities for monitoring, graphics and parameters written as client sockets communicating with SEISLOG server sockets. • Utilities written in Java • Disk ringbuffer files, event files and S-files written in SEISAN format in SEISAN database structure
Embedded system • What is an ”embedded system” ? • Hardware and software which forms a component of some larger system and which is expected to function without human intervention • A typical embedded system consists of a single-board microcomputer with software in ROM, which starts running some special purpose application program as soon as it is turned on and will not stop until it is turned off (if ever). • An embedded system may include some kind of operating system but often it will be simple enough to be written as a single program. It will not usually hava any of the normal peripherals such as keyboard, monitor, serial connections, mass storage, etc. or any kind of user interface software unless these are required by the overall system of which it is a part. Often it must provide real-time respons.
SEISLOG embedded version • Stripped Linux operating system (<10Mb) • No disk to reduce power consumption and noise • No development tools, compilers, editors etc. • Single board computer, low power • SEISLOG program identical for all platforms • Operating system (Linux) and application software (SEISLOG) stored in bootable compact flash memory • Support for communication through Ethernet or Wireless • Storage of recorded data in separate compact flash or USB stick
Example configuration SEISLOG Embedded Optional Wireless LAN Bootable Compact Flash root file system Linux SEISLOG Digitizer PC/104 200MHz USB stick RS232 USB Ethernet
Embedded SEISLOG power consumption • Voltage supply: 5 Volts • PC/104 with compact flash for OS and SEISLOG 4.25 W • PC/104 with compact flash for OS and SEISLOG and Wireless LAN radio mounted but not transmitting 4.46 W • PC/104 with compact flash for OS and SEISLOG and Wireless LAN radio mounted and transmitting monitor and keyboard connected 5.75 W • Digitizer on 12 Volt , SADC10
SEISINFO • Seismological Information System. • Configure option. Location of windows, refresh rate and which options can be stored in a configuration file for identical view at next startup. • USGS World map of recent seismic activity. • USGS Detailed map with location of last earthquake. • Norwegian national network. Map with recent events. • Norwegian national network. Detailed map with most recent event. • Seismograms from world wide LP network. • Slideshows. • Video clip.
NETLOG • SEISNET creates logg file when accessing different stations. • NETLOG interprets logg file. • Status of each station is displayed with: • Name • Flag for number of connections, extracts and waveform transfers • Flag for time-difference and GPS synchronized • Flag for disk space • Flag for station up-time • The flags have colored indicators to indicate: • Error – red • Warning – orange • OK – green • No information - gray