Virtual Measurement System · 2013. 3. 12. · Linux-based universal control platform (2) SQLite...
Transcript of Virtual Measurement System · 2013. 3. 12. · Linux-based universal control platform (2) SQLite...
-
1
Virtual Measurement System
Maciej Lipinski
Warszawa, 30.01.2010
XXVth IEEE-SPIE Joint Symposium on Photonics, Web Engineering, Electronics for Astronomy and High Energy Physics Experiments
-
2
Agenda
• ARM and Linux based measurements systems
• The goal
• Software design and its components
• Example applications
• Summary
-
3
ARM-based measurement platformPredecessor: Universal Measurement System with Web Interface:• Powerful basis for implementation of various remotely controlled measurement devices,• Provides framework for implementation of measurement systems with Web Interface,However, development of the system requires:• Thorough knowledge of the framework• Good C programming (Linux Device Drivers related) and basic scripting skillsNew platform provides additionally:• General Packet Radio Service (GPRS)• Global Positioning System (GPS)• Wi–Fi (IEEE 802.11)• Ethernet• LCD embedded screen with touchscreen• Audio input and output
-
4
Measurement extensions• Existing (or under development):
– 4 channel digital oscilloscopeand spectrum analyzer
– ECG front-end– Power quality
measurement device• Prospective:
– Seismograph front-end– Weather station– Ultrasound sonar
Limited number of forms of communication with ARM-base platform- Serial Peripheral Interface (SPI)- Parallel Interface - Static
Memory Controller (CMS)
-
5
The goal
Software design of a virtual measurementsystem which could enable easy
implementation of various measurement instruments based on common Linux-based, reconfigurable control platform.
-
6
System’s components• Java-based GUI:
– Developed for each device– Local interface (Java Application)– Remote interface (Java Applet)– Provides developer with hardware
access functions– Provides developer with database
to store GUI’s parameters
• Embedded Linux-based universal control platform– unified for all measurement
extensions– based on embedded Linux– Configuration stored in Database– Transparent to developer
• Measurement extension(s)– Needs to implement appropriate
hardware and software interface with control platform
-
7
Linux-based universal control platform (1)
LINUX DEVICE DRIVERS
TCP SOCKET
MULTI-CONNECTION
HANDLER
COMMAND
INTERPRETER SERVER CONFIG
START
PROC FS SYS FS IOCTRL
LOAD
COMMAND
SERVER
(TCP/IP )DATA
SERVER(UDP OR TCP)
MMAP
HARDWARE INTERFACE (lib)
Device
-
8
Linux-based universal control platform (2)
SQLite
SQLiteServer
(Socket Server)READ
WEB Server
CGI SCRIPTS
START-UP
MANAGER
READ CONFIG
START
FPGA CONFIG
LOAD
CONFIG
READ CONFIG
Data Logger
(Socket Client)
START
READ CONFIG / WRITE DATA
READ / WRITE START
User Space
Applications
START
READ / WRITE
Driver
Device
Scheduler
-
9
Database(Linux-based universal control platform component)
• The heart of the system
• Enables configuration storage of multiple measurement sets
• After changing measurement extension it is enough to indicate which device is plugged in (automated) for the system to work
• Online administration of the database
DEVICE
ID
NAME
REMOTE_IP
TCP_PORT
MULTI_CON
CMD_INTERPRETER
DRIVER_NAME
DRIVER_PARAM
DRIVER_INTERFACE
FPGA_CONFIG
GUI_ID
CMD_INTERPRETER
ID
FK1 DEVICE_ID
CMD
ADDRESS
LOGGER_SETTINGS
ID
FK1 SETTINGS_ID
CMD
ARGUMENT
CONFIG_DEVICE
ID
FK1 DEVICE_ID
CMD
VALUE
PRIORITY
AUTO_LOGGER
ID
FK1 DEVICE_ID
FK2 SCHEDULER_ID
IDLE_SETTINGS
SETTINGS_ID
STORAGE_PLACE
GPS_LOCATION
CONFIG_DRIVER
ID
DEVICE_ID
PARAM_NAME
VALUE
STORAGE
ID
FK1 LOGGER_ID
STORAGE_DEVICESCHEDULER
ID
INTERVAL
PRIORITY
APPLICATION_EXEC
ID
FK1 SCHEDULER_ID
NAME
ARG
GUI
FK1 ID
GUI_NAME
-
10
Java-based Graphic User InterfaceGraphic User Interface:• Model-View-Control
• Software-hardware communication provided by framework, its configuration is automatically retrieved from database
• GUI configuration (max/min, parameters) is retrieved from database
• GUI generic elements provided
Measurement Extension:• The developer of extension needs
to implement compatible interface to use universal driver (otherwise, he/she needs to implement custom driver)
• Temples to implement compatible interface (for FPGA, uP) will be provided
Device
VIEW
Device
VIEW
Device
VIEW
MANAGER
APPLET
CONFIG
DEVICE MODELCOMMUNICATION INIT
CONTROL VIEW
JAVA APPLET
(JAVA LOCAL INTERFACE)
ELEM1
ELEM2ELEM3
…
ELEMN
UDP CLIENT TCP CLIENT DB CLIENTHTTP
FPGA
uProcessor
FPGA COMMUNICATION
INTERFACE
FPGA LOGIC
REG REG………..
REG REG………..
SPISPIREG
REG
-
11
Example usage:ECG front-end implementation
• Offline Holter configuration:– Data logger periodically stores measurement in database– Data can be viewed using GUI– Data is uploaded with web interface or copied (it’s stored on SD card) to PC for
analysis• Online Holter configuration
– Data logger sends periodically measurements to remote server – Data is stored by data logger in database and scheduler periodically runs
application which makes measurement analysis and sends alarm through i.e. GPRS
• Carry-on ECG:– It can be taken by the doctor to the
patient– It’s very small and convenient
to carry around– The ECG measurement done
using local GUI– The measurements can be stored
(in such case two clients listen to the data server: GUI and data logger)
-
12
Summary
• design of highly reconfigurable and
• Easily division between hardware part and software part – imporant if project conducted by
• The development can be divided into several smaller independat projects
-
13
Thank you