+ All Categories
Home > Documents > Virtual Measurement System · 2013. 3. 12. · Linux-based universal control platform (2) SQLite...

Virtual Measurement System · 2013. 3. 12. · Linux-based universal control platform (2) SQLite...

Date post: 21-Sep-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
13
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
Transcript
  • 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

    [email protected]


Recommended