| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272 | 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 MatlabComponents==========* 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 breakpointsDriver======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 serverWHAT IS NOT COVERED YET========================- complex parameters (frequency setting in Dom from dividers)WHAT IS NOT SOLVED YET======================- parameter constraintsDatabase========Project 				(Dom)						(Matterhorn AC)- ID/Name/Description	Dom/Multichannel GNSS		MA_AC/Analog Companion for Matterhorn Baseband-> Version-> Blocks-> Characterization-> DUTVersion- ID/Name/Description	revA-FIB3/eFuse FIB rev. A	MPW0723/MPW Release 0723-> ProjectBlock- ID/Name/Description	RF/RF Receiver				PMU/Power Management Unit-> Project											Characterization (IF Amplifier)- ID/Name/Description	RF Power					LDO Stability-> Project				-> Version-> Blocks-> MeasurementDUT- ID/Name/Description	Dom M8030					MA_AC Horny- Serial number			ID2073						ID3211-> Project-> VersionComponent				(Katja A)					(Resistor)- ID/Name/Description	Katja Char-Board			470 kOhm						- Serial number			ID431-> NotesComponent Notes- ID- Title					Changed Relais- Text					Relais was broken.					-> AuthorSetup- ID/Name/Description	Setup for IF amp char-> Components			-> Devices-> ConnectionsSetup Meta- ID/Name-> Setup- Key- Value==> PhotoConnection- 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 eFuseLog- ID- Time- Source- EventMeasurement- ID/Name/Description- DUT- Log- Operator (Login for the Characterization Center)- Start Date/Time- Machine/MAC, IP- Script/Version-> Characterization-> SetupDevice					(Bitfield)						(SCPI)- ID/Name/Description	Dom RF I2C						FSP-3-> Parameters			-> Variables-> Groups-> Settings-> DefaultsDevice Meta- ID/Name				-> Device- Key- Value==> Photo, ManualParameter				(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 functionType (Plugin)- ID/Name/Description- Check function- (De-)Serialization functionLoop- ID- Parent loop- Loop variable- Loop valuesResult- ID- Measurement- Date/Time- SettingsValue- ID- Result
 |