Teledyne Everywhereyoulook T3SP-D4MX User manual

Operator’s Manual
RF-Mulplexer T3SP-D4MX

T3SP-D4MX Operator’s Manual
© 2021 Teledyne Test Tools is a brand and trademark of Teledyne LeCroy Inc.
All rights reserved. Specicaons, prices, availability and delivery subject to
change without noce. Product brand or brand names are trademarks or
requested trademarks of their respecve holders.
T3 stands for Teledyne Test Tools.
2
933407 Rev1

T3SP-D4MX Operator’s Manual
Contents
1 General Information about the T3SP-D4MX 5
2 Technical Specications 6
2.1 KeyFeatures .......................... 6
2.2 Electrical Specicaons . . . . . . . . . . . . . . . . . . . . 7
2.3 Mechanical Specicaons . . . . . . . . . . . . . . . . . . . 8
3 Programming 9
3.1 USB Interface Descripon . . . . . . . . . . . . . . . . . . . 9
3.2 Programming Examples . . . . . . . . . . . . . . . . . . . . 10
3.2.1 C/C++-Code....................... 10
3.2.2 C#-Code ........................ 12
3.2.3 Python ......................... 14
3.2.4 LabVIEW ........................ 16
3.2.5 Matlab ......................... 18
4 Safety Instructions 21
4.1 Operang Environment . . . . . . . . . . . . . . . . . . . . 21
4.2 Power.............................. 21
4.3 Safety Symbols & Terms . . . . . . . . . . . . . . . . . . . . 22
5 Maintenance 23
6 Certications 24
6.1 EMCCompliance........................ 24
6.1.1 EC DECLARATION OF CONFORMITY - EMC . . . . . . 24
6.1.2 AUSTRALIA & NEW ZEALAND DECLARATION OF CON-
FORMITY–EMC .................... 25
6.2 Safety Compliance . . . . . . . . . . . . . . . . . . . . . . . 26
6.2.1 EC DECLARATION OF CONFORMITY – LOW VOLTAGE 26
3
933407 Rev1

T3SP-D4MX Operator’s Manual
1. General Informaon about the T3SP-D4MX
Please read this operaon manual carefully before commissioning the T3SP-
D4MX , to avoid incorrect operaon of the instrument.
The T3SP-D4MX mulplexer unit can be used in applicaons requiring a high
frequency (RF) bandwidth in combinaon with pair-wise phase-matched sig-
nal paths. The mulplexer was developed for test & measurement envi-
ronments as well as for industrial applicaons, by using RF micro-electro-
mechanical-systems switches (MEMS).
A high level of protecon against electromagnec discharge (ESD) is given
by internal protecon diodes.
A main advantage of using MEMS technology is a very long lifeme, which
goes hand in hand with a high number of cycle mes (up to 1 billion). The
device typically is used in mul signal path tesng applicaons (e.g. cable
tesng). It can be programmed either by a stand-alone applicaons or inte-
grated into automated test environments.
Teledyne Test Tools oers TDR systems for measuring impedance proles
and S-parameters. The Teledyne T3SP-10D/15D series is operated by us-
ing the universal instrumentaon soware Seunis that provides control of
the T3SP-D4MX as well as calibraon (open, short, load, thru) and/or de-
embedding of the mulplexer unit.
5
933407 Rev1

T3SP-D4MX Operator’s Manual
2. Technical Specicaons
2.1 Key Features
•Double pole 4 throw (DP4T) switch with addional OFF state
•RF bandwidth up to 10GHz (3dB bandwidth: 8GHz)
•Phase-matched dierenal signal paths (typ. <5ps skew)
•Up to 1 billion switching cycles (cold) / 500 million (hot, 10dBm@50 Ω)
•Starts in not connected state
•Internal ESD protecon
•SMA connectors
•Controlled and powered via USB
Figure 1: Simplied funconal diagram showing input ports CH1 and CH2 to
the le and the blocks of four output ports for each input port.
Alternavely, the input can be set to an unconnected state.
6
933407 Rev1

T3SP-D4MX Operator’s Manual
2.2 Electrical Specications
General Characteriscs
Parameter Value Remark/Condion
Operang frequency 0 - 10 GHz 3 dB bandwidth: 8 GHz
RF max. power rangs 30 dBm 50 Ωload
24 dBm open
RF input voltage range ±6 V DC
RF input current range ±200 mA DC
Contact resistance (ON) 3.5 Ωmax.
1.8 Ωtyp.
Contact resistance (OFF) >1 GΩ@±6 V
Switching me <100µs without soware latency
<10 ms with soware latency
Power supply voltage 5 V via USB
Power supply current <12 mA
Electrostac discharge 5 kV∗RFin, RFout
Switch life me+109cold switching
500·106hot switching, 10dBm@50 Ω
∗Human body model (HBM)
+Cauon: hot switching reduces switch life me
RF Characteriscs (single-ended)
Parameter min. typ. max. Frequency
Inseron loss < 0.4 dB 0.5 dB DC – 0.3 GHz
< 1.0 dB 1.2 dB 0.3 GHz – 2 GHz
< 3.0 dB 3.5 dB 2 GHz – 8 GHz
< 5.0 dB 6.0 dB 8 GHz – 10 GHz
Return loss (CH1,2 input) 20 dB > 25 dB DC – 0.3 GHz
16 dB > 18 dB 0.3 GHz – 2 GHz
13 dB > 15 dB 2 GHz – 8 GHz
8 dB > 10 dB 8 GHz – 10 GHz
Isolaon between contacts 40 dB > 45 dB DC – 0.3 GHz
of same channel 30 dB > 32 dB 0.3 GHz – 2 GHz
25 dB > 27 dB 2 GHz – 10 GHz
RF Characteriscs (dierenal, between same paths of CH1 & CH2)
Parameter min. typ. max. Frequency
Isolaon between CH1 & CH2 55 dB >60 dB DC – 10 GHz
Group delay deviaon between CH1 & CH2 ±5 ps ±10 ps DC – 10 GHz
7
933407 Rev1

T3SP-D4MX Operator’s Manual
2.3 Mechanical Specications
•SMA in-/output connectors
•USB mini-B connector (programming & power)
•Ground jack (4mm)
•Dimensions: 49x108x180mm3(with connectors & feet)
Dimensions: 42x108x165mm3(without connectors & feet)
Figure 2: Front panel dimensions
Figure 3: Rear panel dimensions
8
933407 Rev1

T3SP-D4MX Operator’s Manual
3. Programming
To have a quick access to the T3SP-D4MX and to be able to perform tests, the
Windows applicaon WinD4MX.exe can be downloaded from the Teledyne
LeCroy website. The program does not need to be installed and does not
require any addional driver components.
Figure 4: Control applicaon WinD4MX.exe
To integrate the device into your own soware environment for remote con-
trol, please read the following secons.
3.1 USB Interface Description
The T3SP-D4MX is controlled via a USB 2.0 interface based on a communica-
on chip from Future Technology Devices Internaonal Limited (FTDI). Win-
dows operang systems usually have the required D2XX-driver for this chip
family pre-installed. If this is exceponally not the case, the corresponding
driver can be downloaded from the FDTI driver download page.
The device is not controlled via a virtual comport protocol, therefore it is
necessary to control it via the cDMXU.dll 32-bit shared library shipped
with the device. In order to simplify the device connecon, some program-
ming examples are listed in the following secon. In case a 64-bit shared
library is required, please contact our Teledyne LeCroy support.
Please use only the supplied USB cable to avoid transmission errors.
9
933407 Rev1

T3SP-D4MX Operator’s Manual
3.2 Programming Examples
3.2.1 C/C++-Code
The T3SP-D4MX control library cDMXU.dll is wrien in C++. All funcon
declaraons / signatures can be found in the corresponding header le:
All funcons return a posive value on success and -1 on error. For more
detailed informaon on the individual funcons, please refer to the C source
code below:
int cDMXU_Init(char* id);
int cDMXU_IsInitialized(void);
int cDMXU_SetChannel(int channel);
int cDMXU_GetChannel(void);
int cDMXU_GetSerialNumber(void);
int cDMXU_GetNumberOfChannels(void);
int cDMXU_Release(void);
The following is a simple main program that calls all funcons as an example:
// make sure cDMXU.lib is added to linker dependencies
#include <stdio.h> // include header file
#include "cDMXU.h" // include T3SP-D4MX header
// macro for checking on errors
#define CHK_ERROR(e,m) {if (e<0) {printf(m); return e; } }
int main(void)
{
int no_of_channels = -1; // number of channels of multiplexer
int channel = -1; // channel variable
int serno = -1; // serial number (50001 --> 05.0001)
// initialize library (id string not required yet)
if (cDMXU_Init(NULL) != 0)
CHK_ERROR(-1, "Initialization failed");
10
933407 Rev1

T3SP-D4MX Operator’s Manual
// check if initialized
if (cDMXU_IsInitialized() < 0)
CHK_ERROR(-1, "Library not initialized");
// read serial number as integer
serno = cDMXU_GetSerialNumber();
CHK_ERROR(serno, "Reading serial number failed ");
// read number of available channels
no_of_channels = cDMXU_GetNumberOfChannels();
CHK_ERROR(no_of_channels, "Getting number of channels failed ");
// 1-based numbers (0: ALL OFF)
if (cDMXU_SetChannel(1) < 0)
CHK_ERROR(-1, "Setting channel failed ");
// 1-based numbers (0: ALL OFF)
channel = cDMXU_GetChannel();
CHK_ERROR(channel, "Getting channel failed ");
// release library
if (cDMXU_Release() < 0)
CHK_ERROR(channel, "Getting channel failed ");
// return OK
return 0;
}
11
933407 Rev1

T3SP-D4MX Operator’s Manual
3.2.2 C#-Code
Interfacing the cDMXU.dll shared library from C#can be achieved by using
the System.Runtime.InteropServices service. An example class
denion for wrapping the library funcon is outlined below:
using System.Runtime.InteropServices;
namespace nsDMXU
{
public class cDMXU
{
// make sure the DLL can be found
const string shared_lib = "cDMXU.dll";
const CallingConvention ccv = CallingConvention.Cdecl;
[DllImport(shared_lib, CallingConvention = ccv)]
static extern int cDMXU_Init(string id);
[DllImport(shared_lib, CallingConvention = ccv)]
static extern int cDMXU_IsInitialized();
[DllImport(shared_lib, CallingConvention = ccv)]
static extern int cDMXU_SetChannel(int channel);
[DllImport(shared_lib, CallingConvention = ccv)]
static extern int cDMXU_GetChannel();
[DllImport(shared_lib, CallingConvention = ccv)]
static extern int cDMXU_GetSerialNumber();
[DllImport(shared_lib, CallingConvention = ccv)]
static extern int cDMXU_GetNumberOfChannels();
[DllImport(shared_lib, CallingConvention = ccv)]
static extern int cDMXU_Release();
public int Init(string id) {
12
933407 Rev1

T3SP-D4MX Operator’s Manual
return cDMXU_Init(id); }
public int Release() {
return cDMXU_Release(); }
public bool IsInitialized() {
return (cDMXU_IsInitialized() == 0); }
public int SetChannel(int channel) {
return cDMXU_SetChannel(channel); }
public int GetChannel() {
return cDMXU_GetChannel(); }
public int GetNumberOfChannels() {
return cDMXU_GetNumberOfChannels(); }
public int GetSerialNumber() {
return cDMXU_GetSerialNumber(); }
}
}
13
933407 Rev1

T3SP-D4MX Operator’s Manual
3.2.3 Python
Interfacing the cDMXU.dll shared library from Python can be achieved by
using the ctypes foreign funcon library. It provides C compable data
types, and allows calling funcons in shared libraries. It can be used to wrap
these libraries in pure Python, as shown in the following example:
import os
from ctypes import *
# set DLL path and check availability
dll = "c:\\MY_PATH\\cDMXUD.dll"
assert(os.path.isfile(dll)), "MUX error: DLL not found"
# load DLL
mux = cdll.LoadLibrary(dll)
# setup argument and result types
mux.cDMXU_Init.restype = c_int
mux.cDMXU_Init.argtypes = [c_char_p]
mux.cDMXU_IsInitialized.restype = c_int
mux.cDMXU_IsInitialized.argtypes = []
mux.cDMXU_SetChannel.restype = c_int
mux.cDMXU_SetChannel.argtypes = [c_int]
mux.cDMXU_GetChannel.restype = c_int
mux.cDMXU_GetChannel.argtypes = []
mux.cDMXU_GetSerialNumber.restype = c_int
mux.cDMXU_GetSerialNumber.argtypes = []
mux.cDMXU_GetNumberOfChannels.restype = c_int
mux.cDMXU_GetNumberOfChannels.argtypes = []
mux.cDMXU_Release.restype = c_int
mux.cDMXU_Release.argtypes = []
14
933407 Rev1

T3SP-D4MX Operator’s Manual
# init library, passing ID not necessary yet
res = mux.cDMXU_Init(b"")
assert(res == 0), "MUX error: init failed"
# check if the library is initialized correctly
res = mux.cDMXU_IsInitialized();
assert(res == 0), "Library not initialized"
# read serial number (e.g. 50001 --> 05.0001)
serno = mux.cDMXU_GetSerialNumber()
assert(serno >= 0), "Reading serial no. failed"
# read number of channels
no_of_channels = mux.cDMXU_GetNumberOfChannels();
assert(no_of_channels > 0), "Reading number of channels failed"
# set mux channel A (B: 2, C: 3, D: 4)
res = mux.cDMXU_SetChannel(1);
assert(res >= 0), "Setting channel A failed"
# read back current channel
channel = mux.cDMXU_GetChannel()
assert(channel >= 0), "Reading current channel failed"
# to set switch to OFF state, pass 0
res = mux.cDMXU_SetChannel(0);
assert(res >= 0), "Setting all OFF failed"
# release library
res = mux.cDMXU_Release()
assert(res == 0), "MUX error: release failed"
15
933407 Rev1

T3SP-D4MX Operator’s Manual
3.2.4 LabVIEW
Interfacing the cDMXU.dll shared library from LabVIEW can be achieved
by imporng the DLL funcons with Labview’s Import Shared Library Wizard.
This tool parses the header le, lists the funcons in the shared library, con-
verts data types in the shared library to LabVIEW data types, and generates a
wrapper VI for each funcon. The wizard saves the VIs in a LabVIEW project
library. Connue to the Use Header File with the Import Shared Library Wiz-
ard secon. Start the import as follows:
1. Launch LabVIEW
2. Navigate to Tools →Import... →Shared Library (.dll) to launch the
Import Shared Library Wizard.
3. Select Create VIs for a shared library and then Next
16
933407 Rev1

T3SP-D4MX Operator’s Manual
4. Input the le paths for the Shared Library (.dll) File and Header (.h)
File.
5. Connue conguring each page as needed, imporng your desired
funcons, and selecng Next.
6. When nished with conguraon, select Finish to create your Lab-
VIEW Project library lvlib le.
An example with the VIs created by means of the wizard is shown below. The
example performs some inializaon and responds to events triggered by
the Channel input control. The le mux-example.vi can be downloaded
from the Teledyne LeCroy website.
Figure 5: LabVIEW example VI for controlling the T3SP-D4MX
17
933407 Rev1

T3SP-D4MX Operator’s Manual
3.2.5 Matlab
Interfacing the cDMXU.dll shared library from Matlab can be achieved by
using the calllib funcon. It allows for calling funcons in shared li-
braries. It can be used to wrap these libraries in a Matlab m-le, as shown
in the following example:
function varargout = mux_example(varargin)
% function varargout = mux_example(varargin)
%
% Examples:
% mux_example('init');
% mux_example('release')
% mux_example('getserialnumber')
% mux_example('getnumberofchannels')
% mux_example('setchannel', 1); % starting with 1 (0: ALL OFF)
% mux_example('getchannel');
if ~nargin
cmd = 'init';
else
cmd = lower(varargin{1});
end
dll = 'cDMXUD';
shrlib = ['C:\YOUR_PATH\' dll '.dll'];
header = 'C:\YOUR_PATH\cDMXU.h';
assert(exist(header,'file')>0, 'Unable to locate header file');
if ~libisloaded(dll)
loadlibrary(shrlib,header);
end
is_init = (calllib(dll,'cDMXU_IsInitialized') == 0);
if ~is_init,
err = calllib(dll,'cDMXU_Init','');
assert(err == 0, 'Initialization failed');
18
933407 Rev1

T3SP-D4MX Operator’s Manual
is_init = true;
end
if strcmpi(cmd,'init'),
return;
end
NoC = calllib(dll,'cDMXU_GetNumberOfChannels');
assert(NoC > 0, 'Getting number of channels failed');
% return value
ret = [];
if strcmpi(cmd,'getserialnumber')
ret = calllib(dll,'cDMXU_GetSerialNumber');
assert(ret >= 0, 'Getting serial number failed');
elseif strcmpi(cmd,'getnumberofchannels')
ret = NoC;
elseif strcmpi(cmd,'setchannel')
% check for errors
error(nargchk(2,2,nargin));
ch = varargin{2};
assert(isnumeric(ch) && isscalar(ch),'Channel must be a scalar
integer');
assert(ch == int32(ch) && ch >= 0 && ch <= NoC, 'Invalid channel');
err = calllib(dll,'cDMXU_SetChannel',ch);
assert(err >= 0, 'Setting channel failed');
elseif strcmpi(cmd,'getchannel')
ret = calllib(dll,'cDMXU_GetChannel');
assert(ret >= 0, 'Getting channel failed');
elseif strcmpi(cmd,'release')
if is_init,
err = calllib(dll,'cDMXU_Release');
19
933407 Rev1

T3SP-D4MX Operator’s Manual
assert(err == 0), 'Error while releasing library');
end
unloadlibrary(dll);
else
error('Unknown command');
end
% assign return value
if ~isempty(ret)
if nargout > 0
varargout{1} = ret;
else
disp(sprintf('%s returned: %d', cmd, ret));
end
end
20
933407 Rev1
Table of contents
Popular Multiplexer manuals by other brands

Agilent Technologies
Agilent Technologies Agilent E1345A datasheet

CSI
CSI 7030 Series user manual

RAZORBILL
RAZORBILL MP240 user manual

Lucent Technologies
Lucent Technologies Multiplexer and Transport System ADM 16/1 Brochure & specs

FlexGain
FlexGain FOM16 Installation and operation

Vocality
Vocality V100 Technical manual