140 likes | 249 Views
Using Signals in TestDescription & Capability and a TestResults Example. Signal Capture Generating 1641 Signals from a Product Acceptance Specification (PAS). Translation from the PAS to 1641 signals is reasonably straightforward This is because PAS is written in terms of UUT
E N D
Using Signals in TestDescription & Capability and a TestResults Example
Signal CaptureGenerating 1641 Signals from a Product Acceptance Specification (PAS) • Translation from the PAS to 1641 signals is reasonably straightforward • This is because PAS is written in terms of UUT • Extraction is a manual process E.g.: ‘MonitorSK2-F with respect to 0V at SK2-s and verify that the voltage is +5.0V +/-0.2V’ Translates into: PAS 1641 Signals <TwoWire name="TW1" hi="SK2_F"lo="SK2_s"/> <Instantaneousname="Inst1"In="TW1"type="Voltage"samples="1"nominal="5.0V"LL="4.8V"UL="5.2V" />
Signal CaptureGenerating 1641 Signals from Existing Source Code • In older ATPs, this is often all that is available. • Code, style & structure may be unfamiliar • Contain ATE specific information. • Extracting any large amounts of information manually is very laborious and, thus, prone to error. • Irregular structure and ATE specifics mean that automatic extraction of signals is not possible • Without standardised extraction, the test program is being virtually re-written and must go through acceptance. Test Program 1641 Signals
Test Description <?xml version="1.0" encoding="UTF-8" ?> <!--edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by Racal--> <TestDescription xmlns="http://www.atml.org/DRAFT/TestDescription" xmlns:c="http://www.atml.org/CANDIDATE/Common" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.atml.org/DRAFT/TestDescription Draft_3_TD.DiagTestDescription.xsd"> <DetailedTestInformation> <Diag_Test_Description> <TestGroup name="3.2.2.1"> <Precondition> <!--The one that says turn it on and remove it after when it goes out of scope --> <!--PowerOn 45.5V hi BatteryPos lo BatteryNeg--> <Signal Out="TW1" xmlns="STDBSC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="STDBSC STDBSC.xsd"> <PSUname="PSU5" ampl="45.5V errlmt ±0.5V" current_limit="550mA errlmt ±30mA" xmlns="TSFLEUATP" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="TSFLEUATP TSFLEUATP.xsd" /> <TwoWirename="TW1" In="PSU5" hi="BatteryPos" lo="BatteryNeg" /> </Signal> </Precondition> <Test name="test1"><!--Test1 measure 5V+-200mV hi SK2_F lo SK2_s--> <Output> <Response> <Value> <Signal Out="Inst1" xmlns="STDBSC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="STDBSC STDBSC.xsd"> <TwoWirename="TW1" hi="SK2_F" lo="SK2_s" /> <TimedEventname="TE1" delay="1s" repetition="1" /> <Instantaneousname="Inst1" In="TW1" Gate="TE1" type="Voltage" samples="1" nominal="5.0V" LL="4.8V" UL="5.2V" /> </Signal> </Value> </Response> </Output> <Limits> <LimtsPair> <Limitxsi:type="std:Voltage" value="4.8" units="V" /> <Limitxsi:type="std:Voltage" value="5.2" units="V" /> <Nominalxsi:type="std:Voltage" value="5.0" units="V" /> </LimtsPair> </Limits> </Test> . . . <Precondition> <Signal Out="TW1" - - - > <PSUname="PSU5" ampl=“23.5V errlmt ±0.5V" current_limit="550mA errlmt ±30mA" - - - /> <TwoWirename="TW1" In="PSU5" hi="BatteryPos" lo="BatteryNeg" /> </Signal> <Test name="test1"> <Signal Out="Inst1" - - - > <TwoWirename="TW1" hi="SK2_F" lo="SK2_s" /> <TimedEventname="TE1" delay="1s" repetition="1" /> <Instantaneousname="Inst1" In="TW1" Gate="TE1" type="Voltage" samples="1" nominal="5.0V" LL="4.8V" UL="5.2V" /> </Signal> <Test name="test2"> < Signal… . .
Test Program .NET (e.g. TestBase) ' Create EU Power Supply Signal Set psu = ate.Require("PSU") psu.Name = "PSU1" psu.ampl = "23.5 errlmt ±0.5V" psu.current_limit = "550mA" Set tw = ate.Require("TwoWire") tw.Name = "TW1" tw.In = "PSU1" tw.hi = "BatteryPos" tw.lo = "BatterNeg" psu.Out.Run ' Create Measuremnt Set monitor = ate.Require("<Signal name='T030-0060' Out='Inst1' - - - >" & _ "<TwoWire name='TW1' hi='SK2_F' lo='SK2_s'/>" & _ "<TimedEvent name='TE1' delay='1s' repetition='1'/>" & _ "<Instantaneous name='Inst1' In='TW1' Gate='TE1' type='Voltage' samples='1' nominal='5.0V' LL='4.8V' UL='5.2V'/>" & _ "</Signal>") monitor.Out.Run 5000 monitor.Out.Stop Set monitor = Nothing TestStand
Capability <Resourcename="Racal4152A"uuid="{C37301A3-C41C-4025-9FC2-1F7237859D16}"> <interface> <xs:schemaxmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:element name="Racal4152A"> <xs:annotation> <xs:documentation> The resource description of a Racal4152A DMM and associated connection to the UUT. </xs:documentation> </xs:annotation> <xs:complexType> <xs:complexContent> <xs:extensionbase="SignalFunctionType"> <xs:attributename="uut_pin_hi"type="xs:string"/> <xs:attributename="uut_pin_lo"type="xs:string"/> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element> </xs:schema> </interface> <model> <SignalOut="Racal4152A"… > <TwoWirename="TW1"hi="uut_pin_hi"lo="uut_pin_lo"/> <OneOf> <Instantaneousname="Racal4152A"type="Voltage"nominal="range-300Vto300Verrlmt±0.0019%" UL="300V"/> <Instantaneousname="Racal4152A"type="Current"nominal="range-3Ato3Aerrlmt±0.015%"/> <Instantaneousname="Racal4152A"type="Voltage"nominal="range0to100MRerrlmt±0.0025%"/> </OneOf> </Signal> </model> </Resource> <Resourcename="Racal4152A"uuid="{C37301A3-C41C-4025-9FC2-1F7237859D16}"> <Interface> : <xs:attributename="uut_pin_hi"type="xs:string"/> <xs:attributename="uut_pin_lo"type="xs:string"/> : <model> <SignalOut="Racal4152A"… > <TwoWirename="TW1"hi="uut_pin_hi"lo="uut_pin_lo"/> <OneOf> <Instantaneousname="RI4152A"type="Voltage"nominal="range-300Vto300Verrlmt±0.0019%"/> <Instantaneousname="RI4152A"type="Current"nominal="range-3Ato3Aerrlmt±0.015%"/> <Instantaneousname="RI4152A"type=“Resistance"nominal="range0to100MRerrlmt±0.0025%"/> </OneOf> </Signal> </model>
General Architecture Using a Signal Interface Run-Time System Signal Interface (RAI?) ATE Test Program Switch Test Signal Test Signal Native Driver Test Requirement RFSynth UUT Native Driver Signal Interface Native Driver DMM TestResults Logger
TestResultsSample ==================== PROGRAM NUMBER M75375-000-01 ISSUE 2MY TEST PROGRAMMEUUT SERIAL NUMBER :-DATE :- 2005-03-16T12:24:28OPERATOR NAME :- MCORNISH======================================== TEST PASSHIGH SOURCETEST T020-0030HL = 5.200000MV = 5.057660LL = 4.800000==================== TEST PASSHIGH SOURCETEST T020-0040HL = 15.100000MV = 15.001900LL = 14.500000
Results Data Vs. Modelled Data • No significant differences found between the native and 1641 r.f. test results (Aeroflex)
Comparison of Effort • Typical Effort to Generate Parametric Tests in the Power/Frequency Domain (Aeroflex) Generate Native Test from General Documentation 1 month Port Native Test to IVI (TestStand) 1 week Port IVI Test to 1641 (TestStand) 1 Day (given the presence of the 1641 elements) time
Where We’re Up To • IEEE Std. 1641-2004 Signal & Test Definition • Signal-based test definition standard. • Requirement of MoD ATS Procurement Policy. • Utilised in areas of IEEE P1671 ATML. • IEEE 1641 implementation studies: • Phase 1 - Analogue signals/3 test platforms - Racal Instruments. • Phase 2 - Complex RF and a Synthetic Test Platform – Aeroflex. • Phase 3 - Digital signals/ test platforms - under negotiation. • Phase 4 – Parallel development; comparison of traditional vs. 1641.
Conclusions • IEEE Std. 1641 has been shown to be capable of defining: • Portable analogue signals, • Typical RF parametric tests. • Significant effort required to extract the information required to define a 1641 (platform independent) test, from an existing, non-standard or proprietary, test architecture. • Though not a unique approach, 1641 represents a departure from many existing test methodologies. • Training would address many issues. • No significant differences observed (existing vs. 1641) for: • Test results. • Speed of execution.