Post on 25-Jan-2016
description
transcript
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.
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
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
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
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
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
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
88
WEB INTERFACEWEB INTERFACESimple oscilloscopeSimple oscilloscope & spectrum & spectrum analyzeranalyzer
ONLINE http://home.elka.pw.edu.pl/~mlipins1/myWeb/oscilloscope.html
99
WEB INTERFACEWEB INTERFACESimple oscilloscopeSimple oscilloscope & spectrum & spectrum analyzeranalyzer
ONLINE http://home.elka.pw.edu.pl/~mlipins1/myWeb/oscilloscope.html
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
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
1212
WEB INTERFACEWEB INTERFACESystem configurationSystem configuration
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
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
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
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
1717
TESTSTESTS
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
1919
THANK YOUTHANK YOU