|
@@ -0,0 +1,272 @@
|
|
|
+Implementation
|
|
|
+==============
|
|
|
+- VirtualEnv distribution to PCs
|
|
|
+- Devices stored in database
|
|
|
+- GUI from web server
|
|
|
+- Scripts stored in revision control system
|
|
|
+- Measurement stored in MySQL database and/or local SQLite database
|
|
|
+- Measurement convertible to CSV, Excel and Matlab
|
|
|
+
|
|
|
+
|
|
|
+Components
|
|
|
+==========
|
|
|
+* Device control
|
|
|
+ - Find devices
|
|
|
+ - Connect to devices
|
|
|
+ - Initialize devices
|
|
|
+ - Control devices
|
|
|
+ - Observe devices/external changes
|
|
|
+* Administration
|
|
|
+ - Project management
|
|
|
+ - Add/remove Projects
|
|
|
+ - Change meta data
|
|
|
+ - DUT management
|
|
|
+ - Add/remove DUTs
|
|
|
+ - Change meta data
|
|
|
+ - Add/remove versions
|
|
|
+ - Add/remove blocks
|
|
|
+ - Part management
|
|
|
+ - Add/remove parts
|
|
|
+ - Change meta data
|
|
|
+ - Device management
|
|
|
+ - Add/remove devices
|
|
|
+ - Add/remove device parameters
|
|
|
+* Setup control
|
|
|
+ - Select project
|
|
|
+ - Select DUTs
|
|
|
+ - Select parts
|
|
|
+ - Manage connections
|
|
|
+* Log control
|
|
|
+ - Add/remove logs
|
|
|
+ - Inspect entries
|
|
|
+* Measurement control
|
|
|
+ - Add/remove parameters
|
|
|
+ - Add/remove loops
|
|
|
+ - Order loops
|
|
|
+ - Create functions
|
|
|
+ - Keep history
|
|
|
+ - Record/Replay actions
|
|
|
+ - Add/remove breakpoints
|
|
|
+
|
|
|
+
|
|
|
+Driver
|
|
|
+======
|
|
|
+
|
|
|
+
|
|
|
+IDEAL MEASUREMENT
|
|
|
+=================
|
|
|
+- reproducible
|
|
|
+- well documented
|
|
|
+- clear and complete results
|
|
|
+* Log project/version (Dom revA), operator's name (tcve)
|
|
|
+* Log Lab PCs (lemming 2341:0C21:23AD0:18DC)
|
|
|
+* Start software, log version of all tools (SVN version 54123)
|
|
|
+* Log date/time/temperature/location of environment (13.07.2013, 08:15, 27.2°C, Thalwil)
|
|
|
+* Take devices, log SNs (if any), initialize them to a defined setting. (Keithley 2602B #213-43523, Rohde&Schwarz FSP, Char'board 1274)
|
|
|
+* Take components, log SN if possible (Katja, Lab PCB).
|
|
|
+* Mark the DUT (Dom).
|
|
|
+* Note connections between devices and components (Katja/3.3V->Char'board/VDD_CON)
|
|
|
+* Take a picture of the setup and save/log it.
|
|
|
+* Log anything else worth noticing (the clouds are fluffy)
|
|
|
+
|
|
|
+* Change a parameter (set Keithley mode to voltage source, apply 1.2V to channel A, turn on channel A).
|
|
|
+* Log the change device/time/previous/current and allow UNDO
|
|
|
+
|
|
|
+* Change a connection (connect FSP/RFin to Char'board/DAC_I)
|
|
|
+* Log the change connection/time/previous/current and allow UNDO
|
|
|
+
|
|
|
+* Measure a parameter (get Dom LPF bandwidth setting)
|
|
|
+* Log the time/value
|
|
|
+
|
|
|
+* Mark parameters to be saved for measurement loops.
|
|
|
+* Mark parameters/connections to be set for measurement loops.
|
|
|
+* Set ranges for loop set parameters.
|
|
|
+* Create measurement database with set and get parameters and save loop results there.
|
|
|
+* Log measurements time, measurement id, set and get parameters.
|
|
|
+
|
|
|
+FLOW
|
|
|
+====
|
|
|
+- Log in
|
|
|
+- Work on project (-> Measurement)
|
|
|
+ - Select project, version
|
|
|
+ - Select measurement
|
|
|
+ - Select devices and DUTs
|
|
|
+ - Select components
|
|
|
+ - Select connections
|
|
|
+ - Take a picture
|
|
|
+ - Take additional notes
|
|
|
+ - Name measurement
|
|
|
+-
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+FEATURES
|
|
|
+========
|
|
|
+- web based GUI
|
|
|
+- shell access to devices, measurement and log tasks
|
|
|
+- scripts saved and executable with Python
|
|
|
+- move measurements from local machine to server
|
|
|
+
|
|
|
+
|
|
|
+WHAT IS NOT COVERED YET
|
|
|
+========================
|
|
|
+- complex parameters (frequency setting in Dom from dividers)
|
|
|
+
|
|
|
+
|
|
|
+WHAT IS NOT SOLVED YET
|
|
|
+======================
|
|
|
+- parameter constraints
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+Database
|
|
|
+========
|
|
|
+
|
|
|
+Project (Dom) (Matterhorn AC)
|
|
|
+- ID/Name/Description Dom/Multichannel GNSS MA_AC/Analog Companion for Matterhorn Baseband
|
|
|
+-> Version
|
|
|
+-> Blocks
|
|
|
+-> Characterization
|
|
|
+-> DUT
|
|
|
+
|
|
|
+Version
|
|
|
+- ID/Name/Description revA-FIB3/eFuse FIB rev. A MPW0723/MPW Release 0723
|
|
|
+-> Project
|
|
|
+
|
|
|
+Block
|
|
|
+- ID/Name/Description RF/RF Receiver PMU/Power Management Unit
|
|
|
+-> Project
|
|
|
+
|
|
|
+Characterization (IF Amplifier)
|
|
|
+- ID/Name/Description RF Power LDO Stability
|
|
|
+-> Project
|
|
|
+-> Version
|
|
|
+-> Blocks
|
|
|
+-> Measurement
|
|
|
+
|
|
|
+DUT
|
|
|
+- ID/Name/Description Dom M8030 MA_AC Horny
|
|
|
+- Serial number ID2073 ID3211
|
|
|
+-> Project
|
|
|
+-> Version
|
|
|
+
|
|
|
+Component (Katja A) (Resistor)
|
|
|
+- ID/Name/Description Katja Char-Board 470 kOhm
|
|
|
+- Serial number ID431
|
|
|
+-> Notes
|
|
|
+
|
|
|
+Component Notes
|
|
|
+- ID
|
|
|
+- Title Changed Relais
|
|
|
+- Text Relais was broken.
|
|
|
+-> Author
|
|
|
+
|
|
|
+Setup
|
|
|
+- ID/Name/Description Setup for IF amp char
|
|
|
+-> Components
|
|
|
+-> Devices
|
|
|
+-> Connections
|
|
|
+
|
|
|
+Setup Meta
|
|
|
+- ID/Name
|
|
|
+-> Setup
|
|
|
+- Key
|
|
|
+- Value
|
|
|
+==> Photo
|
|
|
+
|
|
|
+Connection
|
|
|
+- ID/Name
|
|
|
+-> Setup
|
|
|
+- From part Dom V_CORE Dom XTAL_IN
|
|
|
+- To part Katja A 3V3 TCXO XTAL_IN
|
|
|
+- Connector Wire Cut
|
|
|
+- Comment Need to Program eFuse
|
|
|
+
|
|
|
+Log
|
|
|
+- ID
|
|
|
+- Time
|
|
|
+- Source
|
|
|
+- Event
|
|
|
+
|
|
|
+Measurement
|
|
|
+- ID/Name/Description
|
|
|
+- DUT
|
|
|
+- Log
|
|
|
+- Operator (Login for the Characterization Center)
|
|
|
+- Start Date/Time
|
|
|
+- Machine/MAC, IP
|
|
|
+- Script/Version
|
|
|
+-> Characterization
|
|
|
+-> Setup
|
|
|
+
|
|
|
+Device (Bitfield) (SCPI)
|
|
|
+- ID/Name/Description Dom RF I2C FSP-3
|
|
|
+-> Parameters
|
|
|
+-> Variables
|
|
|
+-> Groups
|
|
|
+-> Settings
|
|
|
+-> Defaults
|
|
|
+
|
|
|
+Device Meta
|
|
|
+- ID/Name
|
|
|
+-> Device
|
|
|
+- Key
|
|
|
+- Value
|
|
|
+==> Photo, Manual
|
|
|
+
|
|
|
+Parameter (Bitfield) (SCPI)
|
|
|
+- ID/Name/Description d_ifa/IF Amp Bias marknoise/Noise Marker
|
|
|
+- Device ID(RFI2C) ID(FSP-3)
|
|
|
+- Type Integer List
|
|
|
+- Constraints 0:15 "ON, OFF"
|
|
|
+- Value (not in DB)
|
|
|
+
|
|
|
+Parameter Meta (Bitfield) (SCPI)
|
|
|
+- ID/Name bitfield_position scpi_read_command
|
|
|
+-> Parameter ID(d_ifa) ID(marknoise)
|
|
|
+- Value "20,19,18,14" "CALC:MARK{marker}:FUNC:NOIS?"
|
|
|
+==> read_only, scpi_id, ...
|
|
|
+
|
|
|
+Variable (Bitfield) (SCPI)
|
|
|
+- ID/name bitfield_subfield scpi_variable
|
|
|
+- Device ID(RFI2C) ID(FSP-3)
|
|
|
+- Name "Register Bank" "Marker"
|
|
|
+- Type Integer String
|
|
|
+- Constraints 1:2 "A,B,C,D"
|
|
|
+
|
|
|
+Group (Bitfield) (SCPI)
|
|
|
+- ID/Name/Description if_amp/IF Amplifier Settings freq/Frequency
|
|
|
+- Parameters {en_ifa,d_ifa,ifa_amp} {startfreq,stopfreq,centfreq,fspan}
|
|
|
+
|
|
|
+
|
|
|
+Constraints (Plugin)
|
|
|
+- Name
|
|
|
+- Check function
|
|
|
+- (De-)Serialization function
|
|
|
+
|
|
|
+Type (Plugin)
|
|
|
+- ID/Name/Description
|
|
|
+- Check function
|
|
|
+- (De-)Serialization function
|
|
|
+
|
|
|
+Loop
|
|
|
+- ID
|
|
|
+- Parent loop
|
|
|
+- Loop variable
|
|
|
+- Loop values
|
|
|
+
|
|
|
+Result
|
|
|
+- ID
|
|
|
+- Measurement
|
|
|
+- Date/Time
|
|
|
+- Settings
|
|
|
+
|
|
|
+Value
|
|
|
+- ID
|
|
|
+- Result
|