Skip to content

Testing a box hardware

:warning: Check Releases For Stable Versions

Version 2, Revision D

Fixed in Version 2, Revision D

  • Major updates to USB-PD: Now using the MP4247 power supply to improve efficiency as mention in #81 (closed)
  • Added a DS18B20 part for monitoring the temperature of the power delivery circuitry, see #80 (closed)
  • Added ability to enable/disable data to the USB-PD port.
  • Added voltage level shifting for the JTAG header.
  • Added all 3D CAD files for parts
  • Schematic reference and naming clean up

  • I2C Jumper: Fixed #84 (closed)

  • Unspecified Resistor Tolerance for R52: Fixed #83 (closed)
  • Check TLP2748 Circuitry: #82 (closed)
  • Investigate to see if there are any more efficient solutions in comparison to the TPS5430: Fixed #81 (closed)
  • Add on board temperature sensor near PD circuitry: Fixed #80 (closed)
  • Add ability to enable/disable data to the USB PD port: Fixed #79 (closed)
  • Decrease the brightness of LEDs D15 and D14: Fixed #78 (closed)
  • Add silkscreen on bottom of PCB for placing asset number tag: Fixed #77 (closed)
  • Add exposed copper directly under the TPS5430 for attaching heatsink: #76 (closed)
  • JTAG Interface Should Not Supply Voltage: Fixed #74 (closed)
  • After long period under high load Q7 fails: Fixed #73 (closed)

About

Testing in a box hardware is a compact integrated solution providing communication with a device under test (DUT) via CAN, SPI, I2C, JTAG, and serial interfaces. The new Revision D board supports USB PD and general power delivery for the DUT. Additionally, 2 USB peripherals, USB HID emulation, optocoupled IO, and GPIO are available.

The board supports variable power input (5.5-30V) at 60W (or greater), however a standard 24V supply is recommended. Revision D boards also include the ability to generate all on-board required voltages. The 24V input power provides power for all onboard and USB-PD. Consideration for total power consumption (target 60W) should be made when using alternatives to the recommended power brick.

NOTE 5V power can optionally be supplied by the HOST USB connector. Using this option only powers the board level logic. It will not enable power for USB-PD

Product images

TIAB hardware images OLD(to be updated)- 1

TIAB hardware images OLD(to be updated)- 2

Pin out diagram

 TIAB pinout diagram

FT4232H

Each of the channels A and B can be setup as either:

  • Multi Protocol Synchronous Serial Engine (MPSSE) - JTAG, SPI, I2C, etc.
  • UART
  • Bit-Bang

Each of the channels C and D can be setup as either:

  • UART
  • Bit-Bang

The RP2040 SWD connection is connected to channel A, so can only be used when not using channel A for other functionality.

The RP2040 serial connection is connected to channel D, so can only be used when not using channel D for other functionality.

Optocouplers 1, 2, and 3 are connected to ADBUS5, ADBUS6, and ADBUS7 (channel A) respectively, and so can only be controlled when not using the SWD connection, or using channel A for any other functionality.

Installing KiCAD 8

Hardware is developed using kicad 8. Download instructions can be found here.

Project Setup

Project uses sub-modules to get symbols and footprints. To clone to repo run:

git clone --recurse-submodules -j4  git@gitlab.com:CodethinkLabs/testing-in-a-box/firmware-hardware/testing-in-a-box-hardware.git

How To Use

NOTE: Tools for TIAB hardware are currenly under development.

  • Documentation and info about USB switch can be found here.
  • TIAB hardware makes use of the FT4232H which can used for serial connections, programming devices via JTAG and SWD, general purpose I/O, for communications protocols such as I2C and SPI, and more. The datasheet for the FT4232H can be found here. Docs for pylibftdi can be found here.
  • The onboard RP2040 allows control of the RGB status LED, which could be used for indicating the status of a test. It allows emulation of HIDs (Human Interface Devices) through the HID output port. It also runs the protocol layer for the USB-PD. And more! Documentation for the RP2040s firmware can be found here.

How To Connect I2C

pyftdi I2C wiring

PORT ON THE IDC I2C PORT
GND GND
+3.3v VCC
Channel A/B 0 SCL
Channel A/B 1 SDA
Channel A/B 2 SDA

How To Connect SPI

pyftdi SPI wiring

PORT ON THE IDC SPI PORT
GND GND
+3.3v VCC
Channel A/B 0 SCK
Channel A/B 1 SDI
Channel A/B 2 SDO
Channel A/B 3 CS

How To Connect Serial

FT4232 Datasheet Section 3.1.2 Pin Descriptions

PORT ON THE IDC SERIAL PORT
Channel A/B/C/D 0 TX
Channel A/B/C/D 1 RX
Channel A/B/C/D 2 RTS
Channel A/B/C/D 3 CTS
Channel A/B/C/D 4 DTR
Channel A/B/C/D 5 DSR
Channel A/B/C/D 6 DCD

USB VID and PID Information

Codethinks USB VID is 0x27BD

The PID for the USB hub is 0x0D

The PID for the FT4232H is 0x0E