Você está na página 1de 460

ASL Series Programming Guide visualATE 5.2.

3
PN: 071-0490-01 August, 2005

Credence Systems Corporation 1421 California Circle Milpitas, CA 95035 Tele: (408) 635-4300 Fax: (408) 635-4985 Customer Service Center (503) 466-7678 (North America and International) (800) 328-7045 (Toll-free within the United States) support@credence.com (Internet email) (503) 466-7814 (Fax)

Legal Notice
No part of this publication may be reproduced or transmitted in any form, or transcribed, stored in a retrieval system, or translated into any language or computer language, in any form or by any meanselectronic, mechanical, magnetic, optical, chemical, manual or otherwisewithout the prior written permission of Credence Systems Corporation. Credence Systems Corporation makes no representations or warranties with respect to the contents hereof and specifically disclaims any implied warranties of merchantability or fitness for any particular purpose. Furthermore, Credence reserves the right to revise this publication and to make changes from time to time in the content hereof without obligation of Credence to notify any person of such revision or changes.

Restricted Rights Legend


Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the rights in Technical Data and Computer Software Clause at DFARS 252.227-7013 or in subparagraph (c)(2) of the Commercial Computer Software - Restricted Rights Clause at FAR 52.227-19, as applicable.

Printed in August, 2005 in the U.S.A. All rights reserved. 2005 Credence Systems Corporation
Notices: Credence, Kalos, ASL x000, Sapphire and other Credence products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Credence Systems Corporation in the United States and other countries. Gemini is a registered trademark of Micro-Probe, Inc. and is licensed for use to Credence Systems Corporation. The following are trademarks or registered trademarks of their respective companies or organizations: UNIX / X/Open Company Ltd. Sun Microsystems, Sun Workstation, OpenWindows, SunOS, NFS, Sun-4, SPARC, SPARCstation, Java, Solaris / Sun Microsystems Ethernet / Xerox Corporation Microsoft, Windows, Windows NT / Microsoft Corporation All other brand or product names are trademarks or registered trademarks of their respective companies.

CONTENTS
1 - About this Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Scope of this Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Notation Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How to Use the Programming Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Syntax Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programming Sample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . connect_vi_force . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Related Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operation Safety Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Service Safety Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Electromagnetic Compatibility (EMC) System Requirements . . . . . . . . . . . . . . . . . ASL-Based Series Test System Immunity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASL-Based Series Test System Emissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 26 26 26 27 28 28 28 29 31 32 34 35 35 35

2 - visualATE Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
visualATE System Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Test Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Limit Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Program Creation Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The Program Selection Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a New Test Program File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Directories for Test Program Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Test Program Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Updating Test Programs after Changing the Parent List . . . . . . . . . . . . . . . . . The ASL 1000 Tester . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instrument Cards for the ASL 1000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The ASL 3000RF Tester . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RF Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 38 38 39 41 42 44 44 45 47 47 49 50

3 - ACS - AC Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Basic Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Waveform Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Additional Output Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

ASL Series Programming Guide

Contents

Function Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Waveform Generator Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_bw_ref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Waveform Memory and Clock Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . ldram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . load_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . load_address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . card.clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AC Meter Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_meas_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . close_relay open_relay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ACS Simplified Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ACS Programming Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sinusoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Trapezoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

59 59 59 59 60 62 63 63 64 64 65 66 66 67 67 68 68 70 71 71 71

4 - DCC - Data Converter Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73


Function Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . measure_average . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . select_adc_mux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . select_adc_range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . select_iva_range select_ivb_range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_high_level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_low_level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_prec_ref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_prec_ref_fine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_current_force . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_servo_hi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_servo_lo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_servo_ref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_servo_trig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_servo_code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . drives_0_7_off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 74 74 75 75 76 77 77 78 79 79 80 80 81 81 82 82

PN: 071-0490-01, August, 2005

Contents

close_switch open_switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . close_relay open_relay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . clear_relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DCC Programming Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TUE, INL, and DNL (8-bit ADC using the DCC) . . . . . . . . . . . . . . . . . . . . . . . . Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input Current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

83 84 85 86 86 88 89

5 - DDD - Digital Driver and Detector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91


Single Board Function Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Channel Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 ddd_disconnect_drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 ddd_set_voltage_ref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 ddd_set_hi_level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 ddd_set_lo_level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Clock and Timing Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 ddd_set_clock_freq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 ddd_set_clock_period . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 ddd_set_no_delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 ddd_set_delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Pattern Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 ddd_load_pattern (non-loop mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 ddd_load_pattern (loop mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 ddd_end_pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 ddd_run_pattern (non-loop mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 ddd_run_pattern (loop mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 ddd_stop_pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 ddd_read_pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 ddd_compare_pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Multiple Board Function Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Channel Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 init Master and Slave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 ddd_disconnect_drivers Master and Slave . . . . . . . . . . . . . . . . . . . . . . . . . 103 ddd_set_compare_channels Master and Slave . . . . . . . . . . . . . . . . . . . . . 104 ddd_set_voltage_ref Master and Slave . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 ddd_set_hi_level Master and Slave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 ddd_set_lo_level Master and Slave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Clock and Timing Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 ddd_set_clock_freq Master and Slave . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

ASL Series Programming Guide

Contents

ddd_set_clock_period Master and Slave . . . . . . . . . . . . . . . . . . . . . . . . . . ddd_disable_clocks Master and Slave . . . . . . . . . . . . . . . . . . . . . . . . . . . . ddd_set_no_delay Master and Slave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ddd_set_delay Master and Slave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pattern Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ddd_load_pattern - Master and Slave (non-loop mode) . . . . . . . . . . . . . . ddd_load_pattern - Master and Slave (loop mode) . . . . . . . . . . . . . . . . . . ddd_end_pattern Master and Slave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ddd_set_slave_pattern Slave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ddd_set_master_pattern Master . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ddd_run_slave_pattern Slave (non-loop function) . . . . . . . . . . . . . . . . . . . ddd_run_master_pattern Master (non-loop function) . . . . . . . . . . . . . . . . . ddd_run_slave_pattern Slave (loop function) . . . . . . . . . . . . . . . . . . . . . . . ddd_run_master_pattern Master (loop function) . . . . . . . . . . . . . . . . . . . . . ddd_stop_pattern - Master and Slave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ddd_read_pattern Master and Slave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ddd_compare_pattern Master and Slave . . . . . . . . . . . . . . . . . . . . . . . . . . DDD Simplified Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vector Format Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . No Delays with 1- and 0-Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Delays with 1- and 0-Data and Zs (RT1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Delays with 1- and 0-Data and Ts (RT0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Delays with Zs (RT1) and Ts (RT0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Delays with Zs (RT1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Delays with Ts (RT0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

107 107 108 108 109 109 110 111 111 112 112 113 113 114 114 115 115 117 118 118 119 120 121 122 123

6 - DOAL - Dual Op Amp Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125


Theory of the DOAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opamp Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Relay and Switch Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Channel Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Measurement Circuit Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Function Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_ia_offset_dac ch1_ia_offset_dac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_output_dac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_output_voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . dac_output_voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_gain_dac_ch0 set_gain_dac_ch1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 126 127 127 128 130 130 130 131 132 132 133

PN: 071-0490-01, August, 2005

Contents

set_int_dac_ch0 set_int_dac_ch1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . convert_read_adc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . select_adc_mux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . measure_average . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . close_relay open_relay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . clear_relays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . close_switch open_switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . clear_switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DOAL Simplified Diagrams: CH0 and CH1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programming Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Testing VOS on a Dual Opamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Testing Input Bias Current on a Dual Opamp . . . . . . . . . . . . . . . . . . . . . . . . .

133 134 134 135 136 137 137 138 140 143 143 146

7 - DVI - Dual Voltage/Current Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151


DVI Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Current Direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Function Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_voltage_range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_diff_range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_current_range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_meas_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . measure_average . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . close_relay open_relay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DVI-2000 Differences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_diff_range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_current_range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_meas_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . close_relay open_relay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . was_it_hot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 153 155 155 155 156 158 159 160 162 162 163 163 164 166 166 166 167 168 169 170 171 171

ASL Series Programming Guide

Contents

Duty Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DVI Simplified Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DVI Programming Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Supply Current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

172 174 177 177

8 - HVS - High-Voltage Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179


Function Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_meas_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . measure_average . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . supply_off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . close_relay open_relay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HVS Simplified Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HVS Programming Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 180 180 181 182 183 183 184 184 186 187

9 - LZB - Link/Zener Blower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189


Function Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_clamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_meas_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . convert_read_adc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . close_relay open_relay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LZB Simplified Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programming Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 190 190 191 191 192 192 193 193 195 196

10 - MUX - Resource Multiplexer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199


MUX Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . User Bus Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Function Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . close_relay open_relay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MUX Simplified Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 200 201 201 201 203

PN: 071-0490-01, August, 2005

Contents

11 - MVS - Medium-Voltage Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205


Function Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_meas_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . measure_average . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . supply_off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . close_relay open_relay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MVS Simplified Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 206 206 207 208 209 209 210 210 212

12 - OFS - Octal Floating Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213


Function Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_meas_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . measure_average . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . supply_off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . close_relay open_relay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OFS Simplified Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 214 214 215 216 217 217 218 218 220

13 - OVI - Octal Voltage/Current Source . . . . . . . . . . . . . . . . . . . . . . . . . . . 221


Function Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_meas_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . measure_average . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . connect disconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OVI Simplified Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 222 222 223 225 226 226 228 229

14 - PVI - Pulsed Voltage/Current Source . . . . . . . . . . . . . . . . . . . . . . . . . 231


PVI 10 Function Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 set_voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232

ASL Series Programming Guide

Contents

set_current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_meas_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . measure_average . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . charge_on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . charge_off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . supply_off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . close_switch open_switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PVI 10 Formula Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PVI 100 Function Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_meas_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . measure_average . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . charge_on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . charge_off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . close_switch open_switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . volt_meas_range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . slow_comp normal_comp fast_comp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . current_fast current_normal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . voltage_fast voltage_normal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . kelvin_on kelvin_off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . drive_on drive_off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . drive_meas_off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PVI-100 Test Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PVI 100 Simplified Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

233 234 234 235 235 236 236 237 238 240 240 240 241 242 242 243 243 244 244 245

246 247 247 248 248 249 250 252

15 - TIA - Time Interval Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253


Function Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . arm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . do_general_setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 254 254 255

10

PN: 071-0490-01, August, 2005

Contents

measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . measure_freq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . measure_skew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . read_single_pulse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_sampling_mux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . setup_frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . setup_single_pulse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . setup_skew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . std_dev_freq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . std_dev_time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . average . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . average_skew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . convert_samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . convert_freq_samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . convert_skew_samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . read_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . read_skew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setup Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . done_setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . channel_enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . clock_source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . impedance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . coupling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . threshold_volts_percent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a_count b_count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . chan_a_result chan_b_result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . conversion_done[channel] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . max_limit_active min_limit_active . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . max_val min_val . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TIA Calibration and Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Board Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TIA Cal File Loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Frequency Measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skew Measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

256 256 257 258 258 259 260 260 261 262 263 263 264 265 265 266 267 267 268 268 269 270 270 270 271 272 272 273 274 275 275 276 276 278 278 278 278 280

ASL Series Programming Guide

11

Contents

16 - TMU - Time Measurement Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283


TMU Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Measurement Resolution and Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arming the TMU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programming Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Measuring Rise Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Measuring Fall Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Measuring Propagation Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Measuring a Periodic Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TMU Start and Stop Holdoff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TMU Counting Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Start Holdoff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Stop Holdoff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TMU Start and Stop Holdoff TIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TMU Start and Stop Holdoff EVENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Function Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . start_trigger_setup stop_trigger_setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . arm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . read_now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . get_status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set_control clear_control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . close_relay open_relay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . start_holdoff stop_holdoff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 286 288 290 291 291 291 291 292 293 293 293 293 294 295 297 297 297 298 299 300 300 301 302 303 304

17 - Additional User Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307


STDF User Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MIR Get Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MIR Set Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MRR Get Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MRR Set Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PCR Get Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PCR Set Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SDR Get Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SDR Set Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 308 309 309 310 310 310 310 311

12

PN: 071-0490-01, August, 2005

Contents

WIR Get Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WIR Set Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WRR Get Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WRR Set Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WCR Get Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WCR Set Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PTR Get Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PTR Set Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wafer Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Get_missing_wafer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Set_missing_wafer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Set_completed_wafer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Get_wafer_in_progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Set_wafer_in_progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Get_sublot_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Set_sublot_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Get_total_wafer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Set_total_wafer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Get_wafer_list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Set_wafer_list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Send_eow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Set_prober_control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Get_prober_control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Get_wafer_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Miscellaneous Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . StopProgram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RunProgram GetLotIdName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetLotIdName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetSerialNum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetSerialNum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ClearLotSummaryComments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AppendLotSummaryComments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetPlotData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetProgramName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetProgramName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OpenErrorMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CloseErrorMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SendCommStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OnNewLot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetLimitSetName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetLimitSetName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

311 311 311 311 312 312 312 312 313 313 313 314 315 315 316 316 317 317 318 318 319 319 320 320 322 322 322 323 323 324 324 325 325 326 327 327 328 328 329 329 330 330

ASL Series Programming Guide

13

Contents

GetDeviceName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetDeviceName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetProgramModeCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetProgramModeCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetProgramRevision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetProgramRevision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetProgramTestCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetProgramTestCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetOperationStepNumber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetOperationStepNumber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetTotalPass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetTotalFail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modal Dialog Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Support Code for Modal Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetStatusDialogHasYesButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetStatusDialogHasNoButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetStatusDialogHasOKButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetStatusDialogHasCancelButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetDialogEditFieldLeftSideText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetDialogEditFieldRightSideText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetDialogTopMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetDialogBottomMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetDialogEditFieldInitializationText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RunModalDialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetStatusDialogYesButtonHasBeenPushed . . . . . . . . . . . . . . . . . . . . . . . . . . GetStatusDialogNoButtonHasBeenPushed . . . . . . . . . . . . . . . . . . . . . . . . . . GetStatusDialogOKButtonHasBeenPushed . . . . . . . . . . . . . . . . . . . . . . . . . . GetStatusDialogCancelButtonHasBeenPushed . . . . . . . . . . . . . . . . . . . . . . . GetEditFieldText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Code Example 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Code Example 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Datalog Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . func.dlog->power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . func.dlog->set_test_no . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . func.dlog->test_val . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . func.dlog->tests[ ].passed_fail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . func.dlog->set_bin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . func.dlog->tests[ ].display_results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . func.dlog->display_results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pass_bins[ ] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Code Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

331 331 332 332 333 333 334 335 335 336 336 337 338 339 341 342 343 344 345 346 347 348 349 350 351 351 352 352 353 353 355 359 359 359 359 360 360 361 361 362 362 363

14

PN: 071-0490-01, August, 2005

Contents

A - ASL 1000 Interconnects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365


Slots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Supplies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Grounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 387 389 390

B - ASL 3000 Interconnects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391


DUT Board Test Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Test Interface Connector Sockets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Relay Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Miscellaneous Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RF DUT Interface Pinouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 26 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 27 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 28 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 29 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 30 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Slot 31 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 393 394 395 396 397 399 401 403 405 407 409 411 413 414 416 418 420 422 424 426 428 430 432 433 435 437 439 441 443 445 448 451 454 457

ASL Series Programming Guide

15

Contents

16

PN: 071-0490-01, August, 2005

TABLES
1 - About this Guide
Table 1. Table 2. Table 3. Font Treatments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Operation Safety Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Service Safety Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2 - visualATE Overview
Table 4. Table 5. Table 6. Table 7. Directory for Test Program Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASL 1000 Instruments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MVNA Boards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RF Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 48 50 51

3 - ACS - AC Source 4 - DCC - Data Converter Card 5 - DDD - Digital Driver and Detector 6 - DOAL - Dual Op Amp Loop
Table 8. Table 9. Table 10. Table 11. DOAL - Relays and Switches Closed on init . . . . . . . . . . . . . . . . . . . . . DOAL - Independent Relays and Switches . . . . . . . . . . . . . . . . . . . . . . Programmable Range Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I-V Converter Ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 127 128 129

ASL Series Programming Guide

17

Tables

7 - DVI - Dual Voltage/Current Source 8 - HVS - High-Voltage Source 9 - LZB - Link/Zener Blower 10 - MUX - Resource Multiplexer 11 - MVS - Medium-Voltage Source 12 - OFS - Octal Floating Source 13 - OVI - Octal Voltage/Current Source 14 - PVI - Pulsed Voltage/Current Source
Table 12. PVI Test Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

15 - TIA - Time Interval Analyzer 16 - TMU - Time Measurement Unit


Table 13. Start and Stop Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

17 - Additional User Functions A - ASL 1000 Interconnects


Table 14. Table 15. Table 16. Table 17. Table 18. Table 19. Table 20. Table 21. Table 22. Table 23. Table 24. Table 25. Table 26. Table 27. Table 28. Table 29. Table 30. Table 31. Table 32. ASL 1000 Interconnects: Slot 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASL 1000 Interconnects: Slot 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASL 1000 Interconnects: Slot 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASL 1000 Interconnects: Slot 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASL 1000 Interconnects: Slot 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASL 1000 Interconnects: Slot 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASL 1000 Interconnects: Slot 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASL 1000 Interconnects: Slot 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASL 1000 Interconnects: Slot 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASL 1000 Interconnects: Slot 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASL 1000 Interconnects: Slot 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASL 1000 Interconnects: Slot 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASL 1000 Interconnects: Slot 13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASL 1000 Interconnects: Slot 14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASL 1000 Interconnects: Slot 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASL 1000 Interconnects: Slot 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASL 1000 Interconnects: Slot 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASL 1000 Interconnects: Slot 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASL 1000 Interconnects: Slot 19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386

18

ASL Series Programming Guide

Tables

Table 33. Table 34. Table 35. Table 36. Table 37.

ASL 1000 Interconnects: Slot 20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASL 1000 Interconnects: Slot 21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Supply Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Grounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Config Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

387 387 389 391 392

B - ASL 3000 Interconnects

ASL Series Programming Guide

19

Tables

20

ASL Series Programming Guide

FIGURES
1 - About this Guide 2 - visualATE Overview
Figure 1. Figure 2. Figure 3. Figure 4. Figure 5. List File, DLL, and Test Program Limit Sets . . . . . . . . . . . . . . . . . . . . . Program Selection Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Save As New Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASL 1000 Hardware Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASL 3000RF Hardware Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 41 43 47 49

3 - ACS - AC Source
Figure 6. Figure 7. Figure 8. Figure 9. Figure 10. Figure 11. Figure 12. Basic Digital-to-Analog Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Waveform Memory Bit Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . ACS Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Waveform Data to Waveform Output Relationships . . . . . . . . . . . . . . . LPF Linearity Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Amplitude and Offset Level of Output Waveform . . . . . . . . . . . . . . . . . ACS Simplified Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 55 56 57 61 62 70

4 - DCC - Data Converter Card


Figure 13. DCC Sample Test Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

5 - DDD - Digital Driver and Detector


Figure 14. Figure 15. Figure 16. Figure 17. Figure 18. Figure 19. Figure 20. DDD Simplified Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using No Delay with 1s and 0s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Delays with 1s, 0s, and Zs (RT1) . . . . . . . . . . . . . . . . . . . . . . . Using Delays with 1s, 0s and Ts (RT0) . . . . . . . . . . . . . . . . . . . . . . . . Using Delays with Zs (RT1) and Ts (RT0) . . . . . . . . . . . . . . . . . . . . . . Using Delays with Zs (RT1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Delays with Ts (RT0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 118 119 120 121 122 123

6 - DOAL - Dual Op Amp Loop


Figure 21. DOAL Simplified Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Figure 22. DOAL Channel 0 Simplified Diagram . . . . . . . . . . . . . . . . . . . . . . . . . 141 Figure 23. DOAL Channel 1 Simplified Diagram . . . . . . . . . . . . . . . . . . . . . . . . . 142

7 - DVI - Dual Voltage/Current Source


Figure 24. Current Direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

ASL Series Programming Guide

21

Figures

Figure 25. 154 Figure 26. Figure 27. Figure 28. Figure 29.

Programmed Negative Current Value with Positive (Sourcing) Current . . Duty Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DVI Simplified Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DVI Relay Configuration for DVI-200 and DVI-300 . . . . . . . . . . . . . . . DVI Relay Configuration for DVI-2000 only . . . . . . . . . . . . . . . . . . . . . 173 174 175 176

8 - HVS - High-Voltage Source


Figure 30. HVS Simplified Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 Figure 31. HVS Sample Test Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

9 - LZB - Link/Zener Blower


Figure 32. LZB SImplified Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

10 - MUX - Resource Multiplexer


Figure 33. MUX Simplified Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

11 - MVS - Medium-Voltage Source


Figure 34. MVS SImplified Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

12 - OFS - Octal Floating Source


Figure 35. OFS SImplified Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

13 - OVI - Octal Voltage/Current Source


Figure 36. OVI Simplified Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

14 - PVI - Pulsed Voltage/Current Source


Figure 37. PVI-10 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Figure 38. PVI 100 Simplified Instrument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

15 - TIA - Time Interval Analyzer 16 - TMU - Time Measurement Unit


Figure 39. Figure 40. Figure 41. Figure 42. Figure 43. Figure 44. Figure 45. Figure 46. TMU Conceptual Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Types of TMU Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TMU Conceptual Diagram with Arm and Slope . . . . . . . . . . . . . . . . . . TMU Interpolation Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TMU Input Channel Mux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TMU Start and Stop Holdoff Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . TMU Start and Stop Holdoff Events . . . . . . . . . . . . . . . . . . . . . . . . . . . TMU Simplified Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 285 285 287 288 294 295 305

22

ASL Series Programming Guide

Figures

17 - Additional User Functions


Figure 47. Figure 48. Figure 49. Figure 50. Figure 51. Figure 52. Figure 53. Figure 54. Figure 55. Figure 56. Figure 57. Figure 58. Dialog Function Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modal Dialog Box with YES Button . . . . . . . . . . . . . . . . . . . . . . . . . . . Modal Dialog Box with NO Button . . . . . . . . . . . . . . . . . . . . . . . . . . . Modal Dialog Box with OK Button . . . . . . . . . . . . . . . . . . . . . . . . . . . Modal Dialog Box with Cancel Button . . . . . . . . . . . . . . . . . . . . . . . . Modal Dialog Box with Left String Edit Box . . . . . . . . . . . . . . . . . . . . Modal Dialog Box with Right String Edit Box . . . . . . . . . . . . . . . . . . . Modal Dialog Box with Top String Edit Box . . . . . . . . . . . . . . . . . . . . . Modal Dialog Box with Bottom String Edit Box . . . . . . . . . . . . . . . . . . Modal Dialog Box with Specified String Edit Box . . . . . . . . . . . . . . . Ouput from the Code Example 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Output of Example 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 342 343 344 345 346 347 348 349 350 355 358

A - ASL 1000 Interconnects B - ASL 3000 Interconnects


Figure B-1.Test Interface Connectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 Figure 59. ASL 3000RF DUT Interface Connectors and Pin Groups . . . . . . . . 393

ASL Series Programming Guide

23

Figures

24

ASL Series Programming Guide

2
VISUALATE

OVERVIEW

This chapter provides an overview of the visualATE operating system.

ASL Series Programming Guide

37

2 - visualATE Overview

visualATE System Software


The visualATE system software from Credence accommodates the following automated tester platforms: ASL 1000 ASL 3000 ASL 3000MS ASL 3000RF

Test Programs
A test program is a sequence of calls to the test functions within a DLL or List. As only one DLL can be linked at a time, the test functions in a test program must come from the same DLL. Not all test functions in a list need be included in the program; they may be enabled or disabled within the test program. Enabled functions execute when the test program is run, while disabled functions are skipped. Saving a test program creates a file that contains: One or more sets of parameter values (limit sets) for each of the included functions A list of included functions that are executed in sequence when the program is run

Limit Sets
A single test program can contain multiple variations on the structures (parameters, limits, and enabled/disabled status) that determine how the test functions behave. These variations are called limit sets. When functions are inserted into a test program, the existing structures for all the included functions become the default limit set for the program. Except for adding or removing test functions from the program, any editing actually alters the limit set, and not the functions themselves. The default limit set can be edited as desired, saved under a new name, or saved as the new default set for the program. Additional limit sets can be created and edited as desired. When multiple limit sets are created for a single program, the same program can be run with the various limit sets, designed for different test purposes.

38

ASL Series Programming Guide

visualATE System Software

Each limit set contains not only the altered parameters and test limits for each function, but also the functions enabled or disabled status. Therefore, a test function may be enabled in one limit set and disabled in another set. NOTE Editing limits in a test program file does not alter the original limits contained in the list. Functions display with their default values when inserted from the parent list, even if the same function was inserted earlier, and the values were altered within the test program.

Program Creation Steps


These are the steps for creating a test program: Open a list file in Engineering Assign a name to the test program file Insert the desired functions from the list in the order they will run Edit parameters and test limits for each test function Create additional limit sets as desired Edit parameters and test limits for each test function in each different limit set Write AutoCorrelation verification limits if desired Save the edited test program Debug the program code in Visual C++ if required

These processes are reviewed in this chapter. Figure 1. on the following page illustrates the relationship between list files, test programs and limits. NOTE Engineering users can also create list files from test programs, and use the new list to create additional programs. A list file must exist before any programs can be built however, additional list files may be created from the test program once the program is written.

ASL Series Programming Guide

39

2 - visualATE Overview

parameters)

Figure 1. List File, DLL, and Test Program Limit Sets

40

ASL Series Programming Guide

visualATE System Software

The Program Selection Window


To access the program selection window, as shown in Figure 1-2, follow these steps: 1. Log on to visualATE. 2. Select Engineering from the main menu 3. The Program Selection dialog appears 4. Double-click or highlight the name, and select Open

Figure 2. Program Selection Window NOTE In a new install, there are no test program files shown in the window. To use the Engineering editor, test programs must be created or inserted.

ASL Series Programming Guide

41

2 - visualATE Overview

The programs that appear in this window are available for both development and production. Access to programs, however, is set by the users privileges. Engineering users can double-click on any test program name in the window to open the program in the Engineering editor. Production users may be able to open programs in the window or may have to enter a program name manually, depending on the System Properties set. Production users cannot create new programs or insert programs into the window. Selecting Remove opens an option window that allows the user to remove the program from the window, or remove the program from the window and delete it from the programs directory. A removed file remains available and can be reinserted later. Insert adds an existing file to the window. This brings up a browser. The inserted file is visible in Program Selection immediately. New brings up a dialog where the user chooses a list file from which to generate a program. Once programs have been identified, they will appear in this window whenever Engineering is entered. If production user access has been set to display a menu of available programs, this window will also appear when Operator is opened. However, the New and Insert tools will be disabled.

Creating a New Test Program File


Creating a new program file involves opening a list file and saving it as a test program (*.prg) file. New programs must be saved before they can be opened or edited. The name assigned when the program is saved becomes the file directory name. Once the program has been named and saved, it opens in Engineering and is ready to edit. The new program opens in the Engineering editor. No functions are displayed. See Figure 3 to create a new program.

42

ASL Series Programming Guide

visualATE System Software

1. Navigate to the right to select and 2. Open the list file

3. Type a name for the program here and Save As New Program dialog window

Figure 3. Save As New Program

ASL Series Programming Guide

43

2 - visualATE Overview

Directories for Test Program Files


Test programs generated from a list will be saved to the folder associated with the parent list. The default directory can be changed. However, if a program is saved to a different directory, visualATE may not be able to find the program or its associated list every time the program is opened. Table 4 shows the basic directory structure. Table 4. Directory for Test Program Files Directory /asl_nt/users/lists/listname asl_nt/users/lists/listname/debug /asl_nt/users/lists/listname/ programs /asl_nt/users/lists/listname/datalog Description Source code for the list (*.cpp, *.h files) & ListNAME.LST file Contains the DLL for the list Test programs (*.prg files) created in Engineering are stored here Files output from Operator or the Engineering Run Screen (*.dl4, *.ls4) are placed here

Editing Test Program Files


The Engineering editor must be open in order to edit a test program file. To open the Engineering editor, open a program file from the Program Selection dialog. New test programs will open an editor that appears to be empty because no test functions have been inserted.

Inserting and Enabling Functions


Although the editor appears blank when a new program is opened, all the functions included in the originating list file are available to be inserted. Functions run in the order they appear on screen. Function numbers are assigned automatically and sequentially and cannot be overridden. However, function run order can be changed by removing and reinserting, or copying and pasting, the functions in the desired order. Functions are inserted above the last inserted function if the mouse cursor is not moved. If the mouse cursor is placed inside of a function, then the next inserted function will be placed above the existing one. If the cursor is placed below the function bottom border, the new function will be inserted below the existing one.

44

ASL Series Programming Guide

visualATE System Software

Limit Sets
A limit set is an independent collection of values for all editable fields in a program, such as parameter values, test max. and min. limit values and enable/disable settings. When a new program is created, the inserted functions bring their default values with them from the list file, and associate them with the program as a default limit set. This default limit set cannot be edited. Multiple limit sets can be defined for a single program, however, only one limit set can be active at one time. Editing values in an open program changes the values in the active limit set, while other limit sets remain unaffected. Values can be copied from one limit set and pasted into another. Adding or removing functions affects all limit sets. In a program with multiple limit sets, adding a function to the program adds all the values for that function to each limit set. The values must be edited within each limit set after the function has been inserted. Removing a function from a program removes the parameter and test values associated with that function from all the limit sets. NOTE To run a test function in one limit set but not in another, insert the function into the program and enable it in the limit set where it will run; disable this same function in the limit sets where it is not needed.

Updating Test Programs after Changing the Parent List


Test.exe requires a list and each of the test programs generated from it to have identical structures. Each file must contain the same number of functions, parameters and tests, the names must be the same, and must appear in the same order. In the test program, the structure is what is available to the test program, not what is used in the test program. Important to remember: a test program executes selected functions, it does not change the structure of the list. A structural change is anything that can be done in Create but not in Engineering (parameter names and types, number of tests, etc.). Test program structure shows in the Select Function dialog. To see a test programs structure follow these steps: 1. 1. Open the test program 2. 2. Go to Edit -> Insert Function A dialog opens titled Select Function. All of the functions that are available to the test program are displayed. The contents of this dialog match the list elements shown when the list is opened in Create. When a list is structurally changed (functions, parameters or tests are added or removed), the new structure no longer matches the structure associated with existing test programs created from the list.

ASL Series Programming Guide

45

2 - visualATE Overview

When running a test program whose parent list has changed, Test.exe automatically updates the test program structure to match the parent list structure. When the test program is opened, a message is displayed, along with a report file that shows what has changed: the set of available functions are revised to match the updated parent list, and structurally changed functions are removed from the program. This report can be printed. Follow these steps to run the program after changing the parent list: 1. In Select Function (above), highlight the updated function and click OK 2. Repeat for each function that has been modified 3. Save the revised test program 4. Run the test program

46

ASL Series Programming Guide

The ASL 1000 Tester

The ASL 1000 Tester


The ASL 1000 tester is composed of the hardware blocks in Figure 4. Tester CPU with test head interface board, data/control bus cable and peripherals Power supply Instrument cards Test head assembly with backplane, interconnect board and DUT board)

Test Head Tester CPU with IF Card Data/Control Bus Cable

Backplane Instruments

Power Supply Multi-Conductor Power Cable Interconnect Board


Figure 4. ASL 1000 Hardware Architecture

DUT Board

Instrument Cards for the ASL 1000


Each ASL 1000 test instrument is contained on a type B VME-sized card that plugs into the test head backplane. Up to 21 test instrument cards can be mounted in the backplane. Many of the instrument cards have user-accessible test points located along one edge for debugging. Minimum instrument configuration requires one DVI Dual Voltage/Current card in slot 9, and one MUX Multiplex Relay card in slot 20. Other instrument cards are added to expand the system as required. For definitions and programming instructions for each instrument, see similarly titled individual chapters in this guide.

ASL Series Programming Guide

47

2 - visualATE Overview

Table 5. ASL 1000 Instruments Name ACS DCC DDD DOAL Instrument Alternating Current Source Data Converter Card Digital Driver and Detector Dual OpAmp Loop Description Arbitrary waveform generator and alternating current meter Highly flexible card for testing ADCs, DACs and other converters 8-channel digital pattern generator for digital signal stimulation and readback High-precision opamp and comparator resource for testing amplifiers in a closed loop configuration Two-channel, medium-current V/I source; provides true four-quadrant force/measure operation and rapid settling time High-voltage, low-current floating source Single quadrant V/I source optimized for link and Zener blows Medium-voltage, medium-current floating source Relay card Medium-voltage, medium-current floating source Eight-channel, low-current V/I source that offers four-quadrant force/measure operation Medium-voltage resource that provides a very high current, time-limited current pulse in a fully floating mode Two-channel, high-precision time measurement instrument mounted in the PC case Flexible card that gives a wide range of timing measurement functions for both analog and digital devices

DVI

Dual Voltage/Current Source High Voltage Source Link/Zener Blower Medium Voltage Source Resource Multiplexer Octal Floating Source Octal Voltage/Current

HVS LZB MVS MUX OFS OVI

PVI

Pulsed V/I

TIA

Time Interval Analyzer

TMU

Time Measurement Unit

48

ASL Series Programming Guide

The ASL 3000RF Tester

The ASL 3000RF Tester


The ASL 3000RF tester is composed of the following hardware blocks as shown in Figure 5. Tester CPU with test head interface board, data/control bus cable and peripherals Power supply ASL standard instrument cards RF Subsystem (MVNA, RF brick) Test head assembly with backplane, interconnect board and DUT site interface board

Keyboard

KBD

Ethernet 100bT

TTL Interface to Handler Test Head


Test I/O Data I/O DC Power

Server Mouse P/S-2 ASL Series PC VGA


208 VAC RS 232

50-pin TTL logic signals

ASL Instrument Card Cage


Aux RF/Gnd (4) / RF/Gnd (8) /

208 VAC

208 VAC 208 VAC

Voltmeter Power Meter

Interconnect Board/DUT Interface

Monitor

HV Interlock Removes all user power when interrupted

Power Distribution

208 VAC Ethernet

Trig In

DUT
Pogo/OSP Interface

RF Source

RF/Gnd Switch Control 32 D I/O

RF Source
10 MHz

RF Modules

208 VAC

RF/Gnd

RF Mother Board

208VAC Single Phase 50A 50/60 Hz 208 VAC

Trig Out

208 VAC

RF Source
208 VAC

RF/Gnd

Address Data

RF Source

RF/Gnd

+/-5V +12V GND

+/-5V +12V GND

Power Module

GPIB

RF Subsystem (MVNA)

IF/Gnd (4) / Digital Control Trigger I/O

DC Power

Standard Configuration

Test Head DC +3.3 @150A +5 @ 150A -5 @ 60A +12 @ 20A +/- 16 @ 16A +/- 24 @ 10A +/- 50 @ 12.5A +/- 65 @ 16A

Figure 5. ASL 3000RF Hardware Architecture

ASL Series Programming Guide

49

2 - visualATE Overview

RF Subsystem
Modulated Vector Network Analysis (MVNA)
The MVNA chassis backplane supports standard compact PCI connection and a nonstandard connection. Front side boards utilize both connectors while backside boards have access only to the non-standard connector. All boards are 6U in height. The MVNA is contained in the server cabinet. Table 6. Item 1 2 3 4 5 6 7 MVNA Boards Name G4 Receiver Board I/Q Board Embedded Controller Board 2nd LO Board 2nd Downcoverter Board Clock/Trigger Distribution Board PCI RF Control Board Description Digitizes the 2nd IF signals for RF measurements 2 Channel AWG that drives the vector modulator in the SMIQ generator Pentium 1GHz CPCI controller for the MVNA RF measurement subsystem Generates, distributes a fixed 200 MHz LO for down conversion of the 1st IF to the 2nd Down converts the first IF to the second IF (intermediate frequency) Distributes the 65 MHz sample clock and Trigger signals to up to 8 receiver channels Interfaces the CPCI bus to the RF control motherboard via an LVDS link. Additionally, this board routes hardware triggers to and from the DUT test site Routes the IDE Hard Drive control signals from the Embedded Processor Controller to the RF subsystem hard disk drive.

Embedded Controller Board (Rear IO)

50

ASL Series Programming Guide

The ASL 3000RF Tester

RF Brick
The following six modules in and board types comprise the RF Brick in the test head: Table 7. RF Modules Item 1 2 Name RF Port Module LO Splitter Module (RF subsystem) IF Mux Module (RF subsystem) RF Mux Module Description Bi-directional RF I/O with built in down conversion stage Distributes 1st LO signal to up to 8 ports. Has built in variable attenuation to maintain constant output power Multiplexes the 1st IF signal from 4 channel to 1 channel. Each module contains two 4x1 MUXs Multiplexes up to 3 RF sources to up to 8 ports. This module also contains the power combiner for two-tone measurements. Provides the control logic and DC power to the RF Pin Electronics. The MVNA directly communicates with the RF Control Motherboard. Routes signals from the mixed-signal instrument backplane to the Pogo pin DUT interface

RF Control Mother Board

Interconnect Board (RF subsystem)

Standard Instruments
The test head also contains the full complement of ASL series instruments, contained in an instrument card cage. See Table 7. For definitions and programming instructions for each instrument, see similarly titled individual chapters in this guide.

ASL Series Programming Guide

51

2 - visualATE Overview

52

ASL Series Programming Guide

1
ABOUT THIS GUIDE
This introductory section gives an overview of the ASL Mixed Signal Programmers Guide for the visualATE system software. This section includes: Scope of this guide Notation conventions Programming reference usages Related publication Operator safety summary Electromagnetic Compatibility (EMC) System requirements.

ASL Series Programming Guide

25

1 - About this Guide

Scope of this Guide


The ASL Series Programming Guide assembles a suite of programming references for the visualATEvisualATE operating system. This software has been designed to run the following automated tester platforms: ASL 1000, ASL 3000 and ASL 3000MS.

Audience
The information in this guide is for test engineers and programmers who work with ASL 1000, ASL 3000 and ASL 3000MS automated test systems running under the visualATE system software from Credence Systems Corporation. For this audience, chapters are designed to give a one-stop point of reference the Table of Contents is where to find the chapter titled for the test instrument to program. For a quick look at the programming reference features, see the Programming Reference Sample later in this section.

Prerequisites
visualATE software includes Microsoft Visual C++. This guide assumes the user to have a basic familiarity with C and C++ programming. For an overview of how Credence Systems incorporates the C++ environment in the visualATE and ASL platform, see the visualATE Users Guide.

Organization
The contents of this guide are organized as follows: Chapter 1 Chapters 2 to 16 Chapter 17 Appendix A Appendix B ASL Platform Overview showing available test instruments. Programming references by instrument. Lists additional user functions Shows ASL 1000 system interconnects. Shows ASL 3000 system interconnects.

26

ASL Series Programming Guide

Notation Conventions

Notation Conventions
Throughout this guide, font treatments are used to highlight special terms and actions. Table 1 describes these styles and their meaning. Table 1. Font Treatments Style Bold Italics Italic Bold Initial Capitalization Purpose Mandatory statements that must be entered exactly as they appear and valid arguments Terms defined in the glossary or emphasized in the text Optional statement items that must be entered exactly as shown if they are used Section, figure, field, screen and menu names

ASL Series Programming Guide

27

1 - About this Guide

How to Use the Programming Guide


Each instrument reference contains a description of the instrument, followed by programming syntax and formats. The programming syntax information identifies the function call, describes what the function does, and includes the code that actually performs the function. In addition, some references include programming examples showing how to use the function calls. Simplified diagrams of the instrument or its components are included.

Syntax Format
This section shows the syntax format for visualATE programming functions. Example: All voltage range arguments read as follows: RANGE_X_UV RANGE_X_MV RANGE_X_V RANGE_X_KV where X represents the number of volts (i.e., RANGE_5_V for five volts). All current range arguments read as follows: RANGE_ X_PA RANGE_X_NA RANGE_X_UA RANGE_X_MA RANGE_X_A where X represents the number of amperes (i.e., RANGE_1_A for one amp).

Programming Sample
Please note and observe the following conventions that were used in building the example of programming reference appearing on the next page. Follow the guidelines in the legend when developing a test program. The sample programming reference is labeled with descriptions of the conventions used throughout this guide. Mandatory statements are shown in bold; optional statements are shown in bold italic.

28

ASL Series Programming Guide

How to Use the Programming Guide

All items that appear in capital letters under a heading in bold must be typed exactly as shown. Optional statements include a default setting; this default is used unless the programmer enters another value for the statement.

connect_vi_force
This is the programming statement Description This function initially sets the voltage to 0 V. Next, the current and voltage ranges are programmed, before the source output relay is connected. Finally, the voltage source is programmed to the stated value. The default value for the correction factor (corr_factor) is 0 to 1000 pF (no argument entered). Format: Shows statement with arguments
void connect_vi_force(double voltage_value, char vrange, double current_value, char irange, char corr_factor);

Valid Arguments: Mandatory arguments voltage_value voltage output range as integer, decimal or scientific notation (-45.0 V to +45.0 V) vrange RANGE_1_V RANGE_2_V RANGE_5_V RANGE_10_V RANGE_20_V RANGE_45_V Arguments must be typed as shown

ASL Series Programming Guide

29

1 - About this Guide

current_value current output range in decimal or scientific notation (0.001 A to 1.0 A) irange RANGE_10_UA RANGE_100_UA RANGE_1_MA RANGE_10_MA RANGE_100_MA RANGE_1_A corr_factor Optional arguments in italics, type as shown No argument entered (default) CORR0 CORR0 & CORR1 CORR0 & CORR1 & CORR2 Usage: Instrument and slot always come first
pmu_21->connect_vi_force(5.0, RANGE_10_V, 10e-6, RANGE_100_UA); //no correction factor (default)

(0 to 1000 pF) (0 to 0.1 mF) (0 to 10 mF) (0 to 50 mF)

Conventions Uppercase terms must be entered exactly as written Open and close parentheses () that follow a statement contain the statements arguments

Bold terms within parentheses are mandatory arguments Italicized bold terms within parentheses are optional arguments

30

ASL Series Programming Guide

Related Publications

Related Publications
For information on features, operation, and maintenance of ASL-based testers running under visualATE, see the following guides: visualATE5.2 User Guide Modular Digital Instrument (MDI) and Clock Board Service Supplement Multisite Asynchronous Digital Subsystem (MADS) Programming Guide Audio Video Multisite Digitizer (AVMD) Programming Reference and Users Guide Multisite Arbitrary Waveform Generator (MAWG) Programming Reference and Users Guide 071-0489-00 071-0215-01 071-0568-00 071-0249-00 071-0250-00

ASL Series Programming Guide

31

1 - About this Guide

Operation Safety Summary


The general safety information in this summary is for both operating and servicing personnel. Specific warnings and cautions will be found throughout the guide where they apply, but may not appear in this summary Table 2. Operation Safety Summary Item Terms in this guide Description CAUTION statements identify conditions or practices that could result in damage to the equipment or other property. WARNING statements identify conditions or practices that could result in personal injury or loss of life. Terms as Marked on Equipment CAUTION indicates a personal injury hazard not immediately accessible as one reads the marking or a hazard to property including the equipment itself. DANGER indicates a personal injury hazard immediately accessible as one reads the marking. Symbols as Marked on Equipment DANGER HIGH VOLTAGE INSIDE THIS UNIT. SERIOUS INJURY OR DEATH COULD RESULT FROM CONTACT. REFER SERVICING TO QUALIFIED PERSONNEL ONLY. ATTENTIONSee the appropriate user guide

Protective ground (earth) terminal

Pinch Point.

32

ASL Series Programming Guide

Operation Safety Summary

Table 2. Operation Safety Summary (Continued) Power Source and Ground This equipment operates from a power source that applies dangerous voltage between the supply conductors and between any supply conductor and ground. If the ground connection is interrupted, all accessible conductive parts could render an electric shock. If a power cord is not provided with the product, refer power connection to qualified service personnel. To avoid personal injury, do not remove product covers or panels. Do not operate the product without the covers and panels installed. Refer installation to qualified service personnel. To avoid explosion, do not operate this equipment in an explosive atmosphere unless it has been specifically certified for such operation.

Do Not Remove Covers or Panels

Do Not Operate in Explosive Atmospheres

ASL Series Programming Guide

33

1 - About this Guide

Service Safety Summary


NOTE Also see the preceding Operation Safety Summary.

For Qualified Service Personnel Only.


Table 3. Service Safety Summary Items Do Not Service Alone Use Care When Servicing With Power On Description Do not service or adjust this product internally unless another person capable of rendering first aid and resuscitation is present. Dangerous voltages and currents may exist at several points in this product or in the equipment with which this product is used. To avoid personal injury, do not touch exposed connections and components while power is on. Disconnect power before removing protective covers and making internal changes. Remove jewelry prior to servicing. Rings, necklaces, watchbands, and other metallic objects could come into contact with dangerous voltages or currents. The product is grounded through the protective grounding conductor of the power cord (or service wiring in lieu of a power cord). To avoid electrical shock, the grounding conductor must be connected to a properly wired receptacle or junction box. To avoid injury to other personnel, replace covers before leaving the equipment unattended. Two or more persons may be needed to lift and maneuver equipment such as test head and rack-mounted units because of their physical size, shape, weight or location. To avoid injury, dont attempt to handle this type of equipment alone.

Do Not Wear Jewelry

Grounding the Product

Replace Covers Lifting

34

ASL Series Programming Guide

Electromagnetic Compatibility (EMC) System Requirements

Electromagnetic Compatibility (EMC) System Requirements


ASL-Based Series Test System Immunity
The use of handheld wireless communication equipment should be limited to distances in excess of ten meters from the product to avoid the possibility of erroneous data or misclassification of devices under test. Accessibility of ESD sensitive devices and wiring in the vicinity of the test head requires that users wear a grounded wrist strap at all times. Wrist strap ground points are provided at the test head and at numerous points on the main cabinet. Other ESD abatement practices should also be implemented such as the use of ESD abatement flooring, conductive shoe straps, ESD preventive coat, ESD conductivity monitors, etc.

ASL-Based Series Test System Emissions


his product has been tested and found to produce emissions in excess of that allowed by the European Community EMC Directive. As a result, the user of this equipment may be required to take extraordinary measures to prevent interference with licensed communications. Following are actions which may be required of the user of this equipment. Testing may be required at the time of installation by a European Competent Body. This testing is to be performed at the boundary of the installed facility. Measurements will be made to insure that product emissions are within established limits at the installed site. Per the Annex of EN55022, a building will generally provide an attenuation of 10 dB to an interference source. The customer may be required to take extraordinary additional measures to limit the interference potential of the product, such as the addition of shielding material around the product or placing the product in a shielded room.

ASL Series Programming Guide

35

1 - About this Guide

36

ASL Series Programming Guide

3
ACS - AC SOURCE
The AC Source (ACS) is a programmable waveform generator featuring both fixed and programmable filters, along with four AC-to-RMS measurement channels. The ACS output channel consists of a 32K deep Waveform memory, a programmable clock, and a high-speed digital-to-analog converter (DAC) with programmable high and low reference levels. Output undergoes a signal-conditioning phase through an all-pass filter, a tank filter, or an attenuator, followed by a single-pole or 4-pole programmable low-pass filter (LPF). The ACS also provides three separate CMOS level output signals synchronized with the output Waveform.

ASL Series Programming Guide

53

3 - ACS - AC Source

Basic Theory
The ACS produces waveforms by reconstructing binary data that is stored in a 32Kby-16-bit waveform memory. This stored data is presented to a 12-bit DAC at a selected clock frequency. The DAC produces a discreet DC voltage level for every binary code presented at its input. The DAC resolution is related to the number of its data bit inputs. A 12-bit DAC can support 4096 binary numbers or codes (0 to 4095). As an example, if the DAC has a full-scale output voltage of 10 V, then the resolution of its discreet DC output voltage levels (or steps) is as follows: 10 V/4096 = 2.4414 mV

Waveform Memory 000 001 011

DAC

2.44 mV

Clock

0 1 2

Figure 6. Basic Digital-to-Analog Action Every waveform that the ACS generates is made up of discreet DC voltage levels (steps) output at a selected frequency. The clock frequency is known as the sampling frequency (Fs). The frequency of the main output waveform is known as output frequency (Fo). The sampling frequency must be at least twice (double) the desired output frequency, and not an even multiple to avoid distortions to the output waveform. The ACS has 16 internal sampling frequencies, ranging from 64 MHz to 1.953125 kHz, from which the user may select. The user must program all waveform types except for the sinusoid form. The ldram() statement will generate the required DAC codes to produce a sinusoid wave based on the input given.

54

ASL Series Programming Guide

Waveform Memory

Waveform Memory

15

14

13

12

11

10

9 (5)

4 (0)

(11) (10) (9) (8)

(7) (6)

(4) (3)

(2) (1)

Waveform

Loop Back Sync 1 Sync 2 Sync 3

Figure 7. Waveform Memory Bit Description The ACS has a main waveform output and three auxiliary (sync bit) outputs. The main output is derived from a 12-bit DAC, which accepts binary codes that represent the desired waveform. The sync bit outputs are routed to the user test interface directly from waveform memory. These non-buffered outputs are resistor and diode-clamp protected. Waveform memory is CMOS type; therefore, the drive levels of the sync bit outputs are not fully TTL compatible (3.5 V minimum amplitude). Buffers are recommended if current drive requirements are uncertain. The main waveform DAC output is directly affected by two variables: the value of the binary code (amplitude) being input the rate (sampling frequency) at which the DAC is instructed to convert the binary code to a DC voltage

The sync bit outputs are also affected by the Waveform memory codes and sampling frequency. A CMOS-level pulse is present on the output of every sync bit Waveform memory location that is programmed to a 1 (one). The pulse duration is the same as the sampling frequency. For longer pulse widths, program consecutive Waveform memory locations high. The difference between the main waveform output and the sync bit outputs is that the main waveform output can be programmed to create a wide variety of wave shapes, while the sync bit outputs are restricted to pulse streams. See Figure 8 and Figure 9.

ASL Series Programming Guide

55

3 - ACS - AC Source

Main DAC

Sync 1

Sync 2

(Pulses not shown to scale)

Sync 3

Figure 8. ACS Outputs Figure 8 in this section shows that Waveform data is located in the upper 12 bits of Waveform memory. This arrangement requires the user to shift Waveform data up four bits. Shift the Waveform data by multiplying the data by 16 before moving it into Waveform memory

56

ASL Series Programming Guide

Waveform Memory

Figure 9. Waveform Data to Waveform Output Relationships ACS Waveform memory contains a special address control bit, the Loop Back Bit (bit 0). The Loop Back Bit redirects the Waveform memory execution back to address 0 when it is programmed to a 1. In this case, the Waveform memory re-executes from address 0 to the Loop Back Bit, and repeats this action until it encounters an init() or stop() command. Figure 9 above shows both a detailed view of the sync bit action, and the Loop Back Bit action. For best results, program the address with the Loop Back Bit to contain the same waveform data as address zero (0). This helps minimize transients in the main waveform when address control is shifted back to address zero.

ASL Series Programming Guide

57

3 - ACS - AC Source

Additional Output Information


The ACS output buffer has a nominal 100 load drive capability. For best results, program the output amplitude and offset to 0 V and select a filter before closing the ACS output connect relay. Programming these values to 0 V prevents the buffers output from going to the positive rail because of an open input. A program delay of 10 ms is suggested to allow the ACS output waveform enough time to develop the full amplitude.

58

ASL Series Programming Guide

Function Calls

Function Calls
Waveform Generator Commands
init
Description This function initializes registers, opens on-board relays and analog switches except SEL_ADC_IN0 (meter channel 1) and the filter bypass which are closed, waveform memory remains intact. Format
void init(void);

Valid Arguments none Usage


acs_5->init();

set_path
Description This function defines the path for the output signal. The programmable LPF (ACS_MAIN_FILTER) clips with signals greater than 2.5 VP-P. When the programmable LPF is selected, the single-pole LPF is automatically set to the 500 kHz cutoff. Format
void set_path(short filter, short attenuation);

Valid Arguments filter ACS_NO_FILTER (Default)

ASL Series Programming Guide

59

3 - ACS - AC Source

ACS_LC_FILTER ACS_MAIN_FILTER ACS_BASE_FILTER ACS_100K_FILTER attenuation

196 kHz Fo with 1 kHz bandpass. Available on 10 V range only) (Programmable LPF) (Single pole cutoff @ 500 kHz) Single pole cutoff @ 100 kHz)

ACS_1_VOLT_RANGE (Default, divide by 10) ACS_10_VOLT_RANGE (Divide by 1) Usage


acs_5->set_path(ACS_LC_FILTER, ACS_10_VOLT_RANGE);

set_bw_ref
Description This function sets the cutoff frequency for the programmable LPF (10 kHz to 200 kHz). code1 and code2 are 12-bit (0-4095) codes and are programmed with the same values. See graph below for typical filter linearity:

60

ASL Series Programming Guide

Function Calls

Figure 10. LPF Linearity Graph Format


void set_bw_ref(unsigned short code1, unsigned short code2);

Valid Arguments code1 0 to 4095 code2 0 to 4095 Usage


acs_5->set_bw_ref(2048, 2048);

ASL Series Programming Guide

61

3 - ACS - AC Source

set_level
Description This function sets the amplitude and offset of the output waveform. The maximum amplitude is 9.8 V and maximum offset is dependent on the amplitude programmed (see figure below). The scale argument selects RMS volts or peak volts, with default values of zero for both amplitude and offset. Offset is always in DC volts. The voltages entered must lie in the selected voltage range or clamping may occur (for example, clamping may result at levels above 0.7 V RMS or 0.99 PK on the ACS_1_VOLT_RANGE).

Figure 11. Amplitude and Offset Level of Output Waveform Format


void set_level(float amplitude, float offset, short scale);

Valid Arguments amplitude output voltage level in decimal of scientific notation (Default is 0) offset offset DC voltage level in decimal or scientific notation (Default is 0) scale ACS_RMS_LEVEL ACS_PEAK_LEVEL (Default)

62

ASL Series Programming Guide

Function Calls

Usage
acs_5->set_level(5.0, 2.5, ACS_RMS_LEVEL);

Waveform Memory and Clock Commands


ldram
Description This function loads a Waveform memory with data that generates a sine wave of the selected frequency. The user selects a sampling frequency and the routine finds the nearest number. Possible sampling rates: 64 MHz/2**N. See the card.clock command on page 65, for more information. With no user input, the sampling frequency (Fs) will calculate to approximately 16*Fo. Format
void ldram(float freq, float sampling freq, unsigned short cycles);

Valid Arguments freq frequency (F0) in decimal or scientific notation sampling freq sampling frequency (Fs) in decimal or scientific notation (default is approx. 16xF0) cycles Number of cycles to be loaded into memory (default is 1) Usage
acs_5->ldram(1000, 4e6, 5);

ASL Series Programming Guide

63

3 - ACS - AC Source

load_data
Description This function loads data at a specific address in Waveform memory. The data is obtained by multiplying the waveform data code (0 to 4095) by 16. Multiplying by 16 shifts the data to the upper 12 bits of waveform memory (see Figure 7). Format
void load_data(unsigned short address, unsigned short data);

Valid Arguments address 0 to 32767 data 0 to 65535 Usage


acs_5->load_data(0, 2048);

load_address
Description This function sets the address pointer to a specific Waveform memory location for the static command. The pointer will return to address zero (0) after reaching the end of waveform memory on an address that has the Loop Back bit set to 1. Format
void load_address(unsigned short address);

Valid Arguments address 0 to 32767 (default is 0)

64

ASL Series Programming Guide

Function Calls

Usage
acs_5->load_address(12476);

card.clock
Description This function sets the internal clock frequency (Fs) by dividing the 64 MHz master clock by the selected divisor. The clock frequency range is 1.953125 kHz to 64 MHz. Format
void card.clock = divisor;

Valid Arguments divisor CLK_MAIN CLK_BY_2 CLK_BY_4 CLK_BY_8 CLK_BY_16 CLK_BY_32 CLK_BY_64 CLK_BY_128 CLK_BY_256 CLK_BY_512 CLK_BY_1024 CLK_BY_2048 CLK_BY_4096 CLK_BY_8192 CLK_BY_16384 CLK_BY_32768 Usage
acs_5->card.clock = CLK_BY_16; //Fs set to 4 MHz

(64 MHz) (32 MHz) (16 MHz) (8 MHz) (4 MHz) (2 MHz) (1 MHz) (500 kHz) (250 kHz) (125 kHz) (62.5 kHz) (31.25 kHz) (15.625 kHz) (7.8125 kHz) (3.90625 kHz) (1.953125 kHz)

ASL Series Programming Guide

65

3 - ACS - AC Source

start
Description This function starts Waveform output at the rate of the specified clock. The default setting is the internal clock, ACS_INT_CLK. Waveform memory execution continues to the end of Waveform memory, unless a Loop Back (bit 0) is programmed. In both cases, addressing is returned to address zero (0) and the waveform repeats until an init() or stop() command is encountered. Format
void start(short clock source);

Valid Arguments clock source ACS_INT_CLK ACS_EXT_CLK Usage


acs_5->start(ACS_EXT_CLK);

(Internal clock, default) (External clock)

stop
Description This function halts Waveform memory output. Format
void stop();

Valid Arguments none Usage


acs_5->stop();

66

ASL Series Programming Guide

Function Calls

AC Meter Commands
set_meas_mode
Description This function selects channel, voltage range and coupling for subsequent measurements. Format
float set_meas_mode(short channel, short vrange, short coupling);

Valid Arguments channel ACS_CHANNEL_1 ACS_CHANNEL_2 ACS_CHANNEL_3 ACS_CHANNEL_4 vrange ACS_1V_RMS_RANGE (Default) ACS_2V_RMS_RANGE ACS_5V_RMS_RANGE ACS_10V_RMS_RANGE ACS_20V_RMS_RANGE ACS_50V_RMS_RANGE ACS_100V_RMS_RANGE coupling ACS_AC_COUPLING ACS_DC_COUPLING Usage
acs_5->set_meas_mode(ACS_CHANNEL_1, ACS_5V_RMS_RANGE, ACS_DC_COUPLING);

(Default)

(Default)

ASL Series Programming Guide

67

3 - ACS - AC Source

measure
Description This function performs an RMS measurement based upon the setup defined with set_meas_mode(). The function returns the average of the stated number of samples. The default is 10 samples. The sample rate is approximately 33 s, computer controlled. Format
float measure(short samples);

Valid Arguments samples 0 to 32767 Usage


result =acs_5->measure(12);

(Default is 10)

close_relay open_relay
Description These functions close or open the stated on-board relays. No built-in wait time. Required delay may be programmed by using the delay() or wait.delay_10_us() statements. Format
void close_relay(unsigned short relay); void open_relay(unsigned short relay);

Valid Arguments relay D_RMS_CH1 D_RMS_CH2 D_RMS_CH3 (meter channel 1 input-connect-relay) (meter channel 2 input-connect-relay) (meter channel 3 input-connect-relay)

68

ASL Series Programming Guide

Function Calls

D_RMS_CH4 D_SIG_OUT D_R_BIT1 D_R_BIT2 D_R_BIT3 D_CLK Usage


acs_5->close_relay(D_RMS_CH2); acs_5->open_relay(D_RMS_CH2);

(meter channel 4 input-connect-relay) (signal output-connect-relay) (sync signal 1 connect-relay) (sync signal 2 connect-relay) (sync signal 3 connect-relay) (external clock input-connect-relay)

ASL Series Programming Guide

69

3 - ACS - AC Source

ACS Simplified Diagram


The Figure 12. is a simplified block diagram of the ACS instrument .

Figure 12. ACS Simplified Diagram

70

ASL Series Programming Guide

ACS Programming Examples

ACS Programming Examples


Sinusoid
The following code generates a 200 kHz sine wave, then measures the amplitude in Vrms:
acs_5->init(); acs_5->ldram(200.0e3); // load 200 kHz acs_5->set_path(ACS_BASE_FILTER, ACS_10_VOLT_RANGE);//insert 500 //kHz filter acs_5->set_level(0, 0, ACS_PEAK_LEVEL);//0V amplitude, 0V offset, //peak mode acs_5->close_relay(D_SIG_OUT); //close output connect relay acs_5->close_relay(D_RMS_CH1);//ACS output connected to CH1 with a //wire acs_5->set_meas_mode(ACS_CHANNEL_1, ACS_10V_RMS_RANGE, ACS_AC_COUPLING); acs_5->start(); //default internal clock at ~16 X Fo acs_5->set_level(ours->amplitude, ours->offset, ACS_PEAK_LEVEL); delay(ours->meas_delay); temp = acs_5->measure(); //measure RMS, default 10 samples acs_5->init();

Trapezoid
The following code generates a trapezoidal waveform:
acs_5->init(); // loading of the pattern... // LOW for 2048, RAMP UP for 4096, HIGH for 2048, RAMP DOWN for 4096 short j=0; // j=0 - Low for 2048 samples for(j=0; j<2048; j++) { acs_5->load_data(j, 0); } // j=2048 - Ramp up for 4096 samples for(j=2048; j<(2048+4096); j++) { acs_5->load_data(j,(j-2048)*16); } //j=6144 - High for 2048 samples for(j=6144; j<(6144+2048); j++) { acs_5->load_data(j, 4095*16); } //j=8192 - Ramp down for 4096 samples for(j=8192; j<8192+4096; j++) {

ASL Series Programming Guide

71

3 - ACS - AC Source

acs_5->load_data(j, (4095-(j-8192))*16); } acs_5->load_data(j, 1); // loop back bit loaded acs_5->card.clock = CLK_BY_16;// fsampling = 4 MHz //set up ACS... acs_5->set_path(ACS_NO_FILTER,ACS_10_VOLT_RANGE); acs_5->set_ref(ours->amplitude,ours->offset); //pass in amplitude //and offset acs_5->close_relay(D_SIG_OUT); //close output connect relay burst //pattern... acs_5->start(); //start pattern burst at internal clock rate //stop pattern burst acs_5->load_option(1);

72

ASL Series Programming Guide

4
DCC - DATA CONVERTER CARD
The Data Converter Card (DCC) is designed to test two types of converters: analogto-digital (ADC), and digital-to-analog (DAC) converter. The DCC features a 16-bit measurement system with a 10 s conversion time and three voltage ranges. The 16 data-pin drivers may be used to take measurements on DUT input pins: voltage in (Vin), current in (Iin) and contact.

ASL Series Programming Guide

73

4 - DCC - Data Converter Card

Function Calls
init
Description This is the board initialization routine. All relays and analog switches set to default states, all DACs are programmed to zero (0), and all drives are set to tri-state. Format
void init(void);

Valid Arguments none Usage


dcc_12->init();

measure_average
Description This function returns the average of the measured voltage or current as selected by the select_adc_mux function. The voltage range can be set by select_adc_range. The current range can be set by the select_iva_range or select_ivb_range. Format
float measure_average(unsigned short samples);

Valid Arguments samples integer number of samples to be taken and averaged Usage
result=dcc_12->measure_average(10);

74

ASL Series Programming Guide

Function Calls

select_adc_mux
Description This function selects the ADC input for subsequent measurements. Format
void select_adc_mux(unsigned short input);

Valid Arguments input EXT_ADC_IN1 EXT_ADC_IN2 SERVO_OUT PREC_REF_BUF FILTER_OUT DRIVE_COM_A DRIVE_COM_B DRIVE_COM_C VDAC_OUT1 VDAC_OUT2 IDAC_OUT1 IDAC_OUT2 I_IN_LO I_IN_HI DAMP_OUT DIFF_POS Usage
dcc_12->select_adc_mux(I_IN_LO);

(automatically selects 10 V range) (automatically selects 10 V range)

select_adc_range
Description This function sets the voltage range for ADC voltage measurements. The default mode is autorange.

ASL Series Programming Guide

75

4 - DCC - Data Converter Card

Format
void select_adc_range(unsigned short vrange);

Valid Arguments vrange(optional, default is autorange) VOLT_5_RANGE VOLT_10_RANGE VOLT_20_RANGE Usage


dcc_12->select_adc_range(VOLT_10_RANGE);

select_iva_range select_ivb_range
Description This function selects the current measurement range for I/V converters. Format
void select_iva_range(unsigned short irange); void select_ivb_range(unsigned short irange);

Valid Arguments irange default is autorange MICRO_1_AMP MICRO_10_AMP MICRO_100_AMP

NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange.

76

ASL Series Programming Guide

Function Calls

Usage
dcc_12->select_iva_range(MICRO_10_AMP); dcc_12->select_ivb_range(MICRO_1_AMP);

set_high_level
Description This function sets the calibrated HIGH_REF voltage used by drive_com_a and iv_conva. Format
void set_high_level(float voltage, char vrange);

Valid Arguments voltage -10 V to +20 V reference voltage in decimal or scientific notation vrange default is autorange VOLT_10_RANGE VOLT_20_RANGE

NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. Usage
dcc_12->set_high_level(7.5)//vrange left in autorange mode

set_low_level
Description This function sets the calibrated LOW_REF voltage used by drive_com_b and iv_convb.

ASL Series Programming Guide

77

4 - DCC - Data Converter Card

Format
void set_low_level(float voltage, char vrange);

Valid Arguments voltage -10 V to +20 V reference voltage in decimal or scientific notation vrange default is autorange VOLT_10_RANGE VOLT_20_RANGE

NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. Usage
dcc_12->set_low_level(800e-3);

set_prec_ref
Description This function programs a calibrated 12-bit DAC to provide a precision output voltage that is summed with the "fine reference" (see next function) to produce a final output voltage. This output calibration is only valid if the "fine reference" is set to 0 V. Format
void set_prec_ref(float voltage);

Valid Arguments voltage -10.2 V to +10.2 V reference voltage in decimal or scientific notation Usage
dcc_12->set_prec_ref(5.3);

78

ASL Series Programming Guide

Function Calls

set_prec_ref_fine
Description This function programs an un-calibrated 12 DAC to provide the fine reference for the final output voltage. Format
void set_prec_ref_fine(float voltage);

Valid Arguments voltage 0 V to +10.2 mV reference voltage in decimal or scientific notation Usage
dcc_12->set_prec_ref_fine(3.2e-3);

set_current_force
Description This function sets the I/V converter to current force mode. The default irange is autorange. Format
void set_current_force(float current, char irange);

Valid Arguments current current value in decimal or scientific notation irange default is autorange MICRO_100_AMP MILLI_1_AMP MILLI_10_AMP

ASL Series Programming Guide

79

4 - DCC - Data Converter Card

NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. Usage
dcc_12->set_current_force(500e-6, MILLI_1_AMP);

set_servo_hi
Description This function sets the servo ramp-up rate. Format
void set_servo_hi(unsigned short code);

Valid Arguments code HEX or binary DAC code Usage


dcc_12->set_servo_hi(256);

set_servo_lo
Description This function sets the servo ramp-down rate. Format
void set_servo_lo(unsigned short code);

Valid Arguments code

80

ASL Series Programming Guide

Function Calls

HEX or binary DAC code Usage


dcc_12->set_servo_lo(128);

set_servo_ref
Description This function sets the nominal level for the servo. Format
void set_servo_ref(unsigned short code);

Valid Arguments code HEX or binary DAC code Usage


dcc_12->set_servo_ref(756);

set_servo_trig
Description This function selects the condition for servo result comparison. Format
void select_servo_trig(unsigned short condition);

Valid Arguments condition CODE_LESS CODE_GREATER CODE_LESS_LATCHED

ASL Series Programming Guide

81

4 - DCC - Data Converter Card

CODE_GREATER_LATCHED CODE_EQUAL_LATCHED PLUS_5_VOLT Usage


dcc_12->select_servo_trig(CODE_GREATER);

set_servo_code
Description This function loads servo register code bits. For a revision A board, bits 0 through 7 are loaded. For a revision B board, bits 0 through 6 are loaded. Format
void set_servo_code(unsigned short code);

Valid Arguments code HEX or binary, 8 bits (16 bits) Usage

drives_0_7_off
Description This function disconnects all 16 of the DRV lines, opens the switch MODE_DUAL and closes the relay DRIVES_0_7_OFF. Format
void drives_0_7_off(void);

Valid Arguments none

82

ASL Series Programming Guide

Function Calls

Usage
dcc_12->drives_0_7_off();

close_switch open_switch
Description This function closes/opens the analog switches. Format
void close_switch(unsigned short switch); void open_switch(unsigned short switch);

Valid Arguments switch CON_SUMM1 CON_SUMM2 DIFF_25MV DIFF_250MV VIN_LO_20V VIN_LO_NEG VIN_HI_20V VIN_HI_NEG POS_COARSE_REF POS_I_REF SW_IV_CON_A SW_IV_CON_B SW_REF_CON_A POS_VIN_HI POS_VIN_LO MODE_DUAL CON_DAMP_GND DAMP_SHORT IVA_RNG_10UA IVA_REF_GND IVA_RNG_100UA SW_IF_10MA SW_REF_CON_B SERVO_CODE_D0 SERVO_CODE_D1 SERVO_CODE_D2 SERVO_CODE_D3 SERVO_CODE_D4 SERVO_CODE_D5 SERVO_CODE_D6 SERVO_CODE_D7 SERVO_MUX_SEL0 SERVO_MUX_SEL1 SERVO_MUX_SEL2 SW_SERVO_REF ZERO_SERVO SERVO_REF_POS SLOW_SERVO RAMP_OUT CONN_C_LO CON_C_HI ADC_IN_20V

ASL Series Programming Guide

83

4 - DCC - Data Converter Card

IVA_REF_CON SW_IF_1MA SW_IF_100UA IVB_REF_EXT SW_IV_CON_C IVB_RNG_10UA IVB_REF_GND IVB_REF_CON Usage


dcc_12->close_switch(CONN_C_LO); dcc_12->open_switch(CONV_READ);

ADC_IN_5V ADC_MUX_HI CONV_READ CON_SERVO_C

close_relay open_relay
Description This function closes/opens the stated relays. Format
void close_relay(unsigned short relay); void open_relay(unsigned short relay);

Valid Arguments relay CON_EXT1 CON_EXT2 CON_EXT_GND CON_FBACK1 DRIVES_0_7_OFF CON_DAMP_POS CON_DAMP_NEG CON_FBACK2 EXT_DRV1 EXT_DRV2 SW_BUS_CON_A SW_BUS_CON_B

84

ASL Series Programming Guide

Function Calls

CON_PREC_REF CON_SERVO CON_IN_DATA Usage


dcc_12->close_relay(EXT_DRV1); dcc_12->open_relay(CON_SERVO);

clear_relays
Description This function opens all board relays. Format
void clear_relays(void);

Valid Arguments none Usage


dcc_12->clear_relays();

ASL Series Programming Guide

85

4 - DCC - Data Converter Card

DCC Programming Examples


TUE, INL, and DNL (8-bit ADC using the DCC)

Figure 13. DCC Sample Test Setup


void tue(test_function& func) { //the two lines below must be the first two in the function tue_params *ours ours = (tue_params *)func.params; unsigned short PWRDN = 0x800; unsigned short 1, adc_value, code, max_tue_code = 0, min_tue_code = 0; float ref_dac_code, ave_inp_voltage, lsb_value, calc_lsb, error_voltage; float max_tue = 0, min_tue = 0, expected_inp_votlage; float max_dnl = 0.0, min_dnl = 0.0, dnl_value = 0.0, prev_value; unsigned short max_dnl_code, min_dnl_code, loop; float max_inl = 0.0, min_inl = 0.0, inl_value = 0.0; unsigned short max_inl_code, min_inl_code, settle_counts; float code_values[255]; float zero_error, fs_error, meas_vref_neg, meas_vref_pos; //load DIO pattern loop = 3.5 s load _pattern(1); dcc_12->close_relay(CON_SERVO); //these 6 lines set up servo conditions dcc_12->open_switch(SERVO_REF_POS); dcc_12->select_servo_trig(CODE_LESS_LATCHED); dcc_12->set_servo_hi(0xffff); dcc_12->set_servo_lo(0xffff);

86

ASL Series Programming Guide

DCC Programming Examples

dcc_12->open_switch(MODE_DUAL); dcc_12->close_switch(SW_REF_CON_A);//these 5 lines set up high/low dcc_12->set_high_level(our->vdd); //input pin voltages dcc_12->close_switch(SW_REF_CON_B); dcc_12->set_low_level(0.0); delay(1); //power up dvi_9->set_voltage(DVI_CHANNEL_1, ours->vss, -1 ,SLOW_VOLTAGE_MODE); dvi_9->set_voltage(DVI_CHANNEL_0, ours->vdd); dvi_11->set_voltage(DVI_CHANNEL_1, ours->vref_pos); dvi_13->set_voltage(DVI_CHANNEL_0, ours->vref_neg, -1, SLOW_VOLTAGE_MODE); dcc_12->close_switch(CON_IN_DATA); dcc_12->drive_com_a(PWRDN); //high inputs dcc_12->drive_com_b(0); //low inputs dcc_12->select_adc_mux(SERVO_OUT); dio_7->connect_drivers(); dio_7->run_pattern(); dcc_12->set_servo_code(1); expected_inp_voltage = lsb_value / 2.0; ref_dac_code = expected_inp_voltage * 6553.5; //65535 = 10 V dcc_12->set_servo_ref((unsigned short) ref_dac_code); dcc_12->open_switch(ZERO_SERVO); //start servo delay(10);//initial delay for(code=0; code<255, code++) //tests all codes { dcc_12->set_servo_code(code + 1); expected_inp_voltage = (code * lsb_value) + (lsb_value / 2.0); ref_dac_code =expected_inp_voltage * 6553.5; //65535 = 10 V dcc_12->set_servo_ref((unsigned short) ref_dac_code); delay(1); ave_inp_voltage = dcc_12->measure_average(ours->samples); ave_inp_voltage - = meas_vref_neg; code_values[code] = ave_inp_voltage; if(code == 00) prev_value = ave_inp_voltage - lsb_value; dnl_value = ave_inp_voltage - prev_value - lsb_value; if(dnl_value > max_dnl) { max_dnl = dnl_value; max_dnl_code = code } else if(dnl_value < min_dnl) {

ASL Series Programming Guide

87

4 - DCC - Data Converter Card

min_dnl = dnl_value; min_dnl_code = code; } prev_value = ave_inp_voltage; } power_down(); calculate_values(); display_results(); }

Contact
void contact(test_function& func) { //the two lines below must be the first in the function contact_params *ours; ours = (contact_params *)func.params; float cont[3]; unsigned short i; system_init(); dvi_9->set_voltage(DVI_CHANNEL_0, 0.0, VOLT_10_RANGE);//gnd vdd dvi_9->current(DVI_CHANNEL_0, 0.1);//gnd vdd dcc_12->open_switch(MODE_DUAL);//sets up ADC measure on COM A dcc_12->select_adc_mux(DRIVE_COM_A); dcc_12->set_current_force(ours->i_force);//sets up current //force module on COM B //Contact Pin 2 dcc_12->drive_com_a(0x1);//connect COM dcc_12->drive_com_b(0x1);//connect COM B delay(5); cont[0] = dcc_12->measure();//measures //Contact Pin 3 dcc_12->drive_com_a(0x2);//connect COM dcc_12->drive_com_b(0x2);//connect COM B delay(1); cont[1] = dcc_12->measure();//measures //Contact Pin 4 dcc_12->drive_com_a(0x4);//connect COM dcc_12->drive_com_b(0x4);//connect COM B delay(1); cont[2] = dcc_12->measure();//measures power_down(); display_results(); }

A to Pin 2 (measure) to Pin 2 (force current) contact on Pin 2 A to Pin 3 (measure) to Pin 3 (force current) contact on Pin 3 A to Pin 4 (measure) to Pin 4 (force current) contact on Pin 4

88

ASL Series Programming Guide

DCC Programming Examples

Input Current
void logic_in(test_function& func) { //the two lines below must be the first two in the function logic_in_params *ours; ours = (contact_params *)func.params; float iinlo[3]; short i; system_init(); //power up dvi_9->set_voltage(DVI_CHANNEL_1, ours->vss); dvi_9->set_voltage(DVI_CHANNEL_0, ours->vdd); dvi_11->set_voltage(DVI_CHANNEL_1, ours->vref_pos); dvi_13->set_voltage(DVI_CHANNEL_0, ours->vref_neg); dcc_12->open_switch(MODE_DUAL); dcc_12->close_switch(SW_REF_CON_A);//connects ref voltage to CON A dcc_12->close_switch(SW_REF_CON_B);//connects ref voltage to CON B dcc_12->close_switch(IVA_REF_CON); dcc_12->close_switch(SW_IV_CON_C);//connects I/V converter to //CON C dcc_12->select_adc_mux(I_IN_HI);//connects ADC dcc_12->select_iva_range(MICRO_10_AMP); dcc_12->set_ref_a(ours->vin_lo);//sets low level for input pins dcc_12->set_ref_b(ours->vin_hi);//sets high level for input //pins //Pin *CS dcc_12->drive_com_a(0);//drives off dcc_12->drive_com_b(0);//drives off cc_12->drive_com_a(RD WR PWRDN);//other pins low dcc_12->drive_com_c(XCS);//Pin 13 delay(2); iinlo[0] = dcc_12->measure_average(10);//measures input low //current on /Pin 13 Chip Select //Pin *RD dcc_12->drive_com_a(0); //drives off dcc_12->drive_com_b(0); //drives off dcc_12->drive_com_a(WR PWRDN);//other pins low dcc_12->drive_com_b(XCS);//other pins high dcc_12->drive_com_c(RD); //Pin 8 delay(2); iinlo[i] = dcc_12->measure_average(10); //Pin *RD dcc_12->drive_com_a(0); dcc_12->drive_com_b(0);

//drives off //drives off

ASL Series Programming Guide

89

4 - DCC - Data Converter Card

dcc_12->drive_com_b(XCS);//other pins high dcc_12->drive_com_a(RD PWRDN);//other pins low dcc_12->drive_com_c(WR); //Pin 6 delay(2); iinlo[i] = dcc_12->measure_average(10); power_down(); display_results(); }

90

ASL Series Programming Guide

5
DDD - DIGITAL DRIVER AND DETECTOR
The Digital Driver and Detector (DDD) is a general purpose digital instrument, designed to test a variety of digital and mixed-signal devices. The DDD has eight high-speed drive channels (14 MHz max). This section presents programming information organized in two parts: single-board configuration multi-board configuration Each section is complete with function references, including a description, format, argument code and usage guidelines.

ASL Series Programming Guide

91

5 - DDD - Digital Driver and Detector

Single Board Function Calls


Channel Commands
init
Description This is the board initialization routine. All channels are disabled and floating, all channel reference voltages are set to 0 V based on calibration. Pattern memory remains intact. Format
void init(void);

Valid Arguments none Usage


ddd_7->init();

ddd_disconnect_drivers
Description This routine disconnects and floats all eight channels and stops a running pattern at an indeterminate vector. The function does not set the channel reference voltages to 0 V. Format
short ddd_disconnect_drivers(void);

Valid Arguments none

92

ASL Series Programming Guide

Single Board Function Calls

Usage
ddd_7->ddd_disconnect_drivers();

ddd_set_voltage_ref
Description This function sets the threshold voltage level for the receive comparators. Only one voltage reference can be programmed for all eight channels. When the receive data voltage is greater than the comparator voltage reference, a logic high (1) is strobed into receive memory. The range is from -2 V to +8 V. Format
short ddd_set_voltage_ref(float level);

Valid Arguments level voltage level in decimal or scientific notation Usage


ddd_7->ddd_set_voltage_ref(6.5);

ddd_set_hi_level
Description This function sets the high level of the drive logic for all eight channels. The range is 5 V to +15 V. There is no check for the ddd_set_hi_level() being programmed lower than the ddd_set_lo_ level() is programmed indeterminate data results if levels are programmed in this way. Format
short ddd_set_hi_level(float level);

ASL Series Programming Guide

93

5 - DDD - Digital Driver and Detector

Valid Arguments level voltage level in decimal or scientific notation Usage


ddd_7->ddd_set_hi_level(10.0);

ddd_set_lo_level
Description This function sets the low level of the drive logic for all eight channels. The range is -5 V to +5 V. There is no check for ddd_set_lo_ level() being programmed higher than the ddd_set_hi_ level() is programmed indeterminate data results if levels are programmed in this way. Format
short ddd_set_lo_level(float level);

Valid Arguments level voltage value in decimal or scientific notation Usage


ddd_7->ddd_set_lo_level(0.8);

Clock and Timing Commands


ddd_set_clock_freq
Description This function sets the clock frequency for the generated patterns. The frequency limits are 320 kHz to 14 MHz. This function is the inverse of ddd_set_clock_period().

94

ASL Series Programming Guide

Single Board Function Calls

Format
short ddd_set_clock_freq(float freq);

Valid Arguments freq 320 kHz to 14 MHz in decimal or scientific notation Usage
ddd_7->ddd_set_clock_freq(8e+6); //8 MHz

ddd_set_clock_period
Description This function sets the clock period for the generated patterns. The period limits are 3.125 s to 71.4287 ns. This function is the inverse of ddd_set_clock_freq. Format
short ddd_set_clock_period(float period);

Valid Arguments period 3.12 s to 71.4287 ns in decimal or scientific notation Usage


ddd_7->ddd_set_clock_period(125e-9);//125 ns

ddd_set_no_delay
Description This function sets a zero delay on all eight channels. Timing Generator 2 (TG2) is ignored.

ASL Series Programming Guide

95

5 - DDD - Digital Driver and Detector

Format
short ddd_set_no_delay(void);

Valid Arguments none Usage


ddd_7->ddd_set_no_delay();

ddd_set_delay
Description This function sets the delay from the beginning of the vector on the selected channel edges. The leading edge is set by Timing Generator 1 (TG1), and the trailing edge is set by Timing Generator 2 (TG2). If one or more channels are programmed with delay, then all channels must be programmed with set_delay(), in ascending order: setting a delay on Channel 8 loads the delay information. If 1s and 0s are used in the pattern, then the trailing edge (TG2) setting is ignored for that channel. However, the trailing edge should always be programmed at least 5 ns after the leading edge to satisfy statement syntax. This command is also used to define when TG1 clocks data into receive memory on the stated channel. Format
short ddd_set_delay(short channel, float lead, float trail);

Valid Arguments channel 1 to 8 lead leading edge delay in decimal or scientific notation (must be within vector period) trail trailing edge delay (lead edge + 5 ns) in decimal or scientific notation (must be within vector period)

96

ASL Series Programming Guide

Single Board Function Calls

Usage
ddd_7->ddd_set_delay(1, 15e-9, 50e-9);

Pattern Commands
ddd_load_pattern (non-loop mode)
Description This function loads data at the specified vector address. Format short ddd_load_pattern(unsigned short address, char *pattern); Valid Arguments address 0 to 32767 pattern a character string representing all eight channels in descending order from Channel 8 to Channel 1 (left to right, within double quotes), composed of the following possible characters: x -driver connect switch open, receive connect switch closed 1 -drive high at TG1, TG2 is ignored 0 -drive low at TG1, TG2 is ignored T -drive high at TG1, return low at TG2 Z -drive low at TG1, return high at TG2 Usage
ddd_7->ddd_load_pattern(1, XXXX0101);

ASL Series Programming Guide

97

5 - DDD - Digital Driver and Detector

ddd_load_pattern (loop mode)


Description This function loads an alternating pattern between a starting address and an ending address. The alternating pattern consists of Pattern 1 followed by Pattern 2 in a repeating cycle. At least three vectors must be programmed. Format
short ddd_load_pattern(unsigned short start_address, unsigned short stop_address, char *pattern1, char *pattern2);

Valid Arguments start_address 0 to 32764 stop_address start_address + 2 pattern1 composed the same way as ddd_load_pattern (non-loop mode) on the previous page; associated with start_address pattern2 composed the same way as ddd_load_pattern (non-loop mode); associated with start_address + 1 Usage
ddd_7->ddd_load_pattern(0, 25, XXXX0101, XXXX1010);

ddd_end_pattern
Description This function forces a continuously looping pattern to jump to vector address 0 after completing the execution of the number of vectors stated. This must be set before a looping pattern is burst.

98

ASL Series Programming Guide

Single Board Function Calls

Format
short ddd_end_pattern(unsigned short vector count);

Valid Arguments vector count 0 to 32767 Usage


ddd_7->ddd_end_pattern(25);

ddd_run_pattern (non-loop mode)


Description This routine provides a single burst of a pattern from the defined start address to the defined stop address. The range between the addresses must be at least two. Format
short ddd_run_pattern(short start_address, short stop_address);

Valid Arguments start_address 0 to 32765 stop_address (start_address +2) to 32767 Usage


ddd_7->ddd_run_pattern(2, 10);

ASL Series Programming Guide

99

5 - DDD - Digital Driver and Detector

ddd_run_pattern (loop mode)


Description With no added arguments, this function begins execution of a continuously looping pattern. Unless ddd_end_pattern is programmed before this function is used, all 32K of pattern memory is executed and address control is returned to vector address 0. Format
short ddd_run_pattern();

Valid Arguments none Usage


ddd_7->ddd_run_pattern();

ddd_stop_pattern
Description This function stops the execution of a continuously looping pattern. Address control is returned to vector 0, and the channel levels are held at the vector 0 state. Format
short ddd_stop_pattern();

Valid Arguments none Usage


ddd_7->ddd_stop_pattern();

100

ASL Series Programming Guide

Single Board Function Calls

ddd_read_pattern
Description This function reads the comparator results for the specified address from the receive memory. The return value contains the states of all eight channels and is in Hex format (a 2-digit number where each digit represents 4 channels). This function does not account for the 2-cycle pipeline. This command would be used to determine which channels fail. Format
short ddd_read_pattern(short address);

Valid Arguments address 0 to 32767 Usage


ddd_7->ddd_read_pattern(5);

ddd_compare_pattern
Description This function reads the logical vector from receive memory and compares it with the provided pattern. The command returns a TRUE (1) if the input matches the provided pattern, or a FALSE (0) if there is no match. With this command, two dummy vectors must be executed after the last vector. The dummy vectors account for the 2-cycle pipeline. This command would be used to determine which vector(s) fail. Format
short ddd_compare_pattern(char *pattern, unsigned short vector number);

Valid Arguments pattern

ASL Series Programming Guide

101

5 - DDD - Digital Driver and Detector

a character string representing all eight channels in descending order from Channel 8 to Channel 1 (left to right, within double quotes) composed of the following possible characters: X- dont care 1- detect high 0- detect low vector number 0 to 32765 Usage
ddd_7->ddd_compare_pattern(1010XXXX, 25);

102

ASL Series Programming Guide

Multiple Board Function Calls

Multiple Board Function Calls


Channel Commands
This section describes using multiple DDD boards in a master/slave configuration. Up to four boards can be used in this way. The remark immediately to the right of the function call shows whether the commands apply to Master, Slave or both boards. NOTE Master board is always installed in slot 7. Slave boards may be installed in slot 10, 15, and 17.

init Master and Slave


Description -- Applies to both Master and Slave boards. This is the board initialization routine. All channels are disabled and floating, and all channel reference voltages are set to 0 V based on calibration. Pattern memory remains intact. Format
void init(void);

Valid Arguments none Usage


ddd_7->init();

ddd_disconnect_drivers Master and Slave


Description -- Applies to Master board This routine disconnects and floats all eight channels and stops a running pattern at an indeterminate vector. The master clock will continue to drive slave boards. The function does not set the channel reference voltages to 0 V. Format
short ddd_disconnect_drivers(void);

ASL Series Programming Guide

103

5 - DDD - Digital Driver and Detector

Valid Arguments none Usage


ddd_S->ddd_disconnect_drivers(); //Slave = 10, 15 or 17

ddd_set_compare_channels Master and Slave


Description This function assigns channels for read back during a pattern run. Disabled channels that are not driving a pattern are tri-state. Format
short ddd_enable_receive(short channels);

Valid Arguments channels Channels 8 -> 1, HEX FORMAT: 0xFF (1111 1111) enables all channels to read 0x04 (0000 0100) enables channel 3, disables others Usage
ddd_7->ddd_enable_receive(0x0F);//7 = Master; Slave = 10, 15 or 17

ddd_set_voltage_ref Master and Slave


Description This function sets the threshold voltage level for the receive comparators. Only one voltage reference can be programmed for all eight channels per board. When the receive data voltage is greater than the comparator voltage reference, a logic high (1) is strobed into receive memory. The range is from -2 V to +8 V.

104

ASL Series Programming Guide

Multiple Board Function Calls

Format
short ddd_set_voltage_ref(float vref);

Valid Arguments vref voltage level in decimal or scientific notation Usage


ddd_7->ddd_set_voltage_ref(6.5); //7 = Master; Slave = 10, 15 or 17

ddd_set_hi_level Master and Slave


Description This function sets the high level of the drive logic for all eight channels per board. The range is -5 V to +15 V. There is no check for ddd_set_hi_ level() being programmed lower than ddd_set_lo_level() is programmed indeterminate data results if levels are programmed in this way. Format
short ddd_set_hi_level(float high_level);

Valid Arguments high_level voltage level in decimal or scientific notation Usage


ddd_7->ddd_set_hi_level(10.0); //7 = Master; Slave = 10, 15 or 17

ASL Series Programming Guide

105

5 - DDD - Digital Driver and Detector

ddd_set_lo_level Master and Slave


Description This function sets the low level of the drive logic for all eight channels per board. The range is -5 V to +15 V. There is no check for ddd_set_lo_level() being programmed higher than ddd_set_hi_ level() is programmed indeterminate data results if levels are programmed in this way. Format
short ddd_set_lo_level(float low_level);

Valid Arguments low_level voltage value in decimal or scientific notation Usage


ddd_7->ddd_set_lo_level(0.8); //7 = Master; Slave = 10, 15 or 17

Clock and Timing Commands


ddd_set_clock_freq Master and Slave
Description The function sets the clock frequency for the generated patterns. The frequency limits are 320 kHz to 14 MHz. The clock frequency value must be the same for all boards. This function is the inverse of ddd_set_clock_period(). Format
short ddd_set_clock_freq(float freq);

Valid Arguments freq 320 kHz to 14 MHz in decimal or scientific notation

106

ASL Series Programming Guide

Multiple Board Function Calls

Usage
ddd_7->ddd_set_clock_freq(8e+6); //8 MHz, 7 = Master; //Slave = 10, 15 or 17

ddd_set_clock_period Master and Slave


Description This function sets the clock period for the generated patterns. The period limits are 71.4287 ns to 3.125 s. The clock period must be the same value for all boards. This function is the inverse of ddd_set_clock_freq(). Format
short ddd_set_clock_period(float period);

Valid Arguments period 71.4287 ns to 3.125 s in decimal or scientific notation Usage


ddd_7->ddd_set_clock_period(125e-9); //125 ns, 7 = Master; //Slave = 10, 15 or17

ddd_disable_clocks Master and Slave


Description This function disables the on-board oscillator. The clock frequency must be set before running the next pattern. Format
short ddd_disable_clocks();

Valid Arguments none

ASL Series Programming Guide

107

5 - DDD - Digital Driver and Detector

Usage
ddd_7->ddd_disable_clocks(); //7 = Master; Slave = 10, 15 or 17

ddd_set_no_delay Master and Slave


Description This function sets a zero delay on all eight channels. Timing Generator 2 (TG2) is ignored. Format
short ddd_set_no_delay(void);

Valid Arguments none Usage


ddd_7->ddd_set_no_delay(); //7 = Master; Slave = 10, 15 or 17

ddd_set_delay Master and Slave


Description This function sets the delay from the beginning of the vector on the selected channel edges. If one or more channels are programmed with delay, then all channels must be programmed with set_delay(), in ascending order: setting a delay on Channel 8 loads the delay information. If 1s and 0s are used in the pattern, then the trailing edge (TG2) setting is ignored for that channel. However, the trailing edge should always be programmed at least 5 ns after the leading edge. The leading edge is set by Timing Generator 1 (TG1), and the trailing edge is set by Timing Generator 2 (TG2). This command is also used to define when TG1 clocks data into receive memory on the stated channel. Format
short ddd_set_delay(short channel, float lead, float trail);

108

ASL Series Programming Guide

Multiple Board Function Calls

Valid Arguments channel 1 to 8 lead leading edge delay in decimal or scientific notation (must be within vector period) trail trailing edge delay (leading edge + 5 ns) in decimal or scientific notation (must be within vector period) Usage
ddd_7->ddd_set_delay(1, 15e-9, 72e-9);//7 = Master; Slave = 10, 15 or 17

Pattern Commands
ddd_load_pattern - Master and Slave (non-loop mode)
Description This function loads data at the specified vector address. Format
short ddd_load_pattern(unsigned short address, char *pattern);

Valid Arguments address 0 to 32767 pattern a character string representing all eight channels in descending order from Channel 8 to Channel 1 (left to right, within double quotes), composed of the following possible characters: x- driver connect switch open, comparator connect switch closed 1- drive high at TG2 is ignored 0- drive low at TG1, TG2 is ignored

ASL Series Programming Guide

109

5 - DDD - Digital Driver and Detector

T- drive high at TG1, drive lo at TG2 Z- drive low at TG1, drive hi at TG2 Usage
ddd_7->ddd_load_pattern(1, XXXX0101);//7 = Master; Slave = 10, 15 or 17

ddd_load_pattern - Master and Slave (loop mode)


Description This function loads an alternating pattern between a starting address and an ending address. The alternating pattern consists of Pattern 1 followed by Pattern 2 in a repeating cycle. This command substitutes for a simple programmed loop instruction. At least three vectors must be programmed. Format
short ddd_load_pattern(unsigned short start_address, unsigned short stop_address, char *pattern1, char *pattern2);

Valid Arguments start_address 0 to 32764 stop_address start address + 2 pattern1 composed the same way as ddd_load_pattern (non-loop mode) on the previous page; associated with start_address pattern2 composed the same way as ddd_load_pattern (non-loop mode) on the previous page; associated with start_address + 1 Usage
ddd_7->ddd_load_pattern(0, 25, XXXX0101, XXXX1010);

110

ASL Series Programming Guide

Multiple Board Function Calls

ddd_end_pattern Master and Slave


Description This function forces a continuously looping pattern to jump to vector address 0 after completing the execution of the number of vectors stated. This must be set before a looping pattern is burst. Format
short ddd_end_pattern(unsigned short number_of_vectors);

Valid Arguments number_of_vectors 0 to 32767 Usage


ddd_7->ddd_end_pattern(25); //7 = Master; Slave = 10, 15 or 17

ddd_set_slave_pattern Slave
Description This function initializes the board before running the pattern. The board must be set before each pattern run. Format
short ddd_set_slave_pattern(void);

Valid Arguments none Usage


ddd_7->ddd_set_slave_pattern(void); //Slave = 10, 15 or 17

ASL Series Programming Guide

111

5 - DDD - Digital Driver and Detector

ddd_set_master_pattern Master
Description This routine initializes the board before running the pattern. Slave boards must be set before the master board is set. Format
short ddd_set_master_pattern(void);

Valid Arguments none Usage


ddd_7->ddd_set_master_pattern(void);

ddd_run_slave_pattern Slave (non-loop function)


Description This function sends a single burst of a pattern from start_address to stop_address. The range between the addresses must be at least three. The slave board does not run vectors until the master board runs. Format
short ddd_run_slave_pattern(short start_address, short stop_address);

Valid Arguments start_address 0 to 32765 stop_address (start_address + 3) to 32767

112

ASL Series Programming Guide

Multiple Board Function Calls

Usage
ddd_15->ddd_run_slave_pattern(2, 10);//Begins polling for master //board Slave = 10, 15 or 17

ddd_run_master_pattern Master (non-loop function)


Description This function sends a single burst of a pattern from start_address to stop_address. The range between the addresses must be at least two. Execute the instruction after all slaves are polling with ddd_run_slave_pattern. Format
short ddd_run_master_pattern(short start_address, short stop_address);

Valid Arguments start_address 0 to 32765 stop_address (start_address + 2) to 32767 Usage


ddd_7->ddd_run_pattern(2, 10); //All boards will run

ddd_run_slave_pattern Slave (loop function)


Description With no added arguments, this function begins polling for the master board to execute a continuously looping pattern. Unless ddd_end_pattern is programmed before using this function, all 32K of pattern memory is executed and address control is returned to vector 0. Format
short ddd_run_slave_pattern();

ASL Series Programming Guide

113

5 - DDD - Digital Driver and Detector

Valid Arguments none Usage


ddd_15->ddd_run_slave_pattern(); //Slave = 10, 15 or 17

ddd_run_master_pattern Master (loop function)


Description With no added arguments, this function begins executing a continuously looping pattern, and executes polling slave boards. Unless ddd_end_pattern is programmed before using this function, all 32K of pattern memory is executed and address control is returned to vector 0. Format
short ddd_run_master_pattern();

Valid Arguments none Usage


ddd_7->ddd_run_master_pattern();

ddd_stop_pattern - Master and Slave


Description This function stops the execution of a continuously looping pattern. Address control is returned to vector 0, and the channel levels are held at the vector 0 state. Format
short ddd_stop_pattern();

114

ASL Series Programming Guide

Multiple Board Function Calls

Valid Arguments none Usage


ddd_7->ddd_stop_pattern(); //7 = Master; Slave = 10, 15 or 17

ddd_read_pattern Master and Slave


Description This function reads the comparator results for the specified address from the receive memory. The return value contains the states of all eight channels and is in Hex format (a 2-digit number where each digit represents 4 channels). This function does not account for the 2-cycle pipeline. This command would be used to determine which channels fail. The ddd_enable_receive command must assign read-back channels. Format
short ddd_read_pattern(short address);

Valid Arguments address 0 to 32767 Usage


ddd_7->ddd_read_pattern(5); //7 = Master; Slave = 10, 15 or 17

ddd_compare_pattern Master and Slave


Description This function reads the logical vector from receive memory and compares it with the provided pattern. The command returns a TRUE (1) if the input matches the provided pattern, or a FALSE (0) if there is no match. With this command, two dummy vectors must be executed after the last vector. The dummy vectors account for the 2-cycle pipeline. This command would be used to determine which vector(s) fail.

ASL Series Programming Guide

115

5 - DDD - Digital Driver and Detector

Format
short ddd_compare_pattern(char *pattern, unsigned short address);

Valid Arguments pattern a character string representing all 8 channels in descending order from Channel 8 to Channel 1, comprised of the following possible characters: X- dont care 1- expect high 0- expect low address 0 to 32765 Usage
ddd_7->ddd_compare_pattern(1010XXXX, 25);//7 = Master; Slave = //10, 15 or 17

116

ASL Series Programming Guide

DDD Simplified Diagram

DDD Simplified Diagram


The figure below shows the simplified diagram of the DDD instrument.

Figure 14. DDD Simplified Diagram

ASL Series Programming Guide

117

5 - DDD - Digital Driver and Detector

Vector Format Examples


NOTE Use the diagrams in this section as visual aid tools only -- they are not to scale with the numerical data of the examples.

No Delays with 1- and 0-Data

V1 CH1

V2

V3

V4

100 ns

100 ns

100 ns

100 ns

CH2

TG1

TG1

TG1

TG1

Figure 15. Using No Delay with 1s and 0s


ddd_set_clock_period(100e-9) ddd_set_no_delay() ddd_load_pattern(0, XXXXXX10); ddd_load_pattern(1, XXXXXX01); ddd_load_pattern(2, XXXXXX10); ddd_load_pattern(3, XXXXXX01);

In using no delays, the vector data will change states on TG1 for both channels. In this case, the change occurs at 100 ns. In this example, the TG1 markers are for Channel 2 (CH2) only. Timing Generator 2 (TG2) is ignored.

118

ASL Series Programming Guide

Vector Format Examples

Delays with 1- and 0-Data and Zs (RT1)

V1 CH1

V2

V3

V4

100 ns

100 ns

100 ns

100 ns

CH2

TG1

TG2

TG1

TG2

TG1

TG2

TG1

TG2

Figure 16. Using Delays with 1s, 0s, and Zs (RT1)


ddd_set_clock_period(100e-9); ddd_set_delay(1, 0, 5e-9); ddd_set_delay(2, 15e-9, 50e-9); // channels 3 through 8 are programmed with 0 ns on TG1 and 5 ns on TG2 ddd_load_pattern(0, ddd_load_pattern(1, ddd_load_pattern(2, ddd_load_pattern(3, XXXXXX10); XXXXXXZ1); XXXXXX00); XXXXXXZ1);

The action of Z vector data depends on the preceding vector, with Z data going low on TG1 and returning high (RT1) on TG2. In this example, the TG1 and TG2 markers are shown for CH2 only. In the first vector, CH2 is set high (1). Because TG2 is ignored with the use of 1- and 0-data, CH2 remains high into the second vector, where it is set low (0) at TG1. At TG2, the return-to-one action occurs and CH2 is set high. At TG1 in the third vector, CH2 is set low. Again, because TG2 is ignored with the use of 1- and 0-data, CH2 remains low into the fourth vector. At TG1 in the fourth vector, the Z data sets CH2 low. Already low, CH2 remains low until TG2, where it is set high.

ASL Series Programming Guide

119

5 - DDD - Digital Driver and Detector

Delays with 1- and 0-Data and Ts (RT0)

V1 CH1

V2

V3

V4

100 ns

100 ns

100 ns

100 ns

CH2 TG1 TG2 TG1 TG2 TG1 TG2 TG1 TG2

Figure 17. Using Delays with 1s, 0s and Ts (RT0)


ddd_set_clock_period(100e-9); ddd_set_delay(1, 0, 5e-9); ddd_set_delay(2, 15e-9, 50e-9); // channels 3 through 8 are programmed with 0 ns on TG1 and 5 ns on TG2 ddd_load_pattern(0, ddd_load_pattern(1, ddd_load_pattern(2, ddd_load_pattern(3, XXXXXX10); XXXXXXT1); XXXXXX00); XXXXXXT1);

The action of T vector data depends on the preceding vector, with T data going high on TG1 and returning low (RT0) on TG2. In this example, the TG1 and TG2 markers are for CH2 only. In the first vector, CH2 is set high. Since TG2 is ignored with the use of 1- and 0-data, CH2 remains high into the second vector. At TG1 in the second vector, the T data sets CH2 high. Already high, CH2 remains high until TG2, where it is set low. At TG1 in the third vector, CH2 is set low. Again, because TG2 is ignored with the use of 1- and 0data, CH2 remains low into the fourth vector, where it is set high at TG1. At TG2, the return-to-zero action occurs, and CH2 is set low.

120

ASL Series Programming Guide

Vector Format Examples

Delays with Zs (RT1) and Ts (RT0)

V1 CH1

V2

V3

V4

100 ns

100 ns

100 ns

100 ns

CH2

TG1

TG2

TG1

TG2

TG1

TG2

TG1

TG2

Figure 18. Using Delays with Zs (RT1) and Ts (RT0)


ddd_set_clock_period(100e-9); ddd_set_delay(1, 0, 5e-9); ddd_set_delay(2, 15e-9, 50e-9); // channels 3 through 8 are programmed with 0 ns on TG1 and 5 ns on TG2 ddd_load_pattern(0, XXXXXXZ0); ddd_load_pattern(1, XXXXXXT1); ddd_load_pattern(2, XXXXXXZ0); ddd_load_pattern(3, XXXXXXT1);

In this example, the TG1 and TG2 markers are shown for CH2 only. The action of Z data at TG1 in the first vector depends on the preceding vector. If CH2 is low coming into the first vector, it remains low at TG1. If CH2 is high coming into the first vector, it is set low at TG1. In either case, CH2 is set high through the first vector at TG2. With T data in the second vector, CH2 remains high at TG1. At TG2, the return-to-zero action occurs, and CH2 is set low. CH2 remains low through the second vector and into the third. At TG2 in the third vector, CH2 is set high because of Z data. CH2 remains high through the third vector and into the fourth because of T data. At TG2 in the fourth vector, CH2 is set low.

ASL Series Programming Guide

121

5 - DDD - Digital Driver and Detector

Delays with Zs (RT1)

V1 H1

V2

V3

V4

100 ns

100 ns

100 ns

100 ns

H2

TG1

TG2

TG1

TG2

TG1

TG2

TG1

TG2

Figure 19. Using Delays with Zs (RT1)


ddd_set_clock_period(100e-9); ddd_set_delay(1, 0, 5e-9); ddd_set_delay(2, 15e-9, 50e-9); // channels 3 through 8 are programmed with 0 ns on TG1 and 5 ns on TG2 ddd_load_pattern(0, XXXXXXZ0); ddd_load_pattern(1, XXXXXXZ1); ddd_load_pattern(2, XXXXXXZ0); ddd_load_pattern(3, XXXXXXZ1);

In this example, the TG1 and TG2 markers are shown for CH2 only. The action of Z data at TG1 in the first vector depends on the preceding vector. If CH2 is low entering the first vector, it remains low at TG1. If CH2 is high entering the first vector, it is set low at TG1. Either way, CH2 is set high through the first vector at TG2. With Z data in the second vector, CH2 remains high until TG1, when it is set low. At TG2, the return-to-one action occurs; CH2 is set high, and remains high through the second vector and into the third. At TG1, CH2 is again set low because of Z data. At TG2, CH2 is set high. This action repeats through the third and fourth vectors. Using Z data in every vector can create a DUT clock at greater than 10 MHz. In this case, the format is the inverse of the following T-format example.

122

ASL Series Programming Guide

Vector Format Examples

Delays with Ts (RT0)

V1 1

V2

V3

V4

100 ns

100 ns

100 ns

100 ns

H2

TG1

TG2

TG1

TG2

TG1

TG2

TG1

TG2

Figure 20. Using Delays with Ts (RT0)


ddd_set_clock_period(100e-9); ddd_set_delay(1, 0, 5e-9); ddd_set_delay(2, 15e-9, 50e-9); // channels 3 through 8 are programmed with 0 ns on TG1 and 5 ns on TG2 ddd_load_pattern(0, XXXXXXT0); ddd_load_pattern(1, XXXXXXT1); ddd_load_pattern(2, XXXXXXT0); ddd_load_pattern(3, XXXXXXT1);

In this example, the TG1 and TG2 markers are shown for CH2 only. The action of T data at TG1 in the first vector depends on the preceding vector. If CH2 is low coming into the first vector, it is set high at TG1. If CH2 is high coming into the first vector, it remains high at TG1. In either case, CH2 is set low through the first vector at TG2. With T data in the second vector, CH2 remains low until TG1, when it is set high. At TG2, the return-to-zero action occurs; CH2 is set low. CH2 remains low through the second vector and into the third. At TG1, CH2 is again set high because of T data. At TG2, CH2 is set low. This action repeats through the third and fourth vectors. Using T data in every vector will create a DUT clock at greater than 10 MHz. In this case, this format is the inverse of the Z-format example on the previous page.

ASL Series Programming Guide

123

5 - DDD - Digital Driver and Detector

124

ASL Series Programming Guide

6
DOAL - DUAL OP AMP LOOP
The Dual Op Amp Loop (DOAL) is an application specific instrument designed to test operational amplifiers and comparators.

ASL Series Programming Guide

125

6 - DOAL - Dual Op Amp Loop

Theory of the DOAL


This section describes the opamp circuitry of the DOAL instrument, initialization conditions and channel measurement.

Opamp Loop
The DOAL circuitry allows you to program the desired DUT output voltage. The opamp loop then provides the required stimulus to the inverting input of the DUT until the output reaches the programmed value. The DOAL instrument has two loops. In general, the loops are independent of each other, and each channel has its own unique commands. However, there are a few common components, such as the output DAC and the measurement ADC. For simplicity, this section focuses on CH0 only. CH1 operates in the same way, and is referenced throughout the function calls as shown in section "Function Calls." A DOAL opamp loop typically starts with the DUT output, which is sent to a highvoltage buffer through the HV_BUF_CONN relay. The buffer is connected to a summing amplifier through a 100 k resistor. The summing amp is also connected (through another 100 k resistor) to a 12-bit DAC, generally referred to as the output DAC. Initiate loop action by issuing the set_output_voltage command. The summing amp detects the difference between the DUT output and the output DAC, and generates an error signal. The error signal is then applied to a compensation circuit that consists of two 12-bit DACs in parallel. These parallel DACs are called the int DAC and the gain DAC. The int DAC is responsible for setting the pole for the compensation. The gain DAC sets the zero. You program these DACs with the set_int_dac_ch0 and set_gain_dac_ch0. To continue the loop, the compensation network is then fed back to the inverting input terminal of the DUT. The compensation passes through a buffer first, and then through either the CLOSE_LOOP or CLS_LOOP_IV relays, and finally through the DUT_NEG_ISOL relay. To complete the loop, the non-inverting input of the DUT is held at ground potential by closing a combination of two relays: the DUT_POS_ISOL relay, and either the MLG_CON_POS or the LLG_CON_POS relay. The DOAL also provides DUT output loading through a series of resistors in varying sizes, which you select as desired. The load can be ground referenced, or you can apply a bias.

126

ASL Series Programming Guide

Theory of the DOAL

Relay and Switch Action


Several relays and switches are pre-set when an init function is called to initialize the DOAL. As a result, init opens all switches and relays except for those shown below: Table 8. DOAL - Relays and Switches Closed on init Relays that are closed on init LOAD_REF_GND HV_BUF_CONN CONNECT_LOADS Switches that are closed on init INT_CONN INT_RESET 1A_100MV

Most switches and relays are also grouped together so that a single command performs an open or close on both channels (CH0 and CH1). The switches and relays that are not grouped must be programmed separately. These relays and switches are listed below: Table 9. DOAL - Independent Relays and Switches Relays DUT_NEG_OUT DUT_POS_OUT IA_OFF_POL CH1_OFF_POL OUT_TO_RMS CH1_RMS_METER DUT_OUT_JMPRS CH1_OUT_JMPRS Switches IA_OFF_POL CH1_OFF_POL CH0_MEAS CH1_MEAS

Channel Action
CH0 and CH1 share the same output DAC and use the single measurement ADC. Therefore, to test dual opamps measurements must be taken sequentially. For example, to measure the output of the IA amp for both channels, follow these steps: 1. Close the IA_AMP mux switch 2. Take the measurement

ASL Series Programming Guide

127

6 - DOAL - Dual Op Amp Loop

3. Close the CH1_IA_AMP mux switch 4. Measure again

Measurement Circuit Description


The measurement circuit consists of two types of signal conditioning. The type of conditioning used depends on whether the signal to be measured is a voltage or current. If the signal is a voltage, it passes through a ground-referenced instrumentation amplifier (IA), where a gain (programmed by you) is applied. From the IA, the signal is passed by the ADC Mux to the measurement ADC. If the signal is a current, it passes through a current-to-voltage (I-V) converter, through the ADC Mux and then to the measurement ADC.

Voltage Measurement
The IA has four programmable gain ranges, set by three switches as shown below: Table 10. Programmable Range Switches Switch IA_1MV IA_10MV IA_100MV Action //Sets IA gain = 10000 //Sets IA gain = 1000 //Sets IA gain = 100

If all three switches are open the IA defaults to the 100 A range, resulting in an amplifier gain of 100,000. The IA can be nulled; the IA offset DAC (or null DAC) provides a means of programming the IA reference pin with a bipolar signal. Programming a bipolar signal on the pin increases measurement accuracy by nulling out errors in the measurement circuit itself. The IA_OFF_POL switch sets the null DAC polarity. The amount of attenuation at the null DAC output is also programmable. The IA_OFF_100_MV switch programs the attenuation.

128

ASL Series Programming Guide

Theory of the DOAL

Current Measurement
The DOAL has two types of I-V converters: medium leakage (MLG) and low leakage (LLG). Each converter is labeled according to its range capacity. Each converter also has a gain-setting relay associated with it, which increases the range capability. The IV converters are specified as follows: Table 11. I-V Converter Ranges I-V converter MLG MLG LLG LLG X10 switch status OFF ON OFF ON Full-scale range 1 A 10 A 10 nA 10 nA

An I-V converter is associated with each of the inverting and non-inverting inputs to the DUT. The MLG associated with the inverting terminal is called MLG_POS; the LLG converters are set up the same way. The I-V converter associated with the non-inverting input is referenced to ground and keeps the non-inverting input of the DUT at ground potential through its opamp action. The NEG converter is referenced to the feedback path of the opamp loop, and actually becomes part of the loop itself through its opamp action. This reference point is diode clamped; using the NEG converter as a stand-alone I-V converter yields valid results only for signals that are less than 100 mV from ground. The voltage generated by the I-V converters is passed on to the ADC Mux.

ASL Series Programming Guide

129

6 - DOAL - Dual Op Amp Loop

Function Calls
NOTE Board pointers are limited to three letters, so the DOAL board pointer is actually "oal."

init
Description This is the board initialization routine. These relays will be closed after an init: LOAD_REF_GND HV_BUF_CONN CONNECT_LOADS These analog switches will be closed after an init: INT_CONN INT_RESET 1A_100MV Format
void init(void);

Valid Arguments none Usage


oal_8->init();

set_ia_offset_dac ch1_ia_offset_dac
Description These functions program the instrumentation amplifier (IA) offset DACs. These commands are used to null the IA to improve accuracy for ranges lower than 100 mV. DAC addressing is left justified so that full scale is 65535 and zero scale is 0 to 15. Depending on the status of the IA_OFF_POL and CH1_OFF_POL switches, output is either a positive voltage (switches off) or a negative voltage (switches on).

130

ASL Series Programming Guide

Function Calls

Format
void set_ia_offset_dac(unsigned short value); void ch1_ia_offset_dac(unsigned short value);

Valid Arguments value integer number from 0 to 65535 (0 to 15 are zero scale; there is no action) Usage
oal_8->set_ia_offset_dac(32768); oal_8->ch1_ia_offset_dac(32768);

set_output_dac
Description This function programs the output DAC to the stated voltage (value). DAC addressing is left justified so that full scale is 65535 and zero scale is 0 to 15. The status of the OUT_POL switch determines the output. Output is a positive voltage when the switch is off, and a negative voltage when the switch is on. Format
void set_output_dac(unsigned short value);

Valid Arguments value integer number from 0 to 65535 (0 to 15 are zero scale; there is no action) Usage
oal_8->set_output_dac(32768);

ASL Series Programming Guide

131

6 - DOAL - Dual Op Amp Loop

set_output_voltage
Description This function programs the opamp loop so that the programmed voltage appears at the DUT output. If the loop is properly closed, the DOAL circuitry attempts to deliver the necessary voltage to the inverting input of the DUT. The programmed voltage then appears at the DUT output. The default value for range is autorange. Format
void set_output_voltage(float value, char range = -1);

Valid Arguments value output voltage value in decimal or scientific notation range OUT_RNG_X4 NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. Usage
oal_8->set_output_voltage(1.0);

dac_output_voltage
Description This function programs the output DAC to the specified voltage. The voltage must be within the range of 0 V to +10 V. Format
void dac_output_voltage(float value);

132

ASL Series Programming Guide

Function Calls

Valid Arguments value output voltage value in decimal or scientific notation (0 V to +10 V) Usage
oal_8->dac_output_voltage(1.0);

set_gain_dac_ch0 set_gain_dac_ch1
Description These functions program the DACs that are used to set the zero value that stabilizes the opamp loop on a per-channel basis. DAC addressing is left justified; full scale is 65535 and zero scale is 0 to 15. Format
void set_gain_dac_ch0(unsigned short value); void set_gain_dac_ch1(unsigned short value);

Valid Arguments value integer number from 0 to 65535 (0 to 15 are zero scale; there is no action) Usage
oal_8->set_gain_dac_ch0(500); oal_8->set_gain_dac_ch1(500);

set_int_dac_ch0 set_int_dac_ch1
Description These functions program the DACs that are used to set the pole value that stabilizes the opamp loop on a per-channel basis. DAC addressing is left justified; full scale is 65535 and zero scale is 0 to 15.

ASL Series Programming Guide

133

6 - DOAL - Dual Op Amp Loop

Format
void set_int_dac_ch0(unsigned short value); void set_int_dac_ch1(unsigned short value);

Valid Arguments value integer number from 0 to 65535 (0 to 15 are zero scale; there is no action) Usage
oal_8->set_int_dac_ch0(3000); oal_8->set_int_dac_ch1(3000);

convert_read_adc
Description This function issues a read strobe to the measurement system ADC. The result is a left-justified 12-bit decimal value (16-bit bus) that you convert to a voltage or current. Format
unsigned short convert_read_adc(void);

Valid Arguments none Usage


result=oal_8->convert_read_adc

select_adc_mux
Description This function sets the source of the signal that presents to the measurement system ADC.

134

ASL Series Programming Guide

Function Calls

Format
void select_adc_mux(unsigned short function);

Valid Arguments function IA_AMP (ADC mux ch0 values) HV_BUF LLG_POS LLG_NEG MLG_POS MLG_NEG EXT_PICO_POS EXT_PICO_NEG CH1_IA_AMP (ADC mux ch1 values) CH1_HV_BUF CH1_LLG_POS CH1_LLG_NEG CH1_MLG_POS CH1_MLG_NEG CH1_EXT_PICO_POS CH1_EXT_PICO_NEG Usage
oal_8->select_adc_mux(MLG_NEG);

measure_average
Description This function performs a specified number of measurements on the high-voltage buffer. The voltage detected by the ADC is actually divided down by 4. The division is accounted for in the returned value. Format
float measure_average(unsigned short samples);

ASL Series Programming Guide

135

6 - DOAL - Dual Op Amp Loop

Valid Arguments samples Integer number of samples Usage


result=oal_8->measure_average(10);

close_relay open_relay
Description These functions set the status of the specified relays. Format
void close_relay(unsigned short relay); void open_relay(unsigned short relay);

Valid Arguments relay LOAD_SHORT DUT_INP_SHORT OUT_TO_RMS SHORT_FEEDBACK_RES FEEDBACK_TO_OUT DUT_POS_ISOL DUT_NEG_ISOL DUT_POS_OUT DUT_NEG_OUT DUT_OUT_JMPRS DUT_OUT_OUT POS_IN_JMPRS LOAD_600 LOAD_1K LOAD_2K LOAD_4K7 LOAD_10K LOAD_100K CONNECT_LOADS LOAD_REF_EXT LOAD_REF_GND EXT_RLY_DRV EXT_LOAD_CONN HV_BUF_CONN SPARE_BIT CH1_EXT_DRV CH1_IN_JMPRS CH1_NEG_OUT CH1_POS_OUT CH1_OUT_JMPRS CH1_RMS_METER CH1_OUT_OUT

136

ASL Series Programming Guide

Function Calls

Usage
oal_8->close_relay(DUT_POS_OUT);

clear_relays
Description This function resets all relays to the open state. Format
void clear_relays(void);

Valid Arguments none Usage


oal_8->clear_relays();

close_switch open_switch
Description These functions set the status of the stated switches. Format
void close_switch(unsigned short switch); void open_switch(unsigned short switch);

Valid Arguments switch DAC_OUT CLOSE_LOOP CLS_LOOP_IV LLG_CON_POS LLG_CON_NEG INT_SLOW OUT_POL IA_OFF_POL CH1_OFF_POL OUT_RNG_X4

ASL Series Programming Guide

137

6 - DOAL - Dual Op Amp Loop

MLG_CON_POS BUS_8_MEAS MLG_CON_NEG ADC_ENABLE IA_OFF_100_MV STROBE POS_LKG_X10 MOD_CON_10 NEG_LKG_X10 DC_GAIN IA_POS_IN CH0_MEAS IA_NEG_IN CH1_MEAS IA_1MV //Sets IA gain = 10000 IA_10MV //Sets IA gain = 1000 IA_100MV //Sets IA gain = 100 INT_CONN INT_RESET DRV_1* DRV_2 SWITCH_NULL_14 * On systems equipped with an LCB, this switch connects to the input of the measurement I-V converter and is programmed with reverse polarity: open_switch(DRV-1) closes the connection. EE_WP EE_CLK EE_DATA Usage
oal_8->close_switch(DAC_OPUT); oal_8->open_switch(DAC_OUT);

clear_switches
Description This function resets all switches to the open state. Format
void clear_switches(void);

Valid Arguments none

138

ASL Series Programming Guide

Function Calls

Usage
oal_8->clear_switches();

ASL Series Programming Guide

139

6 - DOAL - Dual Op Amp Loop

DOAL Simplified Diagrams: CH0 and CH1


The figures below show simplified diagrams of DOAL sections.

OUT_SET_DAC OUT_RNG_X4 SET_INT_DAC

DAC_OUT EXT_LOAD_CONN INT_CONN TP16 MLG_POS_CH1 TO ADC MUX LLG_POS_CH1 INT_RESET SUM AMP OUT_POL TP4 100K BUFFER 100K FEEDBACK_TO_OUT 75K 100K HV_BUF TO ADC MUX TP11 25K LLG_NEG TO ADC MUX CONNECT_LOADS LLG_CON_NEG TP14 CLOSE_LOOP DUT_NEG_IN 10K SHORT_FEEDBACK_RES IA_AMP TO ADC MUX CLS_LOOP_IV IA_1MV IA_10MV IA_100MV INST AMP SET_GAIN_DAC

POS_LKG_X10

MLG_CON_POS

**

WIRE_LINKS BUFFER DUT_OUT_JMPRS

BUS_x

SET_OUTPUT_DAC 25K 75K

LLG_CON_POS WIRE LINK

**

RMS_METER OUT_TO_RMS TP13 POS INPUT I/V CONVERTERS DUT_OUT_2 DUT_POS_ISOL CH1_POS_IN CH1_IN_JMPRS

BUS_9 MOD_CON_9

IA_POS_IN

CH1_POS_OUT CH1_POS_OUT

HV_BUF_CONN

**

BUS_10 MOD_CON_10

DUT_IN_SHORT IA_NEG_IN

DUT_OUT

MLG_NEG

TP8 NEG_LKG_X10

*
DUT_OUT_OUT DUT_OUT_OUT LOAD_SHORT

MLG_CON_NEG DUT_NEG_ISOL

DUT_NEG_OUT CH1_NEG_OUT DUT_NEG_OUT 1k 90K CH1_IA_OFF_DAC IA_NEG_IN DUT_IN_SHORT DUT_NEG_IN IA_OFF_100_MV CH1_OFF_POL DUT_POS_OUT IA_POS_IN DUT_POS_OUT 10K SHORT_FEEDBACK_RES 10K 1K DUT_NEG_ISOL CH1_NEG_OUT

NEG INPUT I/V CONVERTERS 600 LEGEND: RELAY ANALOG SWITCH 1K LOAD_1K IA_AMP TO ADC MUX LOAD_600 TP9 IA_1MV IA_10MV

** IA_100MV
INST AMP

2K IA_AMP_CH0 TP12 LLG_POS_CH0 MLG_POS_CH0 TP2 ADC ADC MUX CH0 LLG_NEG_CH0 MLG_NEG_CH0 CH0_PICO_POS CH0_PICO_NEG *CONVERT HV_BUF_CH0 1M 10K 4.7K

LOAD_2K

LOAD_4K7 90K IA_OFFSET_DAC 10K

LOAD_10K LOAD_100K

DUT_POS_IN DUT_POS_ISOL NEG INPUT I/V CONVERTERS

FEEDBACK_TO_OUT

100K

CH1_OUT_2 IA_OFF_100_MV IA_OFF_POL LLG_POS TO ADC MUX EXT_LOAD_CONN MLG_POS MLG_CON_POS TP6 POS INPUT I/V CONVERTERS BUS_8 EXT_LOAD_CONN LLG_CON_POS TP7 POS_IN_JMPRS POS_LKG_X10 NEG_LKG_X10 CH1_RMS_MTR TP15 WIRE LINK MLG_NEG TO ADC MUX LLG_NEG TP5 CLS_LOOP_IV EXT_REF DAC_OUT OUT_RNG_X4 CLOSE_LOOP CH1_RMS_MTR MLG_CON_NEG CH1_OUT_JMPRS LLG_CON_NEG WIRE_LINKS

LOAD_REF_GND

*
LOAD_REF_EXT EXT_LOAD_CONN LOAD_SHORT CH1_LOAD_CONN

IA_AMP_CH1 LLG_POS_CH1 MLG_POS_CH1 MUX OUT LLG_NEG_CH1 ADC MUX CH1 600 MLG_NEG_CH1 CH1_PICO_POS CH1_PICO_NEG 2K HV_BUF_CH1 4.7K 10K LOAD_4K7 LOAD_2K 1K LOAD_1K LOAD_600

SET_INT_DAC

INT_CON

**
TP10

BUFFER

OUT_SET_DAC

25K

75K INT_RESET 100K SUM AMP

**

TP1

BUS_9 MOD_CON_9 100K BUS_10 MOD_CON_10 LOAD_10K LOAD_100K BUFFER 1M 75K SET_GAIN_DAC

* **
CH1_DUT_OUT

Relays closed after init. Switches Closed After Init 100K

TP3 100K

CONNECT_LOADS CH1_OUT_OUT

HV_BUF_CONN 25K

CH1_OUT_OUT

DOAL Card Simplified Diagram

Figure 21. DOAL Simplified Diagram

140

ASL Series Programming Guide

DOAL Simplified Diagrams: CH0 and CH1

BUFFER DAC_OUT CLS_LOOP_IV CLOSE_LOOP 12-BIT SET_INT_DAC POLE 25 K TP8 INT_RESET TO ADC MUX MLG_NEG NEG_LKG_X10 TP11 TO ADC MUX LLG_NEG LLG LLG_CON_NEG INT_SLOW MLG MLG_CON_NEG SUM AMP 100 K 100 K MOD_CON_10 OUT_RNG_X4 OUT_POL

INT_CONN

75 K SET_OUTPUT_DAC 12-BIT BUS 10

SET_GAIN_DAC ZERO BUFFER 12-BIT

TP4

75 K DC_GAIN 25 K 1K SHORT_FEEDBACK_RES DUT_NEG_ISOL DUT_NEG_OUT IA_NEG_IN TP9 TO ADC MUX 12-BIT IA_OFFSET_DAC IA_POS_IN IA_OFF_POL IA_OFF_100_MV LOAD_SHORT IA_AMP 90 K 10 K DUT_POS_OUT DUT_POS_IN CONNECT_LOADS IA IA_100MV IA_10MV IA_1MV DUT_NEG_IN DUT_INP_SHORT 10 K FEEDBACK_TO_OUT HV_BUF_CONN

HV_BUF TO ADC MUX

DUT_OUT_OUT DUT_OUT_OUT RMS_METER

DUT CH0

DUT_OUT_2

DUT_TO_RMS WIRE_JUMPERS DUT_OUT_JMPRS

DUT_NEG_OUT

DUT_OUT

LOAD_REF_GND

LOAD_600 DUT_POS_OUT LOAD_1K TP6 TO ADC MUX MLG_POS LOAD_4K7 POS_LKG_X10 TP7 TO ADC MUX LLG_POS LLG LLG_CON_POS RELAY LOAD_100K ANALOG SWITCH MLG MLG_CON_POS DUT_POS_ISOL LOAD_2K

600 K 1K LOAD_REF_EXT 2K

EXT_REF

4.7 K 10 K

LOAD_10K

100 K EXT_LOAD_CONN EXT_LOAD_CONN

DOAL Card Simplified Diagram: CH0

Figure 22. DOAL Channel 0 Simplified Diagram

ASL Series Programming Guide

141

6 - DOAL - Dual Op Amp Loop

BUFFER

DAC_OUT 12-BIT SET_INT_DAC POLE 25 K OUT_RNG_X4 OUT_POL

CLS_LOOP_IV

CLOSE_LOOP

INT_CONN TP15

75 K SET_OUTPUT_DAC

INT_RESET TO ADC MUX CH1_MLG_NEG NEG_LKG_X10 TP5 TO ADC MUX CH1_LLG_NEG LLG LLG_CON_NEG INT_SLOW MLG MLG_CON_NEG

SUM AMP 100 K 100 K

12-BIT MOD_CON_10 BUS 10

SET_GAIN_DAC ZERO BUFFER 12-BIT DC_GAIN

TP3

75 K

CH1_HV_BUF TO ADC MUX

25 K 1K SHORT_FEEDBACK_RES DUT_NEG_ISOL CH1_NEG_OUT IA_NEG_IN TP14 TO ADC MUX CH1_IA_AMP 12-BIT 90 K IA_OFFSET_DAC IA_POS_IN CH1_OFF_POL IA_OFF_100_MV LOAD_SHORT LOAD_REF_GND 10 K CH1_POS_OUT CONNECT_LOADS IA IA_100MV IA_10MV IA_1MV CH1_NEG_IN DUT_INP_SHORT CH1_POS_IN CH1_OUT_OUT CH1_OUT_OUT CH1_RMS_METER 10 K FEEDBACK_TO_OUT HV_BUF_CONN

DUT CH1

CH1_OUT_2 CH1_DUT_OUT

CH1_RMS_METER WIRE_JUMPERS CH1_OUT_JMPRS

CH1_NEG_OUT

LOAD_600 CH1_POS_OUT LOAD_1K TP16 TO ADC MUX CH1_MLG_POS LOAD_4K7 POS_LKG_X10 TP13 TO ADC MUX CH1_LLG_POS LLG LLG_CON_POS RELAY LOAD_100K ANALOG SWITCH MLG MLG_CON_POS DUT_POS_ISOL LOAD_2K

600 K 1K LOAD_REF_EXT 2K

EXT_REF

4.7 K 10 K

LOAD_10K

100 K EXT_LOAD_CONN EXT_LOAD_CONN

DOAL Card Simplified Diagram: CH1

Figure 23. DOAL Channel 1 Simplified Diagram

142

ASL Series Programming Guide

Programming Examples

Programming Examples
Testing VOS on a Dual Opamp
void Input_Offset_Volts(test_function& func) { // The two lines below must be the first two in the function. Input_Offset_Volts_params *ours; ours = (Input_Offset_Volts_params *)func.params; short i, tests, samples = 10; unsigned long temp; long adc_val[4]; float vos_a, vos_b; // Initialize cards system_init(); // located in user.cpp // Set up load at DUT outputs oal_8->close_relay(LOAD_REF_GND); oal_8->close_relay(LOAD_2K); oal_8->set_output_voltage(ours->output);// set DUT output voltage // Set up for 10 mV measure range oal_8->open_switch(IA_100MV);// 100 mV switch is closed after init oal_8->close_switch(IA_10MV); // Do cal with inputs shorted oal_8->close_relay(DUT_POS_ISOL); oal_8->close_relay(DUT_NEG_ISOL); oal_8->close_relay(DUT_INP_SHORT); oal_8->close_switch(IA_POS_IN); oal_8->close_switch(IA_NEG_IN); //Power up DUT dvi_9->set_voltage(DVI_CHANNEL_0, ours->v_plus); dvi_9->set_voltage(DVI_CHANNEL_1, ours->v_minus); oal_8->close_switch(CLOSE_LOOP); // Set up pole and zero in compensation network oal_8->set_int_dac_ch0(ours->pole_dac); oal_8->set_gain_dac_ch0(ours->zero_dac); oal_8->set_int_dac_ch1(ours->pole_dac); oal_8->set_gain_dac_ch1(ours->zero_dac); // Activate compensation oal_8->open_switch(INT_RESET);

ASL Series Programming Guide

143

6 - DOAL - Dual Op Amp Loop

// Set up measurement oal_8->select_adc_mux(IA_AMP); // CH0 to ADC // Null Instrumentation amp (ia) delay(2); ia_dly = 1; ia_null(0); // ia null located in User.cpp // Measure ia amp after null temp = 0L; for(i=0; i<samples; i++) { temp += oal_8->convert_read_adc(); } adc_val[0] = temp / samples; // Remove short at inputs oal_8->open_switch(DUT_INPUT_SHORT); // Measure VOS delay(ours->meas_dly); temp = 0L; for(i=0; i<samples; i++) { temp += oal_8->convert_read_adc(); } adc_val[1] = temp / samples; // Set up CH1 oal_8->close_relay(DUT_INP_SHORT); // Set up measurement oal_8->select_adc_mux(CH1_IA_AMP); // Ch1 to ADC // Null Instrumentation amp (ia) delay(2); ia_dly = 1; ia_null(1); // ia null located in User.cpp // Measure ia amp after null temp = 0L; for(i=0; i<samples; i++) { temp += oal_8->convert_read_adc(); } adc_val[2] = temp / samples; // Remove short at inputs oal_8->open_switch(DUT_INPUT_SHORT);

144

ASL Series Programming Guide

Programming Examples

// Measure vos delay(ours->meas_dly); temp = 0L; for(i=0; i<samples; i++) { temp += oal_8->convert_read_adc(); } adc_val[3] = temp / samples; // power down power_down(); // Evaluate results by converting ADC output to a voltage. // The ADC input range is 10 V. An input voltage of 0.0 V results in // an output code of 32768. The 10 mV range for the IA amp = gain of // 1000. This presents 10 V to the ADC input. Therefore, to convert // the ADC reading to the proper range, the ADC reading is divided by // 32768.0 (number of codes per half-scale range). // The result is then multiplied by 10 (ADC full-scale range), then / / divided by 1000 (IA amp gain) to obtain the actual voltage at ///the DUT. // Example: If the IA amp was nulled perfectly, and the null // voltage was zero (0 V), //the first ADC reading would be 32768 (adc_val[0] = 32768). //Now suppose the second reading was 36768 (adc_val[1] = 36768). //The difference between these readings is 4000. Dividing this //number by 32768, then multiplying by 10 then dividing by 1000 //results in a VOS value of 1.2207 mV. Dividing by 3276800.0 gives // the same result, as shown in the following lines. vos_a = (adc_val[1] - adc_val[0]) / 3276800.0; func.dlog->set_test_no(1); func.dlog->power = POWER_MILLI; func.dlog->test_val(vos_a); if(func.dlog->tests[func.dlog->current_test].passed_fail == FAILED_TEST) func.dlog->set_bin(5); if(func.dlog->tests[func.dlog->current_test].display_results) func.dlog->display_results(); vos_b = (adc_val[3] - adc_val[2]) / 3276800.0; func.dlog->set_test_no(2); func.dlog->power = POWER_MILLI; func.dlog->test_val(vos_b); if(func.dlog->tests[func.dlog->current_test].passed_fail == FIELED_TEST) func.dlog->set_bin(5); if(func.dlog->tests[func.dlog->current_test].display_results) func.dlog->display_results();

ASL Series Programming Guide

145

6 - DOAL - Dual Op Amp Loop

Testing Input Bias Current on a Dual Opamp


void Ib(test_function& func) { // The two lines below must be the first two in the function. Ib_params *ours; ours = (Ib_params *)func.params; short samples = 10, i, adc_val[4][2], test; float ib_pos[2], ib_neg[2]; long temp_val[4]; // Initialize cards system_init(); // located in user.cpp dvi_9->set_current(DVI_CHANNEL_0, 0.2); dvi_11->set_current(DVI_CHANNEL_0, -0.2); // connect MLG to inputs oal_8->close_relay(DUT_POS_ISOL); oal_8->close_switch(MLG_CON_POS); oal_8->close_relay(DUT_NEG_ISOL); oal_8->close_switch(MLG_CON_NEG); oal_8->close_switch(CLS_LOOP_IV); // Set up pole and zero in compensation network oal_8->set_int_dac_ch0(ours->pole_dac); oal_8->set_gain_dac_ch0(ours->zero_dac); oal_8->set_int_dac_ch1(ours->pole_dac); oal_8->set_gain_dac_ch1(ours->zero_dac); // power up dvi_9->set_voltage(DVI_CHANNEL_0, 5.0);// V+ dvi_9->set_voltage(DVI_CHANNEL_1, 0.0); // Voal_8->set_output_voltage(1.4); // Activate compensation oal_8->open_switch(INT_RESET); delay(ours->meas_dly); temp_val[0] = temp_val[1] = temp_val[2] = temp_val[3] = 0L; oal_8->select_adc_mux(MLG_POS); wait.delay_10_us(4); // measure MLG for (i=0; i<samples; i++) { temp_val[0] += oal_8->convert_read_adc(); } oal_8->select_adc_mux(CH1_MLG_POS); wait.delay_10_us(4); for (i=0; i<samples; i++)

146

ASL Series Programming Guide

Programming Examples

{ temp_val[1] += oal_8->convert_read_adc(); } oal_8->select_adc_mux(MLG_NEG); wait.delay_10_us(4); for (i=0; i<samples; i++) { temp_val[2] += oal_8->convert_read_adc(); oal_8->select_adc_mux(CH1_MLG_NEG); wait.delay_10_us(4); for (i=0; i<samples; i++) { temp_val[3] += oal_8->convert_read_adc(); } adc_val[0] adc_val[1] adc_val[2] adc_val[3] = = = = temp_val[0] temp_val[1] temp_val[2] temp_val[3] / / / / samples; samples; samples; samples;

adc_val[0] ^= 0x8000; adc_val[1] ^= 0x8000; } // power down power_down(); //corr_limit = 0.0; // calculate and datalog ib values func.dlog->power = POWER_NANO; ib_pos = (short) adc_val[0]; ib_pos *= -(1.0e-6 / 32768.0); // value in A (1 A range) do_dlog(func, 0, ib_pos, ours->fbin_ib); ib_neg = (short) adc_val[1]; ib_neg *= -(1.0e-6 / 32768.0); // value in A (1 A range) do_dlog(func, 2, ib_neg, ours->fbin_ib); // calculate Ib Avg //corr_limit = 15e-9; do_dlog(func, 4, ((ib_pos + ib_neg)/2), ours->fbin_ib); do_dlog(func, 5, ((ib_pos[1] + ib_neg[1])/2), ours->fbin_ib); // calculate Ios //corr_limit = 3e-9;

ASL Series Programming Guide

147

6 - DOAL - Dual Op Amp Loop

do_dlog(func, 6, (ib_pos[0] - ib_neg[0]), ours->fbin_ib); do_dlog(func, 7, (ib_pos[1] - ib_neg[1]), ours->fbin_ib); // calculate and datalog Vicr values func.dlog->power = POWER_MICRO; for(i = 0; i < 2; i++) { ib_pos[i] = (short) adc_val[i][1]; ib_pos[i] *= (10.0e-6 / 32768.0); if (ib_pos[i] > 9.9e-6) ib_pos[i] = 999.9999; if (ib_pos[i] < -9.9e-6) ib_pos[i] = -999.9999; }

// value in A (10 A range)

//corr_limit = 10e-6; do_dlog(func, 8, max(fabs(ib_neg[0]), ib_pos[0]), ours->fbin_vicr); d

148

ASL Series Programming Guide

Programming Examples

ASL Series Programming Guide

149

6 - DOAL - Dual Op Amp Loop

150

ASL Series Programming Guide

7
DVI - DUAL VOLTAGE/CURRENT SOURCE
The Dual Voltage/Current Source (DVI) is a dual channel voltage/current, source. Each channel can be independently programmed, or two channels can be used together for differential measurements. The two current version available are: 300 mA and 2000 mA. Forcing resolution is 12 bits, while measurement resolution is 16 bits. There are three versions of DVI in the field: 200 mA (discontinued), 300 mA, and 2000 mA current ranges, each with calibrated +50 V range.

ASL Series Programming Guide

151

7 - DVI - Dual Voltage/Current Source

DVI Theory
The DVI functions as a programmable voltage source with a programmable current limit. The DVI never exceeds this current limit. The DVI operates in one of two modes: voltage mode (force V) or current mode (force I). The operating mode depends on the relationship between the programmed voltage, and the programmed current and the load. The DVI has no force or clamp commands to control the DVIs operational mode. Voltage and current conditions are set with the set_voltage() and set_current() statements; the operational mode is determined by the relationship between the load and these settings. The Current Mode Example shows the DVI set to two volts (2 V) and one milliamp (1 mA) with a 1.5 k resistor load. Under these conditions, the DVI begins to raise the output voltage to reach the stated voltage value of 2V At 1.5 V, the programmed current value is met and the DVI stops raising the voltage. This mode of operation is called the current mode because the programmed current level has been reached. The Voltage Mode Example shows the DVI set to 1 V and 1 mA. Under these conditions (as in the previous example), the DVI raises the output voltage in order to reach the stated voltage value. Because the programmed voltage value is 1 V, the DVI cannot raise the output voltage higher enough to reach the required current. At this point, the DVI stops and presents 1 V to the load. This mode of operation is called the voltage mode because the programmed voltage level has been reached.

V=1.5 V = 2.0 I = 0.001


1.5K

Current Mode Example

V=1.0 V = 1.0 I = 0.001


1.5K

Voltage Mode Example

These two examples show why the programmed voltage and current values are considered limits. The word limit, as it is used here, combines the concepts of both desired output and output level clamps.

152

ASL Series Programming Guide

DVI Theory

Current Direction
The direction of current through a DVI channel is governed by the difference in potential between the output of the DVI and the other side of the load connected to the DVI channel .

V = 10 I = 0.001

1.5K

+2V

Positive (sourcing) current

Negative (sinking) current

Figure 24. Current Direction

Programming a Negative Current Value


Programming a current value, whether a positive or negative, sets the limits which the DVI will not exceed. The following example indicates a programmed negative value of current. This does not affect the direction of current flow. It does (as with a positive value) engage a set of calibration factors; in this case, the negative set. During calibration, gain and offset information is gathered in both the source and sink current directions. Using a non-signed value of current uses the positive current calibration factor set; using a negative value of current engages the negative calibration factor set. In most cases the differences between positive and negative cal factors are small. Using a negative current value when it is known that current flow will be negative ensures the best possible response from the DVI.

ASL Series Programming Guide

153

7 - DVI - Dual Voltage/Current Source

I V = 2.0 I = -0.001 current limits set by the absolute 1mA value

1.5K

Figure 25. Programmed Negative Current Value with Positive (Sourcing) Current NOTE The DVI-200 and DVI-300 channel force and sense lines are connected together by a 1.1 k resistor after the CONN_FORCE and CONN_SENSE relays. For more information, see Figure 28, DVI-200 and DVI-300 Relay Configuration.

154

ASL Series Programming Guide

Function Calls

Function Calls
init
Description

This is the board initialization routine. The routine opens all relays except CONN_SENSE0, CONN_FORCE0, CONN_SENSE1, CONN_FORCE1, CONN_MEAS0, and CONN_MEAS1; these relays are closed. It also sets voltage to a non-calibrated 0 V on a 10 V range, and sets current to a non-calibrated 100 A on a 200 A range, or 150 A on a 300 A range. CONN_MEAS0 and CONN_MEAS1 relays exist on DVI-2000 versions only. See Figure 29, DVI-2000 Relay Configuration, for more details.
Format
void init(void);

Valid Arguments

none
Usage
dvi_9->init();

set_voltage
Description

This function programs the voltage limit and closes the channel relays CONN_FORCE and CONN_SENSE on the stated channels, in this order. The default for vrange is autorange. The default for compensation is FAST_VOLTAGE_MODE. If the voltage value is programmed greater than 50V, or greater than the specified range, no change to the hardware will occur and an error message will be displayed.
Format
short set_voltage(unsigned char channel, float value, char vrange, char compensation);

ASL Series Programming Guide

155

7 - DVI - Dual Voltage/Current Source

Valid Arguments channel DVI_CHANNEL_0 DVI_CHANNEL_1 value

voltage limit in decimal or scientific notation


vrange

default is autorange RANGE_1_VOLT RANGE_2_VOLT RANGE_5_VOLT RANGE_10_VOLT RANGE_20_VOLT RANGE_50_VOLT

NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. compensation (Default is FAST_VOLTAGE_MODE)

FAST_VOLTAGE_MODE SLOW_VOLTAGE_MODE
Usage

(approx. 100 s to 99% of programmed voltage) (approx. 300 s to 99% of programmed voltage)

dvi_9->set_voltage(DVI_CHANNEL_0, 4.0, VOLT_5_RANGE, SLOW_VOLTAGE_MODE);

set_voltage_range
Description

This function programs the voltage force/measure range and closes the specified channel relays CONN_FORCE and CONN_SENSE. The default value for compensation is FAST_VOLTAGE_MODE.
NOTE This function is intended for use with the last two vrange arguments, VOLT_METER_LO and VOLT_METER_HI. If a voltage ranges needs to be set, the preferred method is to use the third argument in the set_voltage function. If the range is changed after the voltage is set, erroneous results will occur.

156

ASL Series Programming Guide

Function Calls

Format
void set_voltage_range(unsigned char channel, unsigned char polarity, unsigned short vrange, unsigned char compensation);

Valid Arguments channel DVI_CHANNEL_0 DVI_CHANNEL_1 polarity

POSITIVE_V_OUT NEGATIVE_V_OUT
vrange

(If programmed voltage is negative, it changes to positive) (If programmed voltage is positive, it changes to negative)

VOLT_1_RANGE VOLT_2_RANGE VOLT_5_RANGE VOLT_10_RANGE VOLT_20_RANGE VOLT_50_RANGE VOLT_METER_LO (disconnects force line , selects 6 V range) VOLT_METER_HI (disconnects force line, selects 60 V range) compensation

FAST_VOLTAGE_MODE SLOW_VOLTAGE_MODE
Usage

(approx. 100 ms to 99% of programmed voltage) (approx. 300 ms to 99% of programmed voltage)

dvi_9->set_voltage_range(DVI_CHANNEL_0, POSITIVE_V_OUT, VOLT_METER_LO, FAST_VOLTAGE_MODE);

ASL Series Programming Guide

157

7 - DVI - Dual Voltage/Current Source

set_diff_range
Description

This function programs the range for differential voltage measurements.


Format
void set_diff_range(unsigned short vrange);

Valid Arguments vrange (DVI-200 and DVI-2000) RANGE_20_MV RANGE_50_MV RANGE_100_MV RANGE_200_MV RANGE_1_V RANGE_2_V RANGE_5_V RANGE_10_V vrange (DVI-300) RANGE_10_MV RANGE_30_MV RANGE_100_MV RANGE_300_MV RANGE_1_V RANGE_3_V RANGE_10_V RANGE_30_V RANGE_100_V Usage
dvi_9->set_diff_range(RANGE_20_MV);

158

ASL Series Programming Guide

Function Calls

set_current
Description

This function programs the current limit. The default for irange is autorange. Changing between extreme ranges requires 300 s settling time. If the current range is programmed greater than 200 mA (300 mA), or greater than the specified range, no change to tthe hardware will occur. Programming ihalf to TRUE extends the current ranging down by half for the DVI-200 and by one third for the DVI 300 (for example, RANGE_20_UA becomes RANGE_10_UA and RANGE_30_UA becomes RANGE_10_UA) when irange is specifically programmed.
Format
short set_current(unsigned char channel, float value, char irange, char ihalf);

Valid Arguments channel DVI_CHANNEL_0 DVI_CHANNEL_1 value

current limit value in decimal or scientific notation


NOTE Due to current design of board, a current value of 0 Amp CAN NOT programmed while the voltage is programmed to 0 Volts or vice versa, For example:
dvi_9-> set_voltage (DVI_CHANNEL_0, 0); dvi_9-> set_current (DVI_CHANNEL_0, 0);

but it CAN be used as:


dvi_9-> set_voltage (DVI_CHANNEL_0, 5); dvi_9-> set_current (DVI_CHANNEL_0, 0);

OR
dvi_9-> set_voltage (DVI_CHANNEL_0, 0); dvi_9-> set_current (DVI_CHANNEL_0, 1e-6);

irange (DVI-200)(Default is autorange) RANGE_20_UA RANGE_200_UA

ASL Series Programming Guide

159

7 - DVI - Dual Voltage/Current Source

RANGE_2_MA RANGE_20_MA RANGE_200_MA irange (DVI-300)(Default is autorange) RANGE_30_UA RANGE_300_UA RANGE_3_MA RANGE_30_MA RANGE_300_MA irange (DVI -2000) (Default is autorange) RANGE_2_UA RANGE_20_UA RANGE_200_UA RANGE_2_MA RANGE_20_MA RANGE_200_MA RANGE_2_AMP NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. ihalf (default FALSE, ignored if irange is not specifically programmed)

TRUE FALSE
Usage
dvi_9->set_current(DVI_CHANNEL_0, 5.0e-3, RANGE_20_MA, FALSE);

set_current_range
Description

This function programs the current force/measure range. Programming ihalf to TRUE extends the current ranging down by half for the DVI-200 and by one third for the DVI 300 (for example, RANGE_20_UA becomes RANGE_10_UA and RANGE_30_UA becomes RANGE_10_UA) when irange is specifically programmed.).

160

ASL Series Programming Guide

Function Calls

Format
void set_current_range(unsigned char channel, unsigned short irange, char ihalf);

Valid Arguments channel DVI_CHANNEL_0 DVI_CHANNEL_1 irange (DVI-200) RANGE_20_UA RANGE_200_UA RANGE_2_MA RANGE_20_MA RANGE_200_MA irange (DVI 300) RANGE_30_UA RANGE_300_UA RANGE_3_MA RANGE_30_MA RANGE_300_MA irange (DVI 2000) RANGE_2_UA RANGE_20_UA RANGE_200_UA RANGE_2_MA RANGE_20_MA RANGE_200_MA RANGE_2_A NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. ihalf (default is FALSE)

TRUE FALSE

ASL Series Programming Guide

161

7 - DVI - Dual Voltage/Current Source

Usage
dvi_9->set_current_range (DVI_CHANNEL_0, RANGE_20_MA, FALSE);

set_meas_mode
Description

This function determines the mode for subsequent measurement(s).


Format
void set_meas_mode(unsigned char channel, unsigned char mode);

Valid Arguments channel DVI_CHANNEL_0 DVI_CHANNEL_1 mode DVI_MEASURE_VOLTAGE DVI_MEASURE_CURRENT DVI_MEASURE_BUS(requires installation of wire jumper to specified bus). The default is no connection. Consult a Credence Systems Applications Engineer for support. DVI_MEASURE_TEMP (DVI 2000 only) DVI_MEASURE_DIFF Usage
dvi_9->set_measure_mode(DVI_CHANNEL_0, DVI_MEASURE_CURRENT);

measure
Description

This function performs a single measurement. The strobe rate is approximately 20 s, self-timed by the ADC.

162

ASL Series Programming Guide

Function Calls

Format
float measure(void);

Valid Arguments

none
Usage
result = dvi_9->measure();

measure_average
Description

This function performs the stated number of measurements and returns the average. The strobe rate is approximately 20 s per sample, self-timed by the ADC.
Format
float measure_average(unsigned short samples);

Valid Arguments samples

integer number of samples


Usage
result = dvi_9->measure_average(12);

set_compensation
Description

This function controls the response of the internal voltage control loop. If SLOW_VOLTAGE_MODE is specifically programmed, the voltage control is out of control. In this case, the resulting response in the DVI is an initial fast change in voltage before the control loop responds, slowing the rate of change of the voltage.

ASL Series Programming Guide

163

7 - DVI - Dual Voltage/Current Source

If FAST_VOLTAGE_MODE is specifically programmed, the voltage control loop is in control immediately, and the initial change in voltage much less than it is with SLOW_VOLTAGE_MODE. However, the remaining change in voltage is faster.
Format
void set_compensation(unsigned char channel, unsigned char compensation);

Valid Arguments channel DVI_CHANNEL_0 DVI_CHANNEL_1 compensation

FAST_VOLTAGE_MODE SLOW_VOLTAGE_MODE
Usage

(approx. 100 s to 99% of programmed voltage) (approx. 300 s to 99% of programmed voltage)

dvi_9->set_compensation(DVI_CHANNEL_0, SLOW_VOLTAGE_MODE);

close_relay open_relay
Description

These functions close and open the stated on-board relays.


Format
void close_relay(unsigned short relay); void open_relay(unsigned short relay);

164

ASL Series Programming Guide

Function Calls

Valid Arguments relay

CONN_FORCE0/1

Opens and closes the force connect relay for the appropriate channel 0/1 on DVI-200 and DVI-300. For DVI-2000, this command will open two relays*
Opens and closes the sense connect relay for the channel 0 or 1.* Opens and closes the channel 0 force-to-bus 2 connect relay and channel 1 force-to-bus 3 connect relay. Opens and closes the channel 0 sense-to-bus 2 connect relay, and channel 1 sense-to-bus 3 connect relay, see Figure 28, DVI200 and DVI-300 Relay Configuration.* Opens and closes the appropriate measure-to-bus connect relay.* Opens and closes the appropriate guard connect relay Opens and closes the appropriate channel modulation input from the bus connect relay. Opens and closes the #1 or #2 user programmable open collector output. Opens and closes the relay between the channel 0 sense line and the channel 1 sense line. Opens and closes the ADC input-to-bus relay.

CONN_SENSE0/1 BUS_FORCE0/1 BUS_SENSE0/1

BUS_MEASURE0/1 GUARD0/1 MOD_CHAN0/1 DVI_EXT_DRV1/2 CHANNEL_SHORT CONN_BUS_MEAS

Usage
dvi_9->close_relay(DVI_EXT_DRV1); dvi_9->open_relay(DVI_EXT_DRV1);
*Note: For clarification, see Figure 28 and Figure 29 (Relay Configuration).

ASL Series Programming Guide

165

7 - DVI - Dual Voltage/Current Source

DVI-2000 Differences
The DVI-2000 force and sense lines are connected together by a 1.1 k resistor before CONN_FORCE, CONN_SENCE and CONN_MEAS. For more information, see Figure 29, DVI_2000 Relay configuration.

init
Description

This is the board initialization routine. The routine opens all relays except CONN_SENSE0, CONN_FORCE0, CONN_SENSE1, CONN_FORCE1, CONN_MEAS0, and CONN_MEAS1; which are closed. It also sets voltage to a noncalibrated 0 V on a 10 V range, and sets current to a non-calibrated 100 A on a 200 A range. CONN_MEAS0 and CONN_MEAS1 relays exist on DVI-2000 versions only. See Figure 29, DVI-2000 Relay Configuration, for more details.
Format
void init (void);

Valid Arguments

none
Usage
dvi_9->init();

set_voltage
Description

This function programs the voltage limit and closes the channel relays CONN_FORCE and CONN_SENSE on the stated channels, in this order. The default for vrange is autorange. The default for compensation is FAST_VOLTAGE_MODE. If the voltage value is programmed greater than 50V, or greater than the specified range, no change to the hardware will occur and an error message will be displayed.

166

ASL Series Programming Guide

DVI-2000 Differences

Format
short set_voltage(unsigned char channel, float value, char vrange, char compensation);

Valid Arguments channel DVI_CHANNEL_0 DVI_CHANNEL_1 value

voltage limit in decimal or scientific notation


vrange (Default is autorange) RANGE_1_VOLT RANGE_2_VOLT RANGE_5_VOLT RANGE_10_VOLT RANGE_20_VOLT RANGE_50_VOLT NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. compensation (Default is FAST_VOLTAGE_MODE)

FAST_VOLTAGE_MODE SLOW_VOLTAGE_MODE
Usage

(approx. 100 s to 99% of programmed voltage) (approx. 300 s to 99% of programmed voltage)

dvi_9->set_voltage(DVI_CHANNEL_0, 4.0, VOLT_5_RANGE, SLOW_VOLTAGE_MODE);

set_diff_range
Description

This function programs the range for differential voltage measurements.

ASL Series Programming Guide

167

7 - DVI - Dual Voltage/Current Source

Format
void set_diff_range(unsigned short vrange);

Valid Arguments vrange (DVI-200 and DVI-2000) RANGE_20_MV RANGE_50_MV RANGE_100_MV RANGE_200_MV RANGE_1_V RANGE_2_V RANGE_5_V RANGE_10_V NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange.

set_current
Description

This function programs the current limit. The default for irange is autorange. Changing between extreme ranges requires 300 s settling time. If the current range is programmed greater than 2000 mA, or greater than the specified range, no change to the hardware will occur. Programming ihalf to TRUE extends the current ranging down one factor (for example, RANGE_20_UA becomes RANGE_10_UA) when irange is specifically programmed.
Format
short set_current(unsigned char channel, float value, char irange, char ihalf);

Valid Arguments channel

168

ASL Series Programming Guide

DVI-2000 Differences

DVI_CHANNEL_0 DVI_CHANNEL_1 value

current limit value in decimal or scientific notation


irange (Default is autorange) RANGE_2_UA RANGE_20_UA RANGE_200_UA RANGE_2_MA RANGE_20_MA RANGE_200_MA RANGE_2_AMP NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. ihalf (default FALSE, ignored if irange is not specifically programmed)

TRUE FALSE
Usage
dvi_9->set_current(DVI_CHANNEL_0, 5.0e-3, RANGE_2_A, FALSE);

set_current_range
Description

This function programs the current force/measure range. Programming ihalf to TRUE extends the current ranging down one factor (for example, RANGE_20_UA becomes RANGE_10_UA).
Format
void set_current_range(unsigned char channel, unsigned short irange, char ihalf);

ASL Series Programming Guide

169

7 - DVI - Dual Voltage/Current Source

Valid Arguments channel DVI_CHANNEL_0 DVI_CHANNEL_1 irange RANGE_2_UA RANGE_20_UA RANGE_200_UA RANGE_2_MA RANGE_20_MA RANGE_200_MA RANGE_2_A NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. ihalf (default is FALSE) TRUE FALSE Usage
dvi_9->set_current_range (DVI_CHANNEL_0, RANGE_2_A, FALSE);

set_meas_mode
Description

This function determines the mode for subsequent measurement(s).


Format
void set_meas_mode(unsigned char channel, unsigned char mode);

Valid Arguments channel DVI_CHANNEL_0

170

ASL Series Programming Guide

DVI-2000 Differences

DVI_CHANNEL_1 Mode DVI_MEASURE_TEMP Usage


dvi_9->set_measure_mode(DVI_CHANNEL_0, DVI_MEASURE_TEMP);

close_relay open_relay
Description

These functions close and open the stated on-board relays.


Format
void close_relay(unsigned short relay); void open_relay(unsigned short relay);

Valid Arguments relay

CONN_MEAS0/1

Opens and closes the measure connect relay for the appropriate channel. The DVI-2000 is designed with a separate circuit for Force and Measurement which allows the user to range these circuits differently. See Figure 29, DVI-2000 Relay Configuration, for more details.

Usage
dvi_9->close_relay(CONN_MEAS1); dvi_9->open_relay(CONN_MEAS0);

was_it_hot
Description

This function queries the system to see if the over_temp flag has been set.

ASL Series Programming Guide

171

7 - DVI - Dual Voltage/Current Source

Format
bool was_it_hot(void);

Valid Arguments

none
Return Values

true - Means that the instrument is overtemperature. false - Means that the instrument is not overtemperature.
Usage
board_hardware_init(); do{ run tests. . . . . } while(dvi_9->was_it_hot())

Duty Cycle
The instruments duty cycle depends upon the current and the impedance of the load driven. A built-in temperature sensor will shut down the supply if the heat sink temperature is excessive. The temperature may also be measured, to allow for an adaptive cool-down time between devices tested. The chart below gives the user an approximate duty cycle for a given current and load. The charts are based on 100 ms ontime.

172

ASL Series Programming Guide

DVI-2000 Differences

Allowable Duty Cycle vs Current


Duty Cycle (%) 150 100 50 0
5 Ohm 3 Ohm 1 Ohm 0.5 Ohm 0A 100 100 100 100 0.25A 100 100 100 100 0.5A 0.75A 1A 1.25A 1.5A 1.75A 2A

5 Ohm 3 Ohm 1 Ohm 0.5 Ohm


49.609 49.609 42.578 34.766 35.547 31.641 29.297 49.609 49.609 49.609 39.453 33.984 29.297 26.172 49.609 49.609 47.266 36.328 30.859 27.734 24.609 49.609 49.609 40.234 32.422 30.079 26.172 23.828

Source Current
Figure 26. Duty Cycle

ASL Series Programming Guide

173

7 - DVI - Dual Voltage/Current Source

DVI Simplified Diagram


The figures below shows the simplified diagram of the DVI instrument.

10V REF

VOLTAGE DAC CHANNEL 0 COMPARATOR INTEGRATOR

COMPENSATION NETWORK HIGH VOLTAGE BUFFER Current Ranges 10uA, 20uA, 100uA, 200uA, 1mA, 2mA, 10mA, 20mA, 100mA, 200mA. INTEGRATOR COMPARATOR Differential Amplifier TP5

POLARITY TP14 SENSE CH0 Hi Voltage Hi Impedance Buffer VOLTAGE RANGE SWITCHING VOLTAGE RANGES 1,2,5,10,20 AND 50V SLOW_MODE

CURRENT DAC CHANNEL 0 TP8

TP6 FORCE CH0

IMEAS CH0 VMEAS_CH0

Ranges 20mV,50mV,100mV,200mV,500mV,1V,2V,5V,10V. Differential Amplifier TP12 DIFF_MEAS VMEAS_CH1 TP10 IMEAS_CH1

TP15

CHANNEL_SHORT

16 Bit ADC

VOLTAGE DAC CHANNEL 1 COMPARATOR INTEGRATOR

COMPENSATION NETWORK HIGH VOLTAGE BUFFER Current Ranges 10uA, 20uA, 100uA, 200uA, 1mA, 2mA, 10mA, 20mA, 100mA, 200mA. INTEGRATOR COMPARATOR Differential Amplifier

POLARITY TP13 SENSE CH1 Hi Voltage Hi Impedance Buffer VOLTAGE RANGE SWITCHING VOLTAGE RANGES 1,2,5,10,20 AND 50V SLOW_MODE

TP7

10V REF

CURRENT DAC CHANNEL 1

FORCE CH1

DVI_EXT_DRV1

*
* CONTROLLED BY open/close_relay(); DVI_EXT_DRV2

LEGEND:

*
RELAY ANALOG SWITCH

Figure 27. DVI Simplified Diagram

174

ASL Series Programming Guide

DVI Simplified Diagram

* Controlled by open/close_relay(); ** Controlled by

set_meas_mode();

Figure 28. DVI Relay Configuration for DVI-200 and DVI-300

ASL Series Programming Guide

175

7 - DVI - Dual Voltage/Current Source

Figure 29. DVI Relay Configuration for DVI-2000 only

176

ASL Series Programming Guide

DVI Programming Example

DVI Programming Example


Supply Current

***************************************************** For DVI-300 only ***************************************************** void supply_i(test-function &func) { //The two lines below must be the first two in the function supply_i_params *ours; ours = (supply_i_params *)func.params; float Icc, Vcc; system_init(); //sets Channel 0 of the DVI(slot 9) to Icc dvi_9->set_current(DVI_CHANNEL_0, Icc); //sets Channel 0 of the DVI (slot 9) to Vcc voltage for Pin 16. dvi_9->set_voltage(DVI_CHANNEL_0, Vcc); //sets DVI to measure current. dvi_9->set_meas_mode(DVI_CHANNEL_0, DVI_MEASURE_CURRENT); // Setup delay delay(ours->meas_delay); //measures current and takes the average over a number of samples

ASL Series Programming Guide

177

7 - DVI - Dual Voltage/Current Source

Icc = dvi_9->measure_average(ours->samples); power_down(); //user written power-off function display_results();//user written datalogging function }

***************************************************** For DVI-2000 only ***************************************************** void supply_i(test-function &func) { //The two lines below must be the first two in the function supply_i_params *ours; ours = (supply_i_params *)func.params; float icc; system_init(); bool temp_flag = 0; // Checks DVI_2000 for overtemp after test have been run, // if DVI-2000 is hot, wait for cool down period and rerun tests. do{ if (temp_flag == 1) delay(20); //sets Channel 0 of the DVI(slot 9) to Icc dvi_9->set_current(DVI_CHANNEL_0, Icc); //sets Channel 0 of the DVI (slot 9) to Vcc voltage for Pin 16. dvi_9->set_voltage(DVI_CHANNEL_0, Vcc); //sets DVI to measure current. dvi_9->set_meas_mode(DVI_CHANNEL_0, DVI_MEASURE_CURRENT); // Setup delay delay(ours->meas_delay); //measures current and takes the average over a number of samples Icc = dvi_9->measure_average(ours->samples); power_down(); //user written power-off function

display_results();//user written datalogging function temp_flag = 1; // set temp_flag // Function to verify that the DVI-2000 was in a valid operating // state during testing. }while(dvi_9->was_it_hot(); }

178

ASL Series Programming Guide

8
HVS - HIGH-VOLTAGE SOURCE
High Voltage Source (HVS) instruments are programmable high-voltage, low-current floating sources. Two versions are available, delivering either 600V or 850V maximum output. This chapter provides the HVS function calls with a brief description and their usages.

ASL Series Programming Guide

179

8 - HVS - High-Voltage Source

Function Calls
init
Description

This is the board initialization routine. This routine turns off the high-voltage supply and programs the current and voltage DAC to 100 A and 0 V.
Format
void init(void);

Valid Arguments

none
Usage
hvs_15->init();

set_voltage
Description

This function programs the voltage limit and sets the voltage range. The default value for vrange is autorange. Setting the hot_switch parameter to FALSE (default), the HVS will program the voltage and current DACs to zero before switching the appropriate relays for range, then a 2 ms delay will occur before setting the voltage and current DACs to their specified settings. A TRUE will bypass setting the DACs to zero and the 2 ms delay will be skipped. Requesting a value greater than the specified range or the maximum supported by the hardware will result in no change to the hardware and a runtime error message.
Format
void set_voltage(float value, char vrange, char hot_switch);

Valid Arguments value

180

ASL Series Programming Guide

Function Calls

voltage limit in decimal or scientific notation


vrange RANGE_100_V RANGE_200_V RANGE_500_V RANGE_1_KV NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. hot_switch

TRUE FALSE (default


Usage
hvs_15->set_voltage(53.5, RANGE_100_V);

set_current
Description

This function programs the current limit and current range; the default value for irange is autorange. Setting the hot_switch parameter to FALSE (default), the HVS will program the voltage and current DACs to zero before switching the appropriate relays for range, then a 2 ms delay will occur before setting the voltage and current DACs to their specified settings. A TRUE will bypass setting the DACs to zero and the 2 ms delay will be skipped. Requesting a value greater than the specified range or the maximum supported by the hardware will result in no change to the hardware and a runtime error message.
Format
void set_current(float value, char irange, char hot_switch);

Valid Arguments value

current limit in decimal or scientific notation

ASL Series Programming Guide

181

8 - HVS - High-Voltage Source

irange RANGE_10_UA RANGE_100_UA RANGE_1_MA RANGE_10_MA NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. hot_switch

TRUE FALSE (default


Usage
hvs_15->set_current(9.5e-3, RANGE_10_MA);

set_meas_mode
Description

This function sets the measurement mode and range and turns on the high-voltage power stage.
Format
void set_meas_mode(unsigned short mode);

Valid Arguments mode HVS_MEASURE_VOLTAGE HVS_MEASURE_CURRENT Usage


hvs_15->set_meas_mode(HVS_MEASURE_VOLTAGE);

182

ASL Series Programming Guide

Function Calls

measure
Description

This function performs a single floating-point measurement with the on-board ADC.
Format
float measure(void);

Valid Arguments

none
Usage
result = hvs_15->measure();

measure_average
Description

This function performs the stated number of measurements and returns the average.
Format
float measure_average(unsigned short samples);

Valid Arguments samples

integer number of samples


Usage
result = hvs_15->measure_average(12);

ASL Series Programming Guide

183

8 - HVS - High-Voltage Source

supply_off
Description

This function turns off the high-voltage power supply.


Use this call at the end of a test function to insure operator safety.
WARNING

Format
void supply_off(void);

Valid Arguments

none
Usage
hvs_15->supply_off();

NOTE Turn the inverter off when testing is not taking place to avoid noise. The 650 V power rail powers up in approximately 2 ms.

close_relay open_relay
Description

These functions close and open the stated relays.


Format
void close_relay(unsigned short relay); void open_relay(unsigned short relay);

Valid Arguments relay HVS_FORCE_POS HVS_SHORT_POS_FS HVS_SENSE_POS_REF_COM

184

ASL Series Programming Guide

Function Calls

HVS_SENSE_POS_OUT_COM HVS_GND_POS_SENSE HVS_NEG_FORCE HVS_SHORT_NEG_FS HVS_SENSE_NEG_REF_COM HVS_SENSE_NEG_OUT_COM HVS_GND_NEG_SENSE HVS_SHORT_10K_FS HVS_REF_1 HVS_REF_2 HVS_OUT_1 HVS_OUT_2 HVS_OUT_3 HVS_OUT_4 HVS_OUT_5 HVS_OUT_6 HVS_OUT_7 HVS_OUT_8 Usage
hvs_15->close_relay(HVS_OUT_1); hvs_15->open_relay(HVS_OUT_1);

ASL Series Programming Guide

185

8 - HVS - High-Voltage Source

HVS Simplified Diagram


The figure below shows the simplified diagram of the HVS instrument.

TP8

TP7 HVS_FORCE_POS

POS_FORCE
HVS_SHORT_10K_FS HVS_OUT_1 HVS_SHORT_POS_FS 10K HVS_OUT_2 FLOATING +650V HVS_SENSE_POS_OUT_COM 100kHz ISOLATED POWER INVERTER FLOATING +15V FLOATING COM HVS_GND_POS_SENSE FLOATING -15V TP6 TP2 HVS_GND_NEG_SENSE HVS_SENSE_NEG_OUT_COM HVS_SENSE_POS_REF_COM HVS_OUT_5 HVS_OUT_6 HVS_OUT_7 HVS_OUT_3 HVS_OUT_4

OUT 1 OUT 2 OUT 3 OUT 4 OUT 5 OUT 6 OUT 7 OUT 8

ISOLATED VOLTAGE DAC TP3

HVS_OUT_8 HVS_SENSE_NEG_REF_COM

OUT_COM REF_COM
HVS_REF_1

ISOLATED CURRENT DAC

FLOATING LOOP CONTROL

REF_1
HVS_SHORT_NEG_FS TP5 HVS_REF_2

REF_2

NEG_FORCE
HVS_NEG_FORCE TP4 (V MEAS) ** (I MEAS) ** ** CONTROLLED BY set_meas_mode VRANGE CONTROL 100V 200V 500 1000V IRANGE CONTROL 10uA 100uA 1mA 10mA TP1

12 BIT A/D

DATA BUS

Figure 30. HVS Simplified Diagram

186

ASL Series Programming Guide

HVS Programming Example

HVS Programming Example


For simplicity, system functions (such as datalogging) have not been included in this example.

Figure 31. HVS Sample Test Setup


void diode_test() { float measurement; hvs_15->set_current(2e-6); //DUT leakage clamp hvs_15->set_voltage(0); //no voltage during relay switch hvs_15->close_relay(HVS_SHORT_POS_FS); hvs_15->close_relay(HVS_SHORT_NEG_FS); //shorting the force and sense lines allows for a one wire //connection to the DUT, eliminating unneeded leakage paths hvs_15->close_relay(HVS_SENSE_NEG_REF_COM); //short the negative output to the DUT ground hvs_15->close_relay(HVS_FORCE_POS); //enable the positive out put to connect to the DUT through one //line delay(2); //make sure all relays are settled hvs_15->set_meas_mode(HVS_MEASURE_CURRENT);//this also turns on //the high voltage delay(5); //gives the high voltage time to //come up hvs_15->set_voltage(600); delay(5);

ASL Series Programming Guide

187

8 - HVS - High-Voltage Source

measurement = hvs_15->measure();//measure_average also possible //here power_down(); //user written power-off function display_results(); //user written datalog function }

188

ASL Series Programming Guide

9
LZB - LINK/ZENER BLOWER
The Link/Zener Blower (LZB) is a single-quadrant V/I source. The loading conditions determine whether the supply operates in voltage or current mode. The supply forces voltage until it reaches the programmed current. At that time, the supply becomes a current source. The output connects to the DUT via a 2-by-28 relay multiplexer. The mux can be disconnected from the source and used as a high-power matrix.

ASL Series Programming Guide

189

9 - LZB - Link/Zener Blower

Function Calls
init
Description

This is the board initialization routine. The function opens all relays and resets the voltage and current DACs to non-calibrated zero status.
Format
void init(void);

Valid Arguments

none
Usage
lzb_18->init();

set_voltage
Description

This function programs the voltage limit.


Format
short set_voltage(float value);

Valid Arguments value

0 V to 40 V voltage limit in decimal or scientific notation


Usage
lzb_18->set_voltage(22.5);

190

ASL Series Programming Guide

Function Calls

set_clamp
Description

This function programs the post-link-blow clamp voltage and helps control the voltage spikes that are created when links are opened and the load is suddenly removed. Use this function with close_relay(LZB_CON_CLAMP).
Format
short set_clamp(float value);

Valid Arguments value

0 V to 14 V clamp voltage in decimal or scientific notation


Usage
lzb_18->close_relay(LZB_CONN_CLAMP); lzb_18->set_clamp(5.0);

set_current
Description

This function programs the current limit; the default for irange is autorange.
Format
short set_current(float value, unsigned short irange);

Valid Arguments value

0 A to 4A current limit in decimal or scientific notation


irange (Default is autorange) LZB_RANGE_40_MA LZB_RANGE_400_MA LZB_RANGE_4_A

ASL Series Programming Guide

191

9 - LZB - Link/Zener Blower

NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. Usage
lzb_18->set_current(1.0);

set_meas_mode
Description

This function programs the measurement mode for subsequent measurements. It can be used to monitor capacitor bank voltage with LZB_ CAP_VOLTAGE.
Format
short set_meas_mode(unsigned short mode);

Valid Arguments mode LZB_OUTPUT_CURRENT LZB_CAP_VOLTAGE LZB_OUTPUT_VOLTAGE Usage


LZB_18->set_meas_mode(LZB_OUTPUT_VOLTAGE);

measure
Description

This function performs a single measurement


Format
float measure(void);

192

ASL Series Programming Guide

Function Calls

Valid Arguments

none
Usage
result = lzb_18->measure();

convert_read_adc
Description

This function instructs the on-board ADC to perform a single conversion. The returned value requires conversion to floating point.
Format
unsigned short convert_read_adc(void);

Valid Arguments

none
Usage
result = lzb_18-> convert_read_adc ();

close_relay open_relay
Description

This function closes and opens the stated relays.


Format
void close_relay(unsigned short relay); void open_relay(unsigned short relay);

Valid Arguments relay

ASL Series Programming Guide

193

9 - LZB - Link/Zener Blower

LZB_MUX_OUT_1 LZB_MUX_OUT_2 LZB_MUX_OUT_3 LZB_MUX_OUT_4 LZB_MUX_OUT_5 LZB_MUX_OUT_6 LZB_MUX_OUT_7 LZB_MUX_OUT_8 LZB_MUX_OUT_9 LZB_MUX_OUT_10 LZB_MUX_OUT_11 LZB_MUX_OUT_12 LZB_MUX_OUT_13 LZB_MUX_OUT_14 LZB_MUX_OUT_15 LZB_MUX_OUT_16 LZB_MUX_OUT_17 LZB_MUX_OUT_18 LZB_MUX_OUT_19 LZB_MUX_OUT_20 LZB_MUX_OUT_21 LZB_MUX_OUT_22 LZB_MUX_OUT_23 LZB_MUX_OUT_24 LZB_MUX_OUT_25 LZB_MUX_OUT_26 LZB_MUX_OUT_27 LZB_MUX_OUT_28 LZB_CONN_OUT LZB_CONN_GND LZB_RANGE_2 LZB_RANGE_1 LZB_CONN_CLAMP Usage

LZB_MUX_GND_1 LZB_MUX_GND_2 LZB_MUX_GND_3 LZB_MUX_GND_4 LZB_MUX_GND_5 LZB_MUX_GND_6 LZB_MUX_GND_7 LZB_MUX_GND_8 LZB_MUX_GND_9 LZB_MUX_GND_10 LZB_MUX_GND_11 LZB_MUX_GND_12 LZB_MUX_GND_13 LZB_MUX_GND_14 LZB_MUX_GND_15 LZB_MUX_GND_16 LZB_MUX_GND_17 LZB_MUX_GND_18 LZB_MUX_GND_19 LZB_MUX_GND_20 LZB_MUX_GND_21 LZB_MUX_GND_22 LZB_MUX_GND_23 LZB_MUX_GND_24 LZB_MUX_GND_25 LZB_MUX_GND_26 LZB_MUX_GND_27 LZB_MUX_GND_28

lzb_18->close_relay_relay(LZB_conn_clamp); lzb_18->open_relay_relay(LZB_conn_clamp);

194

ASL Series Programming Guide

LZB Simplified Diagram

LZB Simplified Diagram


The figure below shows the simplified diagram of the LZB instrument.

TP7

TP4

CLAMP DAC

VCLAMP CONTROL

LZB_CONN_CLAMP

LZB_CONN_OUT LZB_MUX_OUT_1 LZB_MUX_OUT_15

OUT 1
LZB_MUX_GND_1 LZB_MUX_GND_15 LZB_MUX_OUT_2

OUT 15
LZB_MUX_OUT_16

OUT 2
LZB_MUX_GND_2 LZB_MUX_GND_16 LZB_MUX_OUT_3

OUT 16
LZB_MUX_OUT_17

OUT 3
LZB_MUX_GND_3 LZB_MUX_GND_17 LZB_MUX_OUT_4

OUT 17
LZB_MUX_OUT_18

OUT 4
TP2 TP1 LZB_MUX_GND_4 LZB_MUX_GND_18 LZB_MUX_OUT_5

OUT 18
LZB_MUX_OUT_19

OUT 5
LZB_MUX_GND_5 LZB_MUX_GND_19 LZB_MUX_OUT_6

OUT 19
LZB_MUX_OUT_20

VOLTAGE DAC
TP5

CURRENT DAC

LOOP CONTROL

700 mA CHARGER

OUT 6
LZB_MUX_GND_6 LZB_MUX_GND_20 LZB_MUX_OUT_7

OUT 20
LZB_MUX_OUT_21

OUT 7
LZB_MUX_GND_7 LZB_MUX_GND_21 LZB_MUX_OUT_8

OUT 21
LZB_MUX_OUT_22

OUT 8
LZB_MUX_GND_8 LZB_MUX_GND_22 LZB_MUX_OUT_9

OUT 22
LZB_MUX_OUT_23

OUT 9
LZB_MUX_GND_9 (2.5 mF Nominal) LZB_MUX_GND_10 LZB_MUX_GND_23 LZB_MUX_OUT_10

OUT 23
LZB_MUX_OUT_24

OUT 10
LZB_MUX_GND_24 LZB_MUX_OUT_11

OUT 24
LZB_MUX_OUT_25

OUT 11
LZB_MUX_GND_11 LZB_MUX_GND_25 LZB_MUX_OUT_12

OUT 25
LZB_MUX_OUT_26

OUT 12
LZB_MUX_GND_12 LZB_MUX_GND_26 LZB_MUX_OUT_13

OUT 26
LZB_MUX_OUT_27

OUT 13
IRANGE CONTROL 40 mA 400 mA 4A LZB_MUX_GND_13 TP6 (CV MEAS) ** ** (I MEAS) (V MEAS) ** TP3 LZB_MUX_GND_14 LZB_MUX_GND_27 LZB_MUX_OUT_14

OUT 27
LZB_MUX_OUT_28

OUT 14
LZB_MUX_GND_28

OUT 28

TP8

12 BIT A/D
LZB_CONN_GND

** CONTROLLED BY set_meas_mode

Figure 32. LZB SImplified Diagram

ASL Series Programming Guide

195

9 - LZB - Link/Zener Blower

Programming Example
The following example shows an LZB installed in Slot 18 blowing a link.
float cap_voltage, output_voltage; system_inti();//should include lzb_18->init(); to open all //relays and program to 0 V to measure cap bank //voltage, this should be close to 50 V lzb_18->set_meas_mode(LZB_CAP_VOLTAGE);//closes ADC mux for cap measure delay(1); cap_voltage=lzb_18->measure();//measures cap voltage if(cap_voltage < 40.0)//checks, aborts test if less than 40 V goto end: //LZB is set up, now connect to DUT lzb_18->close_relay(LZB_CONN_OUT);//closes output relay to mux lzb_18->close_relay(LZB_CONN_GND);//closes ground relay to mux lzb_18->close_relay(LZB_MUX_OUT_1);//closes mux relay to DUT pin //note: this is +ve connection //set current now; it also uses the high-power relays that need //time to close lzb_18->set_current(1.0);//current is programmed, but not //yet flowing; no voltage is applied in // blowing links, the clamp can help //revent overshoot when the link goes lzb_18->close_relay(LZB_CONN_CLAMP);//connects clamp circuit to output lzb_18->set_clamp(5.0); //clamps at 5 V //to check for blown link; set up to measure output voltage here lzb_18->set_meas_mode(LZB_OUTPUT_VOLTAGE); //ADC mux closed delay(5); //5 ms delay to let relays close //apply pulse to the DUT for a period of 1 ms lzb_18->set_votlage(5.0);//applies power to link, current flows wait.delay_10_us(ours->pulse_width/10); //passed param pulse width //= 1000 s for 1 ms delay output_voltage = lzb_18->measure(); //measures output voltage lzb_18->set_voltage(0.0); //end of power pulse //if the link is blown, measured output voltage will be close to //the clamp voltage of 5 V. //if not blown, the voltage will be lower; the supply will have //been in current mode //may be preferable to measure output current and check for a low //current //if the link is not blown, the test program can take action (apply //the pulse again, etc.) //may be required at this point to blow another link //al that is required is to open the mux relays and connect to //another link, set a delay //and pulse the supply again

196

ASL Series Programming Guide

Programming Example

lzb_18->open_relay(LZB_MUX_OUT_1); lzb_18->open_relay(LZB_MUX_GND_2); lzb_18->close_relay(LZB_MUX_OUT_3); lzb_18->close_relay(LZB_MUX_GND_4); delay(5); lazb_18->set_voltage(5.0); //applies power to link, //current flows wait.delay_10_us(ours->pulse_width/10);//passed param //pulse_width = //1000 s for 1 ms delay output_voltage = lzb_18->(0.0);//end of power pulse //after blowing the required links, power down the LZB end: power_down();

//includes lzb_18->init();

ASL Series Programming Guide

197

9 - LZB - Link/Zener Blower

198

ASL Series Programming Guide

10
MUX - RESOURCE MULTIPLEXER
The Resource Multiplexer (MUX) has eight banks of four relays each. Each bank can be connected to the preceding and following banks, creating a 32-point relay matrix. Several banks contain relays that can be connected to system ground and user busses. The MUX can extend the functionality of other instruments by allowing resource sharing.

ASL Series Programming Guide

199

10 - MUX - Resource Multiplexer

MUX Theory
The MUX board has 32, dry reed relays group into 8 banks of four. Each bank can be connected to the following or preceding bank using the intra-bank relays. Connecting all banks together results in a 32 point matrix. The MUX board is offered in 2 versions: low voltage and high voltage. The low voltage version is populated with 200 V relays that require a minimum of 350 s to settle. The high voltage version is populated with 500 V relays and they require 1ms of settling time. The required settling time is programmed by the user with either a delay() or wait.delay_10_uS() statement. One side of the relays in a bank route directly out to the user interface; the other side of the relays are connected in common. Some banks have access to system ground (banks 2, 4, 6, 7, 8). All banks have access to one of the internal, test head user bus lines.

User Bus Lines


The ASL 1000 test head contains 9, non-controlled, general purpose bus lines. These bus lines run the full length of the back plane, from slot 1 to slot 21 and are not routed to the user test interface. The only user access is through the MUX board. Some ASL instruments are pre-set to have access to certain bus lines: MUX - all DVI - 2, 3 DVI2000 - 2, 3, 4, 7 DOAL - 8, 9, 10 TMU - 8

Except for the MUX, jumpers installed on the instrument board determine this pre-set nature. The ACS instrument has access to a number of the bus lines, but no jumpers have been defined. As can be seen from the related instrument block diagrams, bus connect relays must be closed to complete the path.

200

ASL Series Programming Guide

Function Calls

Function Calls
init
Description

This is the board initialization routine, which opens all relays.


Format
void init(void);

Valid Arguments

none
Usage
mux_14->init();

close_relay open_relay
Description

These functions close and open the stated relays. The remaining relays are not affected. Relay grouping within these functions is not allowed. No built-in wait time. Appropriate wait may be programmed with the delay() or wait.delay _10_us() statement.
Format
void close_relay(unsigned short relay); void open_relay(unsigned short relay);

Valid Arguments relay MUX_1_1 MUX_1_2 MUX_1_3 MUX_6_1 MUX_6_2 MUX_6_3

ASL Series Programming Guide

201

10 - MUX - Resource Multiplexer

MUX_1_4 MUX_1_BUS9 MUX_BANK_1_2 MUX_2_1 MUX_2_2 MUX_2_3 MUX_2_4 MUX_2_BUS2 MUX_BANK_2_3 MUX_2_GND MUX_3_1 MUX_3_2 MUX_3_3 MUX_3_4 MUX_3_BUS3 MUX_3_BANK_3_4 MUX_4_1 MUX_4_2 MUX_4_3 MUX_4_4 MUX_4_BUS4 MUX_BANK_4_5 MUX_4_GND MUX_5_1 MUX_5_2 MUX_5_3 MUX_5_4 MUX_5_BUS5 MUX_BANK_5-6 MUX_5_BUS10 Usage
mux_14->close_relay(MUX_1_1); mux_14->open_relay(MUX_1_1);

MUX_6_4 MUX_6_BUS6 MUX_BANK_6_7 MUX_6_GND MUX_7_1 MUX_7_2 MUX_7_3 MUX_7_4 MUX_7_BUS7 MUX_7_BANK_7_8 MUX_7_GND MUX_8_1 MUX_8_2 MUX_8_3 MUX_8_4 MUX_8_BUS8 MUX_BANK_8_1 MUX_8_GND

202

ASL Series Programming Guide

MUX Simplified Diagram

MUX Simplified Diagram


The figure below shows the simplified diagram of the MUX instrument.

MUX_BANK_8_1

MUX_1_1 MUX_1_2

MUX_1_BUS9
BUS_9 BUS_8

MUX_8_BUS8

MUX_8_1 MUX_8_2

BANK 1
MUX_1_3 MUX_1_4 MUX_8_GND MUX_BANK_7_8 MUX_7_BUS7
BUS_7

BANK 8
MUX_8_3 MUX_8_4

MUX_BANK_1_2 MUX_2_1 MUX_2_2 MUX_2_BUS2


BUS_2

MUX_7_1 MUX_7_2

BANK 2
MUX_2_3 MUX_2_4 MUX_2_GND MUX_7_GND MUX_BANK_6_7 MUX_6_BUS6
BUS_6

BANK 7
MUX_7_3 MUX_7_4

MUX_BANK_2_3 MUX_3_1 MUX_3_2 MUX_3_BUS3


BUS_3

MUX_6_1 MUX_6_2

BANK 3
MUX_3_3 MUX_3_4 MUX_BANK_3_4 MUX_4_1 MUX_4_2 MUX_6_GND MUX_BANK_5_6 MUX_5_BUS5
BUS4 BUS_5 BUS_10

BANK 6
MUX_6_3 MUX_6_4

MUX_4_BUS4

MUX_5_1 MUX_5_2

BANK 4
MUX_4_3 MUX_4_4 MUX_4_GND MUX_BANK_4_5 MUX_5_3 MUX_5_4 MUX_5_BUS10

BANK 5

Figure 33. MUX Simplified Diagram

ASL Series Programming Guide

203

10 - MUX - Resource Multiplexer

204

ASL Series Programming Guide

11
MVS - MEDIUM-VOLTAGE SOURCE
The Medium-Voltage Source (MVS) is a medium-voltage, medium-current floating source instrument.

ASL Series Programming Guide

205

11 - MVS - Medium-Voltage Source

Function Calls
init
Description

This is the board initialization routine, which turns off the high-voltage supply and programs the current and voltage DACs to 100 A and 0 V respectively.
Format
void init(void);

Valid Arguments

none
Usage
mvs_15->init();

set_voltage
Description

This function programs voltage limit and voltage range. The default value for vrange is autorange. Setting the hot_switch parameter to FALSE (default), the MVS will program the voltage and current DACs to zero before switching the appropriate relays for range, then a 2ms delay will occur before setting the voltage and current DACs to their specified settings. A TRUE will bypass setting the DACs to zero and the 2ms delay will be skipped. Requesting a value greater than the specified range or the maximum supported by the hardware will result in no change to the hardware and a runtime error message.
Format
void set_voltage(float value, char vrange, char hot_switch);

Valid Arguments value

206

ASL Series Programming Guide

Function Calls

voltage limit in decimal or scientific notation. vrange RANGE_10_V RANGE_20_V RANGE_50_V RANGE_100_V NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. hot_switch

TRUE FALSE (default


Usage
mvs_15->set_voltage(53.5, RANGE_100_V);

set_current
Description

This function programs the current limit and current range. The default value for irange is autorange. Setting the hot_switch parameter to FALSE (default), the MVS will program the voltage and current DACs to zero before switching the appropriate relays for range, then a 2ms delay will occur before setting the voltage and current DACs to their specified settings. A TRUE will bypass setting the DACs to zero and the 2ms delay will be skipped. Requesting a value greater than the specified range or the maximum supported by the hardware will result in no change to the hardware and a runtime error message.
Format
void set_current(float value, char irange, char hot_switch);

Valid Arguments value

current limit in decimal or scientific notation.

ASL Series Programming Guide

207

11 - MVS - Medium-Voltage Source

irange RANGE_100_UA RANGE_1_MA RANGE_10_MA RANGE_100_MA NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. hot_switch

TRUE FALSE (default


Usage
mvs_15->set_current(9.5e-3, RANGE_10_MA);

set_meas_mode
Description

This function sets the measurement mode and range, and turns on the high-voltage power stage.
Format
void set_meas_mode(unsigned short mode);

Valid Arguments mode MVS_MEASURE_VOLTAGE MVS_MEASURE_CURRENT Usage


mvs_15->set_meas_mode(MVS_MEASURE_VOLTAGE);

208

ASL Series Programming Guide

Function Calls

measure
Description

This function performs a single floating-point measurement with the on-board ADC.
Format
float measure(void);

Valid Arguments

none
Usage
result = mvs_15->measure();

measure_average
Description

This function performs the stated number of measurements and returns the average.
Format
float measure_average(unsigned short samples);

Valid Arguments samples

integer number of samples


Usage
result = mvs_15->measure_average(12);

ASL Series Programming Guide

209

11 - MVS - Medium-Voltage Source

supply_off
Description

This function turns off the high-voltage power supply. For operator safety, use this function at the end of a test function.
Format
void supply_off(void);

Valid Arguments

none
Usage
mvs_15->supply_off();

NOTE Turn the inverter off when testing is not taking place. The 130 V power rail powers up in approximately 2 ms.

close_relay open_relay
Description

These functions close and open the stated relays.


Format
void close_relay(unsigned short relay); void open_relay(unsigned short relay);

Valid Arguments relay MVS_FORCE_POS MVS_SHORT_POS_FS MVS_SENSE_POS_REF_COM MVS_SENSE_POS_OUT_COM MVS_GND_POS_SENSE

210

ASL Series Programming Guide

Function Calls

MVS_NEG_FORCE MVS_SHORT_NEG_FS MVS_SENSE_NEG_REF_COM MVS_SENSE_NEG_OUT_COM MVS_GND_NEG_SENSE MVS_SHORT_10K_FS MVS_REF_1 MVS_REF_2 MVS_OUT_1 MVS_OUT_2 MVS_OUT_3 MVS_OUT_4 MVS_OUT_5 MVS_OUT_6 MVS_OUT_7 MVS_OUT_8 Usage
mvs_15->close_relay(MVS_OUT_1); mvs_15->open_relay(MVS_OUT_1);

ASL Series Programming Guide

211

11 - MVS - Medium-Voltage Source

MVS Simplified Diagram


The figure below shows the simplified diagram of the MVS instrument.

TP8

TP7 MVS_FORCE_POS

POS_FORCE
MVS_SHORT_10K_FS MVS_OUT_1 MVS_SHORT_POS_FS 10K MVS_OUT_2 FLOATING +130V MVS_SENSE_POS_OUT_COM 100 kHz ISOLATED POWER INVERTER FLOATING +15V FLOATING COM MVS_GND_POS_SENSE FLOATING -15V MVS_SENSE_POS_REF_COM MVS_OUT_5 MVS_OUT_6 TP2 MVS_GND_NEG_SENSE MVS_SENSE_NEG_OUT_COM MVS_OUT_7 MVS_OUT_3 MVS_OUT_4

OUT 1 OUT 2 OUT 3 OUT 4 OUT 5 OUT 6 OUT 7 OUT 8

ISOLATED VOLTAGE DAC TP3

MVS_OUT_8 MVS_SENSE_NEG_REF_COM

OUT_COM REF_COM
MVS_REF_1

ISOLATED CURRENT DAC

FLOATING LOOP CONTROL

REF_1
MVS_SHORT_NEG_FS TP6 TP5 MVS_REF_2

REF_2

NEG_FORCE
MVS_NEG_FORCE TP4 (V MEAS) ** (I MEAS) ** ** CONTROLLED BY set_meas_mode VRANGE CONTROL 10 V 20 V 50 V 100 V IRANGE CONTROL 100 A 1 mA 10 mA 100 mA TP1

12 BIT A/D

DATA BUS

Figure 34. MVS SImplified Diagram

212

ASL Series Programming Guide

12
OFS - OCTAL FLOATING SOURCE
The Octal Floating Source (OFS) is a low-voltage, high-current floating source.

ASL Series Programming Guide

213

12 - OFS - Octal Floating Source

Function Calls
init
Description

This is the board initialization routine, which turns off the floating voltage supply.
Format
void init(void);

Valid Arguments

none
Usage
ofs_17->init();

set_voltage
Description

This function programs the voltage limit and range. The default value for vrange is autorange. Setting the hot_switch parameter to FALSE (default), the OFS will program the voltage and current DACs to zero before switching the appropriate relays for range, then a 2ms delay will occur before setting the voltage and current DACs to their specified settings. A TRUE will bypass setting the DACs to zero and the 2ms delay will be skipped. Requesting a value greater than the specified range or the maximum supported by the hardware will result in no change to the hardware and a runtime error message.
Format
void set_voltage(float value, char vrange, char hot_switch);

Valid Arguments value

voltage limit in decimal or scientific notation

214

ASL Series Programming Guide

Function Calls

vrange

default is autorange RANGE_5_V RANGE_10_V RANGE_20_V RANGE_50_V

NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. hot_switch

TRUE FALSE (default


Usage
ofs_17->set_voltage(33.5, RANGE_50_V);

set_current
Description

This function programs the current limit and range. The default value for irange is auto-range. Setting the hot_switch parameter to FALSE (default), the OFS will program the voltage and current DACs to zero before switching the appropriate relays for range, then a 2ms delay will occur before setting the voltage and current DACs to their specified settings. A TRUE will bypass setting the DACs to zero and the 2ms delay will be skipped. Requesting a value greater than the specified range or the maximum supported by the hardware will result in no change to the hardware and a runtime error message.
Format
void set_current(float value, char irange, char hot_switch);

Valid Arguments value

current limit in decimal or scientific notation


irange (Default is autorange)

ASL Series Programming Guide

215

12 - OFS - Octal Floating Source

RANGE_200_UA RANGE_2_MA RANGE_20_MA RANGE_200_MA


NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. hot_switch

TRUE FALSE (default


Usage
ofs_17->set_current(3.5e-3, RANGE_20_MA);

set_meas_mode
Description

This function sets the measurement mode and range and turns on the floating power. supply.
Format
void set_meas_mode(unsigned short mode);

Valid Arguments mode

OFS_MEASURE_VOLTAGE OFS_MEASURE_CURRENT
Usage
ofs_17->set_meas_mode(OFS_MEASURE_VOLTAGE);

216

ASL Series Programming Guide

Function Calls

measure
Description

This function performs a single floating-point conversion with the on-board ADC.
Format
float measure(void);

Valid Arguments

none
Usage
result = ofs_17->measure();

measure_average
Description

This function performs the stated number of measurements and returns the average.
Format
float measure_average(unsigned short samples);

Valid Arguments samples

integer number of samples


Usage
result = ofs_17->measure_average(7);

ASL Series Programming Guide

217

12 - OFS - Octal Floating Source

supply_off
Description

This function turns off the floating power supply. For user safety, use this command at the end of a test function.
Format
void supply_off(void);

Valid Arguments

none
Usage
ofs_17->supply_off();

NOTE Turn the inverter off when testing is not taking place. The 65 V power rail powers up in approximately 2 ms.

close_relay open_relay
Description

This function closes and opens the stated on-board relays.


Format
void close_relay(unsigned short relay); void open_relay(unsigned short relay);

Valid Arguments relay

OFS_FORCE_POS OFS_SHORT_POS_FS OFS_SENSE_POS_REF_COM OFS_SENSE_POS_OUT_COM OFS_GND_POS_SENSE

218

ASL Series Programming Guide

Function Calls

OFS_NEG_FORCE OFS_SHORT_NEG_FS OFS_SENSE_NEG_REF_COM OFS_SENSE_NEG_OUT_COM OFS_GND_NEG_SENSE OFS_SHORT_10K_FS OFS_REF_1 OFS_REF_2 OFS_OUT_1 OFS_OUT_2 OFS_OUT_3 OFS_OUT_4 OFS_OUT_5 OFS_OUT_6 OFS_OUT_7 OFS_OUT_8
Usage
ofs_17->close_relay(OFS_OUT_1); ofs_17->open_relay(OFS_OUT_1);

ASL Series Programming Guide

219

12 - OFS - Octal Floating Source

OFS Simplified Diagram


The figure below shows the simplified diagram of the OFS instrument.

TP8

TP7 OFS_FORCE_POS

POS_FORCE
OFS_SHORT_10K_FS OFS_OUT_1 OFS_SHORT_POS_FS 10K OFS_OUT_2 FLOATING +65V OFS_SENSE_POS_OUT_COM 100 kHz ISOLATED POWER INVERTER FLOATING +15V FLOATING COM OFS_GND_POS_SENSE FLOATING -15V OFS_SENSE_POS_REF_COM OFS_OUT_5 OFS_OUT_6 TP2 OFS_GND_NEG_SENSE OFS_SENSE_NEG_OUT_COM OFS_OUT_7 OFS_OUT_3 OFS_OUT_4

OUT 1 OUT 2 OUT 3 OUT 4 OUT 5 OUT 6 OUT 7 OUT 8

ISOLATED VOLTAGE DAC TP3

OFS_OUT_8 OFS_SENSE_NEG_REF_COM

OUT_COM REF_COM
OFS_REF_1

ISOLATED CURRENT DAC

FLOATING LOOP CONTROL

REF_1
OFS_SHORT_NEG_FS TP6 TP5 OFS_REF_2

REF_2

NEG_FORCE
OFS_NEG_FORCE TP4 (V MEAS) ** (I MEAS) ** ** CONTROLLED BY set_meas_mode VRANGE CONTROL 5V 10 V 20 V 50 V IRANGE CONTROL 200 A 2 mA 20 mA 200 mA TP1

12 BIT A/D

DATA BUS

Figure 35. OFS SImplified Diagram

220

ASL Series Programming Guide

13
OVI - OCTAL VOLTAGE/CURRENT SOURCE
The Octal Voltage/Current (OVI) source provides eight independent V/I supplies on one instrument. All supplies have 12-bit forcing and 16-bit measuring resolution. The OVI is a system-ground-referenced instrument.

ASL Series Programming Guide

221

13 - OVI - Octal Voltage/Current Source

Function Calls
init
Description

This routine initializes the board. The routine closes all channel output connect relays, sets voltage to a non-calibrated 0 V on a 10 V range, and sets current to a noncalibrated 100 A on a 200 A range.
Format
void init(void);

Valid Arguments

none
Usage
ovi_2->init();

set_voltage
Description

This function programs the voltage limit and range. The default value for vrange is autorange.
NOTE Switching between extreme ranges (1 V range to 20 V range) requires 300 s settling time. Format
void set_voltage(unsigned char channel, float value, char vrange);

Valid Arguments channel OVI_CHANNEL_0 OVI_CHANNEL_1 OVI_CHANNEL_2

222

ASL Series Programming Guide

Function Calls

OVI_CHANNEL_3 OVI_CHANNEL_4 OVI_CHANNEL_5 OVI_CHANNEL_6 OVI_CHANNEL_7 NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. value

voltage limit in decimal or scientific notation.


vrange RANGE_1_V RANGE_2_V RANGE_5_V RANGE_10_V RANGE_20_V Usage
ovi_2->set_voltage(OVI_CHANNEL_0, 4.5, RANGE_5_V);

set_current
Description

This function programs the current limit and range. The default value for irange is autorange. Switching between extreme ranges (20 A range to 20 mA range) may

cause transitional voltage swings.


CAUTION

Format
void set_current(unsigned char channel, float value, char irange);

ASL Series Programming Guide

223

13 - OVI - Octal Voltage/Current Source

Valid Arguments channel OVI_CHANNEL_0 OVI_CHANNEL_1 OVI_CHANNEL_2 OVI_CHANNEL_3 OVI_CHANNEL_4 OVI_CHANNEL_5 OVI_CHANNEL_6 OVI_CHANNEL_7 NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. value

current limit value in decimal or scientific notation


irange

RANGE (20 mA OVI) RANGE_20_UA RANGE_200_UA RANGE_2_MA RANGE_20_MA RANGE (30 mA OVI) RANGE_30_UA RANGE_300_UA RANGE_3_MA RANGE_30_MA
Usage
ovi_2->set_current (OVI_CHANNEL_0, 2.5e-3, RANGE_20_MA);

224

ASL Series Programming Guide

Function Calls

set_meas_mode
Description

This function determines the mode for subsequent measurements. set_voltage vrange sets the default range for voltage measurements. To measure current, irange is used and the set_meas_mode vrange argument is ignored.
Format
void set_meas_mode (unsigned short channel, unsigned char mode, char vrange);

Valid Arguments channel OVI_CHANNEL_0 OVI_CHANNEL_1 OVI_CHANNEL_2 OVI_CHANNEL_3 OVI_CHANNEL_4 OVI_CHANNEL_5 OVI_CHANNEL_6 OVI_CHANNEL_7 mode OVI_MEASURE_VOLTAGE OVI_MEASURE_CURRENT vrange RANGE_1_V RANGE_2_V RANGE_5_V RANGE_10_V RANGE_20_V NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange.

ASL Series Programming Guide

225

13 - OVI - Octal Voltage/Current Source

Usage
ovi_2->set_meas_mode (OVI_CHANNEL_0, OVI_MEASURE_VOLTAGE, OVI_10_V);

measure
Description

This function performs a single measurement. set_voltage vrange sets the default for voltage measurements. To measure current, the set_current irange is used, and the measure vrange argument is ignored.
Format
float measure (char vrange);

Valid Arguments vrange RANGE_1_V RANGE_2_V RANGE_5_V RANGE_10_V RANGE_20_V NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. Usage
result = ovi_2->measure();

measure_average
Description

This function performs the stated number of measurements and returns the average. set_voltage vrange sets the default for voltage measurements. To measure current, the set_current irange is used, and the measure vrange argument is ignored.

226

ASL Series Programming Guide

Function Calls

Format
float measure_average (unsigned short samples, char vrange);

Valid Arguments samples integer number of samples vrange RANGE_1_V RANGE_2_V RANGE_5_V RANGE_10_V RANGE_20_V NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. Usage
result = ovi_2->measure_average(10);

ASL Series Programming Guide

227

13 - OVI - Octal Voltage/Current Source

connect disconnect
Description

These functions closes and open the channel-force and sense-connect relays.

This may cause transitional voltage swings.

CAUTION

Format
void connect(unsigned short channel); void disconnect(unsigned short channel);

Valid Arguments channel OVI_CHANNEL_0 OVI_CHANNEL_1 OVI_CHANNEL_2 OVI_CHANNEL_3 OVI_CHANNEL_4 OVI_CHANNEL_5 OVI_CHANNEL_6 OVI_CHANNEL_7 Usage
ovi_2->connect(OVI_CHANNEL_0); ovi_2->disconnect(OVI_CHANNEL_0);

228

ASL Series Programming Guide

OVI Simplified Diagram

OVI Simplified Diagram


The figure below shows the simplified diagram of the OVI instrument.

V DAC (1 of 8)

CURRENT ** RANGING 100 10 K 10 K SUMMING & INT I CLAMP 100 I SENSE 10 K 10 K ** TP2 ** TP1

FORCE 1

SENSE 1

I DAC (1 of 8)

**

FORCE 2

SENSE 2 FORCE 3
TP3

V DAC (2 of 8) I DAC (2 of 8)

(CH1 A) (CH1 V) 100 10 K 10 K

**

**

SENSE 3 FORCE 4
TP4

V DAC (3 of 8) I DAC (3 of 8) (CH2 A) (CH3 A) (CH4 A) (CH5 A) (CH6 A) (CH7 A) (CH8 A) (CH2 V) (CH3 V) (CH4 V) (CH5 V) (CH6 V) (CH7 V) (CH8 V)

** 100 10 K 10 K **

SENSE 4 FORCE 5
TP5

V DAC (4 of 8) I DAC (4 of 8)

** 100 10 K 10 K **

V DAC (5 of 8) I DAC (5 of 8)

* CURRENT MUX

* VOLTAGE MUX
100 10 K

SENSE 5 FORCE 6
TP6

**

V DAC (6 of 8) I DAC (6 of 8)

* CONTROLLED BY set_meas_mode (OPENED BY init) GAIN

10 K

**

SENSE 6 FORCE 7
TP7

** 100 10 K 10 K **

V DAC (7 of 8) I DAC (7 of 8)

SENSE 7 FORCE 8
TP8

16-BIT A/D

DATA BUS
** 100 10 K

V DAC (8 of 8) I DAC (8 of 8)

10 K ** CONTROLLED BY connect/disconnect (CLOSED BY init)

**

SENSE 8

Figure 36. OVI Simplified Diagram

ASL Series Programming Guide

229

13 - OVI - Octal Voltage/Current Source

230

ASL Series Programming Guide

14
PVI - PULSED VOLTAGE/CURRENT SOURCE
The Pulsed Voltage/Current (PVI) instrument is available in two versions: PVI-10 and PVI-100, to generate up to 10 A and 100 A pulses, respectively. This instrument is also known as the PV3 This chapter presents programming information for the two hardware versions in separate sections, both including function calls and programming examples.

ASL Series Programming Guide

231

14 - PVI - Pulsed Voltage/Current Source

PVI 10 Function Calls


This section presents function calls and features for the PVI 10 instrument.

init
Description

This is the board initialization routine. The function opens all output connect switches, resets voltage and current DACs, and turns on the capacitor bank charger.
Format
void init(void);

Valid Arguments

none
Usage
pvi_4->init();

set_voltage
Description

This function programs the voltage limit and range. The default for vrange is autorange. Requesting a value greater than the specified range or the maximum supported by the hardware will result in no change to the hardware and a runtime error message.
Format
void set_voltage(float value, char vrange);

Valid Arguments value

voltage limit in decimal or scientific notation


vrange (Default is autorange)

232

ASL Series Programming Guide

PVI 10 Function Calls

RANGE_1_V RANGE_2_V RANGE_5_V RANGE_10_V RANGE_20_V NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. Usage
pvi_4->set_voltage(16.7, RANGE_20_V);

set_current
Description

This function programs the current limit and range, and requires a 15 ms delay. The default for irange is autorange. Requesting a value greater than the specified range or the maximum supported by the hardware will result in no change to the hardware and a runtime error message.
Format
void set_current(float value, char irange);

Valid Arguments value

current limit in decimal or scientific notation


irange

default is autorange RANGE_100_MA RANGE_300_MA RANGE_1_A RANGE_3_A RANGE_10_A

ASL Series Programming Guide

233

14 - PVI - Pulsed Voltage/Current Source

NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. Usage
pvi_4->set_current(6.5, RANGE_10_A); delay(15);

set_meas_mode
Description

This function sets the measurement mode for subsequent measurements.


Format
void set_meas_mode(unsigned short mode);

Valid Arguments mode PVI_MEASURE_VOLTAGE PVI_MEASURE_CURRENT Usage


pvi_4->set_meas_mode(PVI_MEASURE_CURRENT);

measure
Description

This function performs a single measurement.


Format
float measure(void);

234

ASL Series Programming Guide

PVI 10 Function Calls

Valid Arguments

none
Usage
result = pvi_4->measure();

measure_average
Description

This function performs the stated number of measurements and returns the average.
Format
float measure_average(unsigned short samples);

Valid Arguments samples

integer number of samples


Usage
result = pvi_4->measure_average(17);

charge_on
Description

This function allows charging of the storage cap. The function requires a 15 ms delay.
Format
void charge_on(void);

Valid Arguments

none

ASL Series Programming Guide

235

14 - PVI - Pulsed Voltage/Current Source

Usage
pvi_4->charge_on(); delay(15);

charge_off
Description

This function stops the charging of the capacitor bank and allows the supply to be used in floating mode. The function requires a 15 ms delay.
Format
void charge_off(void);

Valid Arguments

none
Usage
pvi_4->charge_off(); delay(15);

supply_off
Description

This function sets the voltage and current DACs to zero, sets both the voltage and current ranges to their lowest values, and opens all output switches.
Format
void charge_off(void);

Valid Arguments

none

236

ASL Series Programming Guide

PVI 10 Function Calls

Usage
pvi_4->supply_off();

close_switch open_switch
Description

This function closes and opens the stated on-board switches.


Format
void close_switch(unsigned short switch); void open_switch(unsigned short switch);

Valid Arguments switch PVI_HIGH_FORCE_1 PVI_HIGH_FORCE_2 PVI_HIGH_FORCE_3 PVI_HIGH_FORCE_4 PVI_HIGH_SENSE_1 PVI_HIGH_SENSE_2 PVI_HIGH_SENSE_3 PVI_HIGH_SENSE_4 PVI_LOW_FORCE_2 PVI_LOW_FORCE_3 PVI_LOW_FORCE_4 PVI_LOW_FORCE_5 PVI_LOW_SENSE_2 PVI_LOW_SENSE_3 PVI_LOW_SENSE_4 PVI_LOW_SENSE_5 Usage
pvi_4->close_switch(PVI_HIGH_FORCE_1); pvi_4->open_switch(PVI_LOW_SENSE_5)

ASL Series Programming Guide

237

14 - PVI - Pulsed Voltage/Current Source

PVI 10 Formula Example


The following example shows how to calculate the duration of a specified amount of current using the PVI 10. The calculation is based on the following formula: i = C*(V/T) where i is the user current, C is the PVI capacitor value, V is the difference between the initial capacitor voltage and the users voltage, and T is the duration of the users current pulse. Transposing the i and T elements, the formula becomes:
T = C*(V/i)

Inserting the PVI and user values, the formula becomes: T = 3.3 mF*((Cap Initial V - (user V + 5 V))/user I) The extra 5 V is required for PVI circuitry usage. The sample calculation below illustrates the formula. In the example, 30 V is required at 1.3 A. To figure out how long 1.3 A will be available at the required voltage, plug in the numbers as shown:
T = 3.3 mF*((50 V - (30 V + 5 V)) / 1.3 A) T = 3.3e-3 F*((50 V - 35 V) / 1.3 A) T = 3.3e-3 F*(15 V / 1.3 A) T = 3.3e-3*(11.54)

T = 38.1 ms The answer of 38.1 ms means that 1.3 A will be available for 38.1 ms at a constant voltage of 30 V.

238

ASL Series Programming Guide

PVI 10 Formula Example

TP14 PVI_HIGH_SENSE_1 PVI_HIGH_FORCE_1 HIGH_SENSE HIGH_FORCE PVI_HIGH_SENSE_2 PVI_HIGH_FORCE_2

SENSE 1 FORCE 1
TP9

TP11

PVI_HIGH_SENSE_3 PVI_HIGH_FORCE_3 TP7

PVI_HIGH_SENSE_4 TP12 TP3 PVI_HIGH_FORCE_4 TP10

TP5

LOW_SENSE LOW_FORCE

LOW SENSE LOW FORCE

ISOLATED VOLTAGE DAC


TP4 PVI_LOW_SENSE_2

SENSE 2 FORCE 2 SENSE 3 FORCE 3 SENSE 4 FORCE 4

ISOLATED CURRENT DAC

SUPPLY CONTROL
(3.5mF Nominal) +

PVI_LOW_FORCE_2 PVI_LOW_SENSE_3

100mA CHARGER

PVI_LOW_FORCE_3 PVI_LOW_SENSE_4 PVI_LOW_FORCE_4

VRANGE CONTROL 1V 2V 5V 10V 20V

* * CONTROLLED BY charge_on/charge_off (CLOSED BY init)

SENSE 5
PVI_LOW_SENSE_5

FORCE 5
PVI_LOW_FORCE_5 TP8

TP1

IRANGE CONTROL 100mA 300mA 1A 3A 10A

ALL OUTPUT SWITCHES OPENED BY init (CV MEAS) ** (I MEAS) ** ** CONTROLLED BY set_meas_mode (OPENED BY init) TP2 ** (V MEAS)

12 BIT A/D

DATA BUS

PVI 10 Card Simplified Diagram


051299

Figure 37. PVI-10 Block Diagram

ASL Series Programming Guide

239

14 - PVI - Pulsed Voltage/Current Source

PVI 100 Function Calls


This section presents function calls and features for the PVI 100 instrument.

init
Description

This is the board initialization routine. The function opens all force and sense switches, resets voltage and current DACs, and initiates capacitor bank charging.
Format
void init(void);

Valid Arguments

none
Usage
pv3_4->init();

set_voltage
Description

This function programs the voltage limit and range. The default for vrange is autorange. Requesting a value greater than the specified range or the maximum supported by the hardware will result in no change to the hardware and a runtime error message.
Format
void set_voltage(float voltage_value, char vrange);

Valid Arguments voltage_value

voltage limit in decimal or scientific notation


vrange

default is autorange

240

ASL Series Programming Guide

PVI 100 Function Calls

RANGE_1_V RANGE_3_V RANGE_10_V RANGE_30_V RANGE_100_V NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. Usage
pv3_4->set_voltage(5.0, RANGE_10_V);

set_current
Description

This function programs the current limit and range. The default for irange is autorange. Requesting a value greater than the specified range or the maximum supported by the hardware will result in no change to the hardware and a runtime error message.
Format
void set_current(float current_value, char irange);

Valid Arguments current_value

current limit in decimal or scientific notation


irange

default is autorange RANGE_100_MA RANGE_300_MA RANGE_1_A RANGE_3_A RANGE_10_A RANGE_30_A RANGE_100_A

ASL Series Programming Guide

241

14 - PVI - Pulsed Voltage/Current Source

NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. Usage
pv3_4->set_current(6.0, RANGE_10_A);

set_meas_mode
Description

This function sets the measurement mode for subsequent measurements.


Format
void set_meas_mode(unsigned short mode);

Valid Arguments mode PV3_MEASURE_VOLTAGE PV3_MEASURE_CURRENT PV3_CHARGE_S PV3_MEASURE_TEMP Usage


pv3_4->set_meas_mode(PV3_MEASURE_CURRENT);

measure
Description

This function performs a single measurement.


Format
float measure(void);

242

ASL Series Programming Guide

PVI 100 Function Calls

Valid Arguments

none
Usage
result = pv3_4->measure();

measure_average
Description

This function performs the stated number of measurements and returns the average.
Format
float measure_average(unsigned short samples);

Valid Arguments samples integer number of samples Usage


result = pv3_4->measure_average(10);

charge_on
Description

This function monitors the temperature of the PVIs output driver and initiates capacitor bank charging if the temperature is below a set limit. If the temperature is above the limit, charging is delayed and the driver temperature is displayed on screen.
Format
void charge_on(void);

ASL Series Programming Guide

243

14 - PVI - Pulsed Voltage/Current Source

Valid Arguments

none
Usage
pv3_4->charge_on();

charge_off
Description

This function stops the charging of the capacitor bank and allows the PVI to be used in floating mode.
Format
void charge_off(void);

Valid Arguments

none
Usage
pv3_4->charge_off();

close_switch open_switch
Description

This function closes and opens the stated force and sense switches.
Format
void close_switch(unsigned short switch); void open_switch(unsigned short switch);

Valid Arguments switch

244

ASL Series Programming Guide

PVI 100 Function Calls

PV3_HIGH_FORCE_1 PV3_HIGH_FORCE_2 PV3_HIGH_FORCE_3 PV3_HIGH_FORCE_4 PV3_HIGH_FORCE_5 PV3_HIGH_SENSE_1 PV3_HIGH_SENSE_2 PV3_HIGH_SENSE_3 PV3_HIGH_SENSE_4 PV3_HIGH_SENSE_5 PV3_LOW_FORCE_1 PV3_LOW_FORCE_2 PV3_LOW_FORCE_3 PV3_LOW_FORCE_4 PV3_LOW_FORCE_5 PV3_LOW_SENSE_1 PV3_LOW_SENSE_2 PV3_LOW_SENSE_3 PV3_LOW_SENSE_4 PV3_LOW_SENSE_5 Usage
pv3_4->close_switch(PV3_HIGH_FORCE_1); pv3_4->open_switch(PV3_LOW_SENSE_5)

volt_meas_range
Description

This function allows the voltage measurement range to be set independently of the forcing range. To be effective, this function must be programmed after set_voltage. The function should not be used with forcing voltages greater than 10 V.
Format
void volt_meas_range(char meas_range);

Valid Arguments meas_range

ASL Series Programming Guide

245

14 - PVI - Pulsed Voltage/Current Source

RANGE_1_V RANGE_3_V NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. Usage
pv3_4->volt_meas_range(RANGE_1_V);

slow_comp normal_comp fast_comp


Description

These functions change the compensation of the control loop. slow_comp can be used for loads that might not be stable at the faster settings. fast_comp can be used to maintain settling times for loads that effectively attenuate the control loops bandwidth. The board initialization routine (init) sets the control loop to normal_comp.
Format
void slow_comp(void); void normal_comp(void);

void fast_comp(void);
Valid Arguments

none
Usage
pv3_4->slow_comp(); pv3_4->normal_comp(); pv3_4->fast_comp();

246

ASL Series Programming Guide

PVI 100 Function Calls

current_fast current_normal
Description

These functions set the gain in the current section of the control loop. current_fast can be used to increase control loop bandwidth to maintain settling times, as well as to achieve faster slew rates for large voltage swings. The board initialization routine (init) sets the function to current_normal.
Format
void current_fast(void); void current_normal(void);

Valid Arguments

none
Usage
pv3_4->current_fast(); pv3_4->current_normal();

voltage_fast voltage_normal
Description

These functions set the gain in the voltage section of the control loop. voltage_fast can be used to maintain the slew rate when the forcing voltage is set to 2 V or less and the PVI is driving very low impedance loads in the current compliant mode. The board initialization routine (init) sets the function to voltage_normal.
Format
void voltage_fast(void); void voltage_normal(void);

Valid Arguments

none

ASL Series Programming Guide

247

14 - PVI - Pulsed Voltage/Current Source

Usage
pv3_4->voltage_fast(); pv3_4->voltage_normal();

kelvin_on kelvin_off
Description

These functions allow the PVI to do limited kelvin-contact testing without using another VI instrument. The board initialization routine (init) sets the function to kelvin_off.
Format
void kelvin_on(void); void kelvin_off(void);

Valid Arguments

none
Usage
pv3_4->kelvin_on(); pv3_4->kelvin_off();

drive_on drive_off
Description

These functions control the period of time that the PVI drives the load. drive_on initiates the drive; drive_off terminates it. With the PVI 100, the functions set_voltage and set_current can no longer be used to initiate the drive. However, set_voltage and set_current can be used to change the drive parameters after the drive has been initiated with drive_on. The drive period is limited to 300 s on the 100 A current range.
Format
void drive_on(void);

248

ASL Series Programming Guide

PVI 100 Function Calls

void drive_off(void);

Valid Arguments

none
Usage
pv3_4->drive_on(); pv3_4->drive_off();

drive_meas_off
Description

This function initiates a drive, waits for the programmed number of delay periods to pass, makes a single measurement, and then terminates the drive. Each delay period is 10 s long. The drive period is limited to 300 s on the 100 A current range.
Format
void drive_meas_off(unsigned short meas_delay);

Valid Arguments meas_delay

integer number of 10 s-measure-delay periods to wait


Usage
pv3_4->drive_meas_off(20);

ASL Series Programming Guide

249

14 - PVI - Pulsed Voltage/Current Source

PVI-100 Test Points


The test points shown below are available on the visible edge of the installed PVI instrument.
Table 12. PVI Test Points TP Name Description

TP1 TP2 TP3 TP4 TP5 TP6 TP7 TP8 TP9 TP10 TP11

GND IDAC VDAC ADC VM IM - SENSE +SENSE MT PT ISN

System ground return - ground the oscilloscope here when monitoring other test points. Output of the current-setting DAC. The voltage at this test pointvaries from 0 V to 7.5 V for a zero-to-full-scale setting. Output of the voltage-setting DAC. The voltage at this test point varies from 0 V to 9 V for a zero-to-full-scale setting. Multiplexed input to the ADC. The voltage at this test point varies from 0 V to 7.5 V for a zero-to-full-scale measurement. Voltage measurement signal before the ADC multiplexer. Current measurement signal before the ADC multiplexer. Multiplexed negative voltage sense input - use this point and TP8 to monitor voltage across the load if a differential probe is available. Multiplexed positive voltage sense input. Indicates when the ADC is strobed to initiate a measurement. MT is a positive true logic signal. Indicates when PVI is driving the load. Starts at drive_on command, and ends on drive_off. PT is a positive true logic signal. Output of the current sense amplifier. The voltage at this point varies from 0 V to 7.5 V with respect to TP17 (FGND) for a zero-to-full-scale current. A differential probe is required to monitor this point. Output of the first set of FORCE switches Output of the second set of FORCE switches. Output of the third set of FORCE switches Output of the fourth set of FORCE switches. Output of the fifth set of FORCE switches. PVI floating ground. This point is supplies a reference for TP11 (ISN). Use only when a differential probe is available.

TP12 TP13 TP14 TP15 TP16 TP17

1F 2F 3F 4F 5F FGND

250

ASL Series Programming Guide

PVI-100 Test Points

Do not connect test points TP7, TP8, or TP17 to the oscilloscope or other grounds. Use only a differential probe at these test points.
CAUTION

ASL Series Programming Guide

251

14 - PVI - Pulsed Voltage/Current Source

PVI 100 Simplified Diagram


The figure below shows the simplified diagram of the PVI instrument.

SYSTEM GROUND-REFERENCED CIRCUITRY

FLOATING GROUND-REFERENCED CIRCUITRY 0.5 A CURRENT LIMITER 7000 F CAPACITOR BANK FORCE SWITCHES SENSE SWITCHES

+65 V

+ +

LATCHES SYSTEM WITH BUS OPTICALLY COUPLED SWITCH, RANGE, AND COMPENSATION CONTROLS

DRIVE ON/OFF

LOAD

DAC I SET 16 BITS IN OUT

+ + V DRIVE RANGE V SET CONTROL AND DRIVE

DAC 16 BITS IN OUT

+ -

CHARGE MEAS

OUT

IN

CURRENT SENSE RESISTORS

ADC 15 BITS I MEAS I SENSE OUT IN + DIFF -

TEMP MEAS

DRIVER TEMP SENSOR

V MEAS

OUT

IN V SENSE V MEAS RANGE

+ DIFF -

Figure 38. PVI 100 Simplified Instrument

252

ASL Series Programming Guide

15
TIA - TIME INTERVAL ANALYZER
The Time Interval Analyzer (TIA) allows for real-time measurements of bit patterns and dynamic measurements of clock signals. This instrument acquires its measurements continuously into on-board memoryit can be viewed as a timing acquisition instrument that compares to traditional time measurement instruments in the same way that digitizers compare to voltmeters. Physically, the TIA instrument is installed in the CPU case. Specific Guide Tech low-level functions may be called directly from the user test program as required. For formats, valid arguments and usage, see Guide Technologys GT650 Series Time Interval Analyzers - Operating Guide in your visualATE documentation package.

ASL Series Programming Guide

253

15 - TIA - Time Interval Analyzer

Function Calls
init
Description

This function loads the TIA calibration file. If the pass parameter full_cal is set TRUE, a new cal file will be generated, loaded, and saved. If full_cal is set to FALSE, the previously generated cal file will be loaded. Loading takes approximately 1 second. The user should call at program load time.
Format
void init(char full_cal);

Valid Arguments full_cal

TRUE FALSE (Default)


Usage
tia_card->init();

arm
Description

This function sets the TIA arm mode.


Format
short arm(short source, short polarity);

Valid Arguments source TIA_INTERNAL_ARM TIA_EXTERNAL_ARM

254

ASL Series Programming Guide

Function Calls

TIA_SW_ARM TIA_ARM_OFF polarity TIA_POSITIVE_POLARITY TIA_NEGATIVE_POLARITY Returned Value 0 = error Usage


tia_card->arm(TIA_INTERNAL_ARM,TIA_NEGATIVE_POLARITY);

do_general_setup
Description

This function initializes the TIA setup using setup variables. The user should call before using the TIA. If force_setup is true, initialization will be done on both channels even if previously setup
Format
short do_general_setup(char force_setup);

Valid Arguments force_setup

TRUE FALSE (Default value)


Returned Value

0 = error
Usage
tia_card->do_general_setup(TRUE);or, tia_card->do_general_setup();

ASL Series Programming Guide

255

15 - TIA - Time Interval Analyzer

measure
Description

This function begins the measurement. The action depends on the arming mode:
Internal arm begins measuring immediately External arm begins measuring on external arm signal Software arm begins measuring on software arm signal

Format
short measure(void);

Valid Arguments

none
Returned Argument

0= error
Usage
tia_card->measure();

measure_freq
Description

This function measures the frequency on the selected channel. The number of measurements averaged is one less than the number of time measurement (time tags) set in the set_measure command. For example, setting three time tags gives two measurements averaged. The minimum setting is two time tags; this setting gives a single frequency measurement. If an error is detected, a frequency of 0 is returned (for example, if there are no samples, or no samples within the specified maximum and minimum limits).
Format
short measure_freq(double& freq);

256

ASL Series Programming Guide

Function Calls

Valid Arguments freq

Averaged measured frequency is returned in the freq variable


Returned Argument

0 = error
Usage
tia_card->measure_freq();

measure_skew
Description

This high-level function measures skew between the Channel A and Channel B time tags. The number of measurements averaged is equal to the number of time measurements (time tags) set in the set_measure command. The minimum number of time tags that can be set in set_measure is one. This single time tag gives a single skew measurement.
Format
short measure_skew(double& skew);

Valid Arguments skew

Averaged measured skew is returned in the skew variable


Returned Argument

0 = error
Usage
tia_card->measure_skew();

ASL Series Programming Guide

257

15 - TIA - Time Interval Analyzer

read_single_pulse
Description

This function calculates and returns width of first pulse from previously gathered data.
Format
double read_single_pulse(void);

Valid Arguments

none
Returned Argument

measured pulse width


Usage
pulse_width = tia_card->read_single_pulse();

set_measure
Description

This function sets the number of time measurements (time tags) to be taken for each channel. The function allocates memory based on the number of time measurements set.
Format
short set_measure(unsigned long channel_a_count, unsigned long channel_b_count);

Valid arguments channel_a_count

Channel A measurement count


channel_b_count

Channel B measurement count

258

ASL Series Programming Guide

Function Calls

Returned Argument

0 = error
Usage
tia_card->set_measure(CHANNEL_A_COUNT,CHANNEL_B_COUNT);

set_sampling_mux
Description

This function provides a user-controlled setup of the TIA sampling mux. It is not needed if setup_frequency, setup_skew or setup_single_pulse are used; these routines automatically set the sampling mux.
Format
short set_sampling_mux(short source, short mux_chan);

Valid Arguments source TIA_CHANNEL_A TIA_CHANNEL_B mux_chan TIA_CHANNEL_SAMP_MUX_A_POS_EDGE TIA_CHANNEL_SAMP_MUX_B_POS_EDGE TIA_CHANNEL_SAMP_MUX_A_NEG_EDGE TIA_CHANNEL_SAMP_MUX_B_NEG_EDGE TIA_CHANNEL_SAMP_MUX_DIV_2 TIA_CHANNEL_SAMP_MUX_DIV_4 TIA_CHANNEL_SAMP_MUX_DIV_16 TIA_CHANNEL_SAMP_MUX_DIV_32 TIA_CHANNEL_SAMP_MUX_DIV_64 TIA_CHANNEL_SAMP_MUX_DIV_256 Returned Argument

0 = error

ASL Series Programming Guide

259

15 - TIA - Time Interval Analyzer

Usage
tia_card->set_sampling(TIA_CHANNEL_A,TIA_CHANNEL_SAMP_MUX_DIV_2);

set_threshold
Description

This function sets the voltage thresholds for TIA measurements.


Format
short set_threshold(char channel,double value);

Valid Arguments channel TIA_CHANNEL_A TIA_CHANNEL_B value

voltage to be set (in volts)


Returned Argument

0 = error
Usage
tia_card->set_threshold(CHANNEL_A); tia_card->set_threshold(CHANNEL_B);

set_timeout
Description

This function sets the timeout limit for measuring samples.


Format
short set_timeout(double timeout);

260

ASL Series Programming Guide

Function Calls

Valid Arguments timeout

time in seconds
Returned Argument

0 = error
Usage
tia_card->set_timeout(10);

setup_frequency
Description

This function sets the TIA sampling mux for single-channel frequency measurements. It also sets TIA divider according to max_freq. If max_freq goes above 3.5 MHz, the TIA divider is set to divide by 2, 4, 16, 32, 64, or 256 as required to bring the measured frequency below 3.5 MHz. trigger_edge has no meaning when the divider is enabled.
Format
short setup_frequency(char channel,double max_freq, char trigger_edge = -1);

Valid Arguments channel TIA_CHANNEL_A TIA_CHANNEL_B max_freq

Maximum frequency to be measured


trigger_edge TIA_POSITIVE_POLARITY TIA_NEGATIVE_POLARITY

ASL Series Programming Guide

261

15 - TIA - Time Interval Analyzer

Returned Argument

-1 = error
Usage
tia_card->setup_frequency(TIA_CHANNEL_A,10.0, TIA_POSITIVE_POLARITY); tia_card->setup_frequency(TIA_CHANNEL_B,5.0, TIA_NEGATIVE_POLARITY);

setup_single_pulse
Description

This function sets up the TIA sampling mux, arm mode, and set_measure for single pulse width measurement of the specified input channel. The polarity argument refers to the leading edge of the input pulse.
Format
short setup_single_pulse(char channel,char polarity);

Valid Arguments channel TIA_CHANNEL_A TIA_CHANNEL_B polarity TIA_POSITIVE_POLARITY TIA_NEGATIVE_POLARITY Returned Argument

0 = error
Usage
tia_card->setup_single_pulse(TIA_CHANNEL_A,TIA_POSITIVE_POLARITY); tia_card->setup_single_pulse(TIA_CHANNEL_B,TIA_NEGATIVE_POLARITY);

262

ASL Series Programming Guide

Function Calls

setup_skew
Description

This function sets up the TIA sampling mux for skew measurement. Input Channel A is measured with respect to Input Channel B.
Format
short setup_skew(char trigger_edge_a,char trigger_edge_b);

Valid Arguments trigger_edge TIA_POSITIVE_POLARITY TIA_NEGATIVE_POLARITY Returned Argument

0 = error
Usage
freq_sd = tia_card->setup_skew(TIA_POSITIVE_POLARITY,TIA_NEGATIVE_POLARITY);

std_dev_freq
Description

This function calculates the standard deviation of frequency data from a previous measurement.
Format
double std_dev_freq(char channel, unsigned longlen=0);

Valid Arguments channel TIA_CHANNEL_A TIA_CHANNEL_B

ASL Series Programming Guide

263

15 - TIA - Time Interval Analyzer

longlen

Optional, length of data


Returned Argument

Calculated standard deviation


Usage
time_sd = tia_card->std_dev_freq(TIA_CHANNEL_A);

std_dev_time
Description

This function calculates the standard deviation of time or skew data from a previous measurement. Use TIA_CHANNEL_A for skew measurement data.
Format
double std_dev_time(char channel, unsigned longlen=0);

Valid Arguments channel TIA_CHANNEL_A TIA_CHANNEL_B longlen

Optional, length of data


Returned Argument

Calculated standard deviation


Usage
tia_card->std_dev_time(TIA_CHANNEL_A);

264

ASL Series Programming Guide

Function Calls

average
Description

This function returns averaged time data for the selected channel.
Format
double average(char channel, unsigned longlen=0);

Valid Arguments channel TIA_CHANNEL_A TIA_CHANNEL_B longlen

Optional, length of data


Returned Argument

Measured frequency (averaged)


Usage
avg_time = tia_card->doubleaverage(TIA_CHANNEL_A);

average_skew
Description

This function returns the average of measured skew data.


Format
short average_skew(double& average_skew, unsigned longlen);

Valid Arguments skew

Averaged measured skew is returned in the skew variable

ASL Series Programming Guide

265

15 - TIA - Time Interval Analyzer

longlen

Optional, length of data


Returned Argument

0 = error
Usage
tia_card->average_skew(average_skew,len);

convert_samples
Description

This function converts time tags to time data. If the max_limit_active or min_limit_active global variables are set TRUE, then time data outside of the max_val and/or min_val limits is discarded. In this case, the global variables a_count and/or b_count are updated with the new number of valid data samples. The global variable conversion_done[channel] is set TRUE if the conversion is successfully completed.
Format
void convert_samples(char channel);

Valid Arguments channel TIA_CHANNEL_A TIA_CHANNEL_B Usage


tia_card->convert_sample(CHANNEL_A);

266

ASL Series Programming Guide

Function Calls

convert_freq_samples
Description

This function converts time tags to frequency data. If the global variables max_limit_active or min_limit_active are set TRUE, then frequency data outside of the max_val and/or min_val limits is discarded. In this case, the global variables a_count and/or b_count are updated with the new number of valid frequency samples. The global variable conversion_done[channel] is set TRUE if the conversion is successful.
Format
void convert_freq_samples(char channel);

Valid Arguments channel TIA_CHANNEL_A TIA_CHANNEL_B Usage


tia_card->convert_frequency(TIA_CHANNEL_A);

convert_skew_samples
Description

This function converts time tags to skew data. If the global values max_limit_active or min_limit_active are set TRUE, then skew data outside of the max_val and/or min_val limits is discarded. In this case, the global variables a_count and/or b_count are updated with the new number of valid skew samples. The global variable conversion_done[channel] is set TRUE if the conversion is successful.
Format
short convert_skew_samples();

Valid Arguments

none

ASL Series Programming Guide

267

15 - TIA - Time Interval Analyzer

Returned Argument

0 = error
Usage
tia_card->convert_skew_sample();

frequency
Description

This function calculates the average frequency using the time measurements from one channel. convert_samples (see previous page) must be run before this routine.
Format
double frequency(char channel);

Valid Arguments channel TIA_CHANNEL_A TIA_CHANNEL_B Returned Argument

measured frequency (averaged)


Usage
freq = tia_card->convert_frequency(TIA_CHANNEL_A);

read_data
Description

This function reads raw time tag data from the TIA into memory.
Format
short read_data();

268

ASL Series Programming Guide

Function Calls

Valid Arguments

none
Returned Argument

0 = error
Usage
tia_card->read_data();

read_skew
Description

This routine calculates the average skew from previously collected data.
Format
short read_skew(double& skew, unsigned long len);

Valid Arguments skew

Averaged measured skew is returned in the skew variable


len

Optional, length of data


Returned Argument

0 = error
Usage
tia_card->read_skew();

ASL Series Programming Guide

269

15 - TIA - Time Interval Analyzer

Setup Variables
done_setup
Description

This routine sets a flag indicating that the setup had been done.
Format
char tia_card->m_setup[char channel].done_setup;

Valid Arguments channel TIA_CHANNEL_A TIA_CHANNEL_B Return Values

TRUE FALSE (default)


Usage
flag = tia_card->m_setup[TIA_CHANNEL_A].done_setup;

channel_enabled
Description

This routine sets a flag to enable the channel. Use the do_general_setup routine to execute enable.
Format
char tia_card->m_setup[char channel].channel_enabled;

270

ASL Series Programming Guide

Setup Variables

Valid Arguments channel TIA_CHANNEL_A TIA_CHANNEL_B Return Values

TRUE FALSE (default)


Usage
flag = tia_card->m_setup[TIA_CHANNEL_A].channel_enabled;

clock_source
Description

This routine sets a flag to select the clock source. Use the do_general_setup routine to execute the selection.
Format
char tia_card->m_setup[char channel].clock_source;

Return Values

TRUE FALSE (default)


Valid Arguments channel TIA_CHANNEL_A TIA_CHANNEL_B Usage
flag = tia_card-m_>setup[TIA_CHANNEL_A].clock_source;

ASL Series Programming Guide

271

15 - TIA - Time Interval Analyzer

impedance
Description

This routine sets a flag to select channel impedance. Use the do_general_setup routine to execute the selection.
Format
char tia_card->m_setup[char channel].impedance;

Values TIA_50_IMPEDANCE (default) TIA_1MEG_IMPEDANCE Valid Arguments channel TIA_CHANNEL_A TIA_CHANNEL_B Return Values

TRUE FALSE (default)


Usage
flag = tia_card->m_setup[TIA_CHANNEL_A].TIA_50_IMPEDANCE;

coupling
Description

This routine sets a flag to select channel coupling. Use the do_general_setup routine to execute the selection.
Format

char tia_card->m_setup[char channel].coupling;

272

ASL Series Programming Guide

Setup Variables

Values TIA_AC_COUPLING (default) TIA_DC_COUPLING Valid Arguments channel TIA_CHANNEL_A TIA_CHANNEL_B Return Values

TRUE FALSE (default)


Usage
flag = tia_card->m_setup[TIA_CHANNEL_A].TIA_AC_COUPLING;

threshold_volts_percent
Description

This routine sets a flag to select channel threshold mode. Use the do_general_setup routine to execute the selection.
Format
char tia_card->m_setup[char channel].threshold_volts_percent;

Values TIA_THRESHOLD_VOLTS (default) TIA_THRESHOLD_PERCENT

Valid Arguments channel TIA_CHANNEL_A

ASL Series Programming Guide

273

15 - TIA - Time Interval Analyzer

TIA_CHANNEL_B Return Values

TRUE FALSE (default)


Usage
flag = tia_card->m_setup[TIA_CHANNEL_A].TIA_THRESHOLD_VOLTS;

Global Variables
a_count b_count
Description

These are system variables that report the number of samples taken for each channel.
Format
unsigned long a_count,b_count;

Valid Argument count

number of samples available for Channel A and for Channel B


Usage
tia_card->a_count,b_count;

274

ASL Series Programming Guide

Setup Variables

chan_a_result chan_b_result
Description

This routine consists of system variables that point to the memory location of the samples taken for each channel.
Format
double *chan_a_result,*chan_b_result;

Valid Argument chan_result

pointer to samples available for Channel A and for Channel B


Usage
tia_card->chan_a_result;

conversion_done[channel]
Description

This system array indicates that time tag to real-time conversion has been completed successfully (without error).
Format
char conversion_done[channel];

Valid Arguments channel TIA_CHANNEL_A TIA_CHANNEL_B Return Values

TRUE

ASL Series Programming Guide

275

15 - TIA - Time Interval Analyzer

FALSE
Usage
flag = tia_card->conversion_done[TIA_CHANNEL_A];

max_limit_active min_limit_active
Description

This is a user-set flag to activate the maximum/minimim limit feature. Samples outside of the maximum or minimum limits are ignored if this flag is set.
Format
char max_limit_active; char min_limit_active;

Return Values

TRUE FALSE
Usage
flag = tia_card->min_limit_active;

max_val min_val
Description

This is a user-set limit for the maximum or minimum values. Samples are compared against these values with the max/min limit feature.
Format
double max_val; double min_val;

276

ASL Series Programming Guide

Setup Variables

Return Value

User-set to desired limit value


Usage
tia_card->doublemax_val;

ASL Series Programming Guide

277

15 - TIA - Time Interval Analyzer

TIA Calibration and Programming


Board Definition
//Init board pointers Dvi *dvi_9; Tia *tia_card; void board_def(void) { dvi_9 = &dvi_cards[board_ptr[BOARD_9]]; tia_card = (tia*) get_PC_Board(TIA_BOARD_NAME,1); }

TIA Cal File Loading


void freq_user_init(test_function& func) { freq_params *ours; ours = (freq_params *)func.params; // !!!! User initialization code below this comment (do not remov //comment) tia_card->init(); //load TIA cal file on program load, takes //approx. 1 sec.

// !!!! User initialization code above this comment (do not remove // comment) }

Frequency Measurement
/******************************************** Setup TIA *********************************************/ // tia_card->display_errors = FALSE;//no error boxes from tia function tia_card->display_errors = TRUE;//error boxes from tia function tia_card->m_setup[TIA_CHANNEL_A].channel_enabled= TRUE; tia_card->m_setup[TIA_CHANNEL_A].clock_source= TIA_INTERNAL_CLOCK; tia_card->m_setup[TIA_CHANNEL_A].impedance= TIA_50_IMPEDANCE; tia_card->m_setup[TIA_CHANNEL_A].coupling= TIA_DC_COUPLING; tia_card->m_setup[TIA_CHANNEL_A].threshold_volts_percent = TIA_THRESHOLD_VOLTS;

278

ASL Series Programming Guide

TIA Calibration and Programming

if(!tia_card->do_general_setup()) box.error(TIA general_setup error); tia_card->m_setup[TIA_CHANNEL_A].done_setup= TRUE; if(!tia_card->set_threshold(TIA_CHANNEL_A,ours->tia_thrsh)) box.error(TIA set_threshold);

/******************************************** Measure Set Up *********************************************/ //setup measurement mode //set TIA timeout tia_card->set_timeout(ours->timeout); // TIA timeout //set number of time samples to be taken if(!tia_card->set_measure(ours->tia_a_sampls,0)) box.error(TIA set_measure error); //set arm mode if(!tia_card->arm(TIA_INTERNAL_ARM,TIA_POSITIVE_POLARITY)) box.error(TIA arm error); /******************************************** Measure Channel A Frequency *********************************************/ //setup //set TIA sampling mux divider for maximum frequency tia_card->setup_frequency(TIA_CHANNEL_A,ours->max_freq_1); //set min/max measurement limits if (ours->max_lim_flg) tia_card->max_limit_active = TRUE; else tia_card->max_limit_active = FALSE; if (ours->min_lim_flg) tia_card->min_limit_active = TRUE; else tia_card->min_limit_active = FALSE; tia_card->max_val = ours->max_limit; tia_card->min_val = ours->min_limit; //measure tia_card->measure_freq(mfreq); //check for timeout if(!tia_card->read_options.timeout)

ASL Series Programming Guide

279

15 - TIA - Time Interval Analyzer

{ //check standard deviation of freq measurements std_dev = tia_card->std_dev_freq(TIA_CHANNEL_A); //check number of freq samples (one less than the number of time samples taken) good_smpl_cnt = tia_card->a_count; } else { //timeout occurred std_dev = (double)0.0; good_smpl_cnt = 0; }

Skew Measurement
/******************************************** Setup TIA *********************************************/ // tia_card->display_errors = FALSE;//no error boxes from tia //function tia_card->display_errors = TRUE;//error boxes from tia function tia_card->m_setup[TIA_CHANNEL_A].channel_enabled= TRUE; tia_card->m_setup[TIA_CHANNEL_A].clock_source= TIA_INTERNAL_CLOCK; tia_card->m_setup[TIA_CHANNEL_A].impedance= TIA_1MEG_IMPEDANCE; tia_card->m_setup[TIA_CHANNEL_A].coupling= TIA_DC_COUPLING; tia_card->m_setup[TIA_CHANNEL_A].threshold_volts_percent = TIA_THRESHOLD_VOLTS; tia_card->m_setup[TIA_CHANNEL_B].channel_enabled= TRUE; tia_card->m_setup[TIA_CHANNEL_B].clock_source= TIA_INTERNAL_CLOCK; tia_card->m_setup[TIA_CHANNEL_B].impedance= TIA_1MEG_IMPEDANCE; tia_card->m_setup[TIA_CHANNEL_B].coupling= TIA_DC_COUPLING; tia_card->m_setup[TIA_CHANNEL_B].threshold_volts_percent = TIA_THRESHOLD_VOLTS; tia_card->set_timeout(10e-3);// TIA times out after 10 ms if(!tia_card->do_general_m_setup()) box.error(TIA general_m_setup error); tia_card->setup[TIA_CHANNEL_A].done_setup= TRUE; tia_card->setup[TIA_CHANNEL_B].done_setup= TRUE;

/******************************************** Measure set up *********************************************/

280

ASL Series Programming Guide

TIA Calibration and Programming

//setup measurement mode //set number of time samples to be taken if(!tia_card->set_measure(ours->tia_sampls,ours->tia_sampls)) box.error(TIA set_measure error); //set arm mode //external arm required for > 3.5 MHz edge rates if (ours->ext_arm_flg) { if(!tia_card->arm(TIA_EXTERNAL_ARM,TIA_POSITIVE_POLARITY)) box.error(TIA arm error); } else { if(!tia_card->arm(TIA_INTERNAL_ARM,TIA_POSITIVE_POLARITY)) box.error(TIA arm error); } /******************************************** Measure Chan A vs Chan B skew *********************************************/ //setup //set up TIA sampling mux for positive edge skew tia_card->setup_skew

(TIA_CHANNEL_SAMP_MUX_A_POS_EDGE,TIA_CHANNEL_SAMP_MUX_B_POS_EDGE);
//setup thresholds if(!tia_card->set_threshold(TIA_CHANNEL_A,ours->tia_thrsh_a)) box.error(TIA set_threshold); if(!tia_card->set_threshold(TIA_CHANNEL_B,ours->tia_thrsh_b)) box.error(TIA set_threshold); //set max/min skew limits (max limit required for > 3.5MHz edge //rates) if (ours->max_lim_flg) tia_card->max_limit_active = TRUE; else tia_card->max_limit_active = FALSE; if (ours->min_lim_flg) tia_card->min_limit_active = TRUE; else tia_card->min_limit_active = FALSE; tia_card->max_val = ours->max_limit; tia_card->min_val = ours->min_limit; //measure

ASL Series Programming Guide

281

15 - TIA - Time Interval Analyzer

tia_card->measure_skew(skew); // Function returns FALSE above if all not ok. //check for timeout if(!tia_card->read_options.timeout) { //check standard deviation of the time measurements std_dev = tia_card->std_dev_time(TIA_CHANNEL_A); //check number of samples used good_smpl_cnt = tia_card->a_count; } else { //timeout occurred std_dev = (double)0.0; good_smpl_cnt = 0; }

282

ASL Series Programming Guide

16
TMU - TIME MEASUREMENT UNIT
The Time Measurement Unit (TMU) is a precise timer with the start and stop counting conditions controlled by programmable voltage threshold. comparators. This chapter includes: TMU theory and block diagram Measurement resolution and Interpolation Input channels Arming the TMU Programming examples TMU start and stop hold off Function calls

ASL Series Programming Guide

283

16 - TMU - Time Measurement Unit

TMU Theory
The figure below shows the TMU conceptual diagram .
Start Voltage Reference

Start Signal Inputs Stop Timer Time Output

Stop Voltage Reference

Figure 39. TMU Conceptual Diagram

The TMU can collect the time between the defined voltages because the timer is controlled by programmable voltage thresholds. This is useful in measuring the following: The time a voltage signal takes to go from a high level to a lower level (fall time, Tf) The time a voltage signal takes to go from a low level to a higher level (rise time, Tr) The time required for a signal to propagate through a device (prop delay, Tp)

Figure 40 illustrates these types of measurements.

284

ASL Series Programming Guide

TMU Theory

Tr

Tf Device Input

Device Output Tp

Figure 40. Types of TMU Measurements

In addition to these programmable voltage thresholds, the TMU has two more control conditions: slope and arm. Slope allows the user to define whether the signal to be measured is rising (a positive slope) or falling (a negative slope). Arm works as the timer gate or timer enable (see Figure 41). The voltage threshold comparators can be indicating valid start and stop conditions before an arm command is issued; however, the timer will not begin counting until an arm command occurs. After an arm command is issued, the timer begins counting with the first available valid start condition.

Start Voltage Reference

Slope

Start Signal Inputs Stop

POS/NEG Timer Enable Time Output

Stop Voltage Reference

Arm

Figure 41. TMU Conceptual Diagram with Arm and Slope

ASL Series Programming Guide

285

16 - TMU - Time Measurement Unit

Measurement Resolution and Interpolation


The TMU uses a 100 MHz clock to generate a basic measurement resolution of 10 ns. Measurements of below 10 ns are achieved by interpolation (altering information) to add and/or subtract small amounts of time to or from the basic 10 ns interval. To interpolate, the TMU measures the change in voltage across a capacitor when the measured voltage is driven down from a known reference point by a current source. The sub-10 ns time relates to the measured voltage by the following formula:
T = C*(V/I)

where C and I are known and V is measured. The TMU uses two sets of interpolation circuitry: one for the start adjust and one for the stop adjust. The capacitor discharge is initiated by the TMU start and stop trigger events and stopped by the next available 10 ns clock, as shown in Figure 20-4 on the next page. If the start and stop measurement events fall exactly on the 10 ns clock boundaries, there is no discharge of the capacitor. In this case, the calculated time offset is zero; therefore, the basic time measurement is not adjusted. The TMU interpolation is automatic when the read() command is used. Using this command, the user does not need to do any special programming. The read_now() command returns the non-interpolated measurement with 10 ns resolution.

286

ASL Series Programming Guide

Measurement Resolution and Interpolation

100 MHz Main Clock Counting Start Trigger Stop Trigger Start Pulse Stop Pulse Start +10 V Ref V for START Stop +10 V Ref V for STOP Base Resolution Measurement

Figure 42. TMU Interpolation Process

ASL Series Programming Guide

287

16 - TMU - Time Measurement Unit

Input Channels
The TMU supports three input channels, each with multiple connect relays. Two channels, CHA and CHB, are low impedance inputs (nominal 2 K). The third channel, the HIZ, is a high impedance input (nominal 2 Meg). The three channels can be used in a variety of start and stop configurations: The TMU has an analog switch mux (located between the input channels and trigger comparators) for this purpose. See Figure 43 and Table 13 on the next page. Any input channel can be used for the start and stop conditions for rise and fall measurements. Two separate channels must be used for propagation delay measurements. Do not exceed the analog mux switch maximum voltage rating of 15 V. Exceeding this rating will damage the switches.
CAUTION
Start Voltage Reference Slope CHA Start HIZ Stop CHB Arm Stop Voltage Reference POS/NEG Timer Enable

Signal Inputs

Time
Output

Figure 43. TMU Input Channel Mux

288

ASL Series Programming Guide

Input Channels

Table 13. Start and Stop Configuration Start Stop Allowed

A A A B B B HIZ HIZ HIZ

A B HIZ B A HIZ A B HIZ

Yes Yes Yes Yes No No No Yes Yes

ASL Series Programming Guide

289

16 - TMU - Time Measurement Unit

Arming the TMU


There are two ways to arm (enable) the TMU timer: the program arm statement and the external arm input. When the arm statement executes, the timer is enabled to begin counting after the first available start condition. This is acceptable for typical situations; however, certain test conditions may require a more precise arming sequence. For example, to measure a free-running periodic waveform, it is better to arm the TMU just before the specific edge of interest. In this case, the external signal can be provided by the DUT or the ACSif the ACS creates the stimulus to which the DUT is outputting a periodic waveform. If the ACS is creating the stimulus, one of the auxiliary ACS outputs can be programmed synchronously to provide the external arm signal. Please see the ACS section in this guide for more information. The following code is an example of how to control the external arm circuitry:
tmu_6->arm(TRUE, TRUE);//external arm, positive slope tmu_6->open_switch(ARM_REF_POSITIVE);//positive reference tmu_6->write_register(TMU_ARM_REF, 0x2000); //1.25 V threshold wait.delay_10_us(50);//wait 500 S

Some of the commands are low-level in nature, but may be included as high-level commands in future revisions of visualATE software. The open_switch(ARM_REF_POSITIVE) command programs the voltage polarity of the reference to positive. A close_switch(ARM_REF_POSITIVE) would program the polarity negative. The low-level command, write_register, programs the external arm, threshold comparator voltage reference. This reference is derived from a 12-bit DAC that has its 12 data inputs positioned on the upper 12 bits of the TMU 16-bit address bus. The fullscale range of this DAC is 10 V. With 4096 possible DAC codes, the voltage per code is 2.44 mV. The following methods are useful for calculating the threshold value for the above example:
INT(1.25 V/2.44 mV)= 512(derives the integer number of DAC codes required) 512*16 = 8192 (multiplying by 16 shifts the DAC data to the upper 12 bits)

The example uses a value of 2000, obtained by performing a hex conversion on 8192. The value of 8192 is also acceptable, because the command accepts short values. A hex value of 2000 sets the voltage reference to 1.25 V. The low-level command, wait.delay, allows microsecond delay times in 10 s intervals.

290

ASL Series Programming Guide

Programming Examples

Programming Examples
The following examples demonstrate how to set up for the named measurement: rise time, fall time, propagation delay, and periodic waveforms. The rise and fall time examples use CHA as both the start and stop input, with threshold levels shown as passed parameters. The propagation time example uses CHA as the start input and CHB as the stop input, with the start and stop threshold levels shown as passed parameters.

Measuring Rise Time


(start level less than stop level, positive slope)
tmu_6->close_relay(TMU_CHAN_A_DUT1); tmu_6->start_trigger_setup(ours->startv,POS_SLOPE,TMU_CHAN_A); tmu_6->stop_trigger_setup(ours->stopv,POS_SLOPE,TMU_CHAN_A); delay(1);//wait for trigger setup and input relays to settle tmu_6->arm(); //a wait may be required here to allow the DUT to respond result=tmu_6->read();

Measuring Fall Time


(start level greater than stop level, negative slope)
tmu_6->close_relay(TMU_CHAN_A_DUT1); tmu_6->start_trigger_setup(ours->startv,NEG_SLOPE,TMU_CHAN_A); tmu_6->stop_trigger_setup(ours->stopv,NEG_SLOPE,TMU_CHAN_A); delay(1);//wait for trigger setup and input relays to settle tmu_6->arm(); //a wait may be required here to allow the DUT to respond result=tmu_6->read();

Measuring Propagation Delay


(start, stop and slope are channel dependent)
tmu_6->close_relay(TMU_CHAN_A_DUT1); tmu_6->close_relay(TMU_CHAN_B_DUT1); tmu_6->start_trigger_setup(ours->startv,POS_SLOPE,TMU_CHAN_A); tmu_6->stop_trigger_setup(ours->stopv,POS_SLOPE,TMU_CHAN_B); delay(1);//wait for trigger setup and input relays to settle tmu_6->arm(); wait.delay_10_us(4); //required for arm hardware to settle //generate signal to be measured //a wait may be required here to allow the DUT to respond result=tmu_6->read();

ASL Series Programming Guide

291

16 - TMU - Time Measurement Unit

Measuring a Periodic Waveform

START, POS STOP, NEG

Set the start trigger level with the desired voltage and positive slope. Set the stop trigger level with the desired voltage that represents one-half cycle and negative slope. Measure the period of the half cycle. Calculate the full cycle frequency by: Freq = 1/(T*2)

Time measured being zero will result in a divide-by-zero error. A way to protect against this would be as follows:
meas_time=tmu_6->read();//acquire time if (meas_time<=0)//if time measured is less than or equals zero, meas_time=1;//set variable meas_time equal to one. freq=1/(meas_time*2);//calculate full-cycle frequency

292

ASL Series Programming Guide

TMU Start and Stop Holdoff

TMU Start and Stop Holdoff


The TMU allows programming holdoff values for the start and stop edges.

TMU Counting Features


The TMU supports two holdoff values: a start holdoff which provides a delay from the ARM signal until the START comparator is enabled, and a stop holdoff which is a delay for the STOP comparator to be enabled after the START event. Both holdoff values can be used as either absolute time values, or as a count of events. The minimum time that can be supported is 640 nsec, and the time can be programmed in steps of 160 nsec. The maximum time is 655 msec. If the programmed time is not an exact multiple of 160 nsec, it will be rounded to the nearest 160 nsec.

Start Holdoff
For the start holdoff, instead of time, arm signal events can be counted. The TMU can be programmed to count external arm signal events on a range from 5 to 4095. To determine which method is used, a second parameter is required for the command. If the parameter is FALSE, then absolute time is used. If the second parameter is TRUE, then the first parameter is used as a count of events. This second parameter is optional under visualATE, and will default FALSE if not used.

Stop Holdoff
For the stop holdoff, instead of time, start signal events can be counted. The TMU can be programmed to count occurring start signal events on a range from 5 to 4095. To determine which method to use, a second parameter is required for the command. If the parameter is FALSE, then absolute time is used. If the second parameter is TRUE, then the first parameter is used as a count of events. This second parameter is optional under visualATE, and will default FALSE if not used. For example, the stop holdoff is an easy way to improve the accuracy of a frequency measurement. The frequency to be measured is fed into any of the TMU inputs, and the start and stop trigger setups are set to be the same. Now using the stop holdoff as 99 events, the card should stop on the 100th edge after the start, so if a signal had a period of 1sec, the measured time should be 100 sec. For the stop holdoff to work, the start holdoff must also be used.

ASL Series Programming Guide

293

16 - TMU - Time Measurement Unit

TMU Start and Stop Holdoff TIME

Figure 44. TMU Start and Stop Holdoff Time

TMU Start Hold-Off Time


The time from the TMU ARM (software or hardware) during which input start triggers are ignored. See Figure 44.

TMU Stop Hold-Off Time


The time from the TMU ARM (software or hardware) + TMU Start Hold-Off time during which occurring input stop triggers are ignored. See Figure 44.

294

ASL Series Programming Guide

TMU Start and Stop Holdoff

TMU Start and Stop Holdoff EVENTS

Figure 45. TMU Start and Stop Holdoff Events

TMU Start Hold-Off Event


The number of TMU Start events - 1, during which input start triggers are ignored, e.g., if 5 is set the 5th start event is used as the Measurement Start event. See Figure 45.

TMU Stop Hold-Off Event


The number of TMU Stop events - 1, after the Measurement Start event, during which input stop triggers are ignored e.g., if 5 is set the 5th stop event after Measurement Start is used as the Measurement Stop event. See Figure 45.

TMU Event Holdoff Example Code


In this example, the user has a device that outputs a 5 V square wave at approximately 1 MHz, but the device does not achieve stability until after 10 clock cycles. So, a start holdoff of 12 cycles will be set and then a stop holdoff of 10 cycles will be set to average the period of the waveform. Input to the TMU will be on TMU_HIZ_DUT1. TMU trigger values are 2.5 V on positive slope for stop and start triggers.
float result; board_hardware_init();

ASL Series Programming Guide

295

16 - TMU - Time Measurement Unit

tmu_6->close_relay(TMU_HIZ_DUT1); tmu_6->start_holdoff(12, TRUE); // Sets start holdoff to 12 // events, 2nd parameter needed tmu_6->stop_holdoff(10,TRUE); // Sets stop holdoff to 10 // events, 2nd parameter needed tmu_6->start_trigger_setup(2.5, POS_SLOPE, TMU_HIZ_DUT1, TMU_IN_10V); tmu_6->stop_trigger_setup(2.5, POS_SLOPE, TMU_HIZ_DUT1, TMU_IN_10V); delay(1); tmu_6->arm(); delay(1); result = tmu_6->read(); // Measurement of 10 times the period result = result/10; // Divide by stop holdoff (10) result = 1/result; // Convert to Frequency

TMU Time Holdoff Example Code


The time holdoff example will use the same setup as above but now we will use time instead of events for start and stop holdoff. Since, the period is known (1us) the start holdoff can be set to 12 us and the stop holdoff to 10 us. All other setup parameters are the same as above.
float result; board_hardware_init(); tmu_6->close_relay(TMU_HIZ_DUT1); tmu_6->start_holdoff(12e-6, FALSE); // Sets start holdoff to 12 us, 2nd parameter optional tmu_6->stop_holdoff(10e-6,FALSE); // Sets stop holdoff to 10 us, 2nd parameter optional tmu_6->start_trigger_setup(2.5, POS_SLOPE,TMU_HIZ_DUT1, TMU_IN_10V); tmu_6->stop_trigger_setup(2.5, POS_SLOPE, TMU_HIZ_DUT1, TMU_IN_10V); delay(1); tmu_6->arm(); delay(1); result = tmu_6->read();// Measurement of 10 times the period result = result/10;// Divide by stop holdoff (10) result = 1/result;// Convert to Frequency

296

ASL Series Programming Guide

Function Calls

Function Calls
init
Description

This is the board initialization routine. This function clears counters, resets trigger circuitry, resets the trigger comparator reference DACs to 0 V, and opens all on-board relays.
Format
void init(void);

Valid Arguments

none
Usage
tmu_6->init();

reset
Description

This function clears counters and resets the trigger logic. If a timeout occurs, then this function can be used to reset the logic to accept a new arm statement. It does not reset the trigger comparator reference DACs to 0 V nor does it open all on-board relays.
Format
void reset(void);

Valid Arguments

none

ASL Series Programming Guide

297

16 - TMU - Time Measurement Unit

Usage
tmu_6->reset();

start_trigger_setup stop_trigger_setup
Description

These functions program the start and stop trigger comparator threshold voltage levels. If vrange is not specified, the TMU autoranges so that the threshold level programmed is no greater than 80% of range. The comparator analog switch mux has a maximum voltage rating of 15 V. The statement requires a 100 s delay.
Format
void start_trigger_setup(float level, char slope, char channel, char vrange); void stop_trigger_setup(float level, char slope, char channel, char vrange);

Valid Arguments level

threshold voltage level in decimal or scientific notation


slope POS_SLOPE NEG_SLOPE channel TMU_CHAN_A TMU_CHAN_B TMU_HIZ vrange

default is autorange TMU_IN_2_5V(CHA, CHB, HIZ) TMU_IN_5V(HIZ) TMU_IN_10V(CHA, CHB, HIZ) TMU_IN_25V(HIZ) TMU_IN_50V(HIZ) TMU_IN_100V(HIZ) TMU_IN_250V(HIZ)

(2_5V is 2.5V)

298

ASL Series Programming Guide

Function Calls

TMU_IN_500V(HIZ) TMU_IN_1000V(HIZ) NOTE When operating under versions of visualATE earlier than 5.2.3, instruments autoranged downwards even when the user specified a fixed range. Starting with visualATE 5.2.3 this behavior is resolved and instruments no longer autorange, neither upward nor downward, unless the user specifies the autorange. Usage
tmu_6->start_trigger_setup(3.0, POS_SLOPE, TMU_CHAN_A,TMU_IN_10V); tmu_6->stop_trigger_setup(3.0, NEG_SLOPE, TMU_CHAN_B, TMU_IN_10V); wait.delay_10_us(10);//100 s wait time

arm
Description

This function enables the counters to begin after a valid start condition is recognized. With no arguments, the arm statement is known as a program arm as the counters are enabled upon execution of this statement. The TMU accepts an external arm signal. A 40 s delay should be used after executing a program arm.
Format
void arm(unsigned char ext_en, unsigned char ext_slope, unsigned char counter_reset);

Valid Arguments ext_en

Enables external arming TRUE FALSE (default)


ext_slope

Defines external trigger slope TRUE (positive slope, default) FALSE (negative slope)
counter_reset

ASL Series Programming Guide

299

16 - TMU - Time Measurement Unit

Resets time counter to zero prior to start trigger TRUE(default) FALSE


Usage tmu_6->arm(); // program arm tmu_6->arm(TRUE, FALSE, TRUE);// external arm NOTE See the "Arming the TMU" section earlier in this chapter for more information on how to externally arm the TMU.

read
Description

This function returns the interpolated measured time and defines the timeout value. With no arguments, the default timeout is 10 ms. See the "Read Statement Returns" section earlier in this chapter for more details on this function.
Format
float read(float timeout);

Valid Arguments timeout (default is 10 ms)

time in seconds to wait for valid stop trigger condition


Usage meas_time = tmu_6->read(); //with default 10 ms timeout meas_time = tmu_6->read(20e-3);//with programmed 20 ms timeout

read_now
Description

This function obtains the current counter value with no interpolation. The resolution is 10 ns.

300

ASL Series Programming Guide

Function Calls

Format
float read_now(void);

Valid Arguments

none
Usage
meas_counter = tmu_6->read_now();

get_status
Description

This function gets the status of the control register bits and returns it in hex format.
Format
unsigned short get_status(void);

Returned Values

0x0010 = TMU_IO2 0x0020 = TMU_IO1 0x0040 = TMU_HIZ_STAT 0x0080 = TMU_ARM_STAT 0x0100 = TMU_HOLD_END 0x0200 = TMU_STOP 0x0400 = TMU_START 0x0800 = TMU_TTL_COUNT 0x1000 = TMU_COUNTING 0x2000 = TMU_READY

bidirectional port #2 bidirectional port #1) HIZ on 10 V range, buffer at unity gain

start condition recognized stop condition recognized

start condition recognized, counters running, no stop condition

ASL Series Programming Guide

301

16 - TMU - Time Measurement Unit

0x4000 = TMU_END_CNT 0x8000 = TMU_ARMED TRUE = counters not started, FALSE = either is counting or not armed

Usage if ((tmu_6->get_status()) & TMU_ARMED) {

//user code here }

set_control clear_control
Description

This function sets or clears the control register bits.


Format
void set_control(unsigned short bit); void clear_control(unsigned short bit);

Valid Arguments bit TMU_OUT_IO TMU_SET_IO1 asserting this with set_control enables IO1 & IO2 as outputs, resetting with clear_control enables them as inputs user programmable I/O bit 1, can be read with get_status. When enabled as output, high state set with set_control, low state set with clear_control user programmable I/O bit 2, can be read with get_status. When enabled as output, the high state is set with set_control, the low state is set with clear_control

TMU_SET_IO2

Usage tmu_6->set_control(TMU_OUT_IO);// enable IO1 & IO2 as outputs

302

ASL Series Programming Guide

Function Calls

tmu_6->set_control(TMU_SET_IO1);// drive IO1 high tmu_6->clear_control(TMU_SET_IO1);// drive IO1 low

close_relay open_relay
Description

This function closes or opens stated on-board relays.


Format
void close_relay(unsigned short relay); void open_relay(unsigned short relay);

Valid Arguments relay Preferred Statements Alternatives

TMU_CHAN_A_DUT1 TMU_CHAN_A_DUT2 TMU_CHAN_A_BUS TMU_CHAN_B_DUT1 TMU_CHAN_B_DUT2 TMU_HIZ_DUT1 TMU_HIZ_DUT2 TMU_HIZ_DUT3 TMU_HIZ_DUT4 TMU_EXT_DRV1 TMU_EXT_DRV2 TMU_EXT_DRV3 TMU_MEAS_BUS

TMU_CHAN_A_DUT or TMU_START_DUT TMU_START_DUT2 TMU_START_BUS TMU_CHAN_B_DUT or TMU_STOP_DUT TMU_STOP_DUT2 TMU_HIZ_DUT

user programmable open collector output #1 user programmable open collector output #2 user programmable open collector output #3 ADC input-to-bus connect relay

ASL Series Programming Guide

303

16 - TMU - Time Measurement Unit

Usage
tmu_6->close_relay(TMU_HIZ_DUT1); tmu_6->open_relay(TMU_HIZ_DUT1);

start_holdoff stop_holdoff
Description

The TMU supports two types of holdoff, time or event based. Start holdoff may used alone or with the stop holdoff but mixed types of holdoff are not allowed, i.e. Start holdoff in time and stop holdoff in events. Time values can be in the range of 640ns to 655ms in 160ns increments. If the programmed time is not an exact multiple of 160ns, it will be rounded of to the nearest 160ns. Events may be programmed from 5-4095. The second parameter is optional when working with time holdoff and only needed when using the event holdoff feature.
Format
void start_holdoff(float time, unsigned char count_events); void stop_holdoff(float time, unsigned char count_events);

Valid Arguments time

Either the absolute time value or a count of events.


count_events

TRUE FALSE (Default)


Usage
float holdoff_val; tmu_6->start_holdoff(holdoff_val);

NOTE See TMU Start and Stop EVENTS sections earlier in this chapter for more examples using start and stop holdoff function calls.

304

ASL Series Programming Guide

Function Calls

TMU Simplified Diagram


The figure below shows the simplified diagram of the TMU instrument.

Figure 46. TMU Simplified Diagram

ASL Series Programming Guide

305

16 - TMU - Time Measurement Unit

306

ASL Series Programming Guide

17
ADDITIONAL USER FUNCTIONS
This chapter provides some additional STDF, wafer, and miscellaneous User Functions for visualATE users.

ASL Series Programming Guide

307

17 - Additional User Functions

STDF User Functions


The visualATE supports the Standard Test Data Format (STDF). STDF is a simple, flexible, portable data format from which existing data files and formats can be easily converted. The information can be post-processed into other formats as it may be required by the user. The following summarized STDF Set and get user functions are available for post processing of all visualATE supported STDF variables. For details, contact the Credence support personnel.
NOTE The STDF support is limited to a post process of the completed dl4 datalog file, as such the STDF APIs are per file not per record.

MIR Get Functions


CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API unsigned char Get_MIR_STAT_NUM(void); char Get_MIR_MODE_COD(void); char Get_MIR_RTST_COD(void); char Get_MIR_PROT_COD(void); unsigned short Get_MIR_BURN_TIM(void); char Get_MIR_CMOD_COD(void); char *Get_MIR_LOT_ID(void); char *Get_MIR_PART_TYP(void); char *Get_MIR_NODE_NAM(void); char *Get_MIR_TSTR_TYP(void); char *Get_MIR_JOB_NAM(void); char *Get_MIR_JOB_REV(void); char *Get_MIR_SBLOT_ID(void); char *Get_MIR_OPER_NAM(void); char *Get_MIR_EXEC_TYP(void); char *Get_MIR_EXEC_VER(void); char *Get_MIR_TEST_COD(void); char *Get_MIR_TST_TEMP(void); char *Get_MIR_USER_TXT(void); char *Get_MIR_AUX_FILE(void); char *Get_MIR_PKG_TYP(void); char *Get_MIR_FAMLY_ID(void); char *Get_MIR_DATE_COD(void); char *Get_MIR_FACIL_ID(void); char *Get_MIR_FLOOR_ID(void); char *Get_MIR_PROC_ID(void); char *Get_MIR_OPER_FRQ(void); char *Get_MIR_SPEC_NAM(void); char *Get_MIR_SPEC_VER(void); char *Get_MIR_FLOW_ID(void); char *Get_MIR_SETUP_ID(void); char *Get_MIR_DSGN_REV(void);

308

ASL Series Programming Guide

STDF User Functions

CONTROL_API CONTROL_API CONTROL_API CONTROL_API

char char char char

*Get_MIR_ENG_ID(void); *Get_MIR_ROM_COD(void); *Get_MIR_SERL_NUM(void); *Get_MIR_SUPR_NAM(void);

MIR Set Functions


CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void Set_MIR_STAT_NUM(unsigned char value); Set_MIR_MODE_COD(char value); Set_MIR_RTST_COD(char value); Set_MIR_PROT_COD(char value); Set_MIR_BURN_TIM(unsigned short value); Set_MIR_CMOD_COD(char value); Set_MIR_LOT_ID(char *value); Set_MIR_PART_TYP(char *value); Set_MIR_NODE_NAM(char *value); Set_MIR_TSTR_TYP(char *value); Set_MIR_JOB_NAM(char *value); Set_MIR_JOB_REV(char *value); Set_MIR_SBLOT_ID(char *value); Set_MIR_OPER_NAM(char *value); Set_MIR_EXEC_TYP(char *value); Set_MIR_EXEC_VER(char *value); Set_MIR_TEST_COD(char *value); Set_MIR_TST_TEMP(char *value); Set_MIR_USER_TXT(char *value); Set_MIR_AUX_FILE(char *value); Set_MIR_PKG_TYP(char *value); Set_MIR_FAMLY_ID(char *value); Set_MIR_DATE_COD(char *value); Set_MIR_FACIL_ID(char *value); Set_MIR_FLOOR_ID(char *value); Set_MIR_PROC_ID(char *value); Set_MIR_OPER_FRQ(char *value); Set_MIR_SPEC_NAM(char *value); Set_MIR_SPEC_VER(char *value); Set_MIR_FLOW_ID(char *value); Set_MIR_SETUP_ID(char *value); Set_MIR_DSGN_REV(char *value); Set_MIR_ENG_ID(char *value); Set_MIR_ROM_COD(char *value); Set_MIR_SERL_NUM(char *value); Set_MIR_SUPR_NAM(char *value);

MRR Get Functions


CONTROL_API char Get_MRR_DISP_COD(void); CONTROL_API char *Get_MRR_USR_DESC(void);

ASL Series Programming Guide

309

17 - Additional User Functions

CONTROL_API char *Get_MRR_EXC_DESC(void);

MRR Set Functions


CONTROL_API void Set_MRR_DISP_COD(char value); CONTROL_API void Set_MRR_USR_DESC(char *value); CONTROL_API void Set_MRR_EXC_DESC(char *value);

PCR Get Functions


CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API unsigned unsigned unsigned unsigned unsigned long long long long long Get_PCR_PART_CNT(void); Get_PCR_RTST_CNT(void); Get_PCR_ABRT_CNT(void); Get_PCR_GOOD_CNT(void); Get_PCR_FUNC_CNT(void);

PCR Set Functions


CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API void void void void void Set_PCR_PART_CNT(unsigned Set_PCR_RTST_CNT(unsigned Set_PCR_ABRT_CNT(unsigned Set_PCR_GOOD_CNT(unsigned Set_PCR_FUNC_CNT(unsigned long long long long long value); value); value); value); value);

SDR Get Functions


CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API char char char char char char char char char char char char char char char char *Get_SDR_HAND_TYP(void); *Get_SDR_HAND_ID(void); *Get_SDR_CARD_TYP(void); *Get_SDR_CARD_ID(void); *Get_SDR_LOAD_TYP(void); *Get_SDR_LOAD_ID(void); *Get_SDR_DIB_TYP(void); *Get_SDR_DIB_ID(void); *Get_SDR_CABL_TYP(void); *Get_SDR_CABL_ID(void); *Get_SDR_CONT_TYP(void); *Get_SDR_CONT_ID(void); *Get_SDR_LASR_TYP(void); *Get_SDR_LASR_ID(void); *Get_SDR_EXTR_TYP(void); *Get_SDR_EXTR_ID(void);

310

ASL Series Programming Guide

STDF User Functions

SDR Set Functions


void void void void void void void void void void void void void void void void Set_SDR_HAND_TYP(char *value); Set_SDR_HAND_ID(char *value); Set_SDR_CARD_TYP(char *value); Set_SDR_CARD_ID(char *value); Set_SDR_LOAD_TYP(char *value); Set_SDR_LOAD_ID(char *value); Set_SDR_DIB_TYP(char *value); Set_SDR_DIB_ID(char *value); Set_SDR_CABL_TYP(char *value); Set_SDR_CABL_ID(char *value); Set_SDR_CONT_TYP(char *value); Set_SDR_CONT_ID(char *value); Set_SDR_LASR_TYP(char *value); Set_SDR_LASR_ID(char *value); Set_SDR_EXTR_TYP(char *value); Set_SDR_EXTR_ID(char *value);

WIR Get Functions


CONTROL_API char *Get_WIR_WAFER_ID(void);

WIR Set Functions


CONTROL_API void Set_WIR_WAFER_ID(char *value);

WRR Get Functions


CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API unsigned long Get_WRR_PART_CNT(void); unsigned long Get_WRR_RTST_CNT(void); unsigned long Get_WRR_ABRT_CNT(void); unsigned long Get_WRR_GOOD_CNT(void); unsigned long Get_WRR_FUNC_CNT(void); char *Get_WRR_WAFER_ID(void); char *Get_WRR_FABWF_ID(void); char *Get_WRR_FRAME_ID(void); char *Get_WRR_MASK_ID(void); char *Get_WRR_USR_DESC(void); char *Get_WRR_EXC_DESC(void);

WRR Set Functions


CONTROL_API void Set_WRR_PART_CNT(unsigned long value); CONTROL_API void Set_WRR_RTST_CNT(unsigned long value); CONTROL_API void Set_WRR_ABRT_CNT(unsigned long value);

ASL Series Programming Guide

311

17 - Additional User Functions

CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API

void void void void void void void void

Set_WRR_GOOD_CNT(unsigned long value); Set_WRR_FUNC_CNT(unsigned long value); Set_WRR_WAFER_ID(char *value); Set_WRR_FABWF_ID(char *value); Set_WRR_FRAME_ID(char *value); Set_WRR_MASK_ID(char *value); Set_WRR_USR_DESC(char *value); Set_WRR_EXC_DESC(char *value);

WCR Get Functions


CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API float Get_WCR_WAFR_SIZ(void); float Get_WCR_DIE_HT(void); float Get_WCR_DIE_WID(void); unsigned char Get_WCR_WF_UNITS(void); char Get_WCR_WF_FLAT(void); short Get_WCR_CENTER_X(void); short Get_WCR_CENTER_Y(void); char Get_WCR_POS_X(void); char Get_WCR_POS_Y(void);

WCR Set Functions


CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API CONTROL_API void void void void void void void void void Set_WCR_WAFR_SIZ(float value); Set_WCR_DIE_HT(float value); Set_WCR_DIE_WID(float value); Set_WCR_WF_UNITS(unsigned char value); Set_WCR_WF_FLAT(char value); Set_WCR_CENTER_X(short value); Set_WCR_CENTER_Y(short value); Set_WCR_POS_X(char value); Set_WCR_POS_Y(char value);

PTR Get Functions


CONTROL_API char *Get_PTR_C_RESFMT(void); CONTROL_API char *Get_PTR_C_LLMFMT(void); CONTROL_API char *Get_PTR_C_HLMFMT(void);

PTR Set Functions


CONTROL_API void Set_PTR_C_RESFMT(char *value); CONTROL_API void Set_PTR_C_LLMFMT(char *value); CONTROL_API void Set_PTR_C_HLMFMT(char *value);

312

ASL Series Programming Guide

Wafer Functions

Wafer Functions
The following functions write and read data from the Wafer Sort Control dialog box. They will overwrite any data that was previously entered by the operator. The names are descriptive, making them very straightforward to use.

Get_missing_wafer
Description

Returns a string that contains the missing wafer information stored in the Wafer Sort Control dialog box.
Format
BOOL Get_missing_wafer (STRING &missing_wafer);

Return values

TRUE - If successful. FALSE - If unsuccessful.


Usage
STRING MissingW_String; BOOL iret = Get_missing_wafer (MissingW_String);

Set_missing_wafer
Description

Sets the string that contains the missing wafer information stored in the Wafer Sort Control dialog box.
Format
BOOL Set_missing_wafer (STRING &missing_wafer);

Return values

TRUE - If successful.

ASL Series Programming Guide

313

17 - Additional User Functions

FALSE - If unsuccessful.
Usage
STRING MissingW_String; BOOL iret = Set_missing_wafer (MissingW_String);

Get_completed_wafer Description

Returns a string that contains the completed wafer information stored in the wafer sort control dialog box.
Format
BOOL Get_Completed_wafer (STRING &completed_wafer);

Return values

TRUE - If successful. FALSE - If unsuccessful.


Usage
STRING CompletedW_String; BOOL iret = Get_completed_wafer (CompletedW_String);

Set_completed_wafer
Description

Sets the string that contains the completed wafer information stored in the wafer sort control dialog box.
Format
BOOL Set_completed_wafer (STRING &completed_wafer);

Return values

TRUE - If successful.

314

ASL Series Programming Guide

Wafer Functions

FALSE - If unsuccessful.
Usage
STRING Completed_String; BOOL iret = Set_completed_wafer (CompletedW_String);

Get_wafer_in_progress
Description

Returns a string that contains the wafer currently being tested as stored in the wafer sort control dialog box.
Format
BOOL Get_wafer_in_progress (STRING &wafer_in_progress);

Return values

TRUE - If successful. FALSE - If unsuccessful.


Usage
STRING Current_Wafer; BOOL iret = Get_wafer_in_progress (Current_Wafer);

Set_wafer_in_progress
Description

Sets a string that contains the wafer to be tested as shown in the wafer sort control dialog box.
Format
BOOL Set_wafer_in_progress (STRING &wafer_in_progress);

Return values

TRUE - If successful.

ASL Series Programming Guide

315

17 - Additional User Functions

FALSE - If unsuccessful.
Usage
STRING Current_Wafer; BOOL iret = Set_wafer_in_progress (Current_Wafer);

Get_sublot_name
Description

Returns a string that contains the sublot name as shown in the wafer sort control dialog box.
Format
BOOL Get_sublot_name (STRING &sub_lot_name);

Return values

TRUE - If successful. FALSE - If unsuccessful.


Usage
STRING SubLot_Name; BOOL iret = Get_sublot_name (SubLot_Name);

Set_sublot_name
Description

Sets a string that contains the sublot name as shown in the wafer sort control dialog box.
Format
BOOL Set_sublot_name (STRING &sub_lot_name);

Return values

TRUE - If successful.

316

ASL Series Programming Guide

Wafer Functions

FALSE - If unsuccessful.
Usage
STRING SubLot_Name; BOOL iret = Set_sublot_name (SubLot_Name);

Get_total_wafer
Description

Returns a string that contains the total wafer count as shown in the wafer sort control dialog box.
Format
BOOL Get_total_wafer (STRING &total_wafer);

Return values

TRUE - If successful. FALSE - If unsuccessful.


Usage
STRING Total_wafers; BOOL iret = Get_total_wafer (Total_wafers);

Set_total_wafer
Description

Sets a string that contains the total wafer count as shown in the wafer sort control dialog box.
Format
BOOL Set_total_wafer (STRING &total_wafer);

Return values

TRUE - If successful.

ASL Series Programming Guide

317

17 - Additional User Functions

FALSE - If unsuccessful.
Usage
STRING Total_wafers; BOOL iret = Set_total_wafer (Total_wafers);

Get_wafer_list
Description

Returns a string that contains the wafer list as shown in the wafer sort control dialog box.
Format
BOOL Get_wafer_list (STRING &wafer_list);

Return values

TRUE - If successful. FALSE - If unsuccessful.


Usage
STRING Wafer_List; BOOL iret = Get_wafer_list (Wafer_List);

Set_wafer_list
Description

Sets a string that contains the wafer list as shown in the wafer sort control dialog box.
Format
BOOL Set_wafer_list (STRING &wafer_list);

Return values

TRUE - If successful.

318

ASL Series Programming Guide

Wafer Functions

FALSE - If unsuccessful.
Usage
STRING Wafer_List; BOOL iret = Set_wafer_list (Wafer_List);

Send_eow
Description

Sends an EOW to the prober.


Format
BOOL Send_eow ();

Return values

TRUE - If successful. FALSE - If unsuccessful.


Usage
BOOL iret = Send_eow ();

Set_prober_control
Description

Sets a flag to indicate that the control of wafer indexing is from a prober.
Format
BOOL Set_prober_control (BOOL prober_ctrl);

Return values

TRUE - If successful. FALSE - If unsuccessful.

ASL Series Programming Guide

319

17 - Additional User Functions

Usage
STRING IP_Flag; BOOL iret = Set_prober_control (IP_Flag);

Get_prober_control
Description

Returns a flag to check if the prober correctly has wafer indexing control.
Format
BOOL Get_prober_control (BOOL prober_ctrl);

Return values

TRUE - If successful. FALSE - If unsuccessful.


Usage
STRING IP_Flag; BOOL iret = Get_prober_control (IP_Flag);

Get_wafer_id
Description

Returns a string that contains the wafer id.


Format
BOOL Get_wafer_id (STRING &wafer_id);

Return values

TRUE - If successful. FALSE - If unsuccessful.

320

ASL Series Programming Guide

Wafer Functions

Usage
STRING Wafer_Id; BOOL iret = Get_wafer_id (Wafer_Id);

ASL Series Programming Guide

321

17 - Additional User Functions

Miscellaneous Functions
StopProgram
Description

Tells the user interface to stop running the current program. A TRUE Return from this function does not guarantee that the program will stop, merely that the user interface understands not to send any more run requests to TEST.EXE.
Format
BOOL StopProgram (void);

Returns values

TRUE - If the successful. FALSE - If the stop program command is not valid at the time when this function is called.
Usage
BOOL iret = StopProgram();

RunProgram
Description

Tells the user interface to start/stop running the current program. Does the same thing as if the user had started the program by clicking the run button. A TRUE return from this function does not guarantee that the program will stop, merely that the user interface understands to send a run/stop request to TEST.EXE at the next opportunity.
Format
BOOL RunProgram (void);

Returns values

TRUE - If the successful.

322

ASL Series Programming Guide

Miscellaneous Functions

FALSE - If the stop program command is not valid at the time when this function is called.
Usage
BOOL iret = RunProgram();

GetLotIdName
Description Returns the current lot ID name. This function will return false if there is no active program. When in engineering mode, the UI will generally return "Default" as the lot ID.
Format
BOOL GetLotIDName (STRING &name);

Returns values

TRUE - If the successful. FALSE - If the user interface can not get the current lot ID name.
Usage
STRING LotId; BOOL iret = GetLotIdName(LotId);

SetLotIdName
Description

Sets the current lot ID name. This function will return False if there is no active program.
Format
BOOL SetLotIDName (STRING &name);

ASL Series Programming Guide

323

17 - Additional User Functions

Returns values

TRUE - If successful. FALSE - If the user interface can not set the current lot ID name.
Usage
STRING LotId; BOOL iret = SetLotIdName(name);

GetSerialNum
Description

Returns the current serial number. This function will return false if there is no active program.
Format
BOOL GetSerialNum (STRING &serialno);

Return values

TRUE - If successful. FALSE - If the user interface can not get the current serial number.
Usage
STRING Curr_Serial_Num; BOOL iret = GetSerialNum(Curr_Serial_Num);

SetSerialNum
Description

Sets the current serial number. This function will return false if there is no active program.
Format
BOOL SetSerialNum (STRING &serialno);

324

ASL Series Programming Guide

Miscellaneous Functions

Return values

TRUE - If successful. FALSE - If the user interface can not get the current serial number.
Usage
STRING Curr_Serial_Num; BOOL iret = SetSerialNum(Curr_Serial_Num);

ClearLotSummaryComments
Description

Clears the lot summary comment field.


Format
BOOL ClearLotSummaryComments (void);

Return values

TRUE - If the successful. FALSE - If there is no active program.


Usage
BOOL iret = ClearLotSummaryComments (void);

AppendLotSummaryComments
Description

Appends a string to the lot summary comment field. Note: the comments are printed below the Bin count on the screen. Keep in mind the comments might not show because there isn't enough room on the screen to show all the data. The comments should show clearly when a hard copy of the summary is Printed.
Format
BOOL AppendLotSummaryComments (void);

ASL Series Programming Guide

325

17 - Additional User Functions

Return values

TRUE - If successful. FALSE - If there is no active program.


Usage
STRING User_Comments; BOOL iret = AppendLotSummaryComments (User_Comments);

SetPlotData
Description

Passes a DLogPlotData object into the datalog for a given test number. This object contains plotting information that will be placed in the datalog file. Each test with such data will be marked by a bitmap in the left region of the datalog. When the user clicks this bitmap, the plot will be displayed.
NOTE plot_data is not deleted automatically once it is passed into this function.

DO NOT DELETE plot_data after passing it into this function. Extensive use of this function is discouraged because of memory leak Only for short engineering debug. DO NOT use in production
CAUTION

Format
BOOL SetPlotData (short test_i, DLogPlotData *plot_data, short site_i = 1);

Return values

TRUE - If successful. FALSE - If unsuccessful.


Usage

See Example_UI setplot.cpp for example code.

326

ASL Series Programming Guide

Miscellaneous Functions

GetProgramName
Description

This function returns the name of the program from visualATE. This is the name that appears in the list box that appears when the user hits the ENGINEERING button in visualATE.
Format
BOOL GetProgramName (STRING &program_name);

Return values

TRUE - If successful. FALSE - If the user interface can not get the current program name.
Usage
STRING Program_Name; BOOL iret = GetProgramName (Program_Name);

SetProgramName
Description

This function sets the name of the program from visualATE. This is the name that appears in the list box that appears when the user hits the Engineering button in visualATE.
Format
BOOL SetProgramName (STRING &program_name);

Return values

TRUE - If successful. FALSE - If the user interface can not set the current program name.
Usage
STRING Program_Name;

ASL Series Programming Guide

327

17 - Additional User Functions

BOOL iret = SetProgramName (Program_Name);

OpenErrorMessage
Description

Used to create an instance of the error box message and add the message to the c:\asl_nt\system\config\ErrorMessages.txt file.
Format
BOOL OpenErrorMessage (STRING &smessage);

Return values

TRUE - If successful. FALSE - If unsuccessful.


Usage
STRING Error_Message; BOOL iret = OpenErrorMessage (Error_Message);

CloseErrorMessage
Description

Used to close an instance of the error box message and add the message to the c:\asl_nt\system\config\ErrorMessages.txt file.
Format
BOOL CloseErrorMessage (STRING &smessage);

Return values TRUE - If successful. FALSE - If unsuccessful.


Usage
STRING Error_Message;

328

ASL Series Programming Guide

Miscellaneous Functions

BOOL iret = CloseErrorMessage (Error_Message);

SendCommStatus
Description

Sends a string to the comm status box (in the bottom right hand portion of the screen).
Format
BOOL SendCommStatus(STRING &smessage);

Return values

TRUE - If successful. FALSE - If unsuccessful.


Usage
STRING Status_Message; BOOL iret = CloseErrorMessage (Status_Message);

OnNewLot
Description

Starts a new lot as if the user selected "new lot" from the tool bar menu. An error "must save current lot before starting a new one...." will occur if OnNewLot() is called from within this function because the database for the current lot is open. A better place to call OnNewLot() is in user_next_device() or from handler driver code.
Format
BOOL OnNewLot (STRING name);

Return values

TRUE - If successful. FALSE - If unsuccessful.

ASL Series Programming Guide

329

17 - Additional User Functions

Usage
STRING Lot_Name; BOOL iret = OnNewLot (Lot_Name);

GetLimitSetName
Description

Returns the Current Limit Set name from visualATE.


Format
BOOL GetLimitSetName (STRING &limitset_name);

Return values

TRUE - If successful. FALSE - If the user interface can not get the current program name.
Usage
STRING Limit_Set_Name; BOOL iret = GetLimitSetName (Limit_Set_Name);

SetLimitSetName
Description

Sets the Current Limit Set name from visualATE.


Format
BOOL SetLimitSetName (STRING &limitset_name);

Return values

TRUE - If successful. FALSE - If the user interface can not get the current program name.

330

ASL Series Programming Guide

Miscellaneous Functions

Usage
STRING Limit_Set_Name; BOOL iret = SetLimitSetName (Limit_Set_Name);

GetDeviceName
Description

This function returns the name of the Device from visualATE. Use SetDeviceName before using GetDeviceName. This function gets a user assigned variable which is not used by visualATE. The user must set the Devicename variable before calling this function.
CAUTION

Format
BOOL GetDeviceName (STRING &device_name);

Return values

TRUE - If successful. FALSE - If the user interface can not get the current device name.
Usage
STRING Device_Name; BOOL iret = GetDeviceName (Device_Name);

SetDeviceName
Description

This function sets the name of the Device from visualATE.


Format
BOOL SetDeviceName (STRING &device_name);

Return values

TRUE - If successful.

ASL Series Programming Guide

331

17 - Additional User Functions

FALSE - If the user interface can not set the current device name.
Usage
STRING Device_Name; BOOL iret = SetDeviceName (Device_Name);

GetProgramModeCode
Description

Returns a variable for general purpose use. Use SetProgramModeCode before using GetprogramModeCode. This function gets a user assigned variable which is not used by visualATE. The user must set the PrograModeCode variable before calling this CAUTION function.
Format
BOOL GetProgramModeCode (STRING &program_mode);

Return values

TRUE - If successful. FALSE - If unsuccessful.


Usage
STRING Gp_Variable; BOOL iret = GetProgramModeCode (Gp_Variable);

SetProgramModeCode
Description

Sets a variable for general purpose use.


Format
BOOL SetProgramModeCode (STRING &program_mode);

332

ASL Series Programming Guide

Miscellaneous Functions

Return values

TRUE - If successful. FALSE - If unsuccessful.


Usage
STRING Gp_Variable; BOOL iret = SetProgramModeCode (Gp_Variable);

GetProgramRevision
Description

Returns a variable for general purpose use. Use SetProgramRevision before using GetProgramRevision. This function gets a user assigned variable which is not used by visualATE. The user must set the ProgramRevision variable before calling this CAUTION function.
Format
BOOL GetProgramRevision (STRING &program_revision);

Return values

TRUE - If successful. FALSE - If unsuccessful.


Usage
STRING Prog_Rev; BOOL iret = GetProgramRevision (Prog_Rev);

SetProgramRevision
Description

Sets a variable for general purpose use.

ASL Series Programming Guide

333

17 - Additional User Functions

Format
BOOL SetProgramRevision (STRING &program_revision);

Return values

TRUE - If successful. FALSE - If unsuccessful.


Usage
STRING Prog_Rev; BOOL iret = SetProgramRevision (Prog_Rev);

GetProgramTestCode
Description

Returns a variable for general purpose use. Use SetProgramTestCode before using GetProgramTestCode. This function gets a user assigned variable which is not used by visualATE. The user must set the ProgramTestCode variable before calling this CAUTION function.
Format
BOOL GetProgramTestCode (STRING &program_test_code);

Return values

TRUE - If successful. FALSE - If unsuccessful.


Usage
STRING Gp_Var; BOOL iret = GetProgramTestCode (Gp_Var);

334

ASL Series Programming Guide

Miscellaneous Functions

SetProgramTestCode
Description

Sets a variable for general purpose use.


Format
BOOL SetProgramTestCode (STRING &program_test_code);

Return values

TRUE - If successful. FALSE - If unsuccessful.


Usage
STRING Gp_Var; BOOL iret = SetProgramTestCode (Gp_Var);

GetOperationStepNumber
Description

Returns a variable for general purpose use. Use SetOperationStepNumber before using GetOperationStepNumber. This function gets a user assigned variable which is not used by visualATE. The user must set the OperationStepNumber variable before CAUTION calling this function.
Format
BOOL GetOperationStepNumber (STRING &step_number);

Return values

TRUE - If successful. FALSE - If unsuccessful.

ASL Series Programming Guide

335

17 - Additional User Functions

Usage
STRING Gp_Var; BOOL iret = GetOperationStepNumber (Gp_Var);

SetOperationStepNumber
Description

Sets a variable for general purpose use.


Format
BOOL SetOperationStepNumber (STRING &step_number);

Return values

TRUE - If successful. FALSE - If unsuccessful.


Usage
STRING Gp_Var; BOOL iret = SetOperationStepNumber (Gp_Var);

GetTotalPass
Description

Returns total number of passed parts. If site = 0, the total is for all sites. Otherwise, the total is for the specified site.
Format
BOOL GetTotalPass (int &total_pass, int site = 0);

Return values

TRUE - If successful. FALSE - If unsuccessful.

336

ASL Series Programming Guide

Miscellaneous Functions

Usage
STRING Total_Pass; BOOL iret = GetTotalPass (Total_Pass, 0);

GetTotalFail
Description

Returns total number of failed parts. If site = 0, the total is for all sites. Otherwise, the total is for the specified site.
Format
BOOL GetTotalFail (int &total_fail, int site = 0);

Return values

TRUE - If successful. FALSE - If unsuccessful.


Usage
STRING Total_Fail; BOOL iret = GetTotalFail (Total_Fail, 0);

ASL Series Programming Guide

337

17 - Additional User Functions

Modal Dialog Overview


The Modal Dialog facilitates interaction between the user and a visualATE Test Program through a pop-up window that can contain the following features: An OK button (the "ENTER" key is equivalent) A Cancel button (the "upper right corner X " is equivalent) A YES button A NO button A read/write edit field (39 characters max, scrollable w/left and right arrow keys) Top & bottom text fields (39 characters max, scrollable with up and down arrow keys) Left & right text fields (17 characters max)

See example below:

Figure 47. Dialog Function Window

The Modal Dialog functions used to describe the window characteristics are considered setup commands in that they do not cause a dialog window to be generated. Once the window has been described in terms of what buttons will exist and what text will be used, a separate function must be issued to perform the actual construction and display of the box. After the Modal Dialog box has been generated, the displayed buttons and text edit field may be interrogated for user interaction.

338

ASL Series Programming Guide

Modal Dialog Overview

Support Code for Modal Dialog


Code must be added to the files generated by Create in order to use Modal Dialog. These files are: user.cpp user.h Any user written test function where Modal Dialog is required

The code is:


ModalDialogDescription mdb;(creates class object and allocates memory) #include "ModalDialogDescription.h" (contains Modal Dialog command definitions) #include "ui.h"(contains RunModalDialog command definition) RunModalDialog;(invokes the Modal Dialog resource)

In the file, user.cpp, 1 line must be added as follows:


//======================================================= // USER.CPP //======================================================== #include "asl.h" // Disable warning C4244 "conversion from 'const double' to //'float', possible loss of data" #pragma warning (disable : 4244) #include "USER.H" //************** Add the following line *************** ModalDialogDescription mdb; //create class object, allocate memory //***************************************************** extern "C" __declspec(dllexport) void user_init (void); extern "C" __declspec(dllexport) void user_load (void); extern "C" __declspec(dllexport) void user_start_lot (void); extern "C" __declspec(dllexport) void user_wait_sot (void); extern "C" __declspec(dllexport) void user_start_test (void); extern "C" __declspec(dllexport) void user_end_test (void); extern "C" __declspec(dllexport) void user_next_device (void); extern "C" __declspec(dllexport) void user_end_lot (void); extern "C" __declspec(dllexport) void user_exit (void); extern "C" __declspec(dllexport) void user_F12 (void); //{ASL_CREATE BEGIN BOARDS_FROM_LIST_PROPERTIES //To change code between these comments, use the List Properties dialog. void board_ptr_init(void) { } .

ASL Series Programming Guide

339

17 - Additional User Functions

. .

In the user.h file, 3 lines must be added as follows:


//========================================================== // USER.H //========================================================= // {ASL_CREATE BEGIN BOARDS_FROM_LIST_PROPERTIES // To change code between these comments, use the List Properties // dialog. void board_ptr_init(void); void board_hardware_init(void); // ASL_CREATE END BOARDS_FROM_LIST_PROPERTIES} // This file must be present even if no user code is placed below //************** Add the following three lines *************** #include "ModalDialogDescription.h" //Modal Dialog command //definitions #include "ui.h" //Modal Dialog "run" command definition extern ModalDialogDescription mdb; //externally declare class //object //************************************************************

In the user written test function, 1 line must be added as follows:


//========================================================== // modaldialogtest.cpp (User function) // void modaldialogtest_user_init(test_function& func) // void modaldialogtest(test_function& func) //========================================================== #include "asl.h" // Disable warning C4244 "conversion from 'const double' to // 'float', possible loss of data" #pragma warning (disable : 4244) #include "modaldialogtest.h" // !!!! User #includes and externs can be placed between the // comments // !!!! //************************************************************** void modaldialogtest_user_init(test_function& func) { modaldialogtest_params *ours; ours = (modaldialogtest_params *)func.params; // // // // !!!! User initialization code below this comment (do not remove comment) !!!! User initialization code above this comment (do not remove comment)

340

ASL Series Programming Guide

Modal Dialog Overview

} //************************************************************** void modaldialogtest(test_function& func) { // The two lines below must be the first two in the function. modaldialogtest_params *ours; ours = (modaldialogtest_params *)func.params; . .//any Modal Dialog setup commands... . //********************* Add this line ******************** BOOL rtrn = RunModalDialog (&mdb);//invoke the Modal Dialog resource //******************************************************** } //modaldialogtest

The functions used to setup and construct the Modal Dialog are described on the following pages.

SetStatusDialogHasYesButton
Description

This function will insert a YES button on the Modal Dialog box. Default is no button. See the Figure 48.
Format
void SetStatusDialogHasYesButton(BOOL status);

Valid Arguments:

status 1 = TRUE 0 = FALSE (default)

ASL Series Programming Guide

341

17 - Additional User Functions

Usage
mdb.SetStatusDialogHasYesButton(1);

Figure 48. Modal Dialog Box with YES Button

SetStatusDialogHasNoButton
Description

This function will insert a NO button on the Modal Dialog box. Default is no button. See Figure 49.
Format
void SetStatusDialogHasNoButton(BOOL status)

Valid Arguments

status 1 = TRUE 0 = FALSE (default)


Usage
mdb.SetStatusDialogHasNoButton(1);

342

ASL Series Programming Guide

Modal Dialog Overview

Figure 49. Modal Dialog Box with NO Button

SetStatusDialogHasOKButton
Description

This function will insert an OK button on the Modal Dialog box. Default is no button. See Figure 50.
Format
void SetStatusDialogHasOKButton(BOOL status);

Valid Arguments:

status 1 = TRUE 0 = FALSE (default)


Usage
mdb.SetStatusDialogHasOKButton(1);

ASL Series Programming Guide

343

17 - Additional User Functions

Figure 50. Modal Dialog Box with OK Button

SetStatusDialogHasCancelButton
Description

This function will insert a CANCEL button on the Modal Dialog box. Default is no button. See Figure 51.
Format
void SetStatusDialogHasCancelButton(BOOL status);

Valid Arguments:

status 1 = TRUE 0 = FALSE (default)


Usage
mdb.SetStatusDialogHasCancelButton(1);

344

ASL Series Programming Guide

Modal Dialog Overview

Figure 51. Modal Dialog Box with Cancel Button

SetDialogEditFieldLeftSideText
Description

This function will display the specified character string in the left text field. See Figure 52.
Format
void SetDialogEditFieldLeftSideText(const char *s);

Valid Arguments:

character string max 17 alpha-numeric characters


Usage
db.SetDialogEditFieldLeftSideText("Left, up to 17");

ASL Series Programming Guide

345

17 - Additional User Functions

Figure 52. Modal Dialog Box with Left String Edit Box

SetDialogEditFieldRightSideText
Description

This function will display the specified character string in the right text field. See Figure 53.
Format
void SetDialogEditFieldRightSideText(const char *s),

Valid Arguments:

character string max 17 alpha-numeric characters


Usage
mdb. SetDialogEditFieldRightSideText("Right, up to 17");

346

ASL Series Programming Guide

Modal Dialog Overview

Figure 53. Modal Dialog Box with Right String Edit Box

SetDialogTopMessage
Description

This function will display the specified character string in the top text field. The text field can be scrolled by using the up and down arrow keys. See Figure 54.
Format
void SetDialogTopMessage(const char *s);

Valid Arguments:

character string max 39 alpha-numeric characters


Usage
mdb. SetDialogTopMessage("Top field, up to 39 characters.........");

ASL Series Programming Guide

347

17 - Additional User Functions

Figure 54. Modal Dialog Box with Top String Edit Box

SetDialogBottomMessage
Description

This function will display the specified character string in the bottom text field. The text field can be scrolled by using the up and down arrow keys. See Figure 55.
Format
void SetDialogBottomMessage(const char *s);

Valid Arguments:

character string max 39 alpha-numeric characters


Usage

mdb.SetDialogBottomMessage("Bottom field, up to 39 characters......");

348

ASL Series Programming Guide

Modal Dialog Overview

Figure 55. Modal Dialog Box with Bottom String Edit Box

SetDialogEditFieldInitializationText
Description

This function will display the specified character string in the edit text field. The text field can be scrolled by using the left and right arrow keys. See Figure 56.
Format
void SetDialogEditFieldInitializationText(const char *s);

Valid Arguments:

character string max 39 alpha-numeric characters


Usage
mdb.SetDialogEditFieldInitializationText("...default info, up to 39 characters");

ASL Series Programming Guide

349

17 - Additional User Functions

Figure 56. Modal Dialog Box with Specified String Edit Box

RunModalDialog
Description

This function invokes the Modal Dialog resource and constructs the box based upon the information programmed with the SetStatusDialogHas statements. A FALSE return value indicates that the dialog was not displayed or that information from the dialog was not successfully returned. Use of the return is not mandatory.
Format
BOOL RunModalDialog(&user_defined_class_object);

Valid Arguments

class object as defined by user


Valid Returns

1 = TRUE 0 = FALSE
Usage
BOOL rtrn = RunModalDialog(&mdb); //return used RunModalDialog(&mdb);//return not used

350

ASL Series Programming Guide

Modal Dialog Overview

GetStatusDialogYesButtonHasBeenPushed
Description

This function returns the button activation status: a 1 (TRUE) if the YES button has been pushed, a 0 (FALSE) if the button has not been pushed.
Format
BOOL GetStatusDialogYesButtonHasBeenPushed(void);

Valid Arguments:

none
Usage
BOOL rtrn = mdb.GetStatusDialogYesButtonHasBeenPushed();

GetStatusDialogNoButtonHasBeenPushed
Description

This function returns the button activation status: a 1 (TRUE) if the NO button has been pushed, a 0 (FALSE) if the button has not been pushed.
Format
BOOL GetStatusDialogNoButtonHasBeenPushed(void);

Valid Arguments:

none
Usage
BOOL rtrn = mdb.GetStatusDialogNoButtonHasBeenPushed();

ASL Series Programming Guide

351

17 - Additional User Functions

GetStatusDialogOKButtonHasBeenPushed
Description

This function returns the button activation status: a 1 (TRUE) if the OK button has been pushed, a 0 (FALSE) if the button has not been pushed.
Format
BOOL GetStatusDialogOKButtonHasBeenPushed(void);

Valid Arguments:

none
Usage
BOOL rtrn = mdb.GetStatusDialogOKButtonHasBeenPushed();

GetStatusDialogCancelButtonHasBeenPushed
Description

This function returns the button activation status: a 1 (TRUE) if the Cancel button has been pushed, a 0 (FALSE) if the button has not been pushed.
Format
BOOL GetStatusDialogCancelButtonHasBeenPushed(void);

Valid Arguments:

none
Usage
BOOL rtrn = mdb.GetStatusDialogCancelButtonHasBeenPushed();

352

ASL Series Programming Guide

Modal Dialog Overview

GetEditFieldText
Description

This function returns the character string appearing the text edit field.
Format
const char *GetEditFieldText(void);

Valid Arguments:

none
Usage
const char rtrn = mdb.GetEditFieldText();

Code Example 1
The following is a test function that defines and generates a Modal Dialog with all buttons and all text fields under control of visualATE pass parameters.
//======================================================= // modaldialogtest.cpp (User function) // void modaldialogtest_user_init(test_function& func) // void modaldialogtest(test_function& func) //=============================================================== #include "asl.h" // Disable warning C4244 "conversion from 'const double' to // 'float', possible loss of data" #pragma warning (disable : 4244) #include "modaldialogtest.h" #include "ModalDialogDescription.h" #include "ui.h" // !!!! User #includes and externs can be placed between the // comments // !!!! // ************************************************************** void modaldialogtest_user_init(test_function& func) { modaldialogtest_params *ours; ours = (modaldialogtest_params *)func.params;

ASL Series Programming Guide

353

17 - Additional User Functions

// !!!! User initialization code below this comment (do not remove // comment) // !!!! User initialization code above this comment (do not remove // comment) } //************************************************************** void modaldialogtest(test_function& func) { //******The two lines below must be the first two in the function.******** modaldialogtest_params *ours; ModalDialogDescription mdb; //create a class object and //allocate memory mdb.SetStatusDialogHasOKButton (ours->ok); mdb.SetStatusDialogHasCancelButton (ours->cancel); mdb.SetStatusDialogHasYesButton (ours->yes); mdb.SetStatusDialogHasNoButton (ours->no); mdb.SetDialogEditFieldInitializationText (ours->EditFieldText); mdb.SetDialogEditFieldLeftSideText (ours->lefttext); mdb.SetDialogEditFieldRightSideText (ours->righttext); mdb.SetDialogTopMessage (ours->toptext); mdb.SetDialogBottomMessage (ours->bottomtext); BOOL iret = RunModalDialog (&mdb); //invoke the Modal Dialog //resource }//modaldialogtest

354

ASL Series Programming Guide

Modal Dialog Overview

Following is the output from the above code example.

Figure 57. Ouput from the Code Example 1

Code Example 2
The following is a test function that defines and generates a Modal Dialog with interrogation of the buttons and of the text edit field. //=============================================================== // modaldialogtest2.cpp (User function) // // void modaldialogtest2_user_init(test_function& func) // void modaldialogtest2(test_function& func) // //===============================================================

ASL Series Programming Guide

355

17 - Additional User Functions

#include "asl.h" // Disable warning C4244 "conversion from 'const double' to // 'float', possible loss of data" #pragma warning (disable : 4244) #include "modaldialogtest2.h" // !!!! User #includes and externs can be placed between the // comments // !!!! //*************************************************************** void modaldialogtest2_user_init(test_function& func) { modaldialogtest2_params *ours; ours = (modaldialogtest2_params *)func.params; // !!!! User initialization code below this comment (do not remove comment) // !!!! User initialization code above this comment (do not remove comment) } //*************************************************************** void modaldialogtest2(test_function& func) {

// ******The two lines below must be the first two in the function.********
modaldialogtest2_params *ours; ours = (modaldialogtest2_params *)func.params; //-------setup the Modal Dialog and construct box-----------mdb.SetStatusDialogHasOKButton (ours->ok); mdb.SetStatusDialogHasCancelButton (ours->cancel); mdb.SetStatusDialogHasYesButton (ours->yes); mdb.SetStatusDialogHasNoButton (ours->no); mdb.SetDialogEditFieldInitializationText (ours->EditFieldInitText); mdb.SetDialogEditFieldLeftSideText (ours->lefttext); mdb.SetDialogEditFieldRightSideText (ours->righttext); mdb.SetDialogTopMessage (ours->toptext); mdb.SetDialogBottomMessage (ours->bottomtext); BOOL rtrn=RunModalDialog (&mdb); //invoke the Modal Dialog //resource //------interrogate the Modal Dialog and datalog results---------if(!rtrn) //check if successfull { func.dlog->power = POWER_UNIT; func.dlog->set_test_no(1); func.dlog->test_val ((float)0); //if not, output 0

356

ASL Series Programming Guide

Modal Dialog Overview

} else { func.dlog->power = POWER_UNIT; func.dlog->set_test_no(1);//if so, output 1 func.dlog->test_val((float)1); func.dlog->set_test_no(2); float v = (float) atoi (mdb.GetEditFieldText()); //get user // input and func.dlog->test_val(v); //convert to numeric for this example. func.dlog->set_test_no(3); if (mdb.GetStatusDialogOKButtonHasBeenPushed()) //ok? func.dlog->test_val((float)1);//if so, 1 else func.dlog->test_val((float)0);//if not, 0 func.dlog->set_test_no(4); if (mdb.GetStatusDialogCancelButtonHasBeenPushed())//Cancel? func.dlog->test_val((float)1);//if so, 1 else func.dlog->test_val((float)0);//if not, 0 func.dlog->set_test_no(5); if (mdb.GetStatusDialogYesButtonHasBeenPushed()) //yes? func.dlog->test_val((float)1);//if so, 1 else func.dlog->test_val((float)0);//if not, 0 func.dlog->set_test_no(6); if (mdb.GetStatusDialogNoButtonHasBeenPushed()) //no? func.dlog->test_val((float)1);//if so, 1 else func.dlog->test_val((float)0);//if not, 0 } }//modaldialogtest2

ASL Series Programming Guide

357

17 - Additional User Functions

The following is the output from the above code example.

Figure 58. Output of Example 2

358

ASL Series Programming Guide

Datalog Functions

Datalog Functions
Functions
func.dlog->power
Description

Sets the display scaling for the value, min and max columns in the datalog output. Display over-range is indicated by Display Error in the result column. This function call must be made before any results are displayed and is active for all tests following until changed.
Format
func.dlog->power=scale

Valid Arguments:
scale POWER_TERA (e12) POWER_GIGA (e9) POWER_MEGA (e6) POWER_KILO (e3) POWER_UNIT (e0, no scaling) POWER_MILLI (e-3) POWER_MICRO (e-6) POWER_NANO (e-9) POWER_PICO (e-12) POWER_FEMTO (e-15) POWER_HEX (HEX)

Usage
func.dlog->power = POWER_MILLI;

func.dlog->set_test_no
Description

Sets the current sub-test number that determines which pass-bin limits will be used to verify the result of the test. Valid numbers are 01 through 999.

ASL Series Programming Guide

359

17 - Additional User Functions

Format
short set_test_no(test_number);

Valid Arguments:
test_number 1 to 999

Usage
func.dlog->set_test_no(237);

func.dlog->test_val
Description

Passes the test result for data logging and comparison against the limits defined by set_test_no(). The type should either be float or unsigned short. The compiler will require explicit casting of the value if the type is not obvious from the variable.
Format
test_val(result);

Valid Arguments:
result

measured or calculated value in numerical or variable form


Usage
func.dlog->test_val(measured_voltage);

func.dlog->tests[ ].passed_fail
Description

Determines if the referenced test passed or failed the verification performed by test_val(). The tests are referenced by placing the numeric value of (test_num -1) within the brackets. This is an offset of one due to array element number beginning with zero. This function is used in conjunction with func.dlog->set_bin().

360

ASL Series Programming Guide

Datalog Functions

Format
func.dlog->tests[short (test_num 1)].passed_fail;

Valid Arguments:
test_number 1 to 999

Usage
if (func.dlog->tests[5].passed_fail == FAILED_TEST) func.dlog->set_bin(16); //if fail, then bin 16. Test number in variable test_num.

func.dlog->set_bin
Description

Sets the fail bin. This function is used in conjunction with func.dlog->tests[ ].passed_fail. Valid numbers are from 5 to 32.
Format
set_bin(short fail_bin);

Valid Arguments:
fail_bin 5 to 32

Usage

see func.dlog->tests[ ].passed_fail above.

func.dlog->tests[ ].display_results
Description

Determines if datalog is enabled for the referenced test as noted by (test_num 1). Returns1 for true, 0 for false. This function is used in conjunction with func.dlog>display_results().

ASL Series Programming Guide

361

17 - Additional User Functions

Format
func.dlog->tests[short (test_num 1)].display results;

Valid Arguments:
test_num 1 to 999

Usage
if (func.dlog->tests[5].display_results) func.dlog->display_results();

func.dlog->display_results
Description

Displays the results. This function is used in conjunction with func.dlog->tests[ ].display_results which determines if datalog is enabled.
Format
display_results(void);

Valid Arguments
none

Usage

see func.dlog->tests[ ].display_results above.

pass_bins[ ]
Description

A four element array that returns a TRUE or FALSE depending on the state of elements 0 3 representing Bin1 through Bin4. If the current bin is Bin1, then pass_bins[0] will return a TRUE. This is useful in deciding whether to run subsequent tests.

362

ASL Series Programming Guide

Datalog Functions

Format
boolean pass_bins[short x];

Valid Arguments:
x 0 to 3

Usage
if(pass_bins[0]) //if current bin is Bin1, then run the following tests; else, bail out. { Icc_test(); Vio_test(); } else Exit_Program(); //user written function

Code Example
Code
//---set up and use the datalogger--------------------------------func.dlog->power = POWER_MICRO; //set range to micro func.dlog->set_test_no(1); //set test # in this function to 1 func.dlog->test_val(meas_ftime); //pass the test result if(func.dlog->tests[func.dlog>current_test].passed_fail==FAILED_TEST) func.dlog->set_bin(16); //if fail, bin 16 if(func.dlog->tests[func.dlog->current_test].display_results) func.dlog->display_results(); //if datalog is on, display results //-----------------------------------------------------------------

The above datalog example uses a special element in the place of (test_num 1) within the tests[ ].passed_fail function and the tests[ ].display_results function. This element, current_test, contains the value of (test_num 1).

Test Limits
The limits are stored in the structure func.dlog for each sub-test and for each of the 4 pass bins as:
float min_limit = func.dlog->tests[test_num 1].f_min_limit_val[bin_num - 1]);

ASL Series Programming Guide

363

17 - Additional User Functions

float max_limit = func.dlog->tests[test_num - 1].f_max_limit_val[bin_num 1]);

364

ASL Series Programming Guide

A
ASL 1000 INTERCONNECTS
The tables on the following pages describe the connections and pins configured in the 21-slot ASL 1000 test card cage. Each table lists the connections for one slot; tables are arranged in numerical order, from Slot 1 to Slot 21.

ASL Series Programming Guide

365

366
OVI DVI PVI & PV3 ACS TMU DCC MUX HVS MVS PRO OFS LZB CH0 FORCE CH0 GUARD CH0 SENSE 3 SENSE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE DRV_14 MUX_5_1 DRV_15 MUX_5_2 DRV_13 MUX_5_3 DRV_12 MUX_5_4 DRV_10 MUX_6_1 DRV_11 MUX_6_2 TMU HIZ DUT4 DRV_9 MUX_6_3 TMU HIZ DUT3 DRV_8 MUX_6_4 5 FORCE TMU HIZ DUT2 DIFF_IN_REF MUX_7_1 HVS_OUT_COM MVS_OUT_COM 5 FORCE TMU HIZ DUT1 EXT_FBACK_2 MUX_7_2 HVS_REF_COM MVS_REF_COM DUT 10 OFS_REF_COM OFS_OUT_COM 5 SENSE DIFF_IN_POS MUX_7_3 DUT 11 (RLY DRV) 4 SENSE RMS IN 4 TMU CHAN A DUT1 EXT_IN_1 MUX_7_4 HVS_POS_FORCE MVS_POS_FORCE DUT 12 OFS_POS_FORCE RMS IN 2 TMU CHAN A DUT2 DIFF_IN_NEG MUX_8_1 DUT 13 (RLY DRV) OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28 2 SENSE SYNC 3 TMU CHAN B DUT1 PREC_REF_FORCE MUX_8_2 HVS_REF1 MVS_REF1 DUT 14 OFS_REF1 OUT_17 1 SENSE SYNC 1 TMU CHAN B DUT2 DAC_AGND MUX_8_3 HVS_NEG_FORCE MVS_NEG_FORCE OFS_NEG_FORCE OUT_16 -FORCE ACS OUT EXT ARM IN EXT_GND_REF MUX_8_4 HVS_REF2 MVS_REF2 DUT16 OFS_REF2 OUT_15

Slots

Conn.

Pin

J2

B17

CH3 FORCE

J2

B19

CH2 FORCE

J2

B21

CH1 FORCE

J2

B23

CH0 FORCE

J2

B25

CH7 FORCE

J2

B27

CH6 FORCE

J2

B29

CH5 FORCE

A - ASL 1000 Interconnects

Table 14. ASL 1000 Interconnects: Slot 1

ASL Series Programming Guide


EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 DRV_0 DRV_1 DRV_3 DRV_2 DRV_4 DRV_5 DRV_7 DRV_6 4 FORCE EXT CLK IN EXT_DRV_1 4 FORCE EXT_DRV_2 3 FORCE EXT_ADC_IN2 3 FORCE EXT_ADC_IN1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 2 FORCE RMS IN 3 IO1 PREC_REF_SENSE MUX_4_1 2 FORCE RMS IN 1 IO2 EXT_IN_2 MUX_4_2 1 FORCE SYNC 2 TMU EXT DRV2 SERVO_TRIGGER MUX_4_3 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 1 FORCE TMU EXT DRV1 EXT_FBACK_1 MUX_4_4 HVS_OUT_8 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14

J2

B31

CH4 FORCE

J2

B18

CH3 SENSE

J2

B20

CH2 SENSE

J2

B22

CH1 SENSE

J2

B24

CH0 SENSE

J2

B26

CH7 SENSE

J2

B28

CH6 SENSE

J2

B30

CH5 SENSE

J2

B32

CH4 SENSE

Conn

Pin

OVI

DVI

PVI & PV3

ACS

TMU

DCC

MUX

HVS

MVS

PRO

OFS

LZB

J2 C18 C19 C20 C21 C22 C23 C24 C25 C26 C27 C28 C29 C30 C31 C32 3 FORCE DRV_14 MUX_5_1 3 FORCE DRV_15 MUX_5_2 2 FORCE DRV_13 MUX_5_3 2 FORCE DRV_12 MUX_5_4 2 FORCE DRV_10 MUX_6_1 5 FORCE DRV_11 MUX_6_2 5 FORCE TMU HIZ DUT4 DRV_9 MUX_6_3 5 FORCE TMU HIZ DUT3 DRV_8 MUX_6_4 CH4 FORCE EXT DATA 5 FORCE TMU HIZ DUT2 DIFF_IN_REF MUX_7_1 HVS_OUT_COM MVS_OUT_COM CH5 FORCE CH1 SENSE 5 FORCE TMU HIZ DUT1 EXT_FBACK_2 MUX_7_2 HVS_REF_COM MVS_REF_COM DUT 10 CH6 FORCE CH1 GUARD 5 SENSE DIFF_IN_POS MUX_7_3 DUT 11 (RLY DRV) OFS_REF_COM OFS_OUT_COM CH7 FORCE CH1 FORCE 4 SENSE RMS IN 4 TMU CHAN A DUT1 EXT_IN_1 MUX_7_4 HVS_POS_FORCE MVS_POS_FORCE DUT 12 CH0 FORCE 3 SENSE RMS IN 2 TMU CHAN A DUT2 DIFF_IN_NEG MUX_8_1 DUT 13 (RLY DRV) OFS_POS_FORCE CH1 FORCE CH0 SENSE 2 SENSE SYNC 3 TMU CHAN B DUT1 PREC_REF_FORCE MUX_8_2 HVS_REF1 MVS_REF1 DUT 14 OFS_REF1 CH2 FORCE CH0 GUARD 1 SENSE SYNC 1 TMU CHAN B DUT2 DAC_AGND MUX_8_3 HVS_NEG_FORCE MVS_NEG_FORCE OFS_NEG_FORCE OUT_16 OUT_17 OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

C17

CH3 FORCE

CH0 FORCE

-FORCE

ACS OUT

EXT ARM IN

EXT_GND_REF

MUX_8_4

HVS_REF2

MVS_REF2

DUT16

OFS_REF2

OUT_15

J2

J2

J2

J2

J2

J2

J2

J2

J2

J2

J2

J2

J2

J2

J2

Table 15. ASL 1000 Interconnects: Slot 2

J2 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31 A32 3 FORCE -SENSE 1 FORCE TMU EXT DRV3 1 FORCE 1 FORCE 4 FORCE 4 FORCE 4 FORCE CH4 SENSE EXT CLOCK 4 FORCE EXT CLK IN CH5 SENSE EXT GND SENS 4 FORCE CH6 SENSE EXT ADC STB 3 FORCE CH7 SENSE EXT IN1 3 FORCE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2 EXT_DRV_1 DRV_0 DRV_1 DRV_3 DRV_2 DRV_4 DRV_5 DRV_7 DRV_6 CH0 SENSE EXT IN2 2 FORCE RMS IN 3 IO1 PREC_REF_SENSE CH1 SENSE EXT DRV2 2 FORCE RMS IN 1 IO2 EXT_IN_2 CH2 SENSE EXT IN3 1 FORCE SYNC 2 TMU EXT DRV2 SERVO_TRIGGER MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2

A17

CH3 SENSE

EXT DRV1

1 FORCE

TMU EXT DRV1

EXT_FBACK_1

MUX_4_4

HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1

MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1

DUT 8

OFS_OUT_8 OFS_OUT_7 DUT 6 DUT 5 (GND) OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) OFS_OUT_3 OFS_OUT_2 OFS_OUT_1

OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14

J2

J2

J2

J2

J2

J2

ASL Series Programming Guide


MUX_1_1

J2

J2

J2

J2

J2

J2

367

J2

J2

Slots

J2

368
Pin OVI DVI PVI & PV3 ACS TMU DCC MUX HVS MVS PRO OFS LZB B32 B30 B28 B26 B24 B22 B20 B18 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE DRV_14 MUX_5_1 DRV_15 MUX_5_2 DRV_13 MUX_5_3 DRV_12 MUX_5_4 DRV_10 MUX_6_1 DRV_11 MUX_6_2 TMU HIZ DUT4 DRV_9 MUX_6_3 TMU HIZ DUT3 DRV_8 MUX_6_4 CH4 FORCE EXT DATA 5 FORCE TMU HIZ DUT2 DIFF_IN_REF MUX_7_1 HVS_OUT_COM MVS_OUT_COM CH5 FORCE CH1 SENSE 5 FORCE TMU HIZ DUT1 EXT_FBACK_2 MUX_7_2 HVS_REF_COM MVS_REF_COM DUT 10 CH6 FORCE CH1 GUARD 5 SENSE DIFF_IN_POS MUX_7_3 DUT 11 (RLY DRV) OFS_REF_COM OFS_OUT_COM CH7 FORCE CH1 FORCE 4 SENSE RMS IN 4 TMU CHAN A DUT1 EXT_IN_1 MUX_7_4 HVS_POS_FORCE MVS_POS_FORCE DUT 12 CH0 FORCE 3 SENSE RMS IN 2 TMU CHAN A DUT2 DIFF_IN_NEG MUX_8_1 DUT 13 (RLY DRV) OFS_POS_FORCE CH1 FORCE CH0 SENSE 2 SENSE SYNC 3 TMU CHAN B DUT1 PREC_REF_FORCE MUX_8_2 HVS_REF1 MVS_REF1 DUT 14 OFS_REF1 CH2 FORCE CH0 GUARD 1 SENSE SYNC 1 TMU CHAN B DUT2 DAC_AGND MUX_8_3 HVS_NEG_FORCE MVS_NEG_FORCE OFS_NEG_FORCE OUT_16 OUT_17 OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28 CH3 FORCE CH0 FORCE -FORCE ACS OUT EXT ARM IN EXT_GND_REF MUX_8_4 HVS_REF2 MVS_REF2 DUT16 OFS_REF2 OUT_15

Conn

J3

J3

J3

J3

J3

J3

J3

A - ASL 1000 Interconnects

Table 16. ASL 1000 Interconnects: Slot 3

ASL Series Programming Guide


B31 B29 B27 B25 B23 B21 B19 B17 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 CH4 SENSE EXT CLOCK 4 FORCE EXT CLK IN CH5 SENSE EXT GND SENS 4 FORCE CH6 SENSE EXT ADC STB 3 FORCE CH7 SENSE EXT IN1 3 FORCE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2 EXT_DRV_1 DRV_0 DRV_1 DRV_3 DRV_2 DRV_4 DRV_5 DRV_7 DRV_6 CH0 SENSE EXT IN2 2 FORCE RMS IN 3 IO1 PREC_REF_SENSE CH1 SENSE EXT DRV2 2 FORCE RMS IN 1 IO2 EXT_IN_2 CH2 SENSE EXT IN3 1 FORCE SYNC 2 TMU EXT DRV2 SERVO_TRIGGER MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 CH3 SENSE EXT DRV1 1 FORCE TMU EXT DRV1 EXT_FBACK_1 MUX_4_4 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1

J3

J3

OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14

J3

J3

J3

J3

J3

J3

J3

Conn

Pin

OVI

DVI

PV1 & PV3

ACS

TMU

DCC

MUX

HVS

MVS

PRO

OFS

LZB

PRO-DIG

J3 GND CH1-1 CH1-2 GND CH1-3 OUT_20 OFS_REF_COM OFS_OUT_COM OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28 CH1-4 GND EXT_CLK GND CH1-5 CH1-6 GND A31 A30 A29 A28 A27 A26 A25 A24 A23 A22 A21 A20 A19 A18 A17 3 FORCE DRV_14 MUX_5_1 3 FORCE DRV_15 MUX_5_2 2 FORCE DRV_13 MUX_5_3 2 FORCE DRV_12 MUX_5_4 2 FORCE DRV_10 MUX_6_1 5 FORCE DRV_11 MUX_6_2 5 FORCE TMU HIZ DUT4 DRV_9 MUX_6_3 5 FORCE TMU HIZ DUT3 DRV_8 MUX_6_4 CH4 FORCE EXT DATA 5 FORCE TMU HIZ DUT2 DIFF_IN_REF MUX_7_1 HVS_OUT_COM MVS_OUT_COM CH5 FORCE CH1 SENSE 5 FORCE TMU HIZ DUT1 EXT_FBACK_2 MUX_7_2 HVS_REF_COM MVS_REF_COM DUT 10 CH6 FORCE CH1 GUARD 5 SENSE DIFF_IN_POS MUX_7_3 DUT 11 (RLY DRV) CH7 FORCE CH1 FORCE 4 SENSE RMS IN 4 TMU CHAN A DUT1 EXT_IN_1 MUX_7_4 HVS_POS_FORCE MVS_POS_FORCE DUT 12 OFS_POS_FORCE CH0 FORCE 3 SENSE RMS IN 2 TMU CHAN A DUT2 DIFF_IN_NEG MUX_8_1 DUT 13 (RLY DRV) OUT_18 OUT_19 CH1 FORCE CH0 SENSE 2 SENSE SYNC 3 TMU CHAN B DUT1 PREC_REF_FORCE MUX_8_2 HVS_REF1 MVS_REF1 DUT 14 OFS_REF1 OUT_17 CH2 FORCE CH0 GUARD 1 SENSE SYNC 1 TMU CHAN B DUT2 DAC_AGND MUX_8_3 HVS_NEG_FORCE MVS_NEG_FORCE OFS_NEG_FORCE OUT_16

A32

CH3 FORCE

CH0 FORCE

-FORCE

ACS OUT

EXT ARM IN

EXT_GND_REF

MUX_8_4

HVS_REF2

MVS_REF2

DUT16

OFS_REF2

OUT_15

J3

J3

J3

J3

J3

J3

J3

J3

J3

J3

J3

J3

J3

J3

J3

Table 17. ASL 1000 Interconnects: Slot 4

J3 C31 C30 C29 C28 C27 C26 C25 C24 C23 C22 C21 C20 C19 C18 C17 -SENSE 3 FORCE 1 FORCE TMU EXT DRV3 1 FORCE 1 FORCE 4 FORCE 4 FORCE 4 FORCE CH4 SENSE EXT CLOCK 4 FORCE EXT CLK IN CH5 SENSE EXT GND SENS 4 FORCE EXT_DRV_2 EXT_DRV_1 DRV_0 DRV_1 DRV_3 DRV_2 DRV_4 DRV_5 DRV_7 DRV_6 CH6 SENSE EXT ADC STB 3 FORCE EXT_ADC_IN2 CH7 SENSE EXT IN1 3 FORCE EXT_ADC_IN1 CH0 SENSE EXT IN2 2 FORCE RMS IN 3 IO1 PREC_REF_SENSE CH1 SENSE EXT DRV2 2 FORCE RMS IN 1 IO2 EXT_IN_2 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 CH2 SENSE EXT IN3 1 FORCE SYNC 2 TMU EXT DRV2 SERVO_TRIGGER MUX_4_3

C32

CH3 SENSE

EXT DRV1

1 FORCE

TMU EXT DRV1

EXT_FBACK_1

MUX_4_4

HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1

MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1

DUT 8

OFS_OUT_8 OFS_OUT_7 DUT 6 DUT 5 (GND) OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) OFS_OUT_3 OFS_OUT_2 OFS_OUT_1

OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14

GND CH2-1 CH2-2 GND CH2-3 CH2-4 GND EXT_TRIG GND CH2-5 CH2-6 GND

J3

J3

J3

J3

J3

J3

ASL Series Programming Guide


MUX_1_1

J3

J3

J3

J3

J3

J3

369

J3

J3

Slots

J3

370
Conn Pin OVI DVI PVI & PV3 ACS TMU DCC MUX HVS MVS PRO OFS LZB J5 J5 J5 J5 J5 J5 J5 J5 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE DRV_14 MUX_5_1 DRV_15 MUX_5_2 DRV_13 MUX_5_3 DRV_12 MUX_5_4 DRV_10 MUX_6_1 DRV_11 MUX_6_2 TMU HIZ DUT4 DRV_9 MUX_6_3 TMU HIZ DUT3 DRV_8 MUX_6_4 B31 CH4 FORCE EXT DATA 5 FORCE TMU HIZ DUT2 DIFF_IN_REF MUX_7_1 HVS_OUT_COM MVS_OUT_COM B29 CH5 FORCE CH1 SENSE 5 FORCE TMU HIZ DUT1 EXT_FBACK_2 MUX_7_2 HVS_REF_COM MVS_REF_COM DUT 10 B27 CH6 FORCE CH1 GUARD 5 SENSE DIFF_IN_POS MUX_7_3 DUT 11 (RLY DRV) OFS_REF_COM OFS_OUT_COM B25 CH7 FORCE CH1 FORCE 4 SENSE RMS IN 4 TMU CHAN A DUT1 EXT_IN_1 MUX_7_4 HVS_POS_FORCE MVS_POS_FORCE DUT 12 B23 CH0 FORCE 3 SENSE RMS IN 2 TMU CHAN A DUT2 DIFF_IN_NEG MUX_8_1 DUT 13 (RLY DRV) OFS_POS_FORCE B21 CH1 FORCE CH0 SENSE 2 SENSE SYNC 3 TMU CHAN B DUT1 PREC_REF_FORCE MUX_8_2 HVS_REF1 MVS_REF1 DUT 14 OFS_REF1 B19 CH2 FORCE CH0 GUARD 1 SENSE SYNC 1 TMU CHAN B DUT2 DAC_AGND MUX_8_3 HVS_NEG_FORCE MVS_NEG_FORCE OFS_NEG_FORCE OUT_16 OUT_17 OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28 B17 CH3 FORCE CH0 FORCE -FORCE ACS OUT EXT ARM IN EXT_GND_REF MUX_8_4 HVS_REF2 MVS_REF2 DUT16 OFS_REF2 OUT_15

A - ASL 1000 Interconnects

Table 18. ASL 1000 Interconnects: Slot 5

ASL Series Programming Guide


J5 J5 J5 J5 J5 J5 J5 J5 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 B32 CH4 SENSE EXT CLOCK 4 FORCE EXT CLK IN B30 CH5 SENSE EXT GND SENS 4 FORCE B28 CH6 SENSE EXT ADC STB 3 FORCE B26 CH7 SENSE EXT IN1 3 FORCE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2 EXT_DRV_1 DRV_0 DRV_1 DRV_3 DRV_2 DRV_4 DRV_5 DRV_7 DRV_6 B24 CH0 SENSE EXT IN2 2 FORCE RMS IN 3 IO1 PREC_REF_SENSE B22 CH1 SENSE EXT DRV2 2 FORCE RMS IN 1 IO2 EXT_IN_2 B20 CH2 SENSE EXT IN3 1 FORCE SYNC 2 TMU EXT DRV2 SERVO_TRIGGER MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 B18 CH3 SENSE EXT DRV1 1 FORCE TMU EXT DRV1 EXT_FBACK_1 MUX_4_4 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1

OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14

Conn

Pin

OVI

DVI

PVI & PV3

ACS

TMU

DCC

MUX

HVS

MVS

PRO

OFS

LZB

J5 J5 J5 J5 J5 J5 J5 J5 J5 J5 J5 J5 J5 J5 J5 J5 C16 3 FORCE DRV_14 MUX_5_1 C15 3 FORCE DRV_15 MUX_5_2 C14 2 FORCE DRV_13 MUX_5_3 C13 2 FORCE DRV_12 MUX_5_4 C12 2 FORCE DRV_10 MUX_6_1 C11 5 FORCE DRV_11 MUX_6_2 C10 5 FORCE TMU HIZ DUT4 DRV_9 MUX_6_3 C9 5 FORCE TMU HIZ DUT3 DRV_8 MUX_6_4 C8 CH4 FORCE EXT DATA 5 FORCE TMU HIZ DUT2 DIFF_IN_REF MUX_7_1 HVS_OUT_COM MVS_OUT_COM C7 CH5 FORCE CH1 SENSE 5 FORCE TMU HIZ DUT1 EXT_FBACK_2 MUX_7_2 HVS_REF_COM MVS_REF_COM DUT 10 C6 CH6 FORCE CH1 GUARD 5 SENSE DIFF_IN_POS MUX_7_3 DUT 11 (RLY DRV) OFS_REF_COM OFS_OUT_COM C5 CH7 FORCE CH1 FORCE 4 SENSE RMS IN 4 TMU CHAN A DUT1 EXT_IN_1 MUX_7_4 HVS_POS_FORCE MVS_POS_FORCE DUT 12 C4 CH0 FORCE 3 SENSE RMS IN 2 TMU CHAN A DUT2 DIFF_IN_NEG MUX_8_1 DUT 13 (RLY DRV) OFS_POS_FORCE C3 CH1 FORCE CH0 SENSE 2 SENSE SYNC 3 TMU CHAN B DUT1 PREC_REF_FORCE MUX_8_2 HVS_REF1 MVS_REF1 DUT 14 OFS_REF1 C2 CH2 FORCE CH0 GUARD 1 SENSE SYNC 1 TMU CHAN B DUT2 DAC_AGND MUX_8_3 HVS_NEG_FORCE MVS_NEG_FORCE OFS_NEG_FORCE OUT_16 OUT_17 OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

C1

CH3 FORCE

CH0 FORCE

-FORCE

ACS OUT

EXT ARM IN

EXT_GND_REF

MUX_8_4

HVS_REF2

MVS_REF2

DUT16

OFS_REF2

OUT_15

Table 19. ASL 1000 Interconnects: Slot 6

J5 J5 J5 J5 J5 J5 J5 J5 J5 J5 J5 J5 J5 J5 J5 J5 A16 A15 3 FORCE -SENSE A14 1 FORCE TMU EXT DRV3 A13 1 FORCE A12 1 FORCE A11 4 FORCE A10 4 FORCE A9 4 FORCE A8 CH4 SENSE EXT CLOCK 4 FORCE EXT CLK IN A7 CH5 SENSE EXT GND SENS 4 FORCE A6 CH6 SENSE EXT ADC STB 3 FORCE A5 CH7 SENSE EXT IN1 3 FORCE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2 EXT_DRV_1 DRV_0 DRV_1 DRV_3 DRV_2 DRV_4 DRV_5 DRV_7 DRV_6 A4 CH0 SENSE EXT IN2 2 FORCE RMS IN 3 IO1 PREC_REF_SENSE A3 CH1 SENSE EXT DRV2 2 FORCE RMS IN 1 IO2 EXT_IN_2 A2 CH2 SENSE EXT IN3 1 FORCE SYNC 2 TMU EXT DRV2 SERVO_TRIGGER MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2

A1

CH3 SENSE

EXT DRV1

1 FORCE

TMU EXT DRV1

EXT_FBACK_1

MUX_4_4

HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1

MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1

DUT 8

OFS_OUT_8 OFS_OUT_7 DUT 6 DUT 5 (GND) OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) OFS_OUT_3 OFS_OUT_2 OFS_OUT_1

OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14

ASL Series Programming Guide


MUX_1_1

371

Slots

372
Pin OVI DVI PVI & PV3 ACS TMU DDD(M) DCC MUX HVS MVS PRO OFS B2 B4 B6 B8 B10 B12 B14 B16 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE DRV_14 MUX_5_1 DRV_15 MUX_5_2 DRV_13 MUX_5_3 DRV_12 MUX_5_4 DRV_10 MUX_6_1 DRV_11 MUX_6_2 TMU HIZ DUT4 DRV_9 MUX_6_3 TMU HIZ DUT3 DRV_8 MUX_6_4 CH4 FORCE EXT DATA 5 FORCE TMU HIZ DUT2 CHANNEL 8 DIFF_IN_REF MUX_7_1 HVS_OUT_COM MVS_OUT_COM CH5 FORCE CH1 SENSE 5 FORCE TMU HIZ DUT1 CHANNEL 7 EXT_FBACK_2 MUX_7_2 HVS_REF_COM MVS_REF_COM DUT 10 CH6 FORCE CH1 GUARD 5 SENSE CHANNEL 6 DIFF_IN_POS MUX_7_3 DUT 11 (RLY DRV) OFS_REF_COM OFS_OUT_COM CH7 FORCE CH1 FORCE 4 SENSE RMS IN 4 TMU CHAN A DUT1 CHANNEL 5 EXT_IN_1 MUX_7_4 HVS_POS_FORCE MVS_POS_FORCE DUT 12 CH0 FORCE 3 SENSE RMS IN 2 TMU CHAN A DUT2 CHANNEL 4 DIFF_IN_NEG MUX_8_1 DUT 13 (RLY DRV) OFS_POS_FORCE CH1 FORCE CH0 SENSE 2 SENSE SYNC 3 TMU CHAN B DUT1 CHANNEL 3 PREC_REF_FORCE MUX_8_2 HVS_REF1 MVS_REF1 DUT 14 OFS_REF1 CH2 FORCE CH0 GUARD 1 SENSE SYNC 1 TMU CHAN B DUT2 CHANNEL 2 DAC_AGND MUX_8_3 HVS_NEG_FORCE MVS_NEG_FORCE OFS_NEG_FORCE CH3 FORCE CH0 FORCE -FORCE ACS OUT EXT ARM IN CHANNEL 1 EXT_GND_REF MUX_8_4 HVS_REF2 MVS_REF2 DUT16 OFS_REF2

Conn

J5

J5

J5

J5

Table 20.

J5

J5

J5

A - ASL 1000 Interconnects

ASL Series Programming Guide


B1 B3 B5 B7 B9 B11 B13 B15 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 CH4 SENSE EXT CLOCK 4 FORCE EXT CLK IN CH5 SENSE EXT GND SENS 4 FORCE CH6 SENSE EXT ADC STB 3 FORCE CH7 SENSE EXT IN1 3 FORCE CH0 SENSE EXT IN2 2 FORCE RMS IN 3 IO1 CH1 SENSE EXT DRV2 2 FORCE RMS IN 1 IO2 EXT_IN_2 PREC_REF_SENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2 EXT_DRV_1 DRV_0 DRV_1 DRV_3 DRV_2 DRV_4 DRV_5 DRV_7 DRV_6 CH2 SENSE EXT IN3 1 FORCE SYNC 2 TMU EXT DRV2 SERVO_TRIGGER CH3 SENSE EXT DRV1 1 FORCE TMU EXT DRV1 EXT_FBACK_1 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8

J5

ASL 1000 Interconnects: Slot 7

J5

OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1

J5

J5

J5

J5

J5

J5

J5

Conn

Pin

DVI

ACS

TMU

DOAL

LCB

DCC

MUX

HVS

MVS

PRO

OFS

LZB

J1 A2 CH0 GUARD A3 CH0 SENSE A4 A5 CH1 FORCE A6 CH1 GUARD A7 CH1 SENSE A8 EXT DATA A9 A10 A11 A12 A13 A14 A15 A16 DRV_14 MUX_5_1 CH1 POS IN CH2 DUT POS DRV_15 MUX_5_2 DRV_13 MUX_5_3 CH1 NEG IN CH2 DUT NEG DRV_12 MUX_5_4 CH1 PICO NEG CH2 PICO POS DRV_10 MUX_6_1 CH1 NEG OUT DRV_11 MUX_6_2 TMU HIZ DUT4 CH1 PICO POS CH2 PICO POS DRV_9 MUX_6_3 TMU HIZ DUT3 CH1 POS OUT DRV_8 MUX_6_4 TMU HIZ DUT2 EXT DRV 2 DIFF_IN_REF MUX_7_1 HVS_OUT_COM MVS_OUT_COM TMU HIZ DUT1 DUT POS IN CH3 DUT POS EXT_FBACK_2 MUX_7_2 HVS_REF_COM MVS_REF_COM DUT 10 EXT DRV 1 CH2 3 CONNECT DIFF_IN_POS MUX_7_3 DUT 11 (RLY DRV) OFS_REF_COM OFS_OUT_COM RMS IN 4 TMU CHAN A DUT1 DUT NEG IN CH3 DUT NEG EXT_IN_1 MUX_7_4 HVS_POS_FORCE MVS_POS_FORCE DUT 12 RMS IN 2 TMU CHAN A DUT2 EXT PICO NEG CH3 PICO NEG DIFF_IN_NEG MUX_8_1 DUT 13 (RLY DRV) OFS_POS_FORCE SYNC 3 TMU CHAN B DUT1 DUT NEG OUT PREC_REF_FORCE MUX_8_2 HVS_REF1 MVS_REF1 DUT 14 OFS_REF1 SYNC 1 TMU CHAN B DUT2 EXT PICO POS CH3 PICO POS DAC_AGND MUX_8_3 HVS_NEG_FORCE MVS_NEG_FORCE OFS_NEG_FORCE OUT_16 OUT_17 OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

A1 CH0 FORCE

ACS OUT

EXT ARM IN

DUT POS OUT

EXT_GND_REF

MUX_8_4

HVS_REF2

MVS_REF2

DUT16

OFS_REF2

OUT_15

J1

J1

J1

J1

J1

J1

J1

J1

J1

J1

J1

J1

J1

J1

J1

Table 21. ASL 1000 Interconnects: Slot 8

J1 C2 EXT IN3 C3 EXT DRV2 C4 EXT IN2 C5 EXT IN1 C6 EXT ADC STB C7 EXT GND SENS C8 EXT CLOCK C9 C10 C11 C12 C13 C14 C15 C16 TMU EXT DRV3 CH1 OUT OUT CH1 EXT DRV CH1 FEEDBACK CH1 RMS MTR CH1 DUT OUT CH2 FEEDBACK CH1 LOAD CONN CH1 OUT 2 EXT CLK IN DUT OUT OUT EXT REF DUT OUT RMS METER EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2 EXT_DRV_1 DRV_0 DRV_1 DRV_3 DRV_2 DRV_4 DRV_5 DRV_7 DRV_6 RMS IN 3 IO1 CH0 FEEDBACK CH3 FEEDBACK PREC_REF_SENSE RMS IN 1 IO2 EXT RLY DRV CH2 3 BYPASS EXT_IN_2 SYNC 2 TMU EXT DRV2 EXT LOAD CONN SERVO_TRIGGER MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2

C1 EXT DRV1

TMU EXT DRV1

DUT OUT 2

EXT_FBACK_1

MUX_4_4

HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1

MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1

DUT 8

OFS_OUT_8 OFS_OUT_7 DUT 6 DUT 5 (GND) OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) OFS_OUT_3 OFS_OUT_2 OFS_OUT_1

OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14

J1

J1

J1

J1

J1

J1

ASL Series Programming Guide


MUX_1_1

J1

J1

J1

J1

J1

J1

373

J1

J1

Slots

J1

374
Connector Pin DVI J1 J1 J1 J1 J1 J1 J1 J1 B13 EXT DATA B14 CH1 SENSE B15 CH1 GUARD B16 CH1 FORCE B17
CHO MEAS

B20 B19 B18 CH0 SENSE CH0 GUARD

A - ASL 1000 Interconnects

CH0 FORCE

Table 22. ASL 1000 Interconnects: Slot 9

ASL Series Programming Guide


J1 J1 J1 J1 J1 J1 J1 J1 B9 EXT CLOCK B8 EXT GND SENS B7 EXT ADC STB B6 EXT IN1 B5 EXT IN2 B10 EXT DRV2 B11 CH1 MEAS B12 EXT DRV1

Conn

Pin

DVI

ACS

TMU

DDD(S)

DOAL

LCB

DCC

MUX

HVS

MVS

PRO

J1 J1 CH1 PICO POS PREC_REF_FORCE CH1 PICO NEG CH1 DUT NEG CH1 4 CONNECT CH1 DUT POS DIFF_IN_REF DRV_8 CH4 PICO POS DRV_11 CH4 PICO POS CH4 DUT NEG DRV_13 CH1 POS IN CH4 DUT POS DRV_14 DRV_15 MUX_5_3 MUX_5_2 MUX_5_1 DRV_12 MUX_5_4 DRV_10 MUX_6_1 MUX_6_2 DRV_9 MUX_6_3 MUX_6_4 MUX_7_1 HVS_OUT_COM EXT_FBACK_2 MUX_7_2 HVS_REF_COM MVS_REF_COM MVS_OUT_COM DIFF_IN_POS MUX_7_3 EXT_IN_1 MUX_7_4 HVS_POS_FORCE MVS_POS_FORCE DIFF_IN_NEG MUX_8_1 MUX_8_2 HVS_REF1 MVS_REF1 DUT 14 DUT 13 (RLY DRV) DUT 12 DUT 11 (RLY DRV) DUT 10 J1 J1 J1 J1 J1 J1 J1 J1 J1 J1 J1 J1 J1 J1 A32 A31 A30 A29 CH1 NEG IN A28 CH1 PICO NEG A27 CH1 NEG OUT A26 TMU HIZ DUT4 CH1 PICO POS A25 TMU HIZ DUT3 CH1 POS OUT A24 EXT DATA TMU HIZ DUT2 CHANNEL 8 EXT DRV 2 A23 CH1 SENSE TMU HIZ DUT1 CHANNEL 7 DUT POS IN A22 CH1 GUARD CHANNEL 6 EXT DRV 1 A21 CH1 FORCE RMS IN 4 TMU CHAN A DUT1 CHANNEL 5 DUT NEG IN A20 RMS IN 2 TMU CHAN A DUT2 CHANNEL 4 EXT PICO NEG A19 CH0 SENSE SYNC 3 TMU CHAN B DUT1 CHANNEL 3 DUT NEG OUT A18 CH0 GUARD SYNC 1 TMU CHAN B DUT2 CHANNEL 2 EXT PICO POS DAC_AGND MUX_8_3 HVS_NEG_FORCE MVS_NEG_FORCE

A17 CH0 FORCE

ACS OUT

EXT ARM IN

CHANNEL 1

DUT POS OUT

EXT_GND_REF

MUX_8_4

HVS_REF2

MVS_REF2

DUT16

J1 J1 J1 J1 J1 J1 J1 J1 J1 J1 J1 J1 J1 J1 J1 J1 C32 C31 C30 TMU EXT DRV3 CH1 OUT OUT C29 C28 C27 C26 C25 C24 EXT CLOCK EXT CLK IN DUT OUT OUT CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK CH1 RMS MTR CH1 DUT OUT CH4 FEEDBACK C23 EXT GND SENS EXT REF C22 EXT ADC STB DUT OUT C21 EXT IN1 RMS METER C20 EXT IN2 RMS IN 3 IO1 CH0 FEEDBACK C19 EXT DRV2 RMS IN 1 IO2 EXT RLY DRV CH1 4 BYPASS CH1 FEEDBACK C18 EXT IN3 SYNC 2 TMU EXT DRV2 EXT LOAD CONN

C17 EXT DRV1

TMU EXT DRV1

DUT OUT 2

EXT_FBACK_1 SERVO_TRIGGER EXT_IN_2 PREC_REF_SENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2 EXT_DRV_1 DRV_0 DRV_1 DRV_3 DRV_2 DRV_4 DRV_5 DRV_7 DRV_6

MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2

HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1

MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1

Table 23. ASL 1000 Interconnects: Slot 10

DUT 8

DUT 6 DUT 5 (GND)

DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V)

ASL Series Programming Guide


MUX_1_1

375

Slots

376
Pin OVI DVI PVI & PV3 ACS TMU DCC MUX HVS MVS PRO OFS LZB B21 B22 B23 B24 B25 B26 B27 B28 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE DRV_14 MUX_5_1 DRV_15 MUX_5_2 DRV_13 MUX_5_3 DRV_12 MUX_5_4 DRV_10 MUX_6_1 DRV_11 MUX_6_2 TMU HIZ DUT4 DRV_9 MUX_6_3 TMU HIZ DUT3 DRV_8 MUX_6_4 CH4 FORCE EXT DATA 5 FORCE TMU HIZ DUT2 DIFF_IN_REF MUX_7_1 HVS_OUT_COM MVS_OUT_COM CH5 FORCE CH1 SENSE 5 FORCE TMU HIZ DUT1 EXT_FBACK_2 MUX_7_2 HVS_REF_COM MVS_REF_COM DUT 10 CH6 FORCE CH1 GUARD 5 SENSE DIFF_IN_POS MUX_7_3 DUT 11 (RLY DRV) OFS_REF_COM OFS_OUT_COM CH7 FORCE CH1 FORCE 4 SENSE RMS IN 4 TMU CHAN A DUT1 EXT_IN_1 MUX_7_4 HVS_POS_FORCE MVS_POS_FORCE DUT 12 CH0 FORCE CH0 MEAS 3 SENSE RMS IN 2 TMU CHAN A DUT2 DIFF_IN_NEG MUX_8_1 DUT 13 (RLY DRV) OFS_POS_FORCE CH1 FORCE CH0 SENSE 2 SENSE SYNC 3 TMU CHAN B DUT1 PREC_REF_FORCE MUX_8_2 HVS_REF1 MVS_REF1 DUT 14 OFS_REF1 CH2 FORCE CH0 GUARD 1 SENSE SYNC 1 TMU CHAN B DUT2 DAC_AGND MUX_8_3 HVS_NEG_FORCE MVS_NEG_FORCE OFS_NEG_FORCE OUT_16 OUT_17 OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28 CH3 FORCE CH0 FORCE -FORCE ACS OUT EXT ARM IN EXT_GND_REF MUX_8_4 HVS_REF2 MVS_REF2 DUT16 OFS_REF2 OUT_15 B21 B22 B23 B24 B25 B26 B27 B28 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 CH4 SENSE EXT CLOCK 4 FORCE EXT CLK IN CH5 SENSE EXT GND SENS 4 FORCE CH6 SENSE EXT ADC STB 3 FORCE EXT_ADC_IN2 EXT_DRV_2 EXT_DRV_1 DRV_0 DRV_1 DRV_3 DRV_2 DRV_4 DRV_5 DRV_7 DRV_6 CH7 SENSE EXT IN1 3 FORCE EXT_ADC_IN1 CH0 SENSE EXT IN2 2 FORCE RMS IN 3 IO1 PREC_REF_SENSE CH1 SENSE EXT DRV2 2 FORCE RMS IN 1 IO2 EXT_IN_2 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 CH2 SENSE CH1 MEAS 1 FORCE SYNC 2 TMU EXT DRV2 SERVO_TRIGGER MUX_4_3 CH3 SENSE EXT DRV1 1 FORCE TMU EXT DRV1 EXT_FBACK_1 MUX_4_4 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14

Conn

J4

J4

J4

J4

J4

J4

J4

A - ASL 1000 Interconnects

Table 24. ASL 1000 Interconnects: Slot 11

ASL Series Programming Guide

J4

J1

J1

J1

J1

J1

J1

J1

J1

Conn

Pin

OVI

DVI

PVI & PV3

ACS

TMU

DCC

MUX

HVS

MVS

PRO

OFS

LZB

PRO-DIG

J4 GND CH1-1 CH1-2 GND CH1-3 OUT_20 OFS_REF_COM OFS_OUT_COM OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28 CH1-4 GND EXT_CLK GND CH1-5 CH1-6 GND A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 3 FORCE DRV_14 MUX_5_1 3 FORCE DRV_15 MUX_5_2 2 FORCE DRV_13 MUX_5_3 2 FORCE DRV_12 MUX_5_4 2 FORCE DRV_10 MUX_6_1 5 FORCE DRV_11 MUX_6_2 5 FORCE TMU HIZ DUT4 DRV_9 MUX_6_3 5 FORCE TMU HIZ DUT3 DRV_8 MUX_6_4 CH4 FORCE EXT DATA 5 FORCE TMU HIZ DUT2 DIFF_IN_REF MUX_7_1 HVS_OUT_COM MVS_OUT_COM CH5 FORCE CH1 SENSE 5 FORCE TMU HIZ DUT1 EXT_FBACK_2 MUX_7_2 HVS_REF_COM MVS_REF_COM DUT 10 CH6 FORCE CH1 GUARD 5 SENSE DIFF_IN_POS MUX_7_3 DUT 11 (RLY DRV) CH7 FORCE CH1 FORCE 4 SENSE RMS IN 4 TMU CHAN A DUT1 EXT_IN_1 MUX_7_4 HVS_POS_FORCE MVS_POS_FORCE DUT 12 OFS_POS_FORCE CH0 FORCE 3 SENSE RMS IN 2 TMU CHAN A DUT2 DIFF_IN_NEG MUX_8_1 DUT 13 (RLY DRV) OUT_18 OUT_19 CH1 FORCE CH0 SENSE 2 SENSE SYNC 3 TMU CHAN B DUT1 PREC_REF_FORCE MUX_8_2 HVS_REF1 MVS_REF1 DUT 14 OFS_REF1 OUT_17 CH2 FORCE CH0 GUARD 1 SENSE SYNC 1 TMU CHAN B DUT2 DAC_AGND MUX_8_3 HVS_NEG_FORCE MVS_NEG_FORCE OFS_NEG_FORCE OUT_16

A1

CH3 FORCE

CH0 FORCE

-FORCE

ACS OUT

EXT ARM IN

EXT_GND_REF

MUX_8_4

HVS_REF2

MVS_REF2

DUT16

OFS_REF2

OUT_15

J4

J4

J4

J4

J4

J4

J4

J4

J4

J4

J4

J4

J4

J4

J4

J4 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15 C16 -SENSE 3 FORCE 1 FORCE TMU EXT DRV3 1 FORCE 1 FORCE 4 FORCE 4 FORCE 4 FORCE CH4 SENSE EXT CLOCK 4 FORCE EXT CLK IN CH5 SENSE EXT GND SENS 4 FORCE EXT_DRV_2 EXT_DRV_1 DRV_0 DRV_1 DRV_3 DRV_2 DRV_4 DRV_5 DRV_7 DRV_6 CH6 SENSE EXT ADC STB 3 FORCE EXT_ADC_IN2 CH7 SENSE EXT IN1 3 FORCE EXT_ADC_IN1 CH0 SENSE EXT IN2 2 FORCE RMS IN 3 IO1 PREC_REF_SENSE CH1 SENSE EXT DRV2 2 FORCE RMS IN 1 IO2 EXT_IN_2 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 CH2 SENSE EXT IN3 1 FORCE SYNC 2 TMU EXT DRV2 SERVO_TRIGGER MUX_4_3

C1

CH3 SENSE

EXT DRV1

1 FORCE

TMU EXT DRV1

EXT_FBACK_1

MUX_4_4

HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1

MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1

DUT 8

OFS_OUT_8 OFS_OUT_7 DUT 6 DUT 5 (GND) OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) OFS_OUT_3 OFS_OUT_2 OFS_OUT_1

OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14

GND CH2-1 CH2-2 GND CH2-3 CH2-4 GND EXT_TRIG GND CH2-5 CH2-6 GND

Table 25. ASL 1000 Interconnects: Slot 12

J4

J4

J4

J4

J4

J4

ASL Series Programming Guide


MUX_1_1

J4

J4

J4

J4

J4

J4

377

J4

J4

Slots

J4

378
Pin OVI DVI PVI & PV3 ACS TMU DCC MUX HVS MVS PRO OFS LZB B20 B19 B18 B17
CH0 MEAS

Conn

J4 CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE DRV_14 MUX_5_1 DRV_15 MUX_5_2 DRV_13 MUX_5_3 DRV_12 MUX_5_4 DRV_10 MUX_6_1 DRV_11 MUX_6_2 TMU HIZ DUT4 DRV_9 MUX_6_3 TMU HIZ DUT3 DRV_8 MUX_6_4 EXT DATA 5 FORCE TMU HIZ DUT2 DIFF_IN_REF MUX_7_1 HVS_OUT_COM MVS_OUT_COM CH1 SENSE 5 FORCE TMU HIZ DUT1 EXT_FBACK_2 MUX_7_2 HVS_REF_COM MVS_REF_COM DUT 10 CH1 GUARD 5 SENSE DIFF_IN_POS MUX_7_3 DUT 11 (RLY DRV) OFS_REF_COM OFS_OUT_COM CH1 FORCE 4 SENSE RMS IN 4 TMU CHAN A DUT1 EXT_IN_1 MUX_7_4 HVS_POS_FORCE MVS_POS_FORCE DUT 12 3 SENSE RMS IN 2 TMU CHAN A DUT2 DIFF_IN_NEG MUX_8_1 DUT 13 (RLY DRV) OFS_POS_FORCE CH0 SENSE 2 SENSE SYNC 3 TMU CHAN B DUT1 PREC_REF_FORCE MUX_8_2 HVS_REF1 MVS_REF1 DUT 14 OFS_REF1 CH0 GUARD 1 SENSE SYNC 1 TMU CHAN B DUT2 DAC_AGND MUX_8_3 HVS_NEG_FORCE MVS_NEG_FORCE OFS_NEG_FORCE OUT_16 OUT_17 OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

CH3 FORCE

CH0 FORCE

-FORCE

ACS OUT

EXT ARM IN

EXT_GND_REF

MUX_8_4

HVS_REF2

MVS_REF2

DUT16

OFS_REF2

OUT_15

J4

J4

J4 B16 B15 B14 B13

J4

J4

J4

A - ASL 1000 Interconnects

Table 26. ASL 1000 Interconnects: Slot 13

ASL Series Programming Guide


B12 B11 B10 B5 B6 B7 B8 B9 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 CH4 SENSE EXT CLOCK 4 FORCE EXT CLK IN CH5 SENSE EXT GND SENS 4 FORCE CH6 SENSE EXT ADC STB 3 FORCE EXT_ADC_IN2 EXT_DRV_2 EXT_DRV_1 DRV_0 DRV_1 DRV_3 DRV_2 DRV_4 DRV_5 DRV_7 DRV_6 CH7 SENSE EXT IN1 3 FORCE EXT_ADC_IN1 CH0 SENSE EXT IN2 2 FORCE RMS IN 3 IO1 PREC_REF_SENSE CH1 SENSE EXT DRV2 2 FORCE RMS IN 1 IO2 EXT_IN_2 CH2 SENSE
CH1 MEAS

J4

J4 1 FORCE SYNC 2 TMU EXT DRV2 SERVO_TRIGGER MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1

CH3 SENSE

EXT DRV1

1 FORCE

TMU EXT DRV1

EXT_FBACK_1

MUX_4_4

HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1

MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1

DUT 8

OFS_OUT_8 OFS_OUT_7 DUT 6 DUT 5 (GND) OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) OFS_OUT_3 OFS_OUT_2 OFS_OUT_1

OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14

J4

J4

J4

J4

J4

J4

J4

Conn

Pin

OVI

DVI

PVI & PV3

ACS

TMU

DCC

MUX

HVS

MVS

PRO

OFS

LZB

J4 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31 A32 3 FORCE DRV_14 MUX_5_1 3 FORCE DRV_15 MUX_5_2 2 FORCE DRV_13 MUX_5_3 2 FORCE DRV_12 MUX_5_4 2 FORCE DRV_10 MUX_6_1 5 FORCE DRV_11 MUX_6_2 5 FORCE TMU HIZ DUT4 DRV_9 MUX_6_3 5 FORCE TMU HIZ DUT3 DRV_8 MUX_6_4 CH4 FORCE EXT DATA 5 FORCE TMU HIZ DUT2 DIFF_IN_REF MUX_7_1 HVS_OUT_COM MVS_OUT_COM CH5 FORCE CH1 SENSE 5 FORCE TMU HIZ DUT1 EXT_FBACK_2 MUX_7_2 HVS_REF_COM MVS_REF_COM DUT 10 CH6 FORCE CH1 GUARD 5 SENSE DIFF_IN_POS MUX_7_3 DUT 11 (RLY DRV) OFS_REF_COM OFS_OUT_COM CH7 FORCE CH1 FORCE 4 SENSE RMS IN 4 TMU CHAN A DUT1 EXT_IN_1 MUX_7_4 HVS_POS_FORCE MVS_POS_FORCE DUT 12 CH0 FORCE 3 SENSE RMS IN 2 TMU CHAN A DUT2 DIFF_IN_NEG MUX_8_1 DUT 13 (RLY DRV) OFS_POS_FORCE CH1 FORCE CH0 SENSE 2 SENSE SYNC 3 TMU CHAN B DUT1 PREC_REF_FORCE MUX_8_2 HVS_REF1 MVS_REF1 DUT 14 OFS_REF1 CH2 FORCE CH0 GUARD 1 SENSE SYNC 1 TMU CHAN B DUT2 DAC_AGND MUX_8_3 HVS_NEG_FORCE MVS_NEG_FORCE OFS_NEG_FORCE OUT_16 OUT_17 OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

A17

CH3 FORCE

CH0 FORCE

-FORCE

ACS OUT

EXT ARM IN

EXT_GND_REF

MUX_8_4

HVS_REF2

MVS_REF2

DUT16

OFS_REF2

OUT_15

J4

J4

J4

J4

J4

J4

J4

J4

J4

J4

J4

J4

J4

J4

J4

J4 C18 C19 C20 C21 C22 C23 C24 C25 C26 C27 C28 C29 C30 C31 C32 3 FORCE -SENSE 1 FORCE TMU EXT DRV3 1 FORCE 1 FORCE 4 FORCE 4 FORCE 4 FORCE CH4 SENSE EXT CLOCK 4 FORCE EXT CLK IN CH5 SENSE EXT GND SENS 4 FORCE CH6 SENSE EXT ADC STB 3 FORCE CH7 SENSE EXT IN1 3 FORCE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2 EXT_DRV_1 DRV_0 DRV_1 DRV_3 DRV_2 DRV_4 DRV_5 DRV_7 DRV_6 CH0 SENSE EXT IN2 2 FORCE RMS IN 3 IO1 PREC_REF_SENSE CH1 SENSE EXT DRV2 2 FORCE RMS IN 1 IO2 EXT_IN_2 CH2 SENSE EXT IN3 1 FORCE SYNC 2 TMU EXT DRV2 SERVO_TRIGGER MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2

C17

CH3 SENSE

EXT DRV1

1 FORCE

TMU EXT DRV1

EXT_FBACK_1

MUX_4_4

HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1

MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1

DUT 8

OFS_OUT_8 OFS_OUT_7 DUT 6 DUT 5 (GND) OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) OFS_OUT_3 OFS_OUT_2 OFS_OUT_1

OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14

Table 27. ASL 1000 Interconnects: Slot 14

J4

J4

J4

J4

J4

J4

ASL Series Programming Guide


MUX_1_1

J4

J4

J4

J4

J4

J4

379

J4

J4

Slots

J4

380
Pin OVI DVI PVI & PV3 ACS TMU DDD(S) DCC MUX HVS MVS PRO OFS LZB B1 CH3 FORCE B3 B5 CH1 FORCE B7 B9 CH7 FORCE B11 CH6 FORCE B13 CH5 FORCE B15 CH4 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE DRV_14 MUX_5_1 DRV_15 MUX_5_2 DRV_13 MUX_5_3 DRV_12 MUX_5_4 DRV_10 MUX_6_1 DRV_11 MUX_6_2 TMU HIZ DUT4 DRV_9 MUX_6_3 TMU HIZ DUT3 DRV_8 MUX_6_4 EXT DATA 5 FORCE TMU HIZ DUT2 CHANNEL 8 DIFF_IN_REF MUX_7_1 HVS_OUT_COM MVS_OUT_COM CH1 SENSE 5 FORCE TMU HIZ DUT1 CHANNEL 7 EXT_FBACK_2 MUX_7_2 HVS_REF_COM MVS_REF_COM DUT 10 CH1 GUARD 5 SENSE CHANNEL 6 DIFF_IN_POS MUX_7_3 DUT 11 (RLY DRV) OFS_REF_COM OFS_OUT_COM CH1 FORCE 4 SENSE RMS IN 4 TMU CHAN A DUT1 CHANNEL 5 EXT_IN_1 MUX_7_4 HVS_POS_FORCE MVS_POS_FORCE DUT 12 CH0 FORCE 3 SENSE RMS IN 2 TMU CHAN A DUT2 CHANNEL 4 DIFF_IN_NEG MUX_8_1 DUT 13 (RLY DRV) OFS_POS_FORCE CH0 SENSE 2 SENSE SYNC 3 TMU CHAN B DUT1 CHANNEL 3 PREC_REF_FORCE MUX_8_2 HVS_REF1 MVS_REF1 DUT 14 OFS_REF1 CH2 FORCE CH0 GUARD 1 SENSE SYNC 1 TMU CHAN B DUT2 CHANNEL 2 DAC_AGND MUX_8_3 HVS_NEG_FORCE MVS_NEG_FORCE OFS_NEG_FORCE OUT_16 OUT_17 OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28 CH0 FORCE -FORCE ACS OUT EXT ARM IN CHANNEL 1 EXT_GND_REF MUX_8_4 HVS_REF2 MVS_REF2 DUT16 OFS_REF2 OUT_15 B2 B4 CH2 SENSE B6 B8 CH0 SENSE B10 CH7 SENSE B12 CH6 SENSE B14 CH5 SENSE B16 CH4 SENSE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLOCK 4 FORCE EXT CLK IN EXT GND SENS 4 FORCE EXT ADC STB 3 FORCE EXT IN1 3 FORCE EXT IN2 2 FORCE RMS IN 3 IO1 CH1 SENSE EXT DRV2 2 FORCE RMS IN 1 IO2 EXT_IN_2 PREC_REF_SENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2 EXT_DRV_1 DRV_0 DRV_1 DRV_3 DRV_2 DRV_4 DRV_5 DRV_7 DRV_6 EXT IN3 1 FORCE SYNC 2 TMU EXT DRV2 SERVO_TRIGGER CH3 SENSE EXT DRV1 1 FORCE TMU EXT DRV1 EXT_FBACK_1 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14

Conn

J6

J6

J6

J6

J6

J6

J6

A - ASL 1000 Interconnects

Table 28. ASL 1000 Interconnects: Slot 15

ASL Series Programming Guide

J6

J6

J6

J6

J6

J6

J6

J6

J6

Conn

Pin

OVI

DVI

PVI & PV3

ACS

TMU

DCC

MUX

HVS

MVS

PRO

OFS

LZB

J6 J6 J6 J6 J6 J6 J6 J6 J6 J6 J6 J6 J6 J6 J6 J6 C16 3 FORCE DRV_14 MUX_5_1 C15 3 FORCE DRV_15 MUX_5_2 C14 2 FORCE DRV_13 MUX_5_3 C13 2 FORCE DRV_12 MUX_5_4 C12 2 FORCE DRV_10 MUX_6_1 C11 5 FORCE DRV_11 MUX_6_2 C10 5 FORCE TMU HIZ DUT4 DRV_9 MUX_6_3 C9 5 FORCE TMU HIZ DUT3 DRV_8 MUX_6_4 C8 CH4 FORCE EXT DATA 5 FORCE TMU HIZ DUT2 DIFF_IN_REF MUX_7_1 HVS_OUT_COM MVS_OUT_COM C7 CH5 FORCE CH1 SENSE 5 FORCE TMU HIZ DUT1 EXT_FBACK_2 MUX_7_2 HVS_REF_COM MVS_REF_COM DUT 10 C6 CH6 FORCE CH1 GUARD 5 SENSE DIFF_IN_POS MUX_7_3 DUT 11 (RLY DRV) OFS_REF_COM OFS_OUT_COM C5 CH7 FORCE CH1 FORCE 4 SENSE RMS IN 4 TMU CHAN A DUT1 EXT_IN_1 MUX_7_4 HVS_POS_FORCE MVS_POS_FORCE DUT 12 C4 CH0 FORCE 3 SENSE RMS IN 2 TMU CHAN A DUT2 DIFF_IN_NEG MUX_8_1 DUT 13 (RLY DRV) OFS_POS_FORCE C3 CH1 FORCE CH0 SENSE 2 SENSE SYNC 3 TMU CHAN B DUT1 PREC_REF_FORCE MUX_8_2 HVS_REF1 MVS_REF1 DUT 14 OFS_REF1 C2 CH2 FORCE CH0 GUARD 1 SENSE SYNC 1 TMU CHAN B DUT2 DAC_AGND MUX_8_3 HVS_NEG_FORCE MVS_NEG_FORCE OFS_NEG_FORCE OUT_16 OUT_17 OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

C1

CH3 FORCE

CH0 FORCE

-FORCE

ACS OUT

EXT ARM IN

EXT_GND_REF

MUX_8_4

HVS_REF2

MVS_REF2

DUT16

OFS_REF2

OUT_15

J6 J6 J6 J6 J6 J6 J6 J6 J6 J6 J6 J6 J6 J6 J6 J6 A16 A15 3 FORCE -SENSE A14 1 FORCE TMU EXT DRV3 A13 1 FORCE A12 1 FORCE A11 4 FORCE A10 4 FORCE A9 4 FORCE A8 CH4 SENSE EXT CLOCK 4 FORCE EXT CLK IN A7 CH5 SENSE EXT GND SENS 4 FORCE A6 CH6 SENSE EXT ADC STB 3 FORCE EXT_ADC_IN2 EXT_DRV_2 EXT_DRV_1 DRV_0 DRV_1 DRV_3 DRV_2 DRV_4 DRV_5 DRV_7 DRV_6 A5 CH7 SENSE EXT IN1 3 FORCE EXT_ADC_IN1 A4 CH0 SENSE EXT IN2 2 FORCE RMS IN 3 IO1 PREC_REF_SENSE A3 CH1 SENSE EXT DRV2 2 FORCE RMS IN 1 IO2 EXT_IN_2 A2 CH2 SENSE EXT IN3 1 FORCE SYNC 2 TMU EXT DRV2 SERVO_TRIGGER MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2

A1

CH3 SENSE

EXT DRV1

1 FORCE

TMU EXT DRV1

EXT_FBACK_1

MUX_4_4

HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1

MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1

DUT 8

OFS_OUT_8 OFS_OUT_7 DUT 6 DUT 5 (GND) OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) OFS_OUT_3 OFS_OUT_2 OFS_OUT_1

OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14

Table 29. ASL 1000 Interconnects: Slot 16

ASL Series Programming Guide


MUX_1_1

381

Slots

382
Pin OVI DVI PVI & PV3 ACS TMU DDD(S) DCC MUX HVS MVS PRO OFS LZB J6 J6 J6 J6 J6 J6 J6 J6 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE DRV_14 MUX_5_1 DRV_15 MUX_5_2 DRV_13 MUX_5_3 DRV_12 MUX_5_4 DRV_10 MUX_6_1 DRV_11 MUX_6_2 TMU HIZ DUT4 DRV_9 MUX_6_3 TMU HIZ DUT3 DRV_8 MUX_6_4 B32 CH4 FORCE EXT DATA 5 FORCE TMU HIZ DUT2 CHANNEL 8 DIFF_IN_REF MUX_7_1 HVS_OUT_COM MVS_OUT_COM B30 CH5 FORCE CH1 SENSE 5 FORCE TMU HIZ DUT1 CHANNEL 7 EXT_FBACK_2 MUX_7_2 HVS_REF_COM MVS_REF_COM DUT 10 B28 CH6 FORCE CH1 GUARD 5 SENSE CHANNEL 6 DIFF_IN_POS MUX_7_3 DUT 11 (RLY DRV) OFS_REF_COM OFS_OUT_COM B26 CH7 FORCE CH1 FORCE 4 SENSE RMS IN 4 TMU CHAN A DUT1 CHANNEL 5 EXT_IN_1 MUX_7_4 HVS_POS_FORCE MVS_POS_FORCE DUT 12 B24 CH0 FORCE
CH0 MEAS

Conn

B18 B20 B22 3 SENSE RMS IN 2 TMU CHAN A DUT2 CHANNEL 4 DIFF_IN_NEG MUX_8_1 DUT 13 (RLY DRV) OFS_POS_FORCE CH1 FORCE CH0 SENSE 2 SENSE SYNC 3 TMU CHAN B DUT1 CHANNEL 3 PREC_REF_FORCE MUX_8_2 HVS_REF1 MVS_REF1 DUT 14 OFS_REF1 CH2 FORCE CH0 GUARD 1 SENSE SYNC 1 TMU CHAN B DUT2 CHANNEL 2 DAC_AGND MUX_8_3 HVS_NEG_FORCE MVS_NEG_FORCE OFS_NEG_FORCE OUT_16 OUT_17 OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

A - ASL 1000 Interconnects

CH3 FORCE

CH0 FORCE

-FORCE

ACS OUT

EXT ARM IN

CHANNEL 1

EXT_GND_REF

MUX_8_4

HVS_REF2

MVS_REF2

DUT16

OFS_REF2

OUT_15

Table 30. ASL 1000 Interconnects: Slot 17

ASL Series Programming Guide


J6 J6 J6 J6 J6 J6 J6 J6 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 B31 CH4 SENSE EXT CLOCK 4 FORCE EXT CLK IN B29 CH5 SENSE EXT GND SENS 4 FORCE B27 CH6 SENSE EXT ADC STB 3 FORCE B25 CH7 SENSE EXT IN1 3 FORCE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2 EXT_DRV_1 DRV_0 DRV_1 DRV_3 DRV_2 DRV_4 DRV_5 DRV_7 DRV_6 B23 CH0 SENSE EXT IN2 2 FORCE RMS IN 3 IO1 PREC_REF_SENSE B21 CH1 SENSE EXT DRV2 2 FORCE RMS IN 1 IO2 EXT_IN_2 B19 CH2 SENSE EXT IN3 1 FORCE SYNC 2 TMU EXT DRV2 SERVO_TRIGGER B17 CH3 SENSE EXT DRV1 1 FORCE TMU EXT DRV1 EXT_FBACK_1 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1

OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14

Conn

Pin

OVI

DVI

PVI & PV3

ACS

TMU

DCC

MUX

HVS

MVS

PRO

OFS

LZB

J3 J3 J3 J3 J3 J3 J3 J3 J3 J3 J3 J3 J3 J3 J3 J3 C16 3 FORCE DRV_14 MUX_5_1 C15 3 FORCE DRV_15 MUX_5_2 C14 2 FORCE DRV_13 MUX_5_3 C13 2 FORCE DRV_12 MUX_5_4 C12 2 FORCE DRV_10 MUX_6_1 C11 5 FORCE DRV_11 MUX_6_2 C10 5 FORCE TMU HIZ DUT4 DRV_9 MUX_6_3 C9 5 FORCE TMU HIZ DUT3 DRV_8 MUX_6_4 C8 CH4 FORCE EXT DATA 5 FORCE TMU HIZ DUT2 DIFF_IN_REF MUX_7_1 HVS_OUT_COM MVS_OUT_COM C7 CH5 FORCE CH1 SENSE 5 FORCE TMU HIZ DUT1 EXT_FBACK_2 MUX_7_2 HVS_REF_COM MVS_REF_COM DUT 10 C6 CH6 FORCE CH1 GUARD 5 SENSE DIFF_IN_POS MUX_7_3 DUT 11 (RLY DRV) OFS_REF_COM OFS_OUT_COM C5 CH7 FORCE CH1 FORCE 4 SENSE RMS IN 4 TMU CHAN A DUT1 EXT_IN_1 MUX_7_4 HVS_POS_FORCE MVS_POS_FORCE DUT 12 C4 CH0 FORCE 3 SENSE RMS IN 2 TMU CHAN A DUT2 DIFF_IN_NEG MUX_8_1 DUT 13 (RLY DRV) OFS_POS_FORCE C3 CH1 FORCE CH0 SENSE 2 SENSE SYNC 3 TMU CHAN B DUT1 PREC_REF_FORCE MUX_8_2 HVS_REF1 MVS_REF1 DUT 14 OFS_REF1 C2 CH2 FORCE CH0 GUARD 1 SENSE SYNC 1 TMU CHAN B DUT2 DAC_AGND MUX_8_3 HVS_NEG_FORCE MVS_NEG_FORCE OFS_NEG_FORCE OUT_16 OUT_17 OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

C1

CH3 FORCE

CH0 FORCE

-FORCE

ACS OUT

EXT ARM IN

EXT_GND_REF

MUX_8_4

HVS_REF2

MVS_REF2

DUT16

OFS_REF2

OUT_15

J3 J3 J3 J3 J3 J3 J3 J3 J3 J3 J3 J3 J3 J3 J3 J3 A16 A15 3 FORCE -SENSE A14 1 FORCE TMU EXT DRV3 A13 1 FORCE A12 1 FORCE A11 4 FORCE A10 4 FORCE A9 4 FORCE A8 CH4 SENSE EXT CLOCK 4 FORCE EXT CLK IN A7 CH5 SENSE EXT GND SENS 4 FORCE A6 CH6 SENSE EXT ADC STB 3 FORCE A5 CH7 SENSE EXT IN1 3 FORCE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2 EXT_DRV_1 DRV_0 DRV_1 DRV_3 DRV_2 DRV_4 DRV_5 DRV_7 DRV_6 A4 CH0 SENSE EXT IN2 2 FORCE RMS IN 3 IO1 PREC_REF_SENSE A3 CH1 SENSE EXT DRV2 2 FORCE RMS IN 1 IO2 EXT_IN_2 A2 CH2 SENSE EXT IN3 1 FORCE SYNC 2 TMU EXT DRV2 SERVO_TRIGGER MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2

A1

CH3 SENSE

EXT DRV1

1 FORCE

TMU EXT DRV1

EXT_FBACK_1

MUX_4_4

HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1

MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1

DUT 8

OFS_OUT_8 OFS_OUT_7 DUT 6 DUT 5 (GND) OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) OFS_OUT_3 OFS_OUT_2 OFS_OUT_1

OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14

Table 31. ASL 1000 Interconnects: Slot 18

ASL Series Programming Guide


MUX_1_1

383

Slots

384
Pin OVI DVI PVI & PV3 ACS TMU DCC MUX HVS MVS PRO OFS LZB J3 J3 J3 J3
CH0 MEAS

Conn

B2 B4 B6 B8 B10 B12 B14 B16 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE DRV_14 MUX_5_1 DRV_15 MUX_5_2 DRV_13 MUX_5_3 DRV_12 MUX_5_4 DRV_10 MUX_6_1 DRV_11 MUX_6_2 TMU HIZ DUT4 DRV_9 MUX_6_3 TMU HIZ DUT3 DRV_8 MUX_6_4 CH4 FORCE EXT DATA 5 FORCE TMU HIZ DUT2 DIFF_IN_REF MUX_7_1 HVS_OUT_COM MVS_OUT_COM CH5 FORCE CH1 SENSE 5 FORCE TMU HIZ DUT1 EXT_FBACK_2 MUX_7_2 HVS_REF_COM MVS_REF_COM DUT 10 CH6 FORCE CH1 GUARD 5 SENSE DIFF_IN_POS MUX_7_3 DUT 11 (RLY DRV) OFS_REF_COM OFS_OUT_COM CH7 FORCE CH1 FORCE 4 SENSE RMS IN 4 TMU CHAN A DUT1 EXT_IN_1 MUX_7_4 HVS_POS_FORCE MVS_POS_FORCE DUT 12 CH0 FORCE 3 SENSE RMS IN 2 TMU CHAN A DUT2 DIFF_IN_NEG MUX_8_1 DUT 13 (RLY DRV) OFS_POS_FORCE CH1 FORCE CH0 SENSE 2 SENSE SYNC 3 TMU CHAN B DUT1 PREC_REF_FORCE MUX_8_2 HVS_REF1 MVS_REF1 DUT 14 OFS_REF1 CH2 FORCE CH0 GUARD 1 SENSE SYNC 1 TMU CHAN B DUT2 DAC_AGND MUX_8_3 HVS_NEG_FORCE MVS_NEG_FORCE OFS_NEG_FORCE OUT_16 OUT_17 OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

CH3 FORCE

CH0 FORCE

-FORCE

ACS OUT

EXT ARM IN

EXT_GND_REF

MUX_8_4

HVS_REF2

MVS_REF2

DUT16

OFS_REF2

OUT_15

J3 J3 J3 J3

A - ASL 1000 Interconnects

Table 32. ASL 1000 Interconnects: Slot 19

ASL Series Programming Guide


J3 J3 J3 J3 J3 J3 J3 J3 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 B15 CH4 SENSE EXT CLOCK 4 FORCE EXT CLK IN B13 CH5 SENSE EXT GND SENS 4 FORCE B11 CH6 SENSE EXT ADC STB 3 FORCE B9 CH7 SENSE EXT IN1 3 FORCE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2 EXT_DRV_1 DRV_0 DRV_1 DRV_3 DRV_2 DRV_4 DRV_5 DRV_7 DRV_6 B7 CH0 SENSE EXT IN2 2 FORCE RMS IN 3 IO1 PREC_REF_SENSE B5 CH1 SENSE EXT DRV2 2 FORCE RMS IN 1 IO2 EXT_IN_2 B3 CH2 SENSE
CH1 MEAS

B1 1 FORCE SYNC 2 TMU EXT DRV2 SERVO_TRIGGER MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1

CH3 SENSE

EXT DRV1

1 FORCE

TMU EXT DRV1

EXT_FBACK_1

MUX_4_4

HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1

MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1

DUT 8

OFS_OUT_8 OFS_OUT_7 DUT 6 DUT 5 (GND) OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) OFS_OUT_3 OFS_OUT_2 OFS_OUT_1

OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14

Connector

Pin

MUX

J2 J2 J2 J2 J2 J2 J2 J2 J2 J2 J2 J2 J2 J2 J2 J2 A1 MUX_5_1 A2 MUX_5_2 A3 MUX_5_3 A4 MUX_5_4 A5 MUX_6_1 A6 MUX_6_2 A7 MUX_6_3 A8 MUX_6_4 A9 MUX_7_1 A10 MUX_7_2 A11 MUX_7_3 A12 MUX_7_4 A13 MUX_8_1 A14 MUX_8_2 A15 MUX_8_3

A16

MUX_8_4

J2 J2 J2 J2 J2 J2 J2 J2 J2 J2 J2 J2 J2 J2 J2 J2 C1 MUX_1_1 C2 MUX_1_2 C3 MUX_1_3 C4 MUX_1_4 C5 MUX_2_1 C6 MUX_2_2 C7 MUX_2_3 C8 MUX_2_4 C9 MUX_3_1 C10 MUX_3_2 C11 MUX_3_3 C12 MUX_3_4 C13 MUX_4_1 C14 MUX_4_2 C15 MUX_4_3

Table 34. ASL 1000 Interconnects: Slot 21


C16 MUX_4_4

Table 33. ASL 1000 Interconnects: Slot 20

ASL Series Programming Guide

385

Slots

386
Conn Pin OVI DVI PVI & PV3 ACS TMU DCC MUX HVS MVS PRO OFS LZB PRO-DIG J2 GND CH1-1 CH1-2 GND OUT_19 OUT_20 OFS_REF_COM OFS_OUT_COM OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28 CH1-3 CH1-4 GND EXT_CLK GND CH1-5 CH1-6 GND J2 J2 J2 J2 J2 J2 J2 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE DRV_14 MUX_5_1 DRV_15 MUX_5_2 DRV_13 MUX_5_3 DRV_12 MUX_5_4 DRV_10 MUX_6_1 DRV_11 MUX_6_2 TMU HIZ DUT4 DRV_9 MUX_6_3 TMU HIZ DUT3 DRV_8 MUX_6_4 B1 CH4 FORCE EXT DATA 5 FORCE TMU HIZ DUT2 DIFF_IN_REF MUX_7_1 HVS_OUT_COM MVS_OUT_COM B3 CH5 FORCE CH1 SENSE 5 FORCE TMU HIZ DUT1 EXT_FBACK_2 MUX_7_2 HVS_REF_COM MVS_REF_COM DUT 10 B5 CH6 FORCE CH1 GUARD 5 SENSE DIFF_IN_POS MUX_7_3 DUT 11 (RLY DRV) B7 CH7 FORCE CH1 FORCE 4 SENSE RMS IN 4 TMU CHAN A DUT1 EXT_IN_1 MUX_7_4 HVS_POS_FORCE MVS_POS_FORCE DUT 12 OFS_POS_FORCE B9 CH0 FORCE
CH0 MEAS

B15 CH3 FORCE B13 CH2 FORCE B11 CH1 FORCE 3 SENSE RMS IN 2 TMU CHAN A DUT2 DIFF_IN_NEG MUX_8_1 DUT 13 (RLY DRV) CH0 SENSE 2 SENSE SYNC 3 TMU CHAN B DUT1 PREC_REF_FORCE MUX_8_2 HVS_REF1 MVS_REF1 DUT 14 OFS_REF1 OUT_17 OUT_18 CH0 GUARD 1 SENSE SYNC 1 TMU CHAN B DUT2 DAC_AGND MUX_8_3 HVS_NEG_FORCE MVS_NEG_FORCE OFS_NEG_FORCE OUT_16

A - ASL 1000 Interconnects

CH0 FORCE

-FORCE

ACS OUT

EXT ARM IN

EXT_GND_REF

MUX_8_4

HVS_REF2

MVS_REF2

DUT16

OFS_REF2

OUT_15

ASL Series Programming Guide


J2 J2 J2 J2 J2 J2 J2 J2 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 B2 CH4 SENSE EXT CLOCK 4 FORCE EXT CLK IN B4 CH5 SENSE EXT GND SENS 4 FORCE B6 CH6 SENSE EXT ADC STB 3 FORCE B8 CH7 SENSE EXT IN1 3 FORCE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2 EXT_DRV_1 DRV_0 DRV_1 DRV_3 DRV_2 DRV_4 DRV_5 DRV_7 DRV_6 B10 CH0 SENSE EXT IN2 2 FORCE RMS IN 3 IO1 PREC_REF_SENSE B12 CH1 SENSE EXT DRV2 2 FORCE RMS IN 1 IO2 EXT_IN_2 B14 CH2 SENSE
CH1 MEAS

B16 CH3 SENSE 1 FORCE SYNC 2 TMU EXT DRV2 SERVO_TRIGGER MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1

EXT DRV1

1 FORCE

TMU EXT DRV1

EXT_FBACK_1

MUX_4_4

HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1

MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1

DUT 8

OFS_OUT_8 OFS_OUT_7 DUT 6 DUT 5 (GND) OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) OFS_OUT_3 OFS_OUT_2 OFS_OUT_1

OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14

GND CH2-1 CH2-2 GND CH2-3 CH2-4 GND EXT_TRIG GND CH2-5 CH2-6 GND

Supplies

Supplies
Table 35. Supply Pins
Connectors Pin DCV Comments

J5 J5 J4

C32, A32 C20, A20 B31

+5V +5V +5V

J5

C30, A30

+24V

J5

C29, A29

+65V

J5

C28, A28

+50V

J5 J4

C27, A27 B29

+16V +16V

J5

C26, A26

Analog Ground Sense

J5

C25, A25

-5V

J5 J1

C24, A24 B29

-16V -16V

J5

C23, A23

-50V

ASL Series Programming Guide

387

A - ASL 1000 Interconnects

Table 35. Supply Pins (Cont.)


J5 C22, A22 -65V

J5

C19, A19

-24V

J5 J1

C18, A18 B31

+12V +12V

388

ASL Series Programming Guide

Grounds

Grounds
Table 36. Grounds Connector Pin GND

J5 J5 J5 J1 J4 J6 J6 J6 J6 J6 J6 J6 J6

C31, A31 C21, A21 C17, A17 B2, B4 B2, B4 C32, A32 C30, A30 C28, A28 C26, A26 C24, A24 C22, A22 C20, A20 C18, A18

GND GND GND GND GND GND GND GND GND GND GND GND GND

ASL Series Programming Guide

389

A - ASL 1000 Interconnects

Config
Table 37. Config Pins
Conn. Pin MCB LCB

J1 J1 J1 J1 J4 J4 J4 J4 J6 J6 J6 J6 J6 J6 J6 J6 J6 J6 J6 J6 J6 J6 J6 J6

B1 B3 B30 B32 B1 B3 B30 B32 C31 A31 C29 A29 C27 A27 C25 A25 C23 A23 C21 A21 C19 A19 C17 A17 MCB_CHB_IN MCB_CHB_OUT MCB_CHA_IN MCB_CHA_OUT MCB_CHA_SW MCB_CHA_OFF MCB_CHB_SW MCB_CHB_ON MCB_CHA_GAIN MCB_CHA_ON MCB_CHB_GAIN MCB_CHB_OFF

CH3_NEG_IN CH3_POS_IN CH4_POS_IN CH4_NEG_IN CH2_NEG_IN CH2_POS_IN CH1_POS_IN CH1_NEG_IN

CH3_NEG_GAIN

CH3_POS_GAIN

CH2_NEG_GAIN

CH2_POS_GAIN

CH1_NEG_GAIN

CH1_POS_GAIN

CH4_NEG_GAIN

CH4_POS_GAIN

390

ASL Series Programming Guide

B
ASL 3000 INTERCONNECTS
The tables on the following pages describe the connections and pins configured in the ASL 3000 test head cage. Each table lists the connections for one slot; tables are arranged in numerical order, from Slot 1 to Slot 31.

ASL Series Programming Guide

391

B - ASL 3000 Interconnects

DUT Board Test Interface


Figure B-1 shows the test interface with the latching mechanisms (4 latches) on what are called a latch plate assembly. On this assembly are the latches, tied together by a cable and actuated by two handles. The Latch Plate also has 3 gross alignment bushings. These bushings accept .500 diameter pins that are normally located on mating equipment. In the center of the latch plate is the POGO Retainer plate which helps hold the pogo blocks in a set position and also is used to locate/mount the OSP connectors. The POGO blocks are labeled PB1 through PB11 in a clockwise position. The OSP's are paired by odds and evens. In addition to the dedicated 8 RF OSP connections there are 4 auxiliary connections labeled AUX 1 through AUX 4.

Figure B-1. Test Interface Connectors

392

ASL Series Programming Guide

DUT Board Test Interface

Test Interface Connector Sockets


The test interface connector sockets consist of pogo blocks labeled PB1-11, OSP connections, and auxiliary connections as previously described. See Figure 59 for an illustration of the pin/row labels on the pogo blocks.

Figure 59. ASL 3000RF DUT Interface Connectors and Pin Groups

ASL Series Programming Guide

393

B - ASL 3000 Interconnects

Relay Drivers
The following tables of control bits (CBits) are open collector drivers intended for driving relays on the DUT Card. They may also be used for other digital applications. Readback capability is available when driven with TTL levels.
CBit0 CBit1 CBit2 CBit3 CBit4 CBit5 CBit6 CBit7 CBit8 CBit9 CBit10 CBit11 CBit12 CBit13 CBit14 CBit15 PB11-A2 PB11-A3 PB11-A4 PB11-A5 PB11-A6 PB11-A7 PB11-A8 PB11-A9 PB11-A10 PB11-A11 PB11-A12 PB11-A13 PB11-A14 PB11-A15 PB11-A16 PB11-A17 CBit16 CBit17 CBit18 CBit19 CBit20 CBit21 CBit22 CBit23 CBit24 CBit25 CBit26 CBit27 CBit28 CBit29 CBit30 CBit31 PB11-B2 PB11-B3 PB11-B4 PB11-B5 PB11-B6 PB11-B7 PB11-B8 PB11-B9 PB11-B10 PB11-B11 PB11-B12 PB11-B13 PB11-B14 PB11-B15 PB11-B16 PB11-B17 CBit32 CBit33 CBit34 CBit35 CBit36 CBit37 CBit38 CBit39 CBit40 CBit41 CBit42 CBit43 CBit44 CBit45 CBit46 CBit47 PB11-C2 PB11-C3 PB11-C4 PB11-C5 PB11-C6 PB11-C7 PB11-C8 PB11-C9 PB11-C10 PB11-C11 PB11-C12 PB11-C13 PB11-C14 PB11-C15 PB11-C16 PB11-C17 CBit48 CBit49 CBit50 CBit51 CBit52 CBit53 CBit54 CBit55 CBit56 CBit57 CBit58 CBit59 CBit60 CBit61 CBit62 CBit63 PB11-D2 PB11-D3 PB11-D4 PB11-D5 PB11-D6 PB11-D7 PB11-D8 PB11-D9 PB11-D10 PB11-D11 PB11-D12 PB11-D13 PB11-D14 PB11-D15 PB11-D16 PB11-D17

394

ASL Series Programming Guide

DUT Board Test Interface

Miscellaneous Signals
Voltages +65V +50V +24V +16V +12V +5V +3.3V -5V -16V -24V -50V -65V GND PB10-C17 PB4-E18 PB4-A18 PB1-A18 PB1-D17 PB1-C17 PB3-C17 PB5-A18 PB5-D18 PB1-A16 PB1-A14 PB1-A12 PB1-A1 PB1-B1 PB1-C2 PB1-D2 PB1-E1 PB2-A1 PB2-C1 PB2-D1 PB2-E1 PB3-A1 PB3-C2 PB3-D2 PB3-E1 PB4-A17 PB5-A17 PB6-A17 PB7-A17 PB8-B2 PB9-A1 PB9-C1 PB9-D1 PB9-E1 PB10-A1 PB10-C1 PB10-D1 PB10-E1 PB11-A1 PB10-C18 PB4-F18 PB4-C18 PB1-B18 PB1-D18 PB1-C18 PB3-C18 PB5-C18 PB5-E18 PB1-B16 PB1-B14 PB1-B12 PB1-A3 PB1-B3 PB1-C3 PB1-D3 PB1-E18 PB2-A18 PB2-C2 PB2-D2 PB2-E18 PB3-A18 PB3-C3 PB3-D3 PB3-E18 PB4-B1 PB5-B1 PB6-B17 PB7-B17 PB8-C18 PB9-A18 PB9-C2 PB9-D2 PB9-E18 PB10-A18 PB10-C2 PB10-D2 PB10-E18 PB11-A18 PB6-E18 PB3-C1 PB2-C17 PB6-F18 PB3-D1 PB2-C18

PB7-A18 PB7-B18 PB6-C18 PB6-D18 PB9-C17 PB9-C18

PB1-A5 PB1-B5 PB1-C4 PB1-D4 PB1-F1 PB2-B1 PB2-C3 PB2-D3 PB2-F1 PB3-B1 PB3-C4 PB3-D4 PB3-F1 PB4-B18 PB5-B18 PB6-C17

PB1-A7 PB1-B7 PB1-C5 PB1-D5 PB1-F18 PB2-B18 PB2-C4 PB2-D4 PB2-F18 PB3-B18 PB3-C5 PB3-D5 PB3-F18 PB4-C17 PB5-C17 PB6-D17

PB1-A9 PB1-B9 PB1-C6 PB1-D6

PB1-A11 PB1-B11 PB1-C7 PB1-D7

PB1-A13 PB1-A15 PB1-B13 PB1-B15 PB1-C8 PB1-C9 PB1-D8 PB1-D9

PB1-A17 PB1-B17 PB1-C10 PB1-D10

PB1-C11 PB1-C12 PB1-D11 PB1-D12

PB1-C13 PB1-C14 PB1-C15 PB1-C16 PB1-D13 PB1-D14 PB1-D15 PB1-D16

PB2-C5 PB2-D5

PB2-C6 PB2-D6

PB2-C7 PB2-D7

PB2-C8 PB2-D8

PB2-C9 PB2-D9

PB2-C10 PB2-C11 PB2-D10 PB2-D11

PB2-C12 PB2-C13 PB2-C14 PB2-C15 PB2-C16 PB2-D12 PB2-D13 PB2-D14 PB2-D15 PB2-D16

PB3-C6 PB3-D6

PB3-C7 PB3-D7

PB3-C8 PB3-D8

PB3-C9 PB3-D9

PB3-C10 PB3-D10

PB3-C11 PB3-C12 PB3-D11 PB3-D12

PB3-C13 PB3-C14 PB3-C15 PB3-C16 PB3-D13 PB3-D14 PB3-D15 PB3-D16

PB4-D1 PB4-D18 PB4-E17 PB4-F1 PB5-D17 PB5-E17 PB5-F1 PB5-F18 PB6-E17 PB6-F17

PB9-B1 PB9-C3 PB9-D3 PB9-F1 PB10-B1 PB10-C3 PB10-D3 PB10-F1 PB11-B1

PB9-B18 PB9-C4 PB9-D4 PB9-F18 PB10-B18 PB10-C4 PB10-D4 PB10-F18 PB11-B18

PB9-C5 PB9-D5

PB9-C6 PB9-D6

PB9-C7 PB9-D7

PB9-C8 PB9-D8

PB9-C9 PB9-D9

PB9-C10 PB9-C11 PB9-D10 PB9-D11

PB9-C12 PB9-C13 PB9-C14 PB9-C15 PB9-C16 PB9-D12 PB9-D13 PB9-D14 PB9-D15 PB9-D16

PB10-C5 PB10-C6 PB10-C7 PB10-C8 PB10-D5 PB10-D6 PB10-D7 PB10-D8 PB11-C1 PB11-C18 PB11-D1 PB11-D18

PB10-C9 PB10-D9

PB10-C10 PB10-C11 PB10-D10 PB10-D11

PB10-C12 PB10-C13 PB10-C14 PB10-C15 PB10-C16 PB10-D12 PB10-D13 PB10-D14 PB10-D15 PB10-D16

PB11-E18 PB11-F18

Sense Ana Gnd Sense PB1-C1 Sync ASYNC0_in ASYNC1_in ASYNC2_in ASYNC3_in ASYNC4_in ASYNC0_out ASYNC1_out ASYNC2_out ASYNC3_out ASYNC4_out

PB1-D1

PB1-A2 PB1-A4 PB1-A6 PB1-A8 PB1-A10 PB1-B2 PB1-B4 PB1-B6 PB1-B8 PB1-B10

Test Head External Signals Ext_Sig 1+ PB3-D17 Ext_Sig 1- PB3-D18 Ext_Sig 2+ PB2-D17 Ext_Sig 2- PB2-D18 Ext_Sig 3+ PB6-A18 Ext_Sig 3- PB6-B18 Ext_Sig 4+ PB8-A1 Ext_Sig 4- PB8-A2 Ext_Sig 5+ PB10-D17 Ext_Sig 5- PB10-D18 Ext_Sig 6+ PB9-D17 Ext_Sig 6- PB9-D18

RF I/O Pins RF_RSVD00 RF_RSVD01 RF_RSVD02 RF_RSVD03 RF_RSVD04 RF_RSVD05 RF_RSVD06 RF_RSVD07 RF_RSVD08 RF_RSVD09 RF_RSVD10 RF_RSVD11 RF_RSVD12 RF_RSVD13 RF_RSVD14 RF_RSVD15 RF_RSVD16

PB11-E2 PB11-E3 PB11-E4 PB11-E5 PB11-E6 PB11-E7 PB11-E8 PB11-E9 PB11-E10 PB11-E11 PB11-E12 PB11-E13 PB11-E14 PB11-E15 PB11-E16 PB11-E17 PB11-F2

RF_RSVD17 RF_RSVD18 RF_RSVD19 RF_RSVD20 RF_RSVD21 RF_RSVD22 RF_RSVD23 RF_RSVD24 RF_RSVD25 RF_RSVD26 RF_RSVD27 RF_RSVD28 RF_RSVD29 RF_RSVD30 RF_RSVD31 MVNA_TRG_IN MVNA_TRG_OUT

PB11-F3 PB11-F4 PB11-F5 PB11-F6 PB11-F7 PB11-F8 PB11-F9 PB11-F10 PB11-F11 PB11-F12 PB11-F13 PB11-F14 PB11-F15 PB11-F16 PB11-F17 PB11-E1 PB11-F1

Note -The DUT Interlock Signal is on J1-B5, see slot 9

ASL Series Programming Guide

395

B - ASL 3000 Interconnects

RF DUT Interface Pinouts


The following section is an extensive list providing pinout/interconnect information for the ASL 3000RF tester, including the RF subsystem and ASL Series instrument cards.
NOTE Tie Slot9, IO9 to +12 V at the DUT board. This acts as a status indicator to show that the DUT board is inserted, and enables 50 V and 65 V at the DUT site if the DUT board is docked.

The above step is not required if you do not require these functions. The tables in this appendix describe the connections and pins configured in the ASL test head cage. Slot numbers are listed sequentially, and pin assignments appear in tables. Pinout tables appear in two or more parts for each slot, with the exception of slots 9 and 20, which require a single table section. There is no connection table for Slot 22this is a virtual slot.

396

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 1
ASL 3000 PVI(1) & I/O ConnectorPin
16 14 12 10 8 6 4 2 PB4-D17 PB4-D15 PB4-D13 PB4-D11 PB4-D9 PB4-D7 PB4-D5 PB4-D3 CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 15 13 11 9 7 5 3 1 PB4-D16 PB4-D14 PB4-D12 PB4-D10 PB4-D8 PB4-D6 PB4-D4 PB4-D2 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

Slot 1 Continued

ASL Series Programming Guide

397

B - ASL 3000 Interconnects

ASL 3000 I/O ConnectorPin


16 14 12 10 8 6 4 2 PB4-D17 PB4-D15 PB4-D13 PB4-D11 PB4-D9 PB4-D7 PB4-D5 PB4-D3 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 15 13 11 9 7 5 3 1 PB4-D16 PB4-D14 PB4-D12 PB4-D10 PB4-D8 PB4-D6 PB4-D4 PB4-D2 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 HVS_REF2 MVS_REF2 DUT16 OFS_REF2 OUT_15 HVS_NEG_FO MVS_NEG_FO RCE RCE HVS_REF1 MVS_REF1 DUT 14 DUT 13 (RLY DRV) HVS_POS_FO MVS_POS_FO DUT 12 RCE RCE DUT 11 (RLY DRV) HVS_REF_CO MVS_REF_CO DUT 10 M M HVS_OUT_CO MVS_OUT_CO M M OFS_NEG_FO OUT_16 RCE OFS_REF1 OUT_17 OUT_18 OFS_POS_FO OUT_19 RCE OUT_20 OFS_REF_CO OUT_21 M OFS_OUT_CO OUT_22 M OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

398

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 2
ASL 3000 PVI(1) & I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB4-F17 PB4-F16 PB4-F15 PB4-F14 PB4-F13 PB4-F12 PB4-F11 PB4-F10 PB4-F9 PB4-F8 PB4-F7 PB4-F6 PB4-F5 PB4-F4 PB4-F3 PB4-F2 PB4-E16 PB4-E15 PB4-E14 PB4-E13 PB4-E12 PB4-E11 PB4-E10 PB4-E9 PB4-E8 PB4-E7 PB4-E6 PB4-E5 PB4-E4 PB4-E3 PB4-E2 PB4-E1 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

Slot 2 Continued

ASL Series Programming Guide

399

B - ASL 3000 Interconnects

ASL 3000 I/O ConnectorPin


32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB4-F17 PB4-F16 PB4-F15 PB4-F14 PB4-F13 PB4-F12 PB4-F11 PB4-F10 PB4-F9 PB4-F8 PB4-F7 PB4-F6 PB4-F5 PB4-F4 PB4-F3 PB4-F2 PB4-E16 PB4-E15 PB4-E14 PB4-E13 PB4-E12 PB4-E11 PB4-E10 PB4-E9 PB4-E8 PB4-E7 PB4-E6 PB4-E5 PB4-E4 PB4-E3 PB4-E2 PB4-E1 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 HVS_REF2 MVS_REF2 DUT16 OFS_REF2 OUT_15 HVS_NEG_FO MVS_NEG_FO RCE RCE HVS_REF1 MVS_REF1 DUT 14 DUT 13 (RLY DRV) HVS_POS_FO MVS_POS_FO DUT 12 RCE RCE DUT 11 (RLY DRV) HVS_REF_CO MVS_REF_CO DUT 10 M M HVS_OUT_CO MVS_OUT_CO M M OFS_NEG_FO OUT_16 RCE OFS_REF1 OUT_17 OUT_18 OFS_POS_FO OUT_19 RCE OUT_20 OFS_REF_CO OUT_21 M OFS_OUT_CO OUT_22 M OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

400

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 3
ASL 3000 PVI(1) & I/O ConnectorPin
16 14 12 10 8 6 4 2 PB4-B17 PB4-B15 PB4-B13 PB4-B11 PB4-B9 PB4-B7 PB4-B5 PB4-B3 CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 15 13 11 9 7 5 3 1 PB4-B16 PB4-B14 PB4-B12 PB4-B10 PB4-B8 PB4-B6 PB4-B4 PB4-B2 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

ASL Series Programming Guide

401

B - ASL 3000 Interconnects

Slot 3 Continued
ASL 3000 I/O Connector-Pin
16 14 12 10 8 6 4 2 PB4-B17 PB4-B15 PB4-B13 PB4-B11 PB4-B9 PB4-B7 PB4-B5 PB4-B3 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 15 13 11 9 7 5 3 1 PB4-B16 PB4-B14 PB4-B12 PB4-B10 PB4-B8 PB4-B6 PB4-B4 PB4-B2 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 HVS_REF_COM HVS_OUT_COM MVS_REF_COM MVS_OUT_COM HVS_POS_FORCE MVS_POS_FORCE HVS_REF2 HVS_NEG_FORCE HVS_REF1 MVS_REF2 MVS_NEG_FORCE MVS_REF1 DUT 14 DUT 13 (RLY DRV) DUT 12 DUT 11 (RLY DRV) DUT 10 OFS_REF_COM OFS_OUT_COM OFS_POS_FORCE DUT16 OFS_REF2 OFS_NEG_FORCE OFS_REF1 OUT_15 OUT_16 OUT_17 OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

402

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 4
ASL 3000 PVI(1) & I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB4-C16 PB4-C15 PB4-C14 PB4-C13 PB4-C12 PB4-C11 PB4-C10 PB4-C9 PB4-C8 PB4-C7 PB4-C6 PB4-C5 PB4-C4 PB4-C3 PB4-C2 PB4-C1 PB5-A16 PB5-A15 PB5-A14 PB5-A13 PB5-A12 PB5-A11 PB5-A10 PB5-A9 PB5-A8 PB5-A7 PB5-A6 PB5-A5 PB5-A4 PB5-A3 PB5-A2 PB5-A1 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

ASL Series Programming Guide

403

B - ASL 3000 Interconnects

Slot 4 Continued
ASL 3000 I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB4-C16 PB4-C15 PB4-C14 PB4-C13 PB4-C12 PB4-C11 PB4-C10 PB4-C9 PB4-C8 PB4-C7 PB4-C6 PB4-C5 PB4-C4 PB4-C3 PB4-C2 PB4-C1 PB5-A16 PB5-A15 PB5-A14 PB5-A13 PB5-A12 PB5-A11 PB5-A10 PB5-A9 PB5-A8 PB5-A7 PB5-A6 PB5-A5 PB5-A4 PB5-A3 PB5-A2 PB5-A1 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 GND CH2-1 CH2-2 GND CH2-3 CH2-4 GND EXT_TRIG GND CH2-5 CH2-6 GND HVS_REF2 MVS_REF2 DUT16 OFS_REF2 OUT_15 GND CH1-1 CH1-2 GND CH1-3 CH1-4 GND EXT_CLK GND CH1-5 CH1-6 GND HVS_NEG_FO MVS_NEG_FO RCE RCE HVS_REF1 MVS_REF1 DUT 14 DUT 13 (RLY DRV) HVS_POS_FO MVS_POS_FO DUT 12 RCE RCE DUT 11 (RLY DRV) HVS_REF_CO MVS_REF_CO DUT 10 M M HVS_OUT_CO MVS_OUT_CO M M OFS_NEG_FO OUT_16 RCE OFS_REF1 OUT_17 OUT_18 OFS_POS_FO OUT_19 RCE OUT_20 OFS_REF_CO OUT_21 M OFS_OUT_CO OUT_22 M OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

PRO-DIG

404

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 5
ASL 3000 PVI(1) & I/O ConnectorPin
16 14 12 10 8 6 4 2 PB4-A16 PB4-A14 PB4-A12 PB4-A10 PB4-A8 PB4-A6 PB4-A4 PB4-A2 CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 15 13 11 9 7 5 3 1 PB4-A15 PB4-A13 PB4-A11 PB4-A9 PB4-A7 PB4-A5 PB4-A3 PB4-A1 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

ASL Series Programming Guide

405

B - ASL 3000 Interconnects

Slot 5 Continued
ASL 3000 I/O ConnectorPin
16 14 12 10 8 6 4 2 PB4-A16 PB4-A14 PB4-A12 PB4-A10 PB4-A8 PB4-A6 PB4-A4 PB4-A2 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 15 13 11 9 7 5 3 1 PB4-A15 PB4-A13 PB4-A11 PB4-A9 PB4-A7 PB4-A5 PB4-A3 PB4-A1 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 HVS_REF2 MVS_REF2 DUT16 OFS_REF2 OUT_15 HVS_NEG_FO MVS_NEG_FO RCE RCE HVS_REF1 MVS_REF1 DUT 14 DUT 13 (RLY DRV) HVS_POS_FO MVS_POS_FO DUT 12 RCE RCE DUT 11 (RLY DRV) HVS_REF_CO MVS_REF_CO DUT 10 M M HVS_OUT_CO MVS_OUT_CO M M OFS_NEG_FO OUT_16 RCE OFS_REF1 OUT_17 OUT_18 OFS_POS_FO OUT_19 RCE OUT_20 OFS_REF_CO OUT_21 M OFS_OUT_CO OUT_22 M OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

406

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 6
ASL 3000 PVI(1) & I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB5-B17 PB5-B16 PB5-B15 PB5-B14 PB5-B13 PB5-B12 PB5-B11 PB5-B10 PB5-B9 PB5-B8 PB5-B7 PB5-B6 PB5-B5 PB5-B4 PB5-B3 PB5-B2 PB5-C16 PB5-C15 PB5-C14 PB5-C13 PB5-C12 PB5-C11 PB5-C10 PB5-C9 PB5-C8 PB5-C7 PB5-C6 PB5-C5 PB5-C4 PB5-C3 PB5-C2 PB5-C1 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

ASL Series Programming Guide

407

B - ASL 3000 Interconnects

Slot 6 Continued
ASL 3000 I/O Connector-Pin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB5-B17 PB5-B16 PB5-B15 PB5-B14 PB5-B13 PB5-B12 PB5-B11 PB5-B10 PB5-B9 PB5-B8 PB5-B7 PB5-B6 PB5-B5 PB5-B4 PB5-B3 PB5-B2 PB5-C16 PB5-C15 PB5-C14 PB5-C13 PB5-C12 PB5-C11 PB5-C10 PB5-C9 PB5-C8 PB5-C7 PB5-C6 PB5-C5 PB5-C4 PB5-C3 PB5-C2 PB5-C1 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 HVS_REF_COM HVS_OUT_COM MVS_REF_COM MVS_OUT_COM HVS_POS_FORCE MVS_POS_FORCE HVS_REF2 HVS_NEG_FORCE HVS_REF1 MVS_REF2 MVS_NEG_FORCE MVS_REF1 DUT 14 DUT 13 (RLY DRV) DUT 12 DUT 11 (RLY DRV) DUT 10 OFS_REF_COM OFS_OUT_COM OFS_POS_FORCE DUT16 OFS_REF2 OFS_NEG_FORCE OFS_REF1 OUT_15 OUT_16 OUT_17 OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

408

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 7
ASL 3000 PVI(1) & I/O ConnectorPin
16 14 12 10 8 6 4 2 PB5-D15 PB5-D13 PB5-D11 PB5-D9 PB5-D7 PB5-D5 PB5-D3 PB5-D1 CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 15 13 11 9 7 5 3 1 PB5-D16 PB5-D14 PB5-D12 PB5-D10 PB5-D8 PB5-D6 PB5-D4 PB5-D2 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

ASL Series Programming Guide

409

B - ASL 3000 Interconnects

Slot 7 Continued
ASL 3000 I/O Connector-Pin
16 14 12 10 8 6 4 2 PB5-D15 PB5-D13 PB5-D11 PB5-D9 PB5-D7 PB5-D5 PB5-D3 PB5-D1 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 15 13 11 9 7 5 3 1 PB5-D16 PB5-D14 PB5-D12 PB5-D10 PB5-D8 PB5-D6 PB5-D4 PB5-D2 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 HVS_REF_COM HVS_OUT_COM MVS_REF_COM MVS_OUT_COM HVS_POS_FORCE MVS_POS_FORCE HVS_REF2 HVS_NEG_FORCE HVS_REF1 MVS_REF2 MVS_NEG_FORCE MVS_REF1 DUT 14 DUT 13 (RLY DRV) DUT 12 DUT 11 (RLY DRV) DUT 10 OFS_REF_COM OFS_OUT_COM OFS_POS_FORCE DUT16 OFS_REF2 OFS_NEG_FORCE OFS_REF1 OUT_15 OUT_16 OUT_17 OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

410

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 8
ASL 3000 PVI(1) & I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB5-F17 PB5-F26 PB5-F15 PB5-F14 PB5-F13 PB5-F12 PB5-F11 PB5-F10 PB5-F9 PB5-F8 PB5-F7 PB5-F6 PB5-F5 PB5-F4 PB5-F3 PB5-F2 PB5-E16 PB5-E15 PB5-E14 PB5-E13 PB5-E12 PB5-E11 PB5-E10 PB5-E9 PB5-E8 PB5-E7 PB5-E6 PB5-E5 PB5-E4 PB5-E3 PB5-E2 PB5-E1 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 CH1 OUT OUT EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF DUT OUT OUT CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK CH1 RMS MTR CH1 DUT OUT CH2 FEEDBACK CH2 3 BYPASS CH3 FEEDBACK CH1 POS IN CH2 DUT POS ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT PICO POS CH3 PICO POS DUT NEG OUT EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 POS OUT CH1 PICO POS CH1 NEG OUT CH1 PICO NEG CH1 NEG IN CH2 PICO POS CH2 DUT NEG CH2 PICO POS CH3 PICO NEG CH3 DUT NEG CH2 3 CONNECT CH3 DUT POS

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

LCB

ASL Series Programming Guide

411

B - ASL 3000 Interconnects

Slot 8 Continued
ASL 3000 I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB5-F17 PB5-F26 PB5-F15 PB5-F14 PB5-F13 PB5-F12 PB5-F11 PB5-F10 PB5-F9 PB5-F8 PB5-F7 PB5-F6 PB5-F5 PB5-F4 PB5-F3 PB5-F2 PB5-E16 PB5-E15 PB5-E14 PB5-E13 PB5-E12 PB5-E11 PB5-E10 PB5-E9 PB5-E8 PB5-E7 PB5-E6 PB5-E5 PB5-E4 PB5-E3 PB5-E2 PB5-E1 EXT_GND_RE MUX_8_4 F DAC_AGND PREC_REF_F ORCE DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 HVS_REF2 MVS_REF2 DUT16 OFS_REF2 OUT_15

DCC

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

HVS_NEG_FO MVS_NEG_FO RCE RCE HVS_REF1 MVS_REF1 DUT 14 DUT 13 (RLY DRV) HVS_POS_FO MVS_POS_FO DUT 12 RCE RCE DUT 11 (RLY DRV) HVS_REF_CO MVS_REF_CO DUT 10 M M HVS_OUT_CO MVS_OUT_CO M M

OFS_NEG_FO OUT_16 RCE OFS_REF1 OUT_17 OUT_18 OFS_POS_FO OUT_19 RCE OUT_20 OFS_REF_CO OUT_21 M OFS_OUT_CO OUT_22 M OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

EXT_FBACK_2 MUX_7_2 DIFF_IN_REF DRV_8 DRV_9 DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1

EXT_FBACK_1 MUX_4_4 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE MUX_4_3 MUX_4_2 MUX_4_1

HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1

MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1

DUT 8

OFS_OUT_8 OFS_OUT_7

OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14

DUT 6 DUT 5 (GND)

OFS_OUT_6 OFS_OUT_5 OFS_OUT_4

EXT_ADC_IN1 MUX_3_4 EXT_ADC_IN2 MUX_3_3 EXT_DRV_2 EXT_DRV_1 DRV_0 DRV_1 DRV_3 DRV_2 DRV_4 DRV_5 DRV_7 DRV_6 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1

DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V)

OFS_OUT_3 OFS_OUT_2 OFS_OUT_1

412

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 9
ASL 3000 I/O Connector-Pin
16 14 12 10 8 6 4 2 PB6-C2 PB6-C4 PB6-C6 PB6-C8 PB6-C10 PB6-C12 PB6-C14 PB6-C16 CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE

DVI

15 13 11 9 7 5 3 1

PB6-C11 PB6-C13 PB6-C15 PB6-C9 PB6-C7 PB6-C5 PB6-C3 PB6-C1

EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK Note: Tie Slot9, IO9 to +12V at the DUT board. This acts as a status indicator to show that the DUT board is inserted, and enables 50V and 65V at the DUT site if the DUT board is docked..

ASL Series Programming Guide

413

B - ASL 3000 Interconnects

Slot 10
ASL 3000 PVI(1) & I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB6-B15 PB6-B16 PB6-B13 PB6-B14 PB6-B11 PB6-B12 PB6-B9 PB6-B10 PB6-B7 PB6-B8 PB6-B5 PB6-B6 PB6-B3 PB6-B4 PB6-B1 PB6-B2 PB6-A16 PB6-A15 PB6-A14 PB6-A13 PB6-A12 PB6-A11 PB6-A10 PB6-A9 PB6-A8 PB6-A7 PB6-A6 PB6-A5 PB6-A4 PB6-A3 PB6-A2 PB6-A1 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 CH1 OUT OUT EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF DUT OUT OUT CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK CH1 RMS MTR CH1 DUT OUT CH4 FEEDBACK CH1 4 BYPASS CH1 FEEDBACK CH1 POS IN CH4 DUT POS ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT PICO POS CH1 PICO POS DUT NEG OUT EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 POS OUT CH1 PICO POS CH1 NEG OUT CH1 PICO NEG CH1 NEG IN CH4 PICO POS CH4 DUT NEG CH4 PICO POS CH1 PICO NEG CH1 DUT NEG CH1 4 CONNECT CH1 DUT POS

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

LCB

414

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 10 Continued
ASL 3000 I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB6-B15 PB6-B16 PB6-B13 PB6-B14 PB6-B11 PB6-B12 PB6-B9 PB6-B10 PB6-B7 PB6-B8 PB6-B5 PB6-B6 PB6-B3 PB6-B4 PB6-B1 PB6-B2 PB6-A16 PB6-A15 PB6-A14 PB6-A13 PB6-A12 PB6-A11 PB6-A10 PB6-A9 PB6-A8 PB6-A7 PB6-A6 PB6-A5 PB6-A4 PB6-A3 PB6-A2 PB6-A1 EXT_GND_RE MUX_8_4 F DAC_AGND PREC_REF_F ORCE DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 HVS_REF2 MVS_REF2 DUT16 OFS_REF2 OUT_15

DCC

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

HVS_NEG_FO MVS_NEG_FO RCE RCE HVS_REF1 MVS_REF1 DUT 14 DUT 13 (RLY DRV) HVS_POS_FO MVS_POS_FO DUT 12 RCE RCE DUT 11 (RLY DRV) HVS_REF_CO MVS_REF_CO DUT 10 M M HVS_OUT_CO MVS_OUT_CO M M

OFS_NEG_FO OUT_16 RCE OFS_REF1 OUT_17 OUT_18 OFS_POS_FO OUT_19 RCE OUT_20 OFS_REF_CO OUT_21 M OFS_OUT_CO OUT_22 M OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

EXT_FBACK_2 MUX_7_2 DIFF_IN_REF DRV_8 DRV_9 DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1

EXT_FBACK_1 MUX_4_4 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE MUX_4_3 MUX_4_2 MUX_4_1

HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1

MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1

DUT 8

OFS_OUT_8 OFS_OUT_7

OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14

DUT 6 DUT 5 (GND)

OFS_OUT_6 OFS_OUT_5 OFS_OUT_4

EXT_ADC_IN1 MUX_3_4 EXT_ADC_IN2 MUX_3_3 EXT_DRV_2 EXT_DRV_1 DRV_0 DRV_1 DRV_3 DRV_2 DRV_4 DRV_5 DRV_7 DRV_6 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1

DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V)

OFS_OUT_3 OFS_OUT_2 OFS_OUT_1

ASL Series Programming Guide

415

B - ASL 3000 Interconnects

Slot 11
ASL 3000 PVI(1) & I/O ConnectorPin
16 14 12 10 8 6 4 2 PB6-D15 PB6-D13 PB6-D11 PB6-D9 PB6-D7 PB6-D5 PB6-D3 PB6-D1 CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 15 13 11 9 7 5 3 1 PB6-D16 PB6-D14 PB6-D12 PB6-D10 PB6-D8 PB6-D6 PB6-D4 PB6-D2 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

416

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 11 Continued
ASL 3000 I/O Connector-Pin
16 14 12 10 8 6 4 2 PB6-D15 PB6-D13 PB6-D11 PB6-D9 PB6-D7 PB6-D5 PB6-D3 PB6-D1 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 15 13 11 9 7 5 3 1 PB6-D16 PB6-D14 PB6-D12 PB6-D10 PB6-D8 PB6-D6 PB6-D4 PB6-D2 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 HVS_REF_COM HVS_OUT_COM MVS_REF_COM MVS_OUT_COM HVS_POS_FORCE MVS_POS_FORCE HVS_REF2 HVS_NEG_FORCE HVS_REF1 MVS_REF2 MVS_NEG_FORCE MVS_REF1 DUT 14 DUT 13 (RLY DRV) DUT 12 DUT 11 (RLY DRV) DUT 10 OFS_REF_COM OFS_OUT_COM OFS_POS_FORCE DUT16 OFS_REF2 OFS_NEG_FORCE OFS_REF1 OUT_15 OUT_16 OUT_17 OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

ASL Series Programming Guide

417

B - ASL 3000 Interconnects

Slot 12
ASL 3000 PVI(1) & I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB7-B15 PB7-B16 PB7-B13 PB7-B14 PB7-B11 PB7-B12 PB7-B9 PB7-B10 PB7-B7 PB7-B8 PB7-B5 PB7-B6 PB7-B3 PB7-B4 PB7-B1 PB7-B2 PB7-A16 PB7-A15 PB7-A14 PB7-A13 PB7-A12 PB7-A11 PB7-A10 PB7-A9 PB7-A8 PB7-A7 PB7-A6 PB7-A5 PB7-A4 PB7-A3 PB7-A2 PB7-A1 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

418

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 12 Continued
ASL 3000 I/O Connector-Pin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB7-B15 PB7-B16 PB7-B13 PB7-B14 PB7-B11 PB7-B12 PB7-B9 PB7-B10 PB7-B7 PB7-B8 PB7-B5 PB7-B6 PB7-B3 PB7-B4 PB7-B1 PB7-B2 PB7-A16 PB7-A15 PB7-A14 PB7-A13 PB7-A12 PB7-A11 PB7-A10 PB7-A9 PB7-A8 PB7-A7 PB7-A6 PB7-A5 PB7-A4 PB7-A3 PB7-A2 PB7-A1 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 HVS_REF_COM HVS_OUT_COM MVS_REF_COM MVS_OUT_COM HVS_POS_FORCE MVS_POS_FORCE HVS_REF2 HVS_NEG_FORCE HVS_REF1 MVS_REF2 MVS_NEG_FORCE MVS_REF1 DUT 14 DUT 13 (RLY DRV) DUT 12 DUT 11 (RLY DRV) DUT 10 OFS_REF_COM OFS_OUT_COM OFS_POS_FORCE DUT16 OFS_REF2 OFS_NEG_FORCE OFS_REF1 OUT_15 OUT_16 OUT_17 OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

ASL Series Programming Guide

419

B - ASL 3000 Interconnects

Slot 13
ASL 3000 PVI(1) & I/O ConnectorPin
16 14 12 10 8 6 4 2 PB7-C18 PB7-C16 PB7-C14 PB7-C12 PB7-C10 PB7-C8 PB7-C6 PB7-C4 CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 15 13 11 9 7 5 3 1 PB7-C17 PB7-C15 PB7-C13 PB7-C11 PB7-C9 PB7-C7 PB7-C5 PB7-C3 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

420

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 13 Continued
ASL 3000 I/O Connector-Pin
16 14 12 10 8 6 4 2 PB7-C18 PB7-C16 PB7-C14 PB7-C12 PB7-C10 PB7-C8 PB7-C6 PB7-C4 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 15 13 11 9 7 5 3 1 PB7-C17 PB7-C15 PB7-C13 PB7-C11 PB7-C9 PB7-C7 PB7-C5 PB7-C3 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 HVS_REF_COM HVS_OUT_COM MVS_REF_COM MVS_OUT_COM HVS_POS_FORCE MVS_POS_FORCE HVS_REF2 HVS_NEG_FORCE HVS_REF1 MVS_REF2 MVS_NEG_FORCE MVS_REF1 DUT 14 DUT 13 (RLY DRV) DUT 12 DUT 11 (RLY DRV) DUT 10 OFS_REF_COM OFS_OUT_COM OFS_POS_FORCE DUT16 OFS_REF2 OFS_NEG_FORCE OFS_REF1 OUT_15 OUT_16 OUT_17 OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

ASL Series Programming Guide

421

B - ASL 3000 Interconnects

Slot 14
ASL 3000 PVI(1) & I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB6-F15 PB6-F16 PB6-F13 PB6-F14 PB6-F11 PB6-F12 PB6-F9 PB6-F10 PB6-F7 PB6-F8 PB6-F5 PB6-F6 PB6-F3 PB6-F4 PB6-F1 PB6-F2 PB6-E16 PB6-E15 PB6-E14 PB6-E13 PB6-E12 PB6-E11 PB6-E10 PB6-E9 PB6-E8 PB6-E7 PB6-E6 PB6-E5 PB6-E4 PB6-E3 PB6-E2 PB6-E1 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

422

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 14 Continued
ASL 3000 I/O Connector-Pin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB6-F15 PB6-F16 PB6-F13 PB6-F14 PB6-F11 PB6-F12 PB6-F9 PB6-F10 PB6-F7 PB6-F8 PB6-F5 PB6-F6 PB6-F3 PB6-F4 PB6-F1 PB6-F2 PB6-E16 PB6-E15 PB6-E14 PB6-E13 PB6-E12 PB6-E11 PB6-E10 PB6-E9 PB6-E8 PB6-E7 PB6-E6 PB6-E5 PB6-E4 PB6-E3 PB6-E2 PB6-E1 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 HVS_REF_COM HVS_OUT_COM MVS_REF_COM MVS_OUT_COM HVS_POS_FORCE MVS_POS_FORCE HVS_REF2 HVS_NEG_FORCE HVS_REF1 MVS_REF2 MVS_NEG_FORCE MVS_REF1 DUT 14 DUT 13 (RLY DRV) DUT 12 DUT 11 (RLY DRV) DUT 10 OFS_REF_COM OFS_OUT_COM OFS_POS_FORCE DUT16 OFS_REF2 OFS_NEG_FORCE OFS_REF1 OUT_15 OUT_16 OUT_17 OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

ASL Series Programming Guide

423

B - ASL 3000 Interconnects

Slot 15
ASL 3000 PVI(1) & I/O ConnectorPin
16 14 12 10 8 6 4 2 PB7-D17 PB7-D15 PB7-D13 PB7-D11 PB7-D9 PB7-D7 PB7-D5 PB7-D3 CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 15 13 11 9 7 5 3 1 PB7-D28 PB7-D16 PB7-D14 PB7-D12 PB7-D10 PB7-D8 PB7-D6 PB7-D4 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

424

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 15 Continued
ASL 3000 I/O Connector-Pin
16 14 12 10 8 6 4 2 PB7-D17 PB7-D15 PB7-D13 PB7-D11 PB7-D9 PB7-D7 PB7-D5 PB7-D3 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 15 13 11 9 7 5 3 1 PB7-D28 PB7-D16 PB7-D14 PB7-D12 PB7-D10 PB7-D8 PB7-D6 PB7-D4 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 HVS_REF_COM HVS_OUT_COM MVS_REF_COM MVS_OUT_COM HVS_POS_FORCE MVS_POS_FORCE HVS_REF2 HVS_NEG_FORCE HVS_REF1 MVS_REF2 MVS_NEG_FORCE MVS_REF1 DUT 14 DUT 13 (RLY DRV) DUT 12 DUT 11 (RLY DRV) DUT 10 OFS_REF_COM OFS_OUT_COM OFS_POS_FORCE DUT16 OFS_REF2 OFS_NEG_FORCE OFS_REF1 OUT_15 OUT_16 OUT_17 OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

ASL Series Programming Guide

425

B - ASL 3000 Interconnects

Slot 16
ASL 3000 PVI(1) & I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB7-F17 PB7-F18 PB7-F15 PB7-F16 PB7-F13 PB7-F14 PB7-F11 PB7-F12 PB7-F9 PB7-F10 PB7-F7 PB7-F8 PB7-F5 PB7-F6 PB7-F3 PB7-F4 PB7-E18 PB7-E17 PB7-E16 PB7-E15 PB7-E14 PB7-E13 PB7-E12 PB7-E11 PB7-E10 PB7-E9 PB7-E8 PB7-E7 PB7-E6 PB7-E5 PB7-E4 PB7-E3 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

426

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 16 Continued
ASL 3000 I/O Connector-Pin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB7-F17 PB7-F18 PB7-F15 PB7-F16 PB7-F13 PB7-F14 PB7-F11 PB7-F12 PB7-F9 PB7-F10 PB7-F7 PB7-F8 PB7-F5 PB7-F6 PB7-F3 PB7-F4 PB7-E18 PB7-E17 PB7-E16 PB7-E15 PB7-E14 PB7-E13 PB7-E12 PB7-E11 PB7-E10 PB7-E9 PB7-E8 PB7-E7 PB7-E6 PB7-E5 PB7-E4 PB7-E3 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 HVS_REF_COM HVS_OUT_COM MVS_REF_COM MVS_OUT_COM HVS_POS_FORCE MVS_POS_FORCE HVS_REF2 HVS_NEG_FORCE HVS_REF1 MVS_REF2 MVS_NEG_FORCE MVS_REF1 DUT 14 DUT 13 (RLY DRV) DUT 12 DUT 11 (RLY DRV) DUT 10 OFS_REF_COM OFS_OUT_COM OFS_POS_FORCE DUT16 OFS_REF2 OFS_NEG_FORCE OFS_REF1 OUT_15 OUT_16 OUT_17 OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

ASL Series Programming Guide

427

B - ASL 3000 Interconnects

Slot 17
ASL 3000 PVI(1) & I/O ConnectorPin
16 14 12 10 8 6 4 2 PB7-F1 PB7-E2 PB7-D1 PB7-C2 PB8-B1 PB8-D1 PB8-E2 PB8-F1 CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 15 13 11 9 7 5 3 1 PB7-F2 PB7-E1 PB7-D2 PB7-C1 PB8-C1 PB8-D2 PB8-E1 PB8-F2 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

428

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 17 Continued
ASL 3000 I/O Connector-Pin
16 14 12 10 8 6 4 2 PB7-F1 PB7-E2 PB7-D1 PB7-C2 PB8-B1 PB8-D1 PB8-E2 PB8-F1 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 15 13 11 9 7 5 3 1 PB7-F2 PB7-E1 PB7-D2 PB7-C1 PB8-C1 PB8-D2 PB8-E1 PB8-F2 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 HVS_REF_COM HVS_OUT_COM MVS_REF_COM MVS_OUT_COM HVS_POS_FORCE MVS_POS_FORCE HVS_REF2 HVS_NEG_FORCE HVS_REF1 MVS_REF2 MVS_NEG_FORCE MVS_REF1 DUT 14 DUT 13 (RLY DRV) DUT 12 DUT 11 (RLY DRV) DUT 10 OFS_REF_COM OFS_OUT_COM OFS_POS_FORCE DUT16 OFS_REF2 OFS_NEG_FORCE OFS_REF1 OUT_15 OUT_16 OUT_17 OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

ASL Series Programming Guide

429

B - ASL 3000 Interconnects

Slot 18
ASL 3000 PVI(1) & I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB8-B3 PB8-B4 PB8-B5 PB8-B6 PB8-B7 PB8-B8 PB8-B9 PB8-B10 PB8-B11 PB8-B12 PB8-B13 PB8-B14 PB8-B15 PB8-B16 PB8-B17 PB8-B18 PB8-C2 PB8-C3 PB8-C4 PB8-C5 PB8-C6 PB8-C7 PB8-C8 PB8-C9 PB8-C10 PB8-C11 PB8-C12 PB8-C13 PB8-C14 PB8-C15 PB8-C16 PB8-C17 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

430

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 18 Continued
ASL 3000 I/O Connector-Pin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB8-B3 PB8-B4 PB8-B5 PB8-B6 PB8-B7 PB8-B8 PB8-B9 PB8-B10 PB8-B11 PB8-B12 PB8-B13 PB8-B14 PB8-B15 PB8-B16 PB8-B17 PB8-B18 PB8-C2 PB8-C3 PB8-C4 PB8-C5 PB8-C6 PB8-C7 PB8-C8 PB8-C9 PB8-C10 PB8-C11 PB8-C12 PB8-C13 PB8-C14 PB8-C15 PB8-C16 PB8-C17 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 HVS_REF_COM HVS_OUT_COM MVS_REF_COM MVS_OUT_COM HVS_POS_FORCE MVS_POS_FORCE HVS_REF2 HVS_NEG_FORCE HVS_REF1 MVS_REF2 MVS_NEG_FORCE MVS_REF1 DUT 14 DUT 13 (RLY DRV) DUT 12 DUT 11 (RLY DRV) DUT 10 OFS_REF_COM OFS_OUT_COM OFS_POS_FORCE DUT16 OFS_REF2 OFS_NEG_FORCE OFS_REF1 OUT_15 OUT_16 OUT_17 OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

ASL Series Programming Guide

431

B - ASL 3000 Interconnects

Slot 19
ASL 3000 PVI(1) & I/O ConnectorPin
16 14 12 10 8 6 4 2 PB8-A4 PB8-A6 PB8-A8 PB8-A10 PB8-A12 PB8-A14 PB8-A16 PB8-A18 CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 15 13 11 9 7 5 3 1 PB8-A3 PB8-A5 PB8-A7 PB8-A9 PB8-A11 PB8-A13 PB8-A15 PB8-A17 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

432

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 19 Continued
ASL 3000 I/O Connector-Pin
16 14 12 10 8 6 4 2 PB8-A4 PB8-A6 PB8-A8 PB8-A10 PB8-A12 PB8-A14 PB8-A16 PB8-A18 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 15 13 11 9 7 5 3 1 PB8-A3 PB8-A5 PB8-A7 PB8-A9 PB8-A11 PB8-A13 PB8-A15 PB8-A17 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 HVS_REF_COM HVS_OUT_COM MVS_REF_COM MVS_OUT_COM HVS_POS_FORCE MVS_POS_FORCE HVS_REF2 HVS_NEG_FORCE HVS_REF1 MVS_REF2 MVS_NEG_FORCE MVS_REF1 DUT 14 DUT 13 (RLY DRV) DUT 12 DUT 11 (RLY DRV) DUT 10 OFS_REF_COM OFS_OUT_COM OFS_POS_FORCE DUT16 OFS_REF2 OFS_NEG_FORCE OFS_REF1 OUT_15 OUT_16 OUT_17 OUT_18 OUT_19 OUT_20 OUT_21 OUT_22 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

Slot 20
ASL 3000 I/O Connector-Pin
32 31 30 29 28 27 26 25 PB8-E18 PB8-E17 PB8-E16 PB8-E15 PB8-E14 PB8-E13 PB8-E12 PB8-E11 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1

MUX(1)

ASL Series Programming Guide

433

B - ASL 3000 Interconnects

ASL 3000 I/O Connector-Pin


24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB8-E10 PB8-E9 PB8-E8 PB8-E7 PB8-E6 PB8-E5 PB8-E4 PB8-E3 PB8-F17 PB8-F18 PB8-F15 PB8-F16 PB8-F13 PB8-F14 PB8-F11 PB8-F12 PB8-F9 PB8-F10 PB8-F7 PB8-F8 PB8-F5 PB8-F6 PB8-F3 PB8-F4 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1

MUX(1)

Note: MUX in Slot 20 is a required instrument for the ASL 1000 only.

434

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 21
ASL 3000 PVI(1) & I/O ConnectorPin
16 14 12 10 8 6 4 2 PB8-D17 PB8-D15 PB8-D13 PB8-D11 PB8-D9 PB8-D7 PB8-D5 PB8-D3 CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 15 13 11 9 7 5 3 1 PB8-D18 PB8-D16 PB8-D14 PB8-D12 PB8-D10 PB8-D8 PB8-D6 PB8-D4 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

ASL Series Programming Guide

435

B - ASL 3000 Interconnects

Slot 21 Continued
ASL 3000 I/O ConnectorPin
16 14 12 10 8 6 4 2 PB8-D17 PB8-D15 PB8-D13 PB8-D11 PB8-D9 PB8-D7 PB8-D5 PB8-D3 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 15 13 11 9 7 5 3 1 PB8-D18 PB8-D16 PB8-D14 PB8-D12 PB8-D10 PB8-D8 PB8-D6 PB8-D4 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 GND CH2-1 CH2-2 GND CH2-3 CH2-4 GND EXT_TRIG GND CH2-5 CH2-6 GND HVS_REF2 MVS_REF2 DUT16 OFS_REF2 OUT_15 GND CH1-1 CH1-2 GND CH1-3 CH1-4 GND EXT_CLK GND CH1-5 CH1-6 GND HVS_NEG_FO MVS_NEG_FO RCE RCE HVS_REF1 MVS_REF1 DUT 14 DUT 13 (RLY DRV) HVS_POS_FO MVS_POS_FO DUT 12 RCE RCE DUT 11 (RLY DRV) HVS_REF_CO MVS_REF_CO DUT 10 M M HVS_OUT_CO MVS_OUT_CO M M OFS_NEG_FO OUT_16 RCE OFS_REF1 OUT_17 OUT_18 OFS_POS_FO OUT_19 RCE OUT_20 OFS_REF_CO OUT_21 M OFS_OUT_CO OUT_22 M OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

PRO-DIG

436

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 23
ASL 3000 PVI(1) & I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB10-E2 PB10-E3 PB10-E6 PB10-E7 PB10-E10 PB10-E11 PB10-E14 PB10-E15 PB10-A17 PB10-A16 PB10-A13 PB10-A12 PB10-A9 PB10-A8 PB10-A5 PB10-A4 PB10-E4 PB10-E5 PB10-E8 PB10-E9 PB10-E12 PB10-E13 PB10-E16 PB10-E17 PB10-A15 PB10-A14 PB10-A11 PB10-A10 PB10-A7 PB10-A6 PB10-A3 PB10-A2 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

ASL Series Programming Guide

437

B - ASL 3000 Interconnects

Slot 23 Continued
ASL 3000 I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB10-E2 PB10-E3 PB10-E6 PB10-E7 PB10-E10 PB10-E11 PB10-E14 PB10-E15 PB10-A17 PB10-A16 PB10-A13 PB10-A12 PB10-A9 PB10-A8 PB10-A5 PB10-A4 PB10-E4 PB10-E5 PB10-E8 PB10-E9 PB10-E12 PB10-E13 PB10-E16 PB10-E17 PB10-A15 PB10-A14 PB10-A11 PB10-A10 PB10-A7 PB10-A6 PB10-A3 PB10-A2 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 HVS_REF2 MVS_REF2 DUT16 OFS_REF2 OUT_15 IO_15 IO_15_RTN IO_13 IO_13_RTN IO_11 IO_11_RTN IO_9 IO_9_RTN IO_7 IO_7_RTN IO_5 IO_5_RTN IO_3 IO_3_RTN IO_1 IO_1_RTN IO_14 IO_14_RTN IO_12 IO_12_RTN IO_10 IO_10_RTN IO_8 IO_8_RTN IO_6 IO_6_RTN IO_4 IO_4_RTN IO_2 IO_2_RTN IO_0 IO_0_RTN HVS_NEG_FO MVS_NEG_FO RCE RCE HVS_REF1 MVS_REF1 DUT 14 DUT 13 (RLY DRV) HVS_POS_FO MVS_POS_FO DUT 12 RCE RCE DUT 11 (RLY DRV) HVS_REF_CO MVS_REF_CO DUT 10 M M HVS_OUT_CO MVS_OUT_CO M M OFS_NEG_FO OUT_16 RCE OFS_REF1 OUT_17 OUT_18 OFS_POS_FO OUT_19 RCE OUT_20 OFS_REF_CO OUT_21 M OFS_OUT_CO OUT_22 M OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

MDI

438

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 24
ASL 3000 PVI(1) & I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB10-F3 PB10-F2 PB10-F7 PB10-F6 PB10-F11 PB10-F10 PB10-F15 PB10-F14 PB10-B16 PB10-B17 PB10-B12 PB10-B13 PB10-B8 PB10-B9 PB10-B4 PB10-B5 PB10-F5 PB10-F4 PB10-F9 PB10-F8 PB10-F13 PB10-F12 PB10-F17 PB10-F16 PB10-B14 PB10-B15 PB10-B10 PB10-B11 PB10-B6 PB10-B7 PB10-B2 PB10-B3 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

ASL Series Programming Guide

439

B - ASL 3000 Interconnects

Slot 24 Continued
ASL 3000 I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB10-F3 PB10-F2 PB10-F7 PB10-F6 PB10-F11 PB10-F10 PB10-F15 PB10-F14 PB10-B16 PB10-B17 PB10-B12 PB10-B13 PB10-B8 PB10-B9 PB10-B4 PB10-B5 PB10-F5 PB10-F4 PB10-F9 PB10-F8 PB10-F13 PB10-F12 PB10-F17 PB10-F16 PB10-B14 PB10-B15 PB10-B10 PB10-B11 PB10-B6 PB10-B7 PB10-B2 PB10-B3 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 HVS_REF2 MVS_REF2 DUT16 OFS_REF2 OUT_15 IO_15 IO_15_RTN IO_13 IO_13_RTN IO_11 IO_11_RTN IO_9 IO_9_RTN IO_7 IO_7_RTN IO_5 IO_5_RTN IO_3 IO_3_RTN IO_1 IO_1_RTN IO_14 IO_14_RTN IO_12 IO_12_RTN IO_10 IO_10_RTN IO_8 IO_8_RTN IO_6 IO_6_RTN IO_4 IO_4_RTN IO_2 IO_2_RTN IO_0 IO_0_RTN HVS_NEG_FO MVS_NEG_FO RCE RCE HVS_REF1 MVS_REF1 DUT 14 DUT 13 (RLY DRV) HVS_POS_FO MVS_POS_FO DUT 12 RCE RCE DUT 11 (RLY DRV) HVS_REF_CO MVS_REF_CO DUT 10 M M HVS_OUT_CO MVS_OUT_CO M M OFS_NEG_FO OUT_16 RCE OFS_REF1 OUT_17 OUT_18 OFS_POS_FO OUT_19 RCE OUT_20 OFS_REF_CO OUT_21 M OFS_OUT_CO OUT_22 M OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

MDI

440

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 25
ASL 3000 PVI(1) & I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB9-B2 PB9-B3 PB9-B6 PB9-B7 PB9-B10 PB9-B11 PB9-B14 PB9-B15 PB9-E17 PB9-E16 PB9-E13 PB9-E12 PB9-E9 PB9-E8 PB9-E5 PB9-E4 PB9-B4 PB9-B5 PB9-B8 PB9-B9 PB9-B12 PB9-B13 PB9-B16 PB9-B17 PB9-E15 PB9-E14 PB9-E11 PB9-E10 PB9-E7 PB9-E6 PB9-E3 PB9-E2 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

ASL Series Programming Guide

441

B - ASL 3000 Interconnects

Slot 25 Continued
ASL 3000 I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB9-B2 PB9-B3 PB9-B6 PB9-B7 PB9-B10 PB9-B11 PB9-B14 PB9-B15 PB9-E17 PB9-E16 PB9-E13 PB9-E12 PB9-E9 PB9-E8 PB9-E5 PB9-E4 PB9-B4 PB9-B5 PB9-B8 PB9-B9 PB9-B12 PB9-B13 PB9-B16 PB9-B17 PB9-E15 PB9-E14 PB9-E11 PB9-E10 PB9-E7 PB9-E6 PB9-E3 PB9-E2 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 HVS_REF2 MVS_REF2 DUT16 OFS_REF2 OUT_15 IO_15 IO_15_RTN IO_13 IO_13_RTN IO_11 IO_11_RTN IO_9 IO_9_RTN IO_7 IO_7_RTN IO_5 IO_5_RTN IO_3 IO_3_RTN IO_1 IO_1_RTN IO_14 IO_14_RTN IO_12 IO_12_RTN IO_10 IO_10_RTN IO_8 IO_8_RTN IO_6 IO_6_RTN IO_4 IO_4_RTN IO_2 IO_2_RTN IO_0 IO_0_RTN HVS_NEG_FO MVS_NEG_FO RCE RCE HVS_REF1 MVS_REF1 DUT 14 DUT 13 (RLY DRV) HVS_POS_FO MVS_POS_FO DUT 12 RCE RCE DUT 11 (RLY DRV) HVS_REF_CO MVS_REF_CO DUT 10 M M HVS_OUT_CO MVS_OUT_CO M M OFS_NEG_FO OUT_16 RCE OFS_REF1 OUT_17 OUT_18 OFS_POS_FO OUT_19 RCE OUT_20 OFS_REF_CO OUT_21 M OFS_OUT_CO OUT_22 M OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

MDI

442

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 26
ASL 3000 PVI(1) & I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB9-A3 PB9-A2 PB9-A7 PB9-A6 PB9-A11 PB9-A10 PB9-A15 PB9-A14 PB9-F16 PB9-F17 PB9-F12 PB9-F13 PB9-F8 PB9-F9 PB9-F4 PB9-F5 PB9-A5 PB9-A4 PB9-A9 PB9-A8 PB9-A13 PB9-A12 PB9-A17 PB9-A16 PB9-F14 PB9-F15 PB9-F10 PB9-F11 PB9-F6 PB9-F7 PB9-F2 PB9-F3 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

ASL Series Programming Guide

443

B - ASL 3000 Interconnects

Slot 26 Continued
ASL 3000 I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB9-A3 PB9-A2 PB9-A7 PB9-A6 PB9-A11 PB9-A10 PB9-A15 PB9-A14 PB9-F16 PB9-F17 PB9-F12 PB9-F13 PB9-F8 PB9-F9 PB9-F4 PB9-F5 PB9-A5 PB9-A4 PB9-A9 PB9-A8 PB9-A13 PB9-A12 PB9-A17 PB9-A16 PB9-F14 PB9-F15 PB9-F10 PB9-F11 PB9-F6 PB9-F7 PB9-F2 PB9-F3 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 HVS_REF2 MVS_REF2 DUT16 OFS_REF2 OUT_15 IO_15 IO_15_RTN IO_13 IO_13_RTN IO_11 IO_11_RTN IO_9 IO_9_RTN IO_7 IO_7_RTN IO_5 IO_5_RTN IO_3 IO_3_RTN IO_1 IO_1_RTN IO_14 IO_14_RTN IO_12 IO_12_RTN IO_10 IO_10_RTN IO_8 IO_8_RTN IO_6 IO_6_RTN IO_4 IO_4_RTN IO_2 IO_2_RTN IO_0 IO_0_RTN HVS_NEG_FO MVS_NEG_FO RCE RCE HVS_REF1 MVS_REF1 DUT 14 DUT 13 (RLY DRV) HVS_POS_FO MVS_POS_FO DUT 12 RCE RCE DUT 11 (RLY DRV) HVS_REF_CO MVS_REF_CO DUT 10 M M HVS_OUT_CO MVS_OUT_CO M M OFS_NEG_FO OUT_16 RCE OFS_REF1 OUT_17 OUT_18 OFS_POS_FO OUT_19 RCE OUT_20 OFS_REF_CO OUT_21 M OFS_OUT_CO OUT_22 M OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

MDI

444

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 27
ASL 3000 PVI(1) & I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB1-E16 PB1-E17 PB1-E14 PB1-E15 PB1-E12 PB1-E13 PB1-E10 PB1-E11 PB1-E8 PB1-E9 PB1-E6 PB1-E7 PB1-E4 PB1-E5 PB1-E2 PB1-E3 PB1-F17 PB1-F16 PB1-F15 PB1-F14 PB1-F13 PB1-F12 PB1-F11 PB1-F10 PB1-F9 PB1-F8 PB1-F7 PB1-F6 PB1-F5 PB1-F4 PB1-F3 PB1-F2 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

ASL Series Programming Guide

445

B - ASL 3000 Interconnects

Slot 27 Continued
ASL 3000 I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 PB1-E16 PB1-E17 PB1-E14 PB1-E15 PB1-E12 PB1-E13 PB1-E10 PB1-E11 PB1-E8 PB1-E9 PB1-E6 PB1-E7 PB1-E4 PB1-E5 PB1-E2 PB1-E3 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 HVS_REF2 MVS_REF2 DUT16 OFS_REF2 OUT_15 Prescale_Out1 _RTN Prescale_Out1 DSP3_Clk_Out _RTN DSP3_Clk_Out DSP3_Clk_In_ RTN DSP3_Clk_In DSP1_Clk_Out _RTN DSP1_Clk_Out DSP1_Clk_In_ RTN DSP1_Clk_In DSP3_Clk_Out _En DSP1_Clk_Out _En DUT_IO_1 DUT_IO_0 10MHz_Ref_In _RTN 10MHz_Ref_In _RTN HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 Prescale_Out0 _RTN Prescale_Out0 DSP2_Clk_Out _RTN DSP2_Clk_Out DSP2_Clk_In_ RTN DSP2_Clk_In DSP0_Clk_Out _RTN DSP0_Clk_Out DSP0_Clk_In_ RTN DSP0_Clk_In DSP2_Clk_Out _En DSP0_Clk_Out _En DUT_Clk_In_R TN DUT_Clk_In

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

CLK

HVS_NEG_FO MVS_NEG_FO RCE RCE HVS_REF1 MVS_REF1 DUT 14 DUT 13 (RLY DRV) HVS_POS_FO MVS_POS_FO DUT 12 RCE RCE DUT 11 (RLY DRV) HVS_REF_CO MVS_REF_CO DUT 10 M M HVS_OUT_CO MVS_OUT_CO M M

OFS_NEG_FO OUT_16 RCE OFS_REF1 OUT_17 OUT_18 OFS_POS_FO OUT_19 RCE OUT_20 OFS_REF_CO OUT_21 M OFS_OUT_CO OUT_22 M OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

16 15 14 13 12 11 10 9 8 7 6 5 4 3

PB1-F17 PB1-F16 PB1-F15 PB1-F14 PB1-F13 PB1-F12 PB1-F11 PB1-F10 PB1-F9 PB1-F8 PB1-F7 PB1-F6 PB1-F5 PB1-F4

MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3

446

ASL Series Programming Guide

RF DUT Interface Pinouts

ASL 3000 I/O ConnectorPin


2 1 PB1-F3 PB1-F2 MUX_1_2 MUX_1_1 10MHz_Ref_O ut_RTN 10MHz_Ref_O ut

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

CLK

ASL Series Programming Guide

447

B - ASL 3000 Interconnects

Slot 28
ASL 3000 PVI(1) & I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB3-F2 PB3-F3 PB3-F6 PB3-F7 PB3-F10 PB3-F11 PB3-F14 PB3-F15 PB3-B16 PB3-B17 PB3-B12 PB3-B13 PB3-B8 PB3-B9 PB3-B4 PB3-B5 PB3-F4 PB3-F5 PB3-F8 PB3-F9 PB3-F12 PB3-F13 PB3-F16 PB3-F17 PB3-B14 PB3-B15 PB3-B10 PB3-B11 PB3-B6 PB3-B7 PB3-B2 PB3-B3 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

448

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 28 Continued
ASL 3000 I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB3-F2 PB3-F3 PB3-F6 PB3-F7 PB3-F10 PB3-F11 PB3-F14 PB3-F15 PB3-B16 PB3-B17 PB3-B12 PB3-B13 PB3-B8 PB3-B9 PB3-B4 PB3-B5 PB3-F4 PB3-F5 PB3-F8 PB3-F9 PB3-F12 PB3-F13 PB3-F16 PB3-F17 PB3-B14 PB3-B15 PB3-B10 PB3-B11 PB3-B6 PB3-B7 PB3-B2 PB3-B3 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 HVS_REF2 MVS_REF2 DUT16 OFS_REF2 OUT_15 Q_2-_in SPARE_12 Q_2+_in Q_2_Vos_in I_2-_in SPARE_11 I_2+_in I_2_Vos_in Q_1-_in SPARE_10 Q_1+_in Q_1_Vos_in I_1-_in SPARE_9 I_1+_in I_1_Vos_in Q_2-_out SPARE_8 Q_2+_out SPARE_7 I_2-_out SPARE_6 I_2+_out SPARE_5 Q_1-_out SPARE_4 Q_1+_out SPARE_3 I_1-_out SPARE_2 I_1+_out SPARE_1 HVS_NEG_FO MVS_NEG_FO RCE RCE HVS_REF1 MVS_REF1 DUT 14 DUT 13 (RLY DRV) HVS_POS_FO MVS_POS_FO DUT 12 RCE RCE DUT 11 (RLY DRV) HVS_REF_CO MVS_REF_CO DUT 10 M M HVS_OUT_CO MVS_OUT_CO M M OFS_NEG_FO OUT_16 RCE OFS_REF1 OUT_17 OUT_18 OFS_POS_FO OUT_19 RCE OUT_20 OFS_REF_CO OUT_21 M OFS_OUT_CO OUT_22 M OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

BTB

ASL Series Programming Guide

449

B - ASL 3000 Interconnects

Slot 28 Continued
ASL 3000 I/O Connector-Pin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB3-F2 PB3-F3 PB3-F6 PB3-F7 PB3-F10 PB3-F11 PB3-F14 PB3-F15 PB3-B16 PB3-B17 PB3-B12 PB3-B13 PB3-B8 PB3-B9 PB3-B4 PB3-B5 PB3-F4 PB3-F5 PB3-F8 PB3-F9 PB3-F12 PB3-F13 PB3-F16 PB3-F17 PB3-B14 PB3-B15 PB3-B10 PB3-B11 PB3-B6 PB3-B7 PB3-B2 PB3-B3 RESERVED RESERVED RESERVED RESERVED EXT_TRIGGER_2 EXT_TRIGGER_1 RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED CHNL_RTN_8 CHNL_OUT_8 CHNL_RTN_7 CHNL_OUT_7 CHNL_RTN_6 CHNL_OUT_6 CHNL_RTN_5 CHNL_OUT_5 CHNL_RTN_4 CHNL_OUT_4 CHNL_RTN_3 CHNL_OUT_3 CHNL_RTN_2 CHNL_OUT_2 CHNL_RTN_1 CHNL_OUT_1 CH0- Rtn (gnd) CH0CH0+ Rtn (gnd) CH0+ CH1- Rtn (gnd) CH1CH1+ Rtn (gnd) CH1+ Vref 0 LS Vref 0 HF Vref 0 HS Ext Trig 1 Ext Trig 0 Vref 1 LS Vref 1 HF Vref 1 HS Uclk - Rtn (gnd) Uclk Uclk + Rtn (gnd) Uclk +

AWG

AVD

450

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 29
ASL 3000 PVI(1) & I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB3-E3 PB3-E2 PB3-E7 PB3-E6 PB3-E11 PB3-E10 PB3-E15 PB3-E14 PB3-A17 PB3-A16 PB3-A13 PB3-A12 PB3-A9 PB3-A8 PB3-A5 PB3-A4 PB3-E5 PB3-E4 PB3-E9 PB3-E8 PB3-E13 PB3-E12 PB3-E17 PB3-E16 PB3-A15 PB3-A14 PB3-A11 PB3-A10 PB3-A7 PB3-A6 PB3-A3 PB3-A2 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

ASL Series Programming Guide

451

B - ASL 3000 Interconnects

Slot 29 Continued
ASL 3000 I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB3-E3 PB3-E2 PB3-E7 PB3-E6 PB3-E11 PB3-E10 PB3-E15 PB3-E14 PB3-A17 PB3-A16 PB3-A13 PB3-A12 PB3-A9 PB3-A8 PB3-A5 PB3-A4 PB3-E5 PB3-E4 PB3-E9 PB3-E8 PB3-E13 PB3-E12 PB3-E17 PB3-E16 PB3-A15 PB3-A14 PB3-A11 PB3-A10 PB3-A7 PB3-A6 PB3-A3 PB3-A2 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 HVS_REF2 MVS_REF2 DUT16 OFS_REF2 OUT_15 Q_2-_in SPARE_12 Q_2+_in Q_2_Vos_in I_2-_in SPARE_11 I_2+_in I_2_Vos_in Q_1-_in SPARE_10 Q_1+_in Q_1_Vos_in I_1-_in SPARE_9 I_1+_in I_1_Vos_in Q_2-_out SPARE_8 Q_2+_out SPARE_7 I_2-_out SPARE_6 I_2+_out SPARE_5 Q_1-_out SPARE_4 Q_1+_out SPARE_3 I_1-_out SPARE_2 I_1+_out SPARE_1 HVS_NEG_FO MVS_NEG_FO RCE RCE HVS_REF1 MVS_REF1 DUT 14 DUT 13 (RLY DRV) HVS_POS_FO MVS_POS_FO DUT 12 RCE RCE DUT 11 (RLY DRV) HVS_REF_CO MVS_REF_CO DUT 10 M M HVS_OUT_CO MVS_OUT_CO M M OFS_NEG_FO OUT_16 RCE OFS_REF1 OUT_17 OUT_18 OFS_POS_FO OUT_19 RCE OUT_20 OFS_REF_CO OUT_21 M OFS_OUT_CO OUT_22 M OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

BTB

452

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 29 Continued
ASL 3000 I/O Connector-Pin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB3-E3 PB3-E2 PB3-E7 PB3-E6 PB3-E11 PB3-E10 PB3-E15 PB3-E14 PB3-A17 PB3-A16 PB3-A13 PB3-A12 PB3-A9 PB3-A8 PB3-A5 PB3-A4 PB3-E5 PB3-E4 PB3-E9 PB3-E8 PB3-E13 PB3-E12 PB3-E17 PB3-E16 PB3-A15 PB3-A14 PB3-A11 PB3-A10 PB3-A7 PB3-A6 PB3-A3 PB3-A2 RESERVED RESERVED RESERVED RESERVED EXT_TRIGGER_2 EXT_TRIGGER_1 RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED CHNL_RTN_8 CHNL_OUT_8 CHNL_RTN_7 CHNL_OUT_7 CHNL_RTN_6 CHNL_OUT_6 CHNL_RTN_5 CHNL_OUT_5 CHNL_RTN_4 CHNL_OUT_4 CHNL_RTN_3 CHNL_OUT_3 CHNL_RTN_2 CHNL_OUT_2 CHNL_RTN_1 CHNL_OUT_1 CH0- Rtn (gnd) CH0CH0+ Rtn (gnd) CH0+ CH1- Rtn (gnd) CH1CH1+ Rtn (gnd) CH1+ Vref 0 LS Vref 0 HF Vref 0 HS Ext Trig 1 Ext Trig 0 Vref 1 LS Vref 1 HF Vref 1 HS Uclk - Rtn (gnd) Uclk Uclk + Rtn (gnd) Uclk +

AWG

AVD

ASL Series Programming Guide

453

B - ASL 3000 Interconnects

Slot 30
ASL 3000 PVI(1) & I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB2-F2 PB2-F3 PB2-F6 PB2-F7 PB2-F10 PB2-F11 PB2-F14 PB2-F15 PB2-B2 PB2-B3 PB2-B6 PB2-B7 PB2-B10 PB2-B11 PB2-B14 PB2-B15 PB2-F4 PB2-F5 PB2-F8 PB2-F9 PB2-F12 PB2-F13 PB2-F16 PB2-F17 PB2-B4 PB2-B5 PB2-B8 PB2-B9 PB2-B12 PB2-B13 PB2-B16 PB2-B17 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

454

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 30 Continued
ASL 3000 I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB2-F2 PB2-F3 PB2-F6 PB2-F7 PB2-F10 PB2-F11 PB2-F14 PB2-F15 PB2-B2 PB2-B3 PB2-B6 PB2-B7 PB2-B10 PB2-B11 PB2-B14 PB2-B15 PB2-F4 PB2-F5 PB2-F8 PB2-F9 PB2-F12 PB2-F13 PB2-F16 PB2-F17 PB2-B4 PB2-B5 PB2-B8 PB2-B9 PB2-B12 PB2-B13 PB2-B16 PB2-B17 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 MUX_7_3 MUX_7_2 MUX_7_1 MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 HVS_REF2 MVS_REF2 DUT16 OFS_REF2 OUT_15 Q_2-_in SPARE_12 Q_2+_in Q_2_Vos_in I_2-_in SPARE_11 I_2+_in I_2_Vos_in Q_1-_in SPARE_10 Q_1+_in Q_1_Vos_in I_1-_in SPARE_9 I_1+_in I_1_Vos_in Q_2-_out SPARE_8 Q_2+_out SPARE_7 I_2-_out SPARE_6 I_2+_out SPARE_5 Q_1-_out SPARE_4 Q_1+_out SPARE_3 I_1-_out SPARE_2 I_1+_out SPARE_1 HVS_NEG_FO MVS_NEG_FO RCE RCE HVS_REF1 MVS_REF1 DUT 14 DUT 13 (RLY DRV) HVS_POS_FO MVS_POS_FO DUT 12 RCE RCE DUT 11 (RLY DRV) HVS_REF_CO MVS_REF_CO DUT 10 M M HVS_OUT_CO MVS_OUT_CO M M OFS_NEG_FO OUT_16 RCE OFS_REF1 OUT_17 OUT_18 OFS_POS_FO OUT_19 RCE OUT_20 OFS_REF_CO OUT_21 M OFS_OUT_CO OUT_22 M OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

BTB

ASL Series Programming Guide

455

B - ASL 3000 Interconnects

Slot 30 Continued
ASL 3000 I/O Connector-Pin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB2-F2 PB2-F3 PB2-F6 PB2-F7 PB2-F10 PB2-F11 PB2-F14 PB2-F15 PB2-B2 PB2-B3 PB2-B6 PB2-B7 PB2-B10 PB2-B11 PB2-B14 PB2-B15 PB2-F4 PB2-F5 PB2-F8 PB2-F9 PB2-F12 PB2-F13 PB2-F16 PB2-F17 PB2-B4 PB2-B5 PB2-B8 PB2-B9 PB2-B12 PB2-B13 PB2-B16 PB2-B17 RESERVED RESERVED RESERVED RESERVED EXT_TRIGGER_2 EXT_TRIGGER_1 RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED CHNL_RTN_8 CHNL_OUT_8 CHNL_RTN_7 CHNL_OUT_7 CHNL_RTN_6 CHNL_OUT_6 CHNL_RTN_5 CHNL_OUT_5 CHNL_RTN_4 CHNL_OUT_4 CHNL_RTN_3 CHNL_OUT_3 CHNL_RTN_2 CHNL_OUT_2 CHNL_RTN_1 CHNL_OUT_1 CH0- Rtn (gnd) CH0CH0+ Rtn (gnd) CH0+ CH1- Rtn (gnd) CH1CH1+ Rtn (gnd) CH1+ Vref 0 LS Vref 0 HF Vref 0 HS Ext Trig 1 Ext Trig 0 Vref 1 LS Vref 1 HF Vref 1 HS Uclk - Rtn (gnd) Uclk Uclk + Rtn (gnd) Uclk +

AWG

AVD

456

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 31
ASL 3000 PVI(1) & I/O ConnectorPin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB2-E3 PB2-E2 PB2-E7 PB2-E6 PB2-E11 PB2-E10 PB2-E15 PB2-E14 PB2-A3 PB2-A2 PB2-A7 PB2-A6 PB2-A11 PB2-A10 PB2-A15 PB2-A14 PB2-E5 PB2-E4 PB2-E9 PB2-E8 PB2-E13 PB2-E12 PB2-E17 PB2-E16 PB2-A5 PB2-A4 PB2-A9 PB2-A8 PB2-A13 PB2-A12 PB2-A17 PB2-A16 CH3 SENSE CH2 SENSE CH1 SENSE CH0 SENSE CH7 SENSE CH6 SENSE CH5 SENSE CH4 SENSE EXT DRV1 EXT IN3 EXT DRV2 EXT IN2 EXT IN1 EXT ADC STB EXT GND SENS EXT CLOCK CH3 FORCE CH2 FORCE CH1 FORCE CH0 FORCE CH7 FORCE CH6 FORCE CH5 FORCE CH4 FORCE CH1 FORCE CH1 GUARD CH1 SENSE EXT DATA CH0 FORCE CH0 GUARD CH0 SENSE -FORCE 1 SENSE 2 SENSE 3 SENSE 4 SENSE 5 SENSE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 5 FORCE 2 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 1 FORCE 1 FORCE 2 FORCE 2 FORCE 3 FORCE 3 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 4 FORCE 1 FORCE 1 FORCE 1 FORCE 3 FORCE -SENSE TMU EXT DRV3 EXT CLK IN SYNC 2 RMS IN 1 RMS IN 3 TMU EXT DRV1 TMU EXT DRV2 IO2 IO1 DUT OUT 2 EXT LOAD CONN EXT RLY DRV CH0 FEEDBACK RMS METER DUT OUT EXT REF CH1 POS IN ACS OUT SYNC 1 SYNC 3 RMS IN 2 RMS IN 4 EXT ARM IN TMU CHAN B DUT2 TMU CHAN B DUT1 TMU CHAN A DUT2 TMU CHAN A DUT1 CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 TMU HIZ DUT1 CHANNEL 7 TMU HIZ DUT2 CHANNEL 8 TMU HIZ DUT3 TMU HIZ DUT4 DUT POS OUT EXT_GND_RE F EXT PICO POS DAC_AGND DUT NEG OUT PREC_REF_F ORCE EXT PICO NEG DUT NEG IN EXT DRV 1 DUT POS IN EXT DRV 2 CH1 PICO POS CH1 PICO NEG CH1 NEG IN DIFF_IN_NEG EXT_IN_1 DIFF_IN_POS EXT_FBACK_2 DIFF_IN_REF DRV_9

OVI

DVI PV3(1)

ACS

TMU

DDD(M)

DOAL(1)

DCC

CH1 POS OUT DRV_8

CH1 NEG OUT DRV_11 DRV_10 DRV_12 DRV_13 DRV_15 DRV_14 EXT_FBACK_1 SERVO_TRIG GER EXT_IN_2 PREC_REF_S ENSE EXT_ADC_IN1 EXT_ADC_IN2 EXT_DRV_2

DUT OUT OUT EXT_DRV_1 CH1 OUT 2 CH1 LOAD CONN CH1 EXT DRV CH1 FEEDBACK DRV_0 DRV_1 DRV_3 DRV_2

CH1 RMS MTR DRV_4 CH1 DUT OUT DRV_5 DRV_7 CH1 OUT OUT DRV_6

ASL Series Programming Guide

457

B - ASL 3000 Interconnects

Slot 31 Continued
ASL 3000 I/O ConnectorPin
32 31 30 29 28 31 31 31 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB2-E3 PB2-E2 PB2-E7 PB2-E6 PB2-E11 PB2-E2 PB2-E2 PB2-E2 PB2-A3 PB2-A2 PB2-A7 PB2-A6 PB2-A11 PB2-A10 PB2-A15 PB2-A14 PB2-E5 PB2-E4 PB2-E9 PB2-E8 PB2-E13 PB2-E12 PB2-E17 PB2-E16 PB2-A5 PB2-A4 PB2-A9 PB2-A8 PB2-A13 PB2-A12 PB2-A17 PB2-A16 MUX_8_4 MUX_8_3 MUX_8_2 MUX_8_1 MUX_7_4 CH2 FORCE CH2 FORCE CH2 FORCE MUX_6_4 MUX_6_3 MUX_6_2 MUX_6_1 MUX_5_4 MUX_5_3 MUX_5_2 MUX_5_1 MUX_4_4 MUX_4_3 MUX_4_2 MUX_4_1 MUX_3_4 MUX_3_3 MUX_3_2 MUX_3_1 MUX_2_4 MUX_2_3 MUX_2_2 MUX_2_1 MUX_1_4 MUX_1_3 MUX_1_2 MUX_1_1 HVS_OUT_8 HVS_OUT_7 HVS_OUT_6 HVS_OUT_5 HVS_OUT_4 HVS_OUT_3 HVS_OUT_2 HVS_OUT_1 MVS_OUT_8 MVS_OUT_7 MVS_OUT_6 MVS_OUT_5 MVS_OUT_4 MVS_OUT_3 MVS_OUT_2 MVS_OUT_1 DUT 3 (+15V) DUT 2 (RLY DRV) DUT 1 (-15V) DUT 6 DUT 5 (GND) DUT 8 OFS_OUT_8 OFS_OUT_7 OFS_OUT_6 OFS_OUT_5 OFS_OUT_4 OFS_OUT_3 OFS_OUT_2 OFS_OUT_1 OUT_1 OUT_2 OUT_3 OUT_4 OUT_5 OUT_6 OUT_7 OUT_8 OUT_9 OUT_10 OUT_11 OUT_12 OUT_13 OUT_14 HVS_REF2 MVS_REF2 DUT16 OFS_REF2 OUT_15 Q_2-_in SPARE_12 Q_2+_in Q_2_Vos_in I_2-_in EXT PICO POS EXT PICO POS EXT PICO POS Q_1-_in SPARE_10 Q_1+_in Q_1_Vos_in I_1-_in SPARE_9 I_1+_in I_1_Vos_in Q_2-_out SPARE_8 Q_2+_out SPARE_7 I_2-_out SPARE_6 I_2+_out SPARE_5 Q_1-_out SPARE_4 Q_1+_out SPARE_3 I_1-_out SPARE_2 I_1+_out SPARE_1 HVS_NEG_FO MVS_NEG_FO RCE RCE HVS_REF1 MVS_REF1 DUT 14 DUT 13 (RLY DRV) HVS_POS_FO MVS_POS_FO DUT 12 RCE RCE CH0 GUARD CH0 GUARD CH0 GUARD 1 SENSE 1 SENSE 1 SENSE SYNC 1 SYNC 1 SYNC 1 OFS_NEG_FO OUT_16 RCE OFS_REF1 OUT_17 OUT_18 OFS_POS_FO OUT_19 RCE TMU CHAN B DUT2 TMU CHAN B DUT2 TMU CHAN B DUT2 CHANNEL 2 CHANNEL 2 CHANNEL 2 OUT_23 OUT_24 OUT_25 OUT_26 OUT_27 OUT_28

MUX(1)

HVS

MVS(2)

PRO(2)

OFS

LZB

BTB

458

ASL Series Programming Guide

RF DUT Interface Pinouts

Slot 31 Continued
ASL 3000 I/O Connector-Pin
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 PB2-E3 PB2-E2 PB2-E7 PB2-E6 PB2-E11 PB2-E10 PB2-E15 PB2-E14 PB2-A3 PB2-A2 PB2-A7 PB2-A6 PB2-A11 PB2-A10 PB2-A15 PB2-A14 PB2-E5 PB2-E4 PB2-E9 PB2-E8 PB2-E13 PB2-E12 PB2-E17 PB2-E16 PB2-A5 PB2-A4 PB2-A9 PB2-A8 PB2-A13 PB2-A12 PB2-A17 PB2-A16 RESERVED RESERVED RESERVED RESERVED EXT_TRIGGER_2 EXT_TRIGGER_1 RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED CHNL_RTN_8 CHNL_OUT_8 CHNL_RTN_7 CHNL_OUT_7 CHNL_RTN_6 CHNL_OUT_6 CHNL_RTN_5 CHNL_OUT_5 CHNL_RTN_4 CHNL_OUT_4 CHNL_RTN_3 CHNL_OUT_3 CHNL_RTN_2 CHNL_OUT_2 CHNL_RTN_1 CHNL_OUT_1 CH0- Rtn (gnd) CH0CH0+ Rtn (gnd) CH0+ CH1- Rtn (gnd) CH1CH1+ Rtn (gnd) CH1+ Vref 0 LS Vref 0 HF Vref 0 HS Ext Trig 1 Ext Trig 0 Vref 1 LS Vref 1 HF Vref 1 HS Uclk - Rtn (gnd) Uclk Uclk + Rtn (gnd) Uclk +

AWG

AVD

ASL Series Programming Guide

459

B - ASL 3000 Interconnects

460

ASL Series Programming Guide

Você também pode gostar