The MCCI Model 2301 Type-A Connection Exerciser provides a four-to-one USB switch to automate interoperability tests for systems USB 3.2 gen1 or gen2. It uses the supplied Arduino-based controller and electronic switches to electrically plug and unplug any of the four different input ports. The Gen2-capable Type-B plug can be connected to either of two Type-A receptacles, to a Standard-A receptacle (USB 2.0 only), or a Micro-B receptacle (USB 2.0 only). The Type-A Gen2 receptacles support USB 3.2 (gen 1 and gen 2) and USB 2.0 (high speed, full speed and low-speed) devices. The Standard-A receptacle supports USB 2.0 devices. The Micro-B receptacle can be used for power, or (with an external adapter) for testing an additional USB 2.0 device.
The Model 2301 was developed in conjunction with Microsoft.
The assembly includes a suitable Arduino board, with firmware pre-installed; it is shipped fully assembled, tested, and ready to use. Microsoft provides a complete software stack for using the Model 2301 for automated system tests with the Windows Operating System. The Model 2301 can also be used directly with customer-written test programs, by sending commands to a virtual serial port provided by the USB control connection.
The 2301 can test hardware that belongs to one of the following categories:
System: Desktops, laptops, tablets, servers, or phones running a SKU of a version of the Windows Operating System with an exposed USB Type-A receptacle.
Device: Any USB device that attaches to a standard Type-A receptacle can be tested.
The 2301 connects to the System Under Test (SUT) by connecting the supplied cable from the 2301’s SuperSpeed Type-B plug (labeled J1) to a USB Type-A receptacle on the SUT. Test devices are attached via the four USB receptacles (labeled J2, J3, J4, J6); when selected, these act as peripherals to the SUT. The Arduino monitors amperage and voltage being drawn from the SUT, and displays relevant information on the LCD display.
The 2301 is controlled via USB for running the different tests. The test controller proxy can be a desktop PC or a laptop.
There are three different ways of powering the 2301.
- It can be powered via the USB Standard-B port on the Arduino.
- It can be powered via an external 9V to 12V supply, attached to the Arduino.
- It can be powered using a USB charger attached to J6, the Micro-B USB port.
In addition to the SUT test cable, high-quality standard USB cable is supplied with the 2301, and is generally used for both power and control.
- Everything you need to start testing immediately. Shipped as a fully assembled and tested unit, with Arduino board, a gen2 cable to connect to the SUT, a USB control/power cable, and preinstalled firmware.
- Automated USB Type-A interoperability testing.
- Transparent connection between SUT and DUT when in the connected state.
- Impedance controlled, low loss USB data path.
- Uses Pericom PI3DBS12412A in a 12Gbps, 8 to 4 differential channel multiplexer/demultiplexer switch for SuperSpeed signals.
- Uses Fairchild FSUSB74. 4:1 High-Speed USB Multiplexer/Switch for USB2.0 signals.
- Uses TI INA226 to measure voltage and current.
- 10 milliohm, 0.5%, series current sense resistor.
- Handles up to 20V and 5A on VBUS.
- Uses IXYS CPC1907B SSR to switch VBUS on Type-A gen2 connectors.
- Uses COTO C226S SSR to switch VBUS on USB 2.0 connectors.
Suitable software must be installed on each of the SUT, the test controller proxy, and the 2301’s Arduino.
When using the Microsoft-supplied test software, the requirements are as follows:
- The SUT must be running the version of Windows for which interoperability testing is desired.
- The test proxy controller must be running Windows 10.
- The latest Microsoft MUTT ConnEx-C software package must be downloaded and installed on the proxy controller. It may be obtained from Microsoft via the “Tools in the MUTT Software Package” page.
- The firmware in the Arduino must be updated to the version included in the Microsoft distribution.
The Microsoft software package includes utilities to update the firmware, switch between the peripheral ports, and send requests to simulate test cases. It also contains test driver packages that test the functionality of the buses, its controller, and devices connected to the bus.
MCCI also supports other test scenarios using a USB test control computer, with software available from MCCI, or with customer-written software. Customers can obtain that software directly from MCCI after registering their device.
The firmware for Model 2301 is open source and published on GitHub. Access it here.
Special variants of the 2301 are available by request. Please write firstname.lastname@example.org with your requirements.
The 2101 vs the 2301
MCCI also offers the Model 2101 USB 3.0 (3.1 gen 1) Connection Exerciser. The 2101 is designed with traditional USB Standard-A and Standard-B connectors, and uses mechanical relays to connect and disconnect the device under test from the system under test. The advantage of this compared to electronic multiplexing is that relays give a more accurate simulation of the physical disconnection. The disadvantage is that the relays required for the very high frequencies of USB 3.2 gen 1 are quite costly; so gen2 cannot be supported.
The 2101 also differs in that it’s a smaller packaged unit that is more like traditional test equipment; whereas the 2301 is larger and ships without an enclosure.
The 2301 vs the 3101
The Model 2301 is very similar to the 3101, except that it does not support Type-C connections.