Universal Internet Measurement System for High Energy Physics

Download Report

Transcript Universal Internet Measurement System for High Energy Physics

Universal Measurement
System with Web Interface
Maciej Lipiński
Ph.D. Krzysztof Poźniak, MSc Grzegorz Kasprowicz
Wilga 30.05.2009 r.
1
Presentation plan

Outline of the project
• The goal
• Applications
• Architecture

Web Interface
• Technologies and architecture
• How it works
• Outcome

Measurement Interface
• Overview
• Server with Parser and decoder


System configuration Interface
Tests
2
The goal of the project
Utilization of the hardware provided by Grzegorz
Kasprowicz to create an autonomous, universal
measurement system with Web interface and operating
system on board. Creation of TCP/IP and web-based
control interface. Example implementation of oscilloscope
and spectrum analyzer
Digital oscilloscope
Acquisition in
dangerous places
(i.e. high energy
physics)
Acquisition in
places which
are difficult to
access
Reconfigurable
measurement
system
3
Hardware architecture and data flow
Universal Internet Measurement
System for High Energy Physics
Main Module
Web interface
Ethernet
Measurement interface
External monitor
Single Board
Computer
ARM
Graphic
Acquisition
module
FPGA
LCD
ADC
Signal Source
S
S
R
A
M
Main module :

Switched-mode Power
Supply

Graphic controller

Sound controller

I2C interface

Peripherals:
Single Board Computer
module:

Microprocessor: ARM9
(AT91RM9200)

128MB SDRAM

Ethernet interface
10/100 Mbit

FLASH 8MB

SD/MMC reader,

Interfaces
Acquisition module:

ALTERA Cyclone I

2 x fast, 105MS/s. 14
bit ADCs
4

SSRAM – 128k x 32
Software architecture
SCPI client
(measurement application:
Matlab, LabView)
Web application running
in web browser
ARM microprocessor
Linux
ETHERNET
SCPI Web
server server
CGI
Linux Device
Driver
Acquisition Control
(FPGA)
5
WEB INTERFACE
SIMPLICITY, LIMITED RESOURCES Client’s Computer
•Applet:
• operations/computations one
ARMputer (AT91RM000 based)
Client’s
Browser
Web
Server
Linux
Drivers
client’s site:
• interaction with user
• data preparation for display
Web application
Java Applet
• server is a medium which passes date to client
Many Web Servers
available:
Busy Box http server
(9K, CGI, script
support)
•proc file system :
Interfacing driver
(driver side):
proc file system
Interfacing driver
(server side):
Common Gate
Interface (CGI)
• 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
6
• platform and system independent compatible with many programming/scripting
languages
WEB INTERFACE
UML Sequence Diagram
Client’s machine
Class OscilloscopeApplet
JSpinner
stateChanged
ARMputer
Class OscilloscopeUtils
setRecordLength
HTTP Server
setHardware
CGI
Linux Driver
setParameters.cgi
/proc/parameters
HTML GET
echo
View
Controller
Model
Model-View-Controller architecture
#!/bin/ash
echo "Content-type: text/html"
echo
param=$QUERY_STRING
echo $param > /proc/driver/osciloscope/parameters
cat /proc/driver/osciloscope/parameters
7
WEB INTERFACE
Simple oscilloscope & spectrum analyzer
8
ONLINE http://home.elka.pw.edu.pl/~mlipins1/myWeb/oscilloscope.html
WEB INTERFACE
Simple oscilloscope & spectrum analyzer
9
ONLINE http://home.elka.pw.edu.pl/~mlipins1/myWeb/oscilloscope.html
Remote Measurement Interface
Standard Commands for
Programmable Instruments (SCPI)
The
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.

Parser
•
•

compatible with SCPI syntax
Instrument independent (very few
changes needed when implementing
commands for a new measurement
instrument)
Example SCPI expression:
:TRIGger:EDGE:SOURce EXT
:TRIGger:EDGE:SOURce {AUTO|CH1|CH2|EXT}
nodes
value
Command decoder
•
•
•
•
•
•
Implemented basic set of oscilloscope commands
Easily extensible
Easy to implement commands for any measurement instrument
Based on SCPI standard (not fully compliant with SCPI)
Based on implementations of SCPI for real oscilloscopes (Agilent, Tektronix, HP)
Not yet perfect, needs testing and bugs elimination
10
Remote Measurement Interface
:*IDN?
:*CLS
:*RST
:RUN
:STOP
:AUTO
:ABOR
:TRIGger?
:TRIGger:MODE
:TRIGger:STATus
:TRIGger:EDGE?
:TRIGger:EDGE:SOURce {AUTO|CH1|CH2|EXT}
:TRIGger:EDGE:LEVel {number}
:TRIGger:EDGE:SWEep {AURO|NORMAL|SINGLE}
:TRIGger:EDGE:SLOPe {NEGative|POSitive}
:TRIGger:EDGE:DELay {number}
:SENSe?
:SENSe:SWEep?
:SENSe:SWEep:POINts {number}
:SENSe:SWEep:TIME {number}
function r = SCPIidentify(t)
:SENSe:SWEep:TINTerval {number}
:CHANnal1:DISPlay {ON|OFF}
fprintf(t,':*IDN?');
:CHANNAL1:OFFset {number}
r=fscanf(t);
:CHANNal1:SCALe {number}
:CHANnal2:DISPlay {ON|OFF}
:CHANNAL2:OFFSet {number}
:CHANNal2:SCALe {number}
:TIMebase:OFFSet {number}
:TIMebase:SCALe {number}
:TIMebase:FORMat {XY|YT}
:WAVeform:DATa? {CHANnal1|CHANnal2}
SCPI
commands
dictionary
Connecting
through
telnet/Matlab
to SCPI
Server
UNIVERSAL_MEASUREMENT_SYSTEM_WITH_WEB_IN
TERFACE,ARMPUTER_OSCILLOSCOPE,1.0,GK&ML
11
WEB INTERFACE
System configuration
12
Tests: Calibration
Vmax
Vmin
VmeasuredMax = f(VrefMax)
VmeasuredMin = f(VrefMin)
600
100
measured
corrected
measrued
corrected
0
Vmeasured | Vcorrected
Vmeasured | Vcorrected
500
400
300
200
100
0
-100
-200
-300
-400
0
100
200
300
Vref
400
500
600
-500
-500
13
-400
-300
-200
Vref
-100
0
100
Tests: Calibration
Maximum values of square waveform
Diffence between Vmeasured and Vxxx in [%]
600
100
Vref
Vcorrected
80
400
V
%
60
40
200
0
Vref
Vcorrected
Vmeasured
1
2
3
4
measurement
5
6
20
0
7
1
2
Minimum values of square waveform
3
4
measurement
5
6
7
Diffence between Vmeasured and Vxxx in [%]
200
400
Vref
Vcorrected
Vmeasured
0
Vmeasured
Vcorrected
200
%
V
0
-200
-200
-400
-600
-400
1
2
3
4
measurement
5
6
-600
7
1
Amplitude (Vpp)
2
3
4
measurement
5
6
7
Diffence between the reference amplitude and measured/corrected
1500
40
Vmeasured
Vcorrected
30
1000
V
%
20
10
500
0
Vref
Vcorrected
Vmeasured
1
2
3
4
measurement
5
6
0
7
-10
14
1
2
3
4
measurement
5
6
7
Tests: Frequency
6
10
generator
arm
oscil
5
10
Frequency error
Reference Generator
Reference oscilloscope
4
10
3
10
0.5
2
10
1
2
3
4
5
measurement
6
7
8
0
error [%]
f[Hz]
1
-0.5
-1
-1.5
-1
10
15
0
10
1
10
2
10
3
10
TESTS
Spectrum
200
180
160
140
[kHz]
120
100
80
60
40
20
0
0
5
10
15
20
25
30
mV
Spectrum
35
40
45
50
250
200
150
100
mV
50
0
-50
-100
16
-150
-200
0
50
100
150
200
250
300
350
400
450
500
TESTS
17
Summary




The system is working !
Basic tests done
First iteration of bugs correction
finished
Final tests and bugs correction
needed
18
THANK YOU
19