19
1 Universal Measurement Universal Measurement System with Web System with Web Interface Interface Maciej Lipiński Maciej Lipiński Ph.D. Krzysztof Poźniak, MSc Grzegorz Ph.D. Krzysztof Poźniak, MSc Grzegorz Kasprowicz Kasprowicz Wilga 30.05.2009 r.

Universal Measurement System with Web Interface

  • Upload
    agnes

  • View
    21

  • Download
    0

Embed Size (px)

DESCRIPTION

Universal Measurement System with Web Interface. Maciej Lipiński Ph.D. Krzysztof Poźniak, MSc Grzegorz Kasprowicz. Wilga 30.05.2009 r. Presentation plan. Outline of the project The goal Applications Architecture Web Interface Technologies and architecture How it works Outcome - PowerPoint PPT Presentation

Citation preview

Page 1: Universal Measurement System with Web Interface

11

Universal Measurement Universal Measurement System with Web InterfaceSystem with Web Interface

Maciej LipińskiMaciej LipińskiPh.D. Krzysztof Poźniak, MSc Grzegorz KasprowiczPh.D. Krzysztof Poźniak, MSc Grzegorz Kasprowicz

Wilga 30.05.2009 r.

Page 2: Universal Measurement System with Web Interface

22

Presentation planPresentation plan Outline of the projectOutline of the project

• The goalThe goal• ApplicationsApplications• ArchitectureArchitecture

Web InterfaceWeb Interface• Technologies and architectureTechnologies and architecture• How it worksHow it works• OutcomeOutcome

Measurement InterfaceMeasurement Interface• OverviewOverview• Server with Parser and decoderServer with Parser and decoder

System configuration System configuration InterfaceInterface TestsTests

Page 3: Universal Measurement System with Web Interface

33

Utilization of the hardware providedUtilization of the hardware provided by Grzegorz by Grzegorz Kasprowicz Kasprowicz to create an autonomous, universal to create an autonomous, universal

measurement system with measurement system with WebWeb interface and operating interface and operating system on board. Creation of TCP/IP and web-based control system on board. Creation of TCP/IP and web-based control

interface. Example implementation of oscilloscope and interface. Example implementation of oscilloscope and spectrum analyzerspectrum analyzer

Acquisition in dangerous places (i.e. high energy

physics)

Acquisition in places which are difficult to

access

Reconfigurable measurement

system

Digital oscilloscope

The goal of the projectThe goal of the project

Page 4: Universal Measurement System with Web Interface

44

Hardware architecture and data flowHardware architecture and data flow

Signal Source

FPGA

ADC

SSRAM

Acquisition module

Single Board Computer

Main Module

LCD

External monitor

Web interface

Measurement interface

Universal Internet Measurement System for High Energy Physics

Graphic

EthernetARM

Main module :Main module : Switched-mode Power Switched-mode Power

SupplySupply Graphic controller Graphic controller Sound controllerSound controller I2C interfaceI2C interface Peripherals:Peripherals:Single Board Computer Single Board Computer

module:module: Microprocessor: ARM9 Microprocessor: ARM9

(AT91RM9200)(AT91RM9200) 128128MBMB SDRAM SDRAM Ethernet interface Ethernet interface

10/100 Mbit10/100 Mbit FLASH 8MBFLASH 8MB SD/MMC reader, SD/MMC reader, InterfacesInterfacesAcquisition module:Acquisition module: ALTERA Cyclone IALTERA Cyclone I 2 x fast, 105MS/s. 14 bit 2 x fast, 105MS/s. 14 bit

ADCsADCs SSRAM – 128k x 32SSRAM – 128k x 32

Page 5: Universal Measurement System with Web Interface

55

Software architectureSoftware architecture

Acquisition Control(FPGA)

Linux Device Driver

Web server

SCPI server

ETHERNET

AR

M m

icro

proc

esso

rLi

nux

Web application running in web browser

SCPI client (measurement application:

Matlab, LabView)

CGI

Page 6: Universal Measurement System with Web Interface

66

SIMPLICITY, LIMITED RESOURCES

•Applet:

• operations/computations one

client’s site:

• interaction with user

• data preparation for display

• server is a medium which passes date to client

•proc file system :

• no need for using advances scripting (perl, PHP) or C program to interface driver

• UNIX utilities provided by Busybox can be used (ash shell, echo, cat)

• simple reading/writing

• using Common Gate Interface (CGI)

• supported by all web servers (including the simplest)

• used widely around the WEB and on Linux-based routers

• platform and system independent compatible with many programming/scripting languages

WEB INTERFACEWEB INTERFACEClient’s Computer ARMputer (AT91RM000 based)

Client’s Browser

WebServer

LinuxDrivers

Web applicationJava Applet

Many Web Servers available:

Busy Box http server (9K, CGI, script

support) Interfacing driver (server side):Common Gate Interface (CGI)

Interfacing driver (driver side):

proc file system

Page 7: Universal Measurement System with Web Interface

77

WEB INTERFACEWEB INTERFACEUML Sequence Diagram UML Sequence Diagram

ARMputerClient’s machineClass OscilloscopeUtilsClass OscilloscopeApplet

setRecordLength stateChanged setHardware JSpinner

HTTP Server

CGI

Linux Driver

/proc/parameters

HTML GET

setParameters.cgi

echo

Model-View-Controller architecture

View Controller Model

#!/bin/ashecho "Content-type: text/html"echoparam=$QUERY_STRINGecho $param > /proc/driver/osciloscope/parameterscat /proc/driver/osciloscope/parameters

Page 8: Universal Measurement System with Web Interface

88

WEB INTERFACEWEB INTERFACESimple oscilloscopeSimple oscilloscope & spectrum & spectrum analyzeranalyzer

ONLINE http://home.elka.pw.edu.pl/~mlipins1/myWeb/oscilloscope.html

Page 9: Universal Measurement System with Web Interface

99

WEB INTERFACEWEB INTERFACESimple oscilloscopeSimple oscilloscope & spectrum & spectrum analyzeranalyzer

ONLINE http://home.elka.pw.edu.pl/~mlipins1/myWeb/oscilloscope.html

Page 10: Universal Measurement System with Web Interface

1010

Remote Measurement InterfaceRemote Measurement Interface

The Standard Commands for

Programmable Instruments (SCPI)

defines a standard set of commands to control programmable test and measurement devices in

instrumentation systems.The SCPI Standard specifies a command structure and

syntax for programmable instruments control.

ParserParser• compatible with SCPI syntaxcompatible with SCPI syntax• Instrument independent (very few Instrument independent (very few changes needed when implementing changes needed when implementing commands for a new measurement commands for a new measurement instrument)instrument)

Command decoderCommand decoder• Implemented basic set of oscilloscope commandsImplemented basic set of oscilloscope commands• Easily extensibleEasily extensible• Easy to implement commands for any measurement instrumentEasy to implement commands for any measurement instrument• Based on SCPI standard (not fully compliant with SCPI)Based on SCPI standard (not fully compliant with SCPI)• Based on implementations of SCPI for real oscilloscopes (Agilent, TektroniBased on implementations of SCPI for real oscilloscopes (Agilent, Tektronixx, HP), HP)• Not yet perfect, needs testing and bugs eliminationNot yet perfect, needs testing and bugs elimination

Example SCPI expression:

:TRIGger:EDGE:SOURce EXT

:TRIGger:EDGE:SOURce {AUTO|CH1|CH2|EXT}

nodes value

Page 11: Universal Measurement System with Web Interface

1111

Remote Measurement InterfaceRemote Measurement Interface

:*IDN?:*IDN?

:*CLS:*CLS

:*RST:*RST

:RUN:RUN

:STOP:STOP

:AUTO:AUTO

:ABOR:ABOR

:TRIGger?:TRIGger?

:TRIGger:MODE:TRIGger:MODE

:TRIGger:STATus:TRIGger:STATus

:TRIGger:EDGE?:TRIGger:EDGE?

:TRIGger:EDGE:SOURce {AUTO|CH1|CH2|EXT}:TRIGger:EDGE:SOURce {AUTO|CH1|CH2|EXT}

:TRIGger:EDGE:LEVel {number}:TRIGger:EDGE:LEVel {number}

:TRIGger:EDGE:SWEep {AURO|NORMAL|SINGLE}:TRIGger:EDGE:SWEep {AURO|NORMAL|SINGLE}

:TRIGger:EDGE:SLOPe {NEGative|POSitive}:TRIGger:EDGE:SLOPe {NEGative|POSitive}

:TRIGger:EDGE:DELay {number}:TRIGger:EDGE:DELay {number}

:SENSe?:SENSe?

:SENSe:SWEep?:SENSe:SWEep?

:SENSe:SWEep:POINts {number}:SENSe:SWEep:POINts {number}

:SENSe:SWEep:TIME {number}:SENSe:SWEep:TIME {number}

:SENSe:SWEep:TINTerval {number}:SENSe:SWEep:TINTerval {number}

:CHANnal1:DISPlay {ON|OFF}:CHANnal1:DISPlay {ON|OFF}

:CHANNAL1:OFFset {number}:CHANNAL1:OFFset {number}

:CHANNal1:SCALe {number}:CHANNal1:SCALe {number}

:CHANnal2:DISPlay {ON|OFF}:CHANnal2:DISPlay {ON|OFF}

:CHANNAL2:OFFSet {number}:CHANNAL2:OFFSet {number}

:CHANNal2:SCALe {number}:CHANNal2:SCALe {number}

:TIMebase:OFFSet {number}:TIMebase:OFFSet {number}

:TIMebase:SCALe {number}:TIMebase:SCALe {number}

:TIMebase:FORMat {XY|YT}:TIMebase:FORMat {XY|YT}

:WAVeform:DATa? {CHANnal1|CHANnal2}:WAVeform:DATa? {CHANnal1|CHANnal2}

Connecting Connecting through through

telnet/Matlab telnet/Matlab to to SCPISCPI ServerServer

function r = SCPIidentify(t)

fprintf(t,':*IDN?');r=fscanf(t);

UNIVERSAL_MEASUREMENT_SYSTEM_WITH_WEB_INTERFACE,ARMPUTER_OSCILLOSCOPE,1.0,GK&ML

SCPI SCPI commands commands dictionarydictionary

Page 12: Universal Measurement System with Web Interface

1212

WEB INTERFACEWEB INTERFACESystem configurationSystem configuration

Page 13: Universal Measurement System with Web Interface

1313

TestsTests: : CalibrationCalibration

0 100 200 300 400 500 6000

100

200

300

400

500

600

Vref

Vm

easu

red

| Vco

rrec

ted

VmeasuredMax = f(VrefMax)

measured

corrected

-500 -400 -300 -200 -100 0 100-500

-400

-300

-200

-100

0

100

Vref

Vm

easu

red

| Vco

rrec

ted

VmeasuredMin = f(VrefMin)

measrued

corrected

Vmax

Vmin

Page 14: Universal Measurement System with Web Interface

1414

TestsTests: : CalibrationCalibration

1 2 3 4 5 6 70

200

400

600

measurement

V

Maximum values of square waveform

Vref

Vcorrected

Vmeasured

1 2 3 4 5 6 70

20

40

60

80

100

measurement

%

Diffence between Vmeasured and Vxxx in [%]

Vref

Vcorrected

1 2 3 4 5 6 7-600

-400

-200

0

200

measurement

V

Minimum values of square waveform

Vref

VcorrectedVmeasured

1 2 3 4 5 6 7-600

-400

-200

0

200

400

measurement%

Diffence between Vmeasured and Vxxx in [%]

Vmeasured

Vcorrected

1 2 3 4 5 6 70

500

1000

1500

measurement

V

Amplitude (Vpp)

Vref

Vcorrected

Vmeasured

1 2 3 4 5 6 7-10

0

10

20

30

40

measurement

%Diffence between the reference amplitude and measured/corrected

Vmeasured

Vcorrected

Page 15: Universal Measurement System with Web Interface

1515

TestsTests: : FrequencyFrequency

10-1

100

101

102

103

-1.5

-1

-0.5

0

0.5

1

f[kHz]

erro

r [%

]

Frequency error

Reference Generator

Reference oscilloscope

1 2 3 4 5 6 7 810

2

103

104

105

106

measurement

f[H

z]

generator

armoscil

Page 16: Universal Measurement System with Web Interface

1616

TESTSTESTS

0 5 10 15 20 25 30 35 40 45 500

20

40

60

80

100

120

140

160

180

200

mV

[kH

z]

Spectrum

0 50 100 150 200 250 300 350 400 450 500-200

-150

-100

-50

0

50

100

150

200

250

mV

us

Spectrum

Page 17: Universal Measurement System with Web Interface

1717

TESTSTESTS

Page 18: Universal Measurement System with Web Interface

1818

SummarySummary

The system is working !The system is working ! Basic tests doneBasic tests done First iteration of bugs correction First iteration of bugs correction

finishedfinished Final tests and bugs correction Final tests and bugs correction

neededneeded

Page 19: Universal Measurement System with Web Interface

1919

THANK YOUTHANK YOU