In the second part of 2020, we’ve seen a fair amount of USB debugging tools for electronics designers and hardware hackers including the Glasgow Interface explorer with an ICE40 FPGA.
But if you need even more flexibility or higher I/O speeds (up to 300 MHz), DAB Embedded USB2IO interface explorer should help thanks to the combination of an STMicro STM32H7 MCU and an Intel Cyclone 10 FPGA.
- MCU – STMicro STM32H743 Arm Cortex-M7 @ 480MHz CPU clock An external 64MB QSPI flash for extra FPGA code storage;
- FPGA – Intel Cyclone 10LP (10CL040) with 40k logic elements, 1,134 Mbit embedded memory, 126 DSP blocks
- External memory – 32MB SDRAM for MCU and FPGA (64MB in total)
- Storage – 64MB QSPI for connected to MCU for FPGA code storage
- I/Os via 20-pin external header/connector
- 16 x GPIO mode (single-ended), 8x LVDS pair mode or a mix of 2 modes depending on firmware configuration
- Supported logic levels – 1.8V – 3.3V, LVDS 2.5V
- Max I/O speed – 300 MHz
- Si570 Programmable PLL (connected to FPGA) – Frequency range – 10 MHz – 250 MHz
- Host interface – USB 2.0 Type-C port
- Misc – 50 MHz oscillator
- Power Supply
- 5V/1.5A via USB-C port
- Programmable LDO supplies power for external IO FPGA bank
- Dimensions – 100 x 65 x 20 mm
- Weight – 80 grams
- Certification – CE
Based on the block diagram above, the STM32 microcontroller handles the interface with the host computer over USB and manages the FPGA configuration/data gathering.
The solution can be used for the following applications:
- Communication with other electronic devices using I2C, SPI (master only for now), I2S (audio recording or playback), PDM microphone interface, USART, RS485 (via TI SN75HVD11D transceiver), CAN 2.0B bus, MDIO, camera interface…
- 16-channel waveform/pattern generator via 16-pin GPIO interface
- 8-LVDS pairs available
- 1A max programmable LDO with voltage range 1.8V – 3.3V designed for:
- Powering an external device
- Using the same voltage for powering an I/O interface
- Automatic electronic functional testing (USB2IO is able to play various scenarios)
USB2IO is seen as a USB HID device (virtual COM port) on the host PC that can transmit data using ASCII or RAW protocols. Both the FPGA and MCU firmware can be upgraded. The tool can be controlled from any computer running Windows. MacOS, or Linux with a GUI application, and DAB Embedded also provides Python and C++ SDKs for developers who need to implement automated testing for instance.