HydraUSB3 V1 is an open source developer kit for the WCH CH569 MCU to experiment with streaming / high-speed protocols like HSPI and SerDes through USB3.
It allows to test and discover the MCU main features, like:
- USB3 SS built-in PHY (5Gbps) and USB2 built-in PHY FS/LS/HS (480Mbps)
- Can be used as Device or Host.
- HydraUSB3 dedicated test firmware support USB2 HS and USB3 SS (in a transparent way) basic/bare metal stack in Device Bulk mode with Burst for USB3 Super Speed best performances.
- HydraUSB3 example firmware support streaming/transfer (with libusb) at more than 330MBytes/s (from HydraUSB3 <=> PC Host).
- HydraUSB3 test firmware for USB2 & USB3 does not requires any driver for Windows (using native WinUSB WCID descriptors in firmware) or GNU/Linux and is supported with libusb open source example codes.
- See https://github.com/hydrausb3/hydrausb3_fw/tree/main/HydraUSB3_USB
- High Speed Parallel Interface (HSPI) up to 3.8Gbps with unique fast bidirectional parallel bus 8, 16 & 32bits up to 120MHz
- Can be interfaced with an FPGA to be used as USB3 Super Speed / HSPI bridge.
- Can be used to interface two HydraUSB3 boards for ultra fast communication/transfer of data.
- See https://github.com/hydrausb3/hydrausb3_fw/tree/main/HydraUSB3_DualBoard_HSPI
- SerDes (up to 1.20Gbps officially, up to 1.38Gbps non officially)
- Can be interfaced with an FPGA to be used as USB3 Super Speed / SerDes bridge.
- Can be used to interface two HydraUSB3 boards for ultra fast communication or output some traces in real-time with latency < 1us.
- See https://github.com/hydrausb3/hydrausb3_fw/tree/main/HydraUSB3_DualBoard_SerDes
- eMMC / SDCard / SDIO (up to 96MHz 8bits mode with option/extension)
- Can be used over USB3 SS for ultra fast communication/transfer of data.
HydraUSB3 V1 Evaluation Board / Dev Kit and test firmware are not linked to HydraBus v1 hardware/firmware projects and will not replace it.
HydraUSB3 support natively dual board connection (without requiring any wire/cable except for SerDes connection which requires 2 wires for GXP/GXM)
- The aim is to connect two HydraUSB3 V1 boards together (one on top of another) for multi CPU communication / special streaming features and to use the different supported protocols between 2 boards (one board can act as device and the other as host with the help of PB24 jumper to identify host or device…).
HydraUSB3 V1 Board
HydraUSB3 V1 Pack of 2x HydraUSB3 v1 boards are available on HydraBus Store
HydraUSB3 V1 is produced using components with Operating Temperature -40°C / +85°C (or more), the MCU WCH CH569W Operating Temperature is -20°C / + 85°C.
Caution HydraUSB3 V1 is an Electrostatic Sensitive Devices Do Not Handle Except at a Static Free Workstation.
HydraUSB3 open source test firmware / API:
See github: https://github.com/hydrausb3/hydrausb3_fw
For more info on open test firmware or hardware for HydraUSB3 see
https://github.com/hydrausb3/hydrausb3_fw/wiki/Getting-Started-with-HydraUSB3
HydraUSB3 V1 package content:
- Pack of 2x HydraUSB3 v1 boards are available now on HydraBus Store
- 1x HydraUSB3 V1 board (fully tested)
- Available on Digi-Key (PN 3792-HYDRAUSB3_V1-ND)
- The board have 3 Jumpers populated on P4(SHUNT), PB22/ULED, PB23/UBTN
- Additional jumpers are required for other mode like Flash Mode P3, ENABLE 3V3_EXT, PB24
- Note: For Flash Mode P3 you can also just short the 2 pins during boot/power ON to Enter WCH ISP Flash Bootloader
- HydraUSB3 V1 board has been designed, produced & validated to meet the best possible performances
- Each board has been validated with impedance tests on SerDes (Zdiff 100 Ohms+/-10%), USB2 & USB3 signals (Zdiff 90 Ohms+/-10%)
- Each board use high quality Industrial Grade components
- Including +/-10ppm 30MHz Crystal (Operating Temperature -40℃~+85℃)
- The MCU WCH CH569W Operating Temperature is -20°C / + 85°C
- USB A Male to USB A male cable is NOT included (required to flash the WCH CH569 MCU or to communicate over USB2 or USB3 with the MCU).
- Warning It is MANDATORY to buy a “USB 3 Type A male to USB 3 Type A male cable” (the cable shall have Power+Data with USB2 and USB3 SS signals)
- Recommended “USB A Male to USB A male cable” (not included with HydraUSB3 v1 board)
- Manufacturer deleyCON
- Model No: MK744 (2m blue/black)
- Model No: MK743 (1.5m blue/black)
- Model No: MK742 (1m blue/black)
- Model No: MK741 (0.5m blue/black)
- Manufacturer Stewart Connector (Available at Digi-Key…)
- USB 3.2 Gen 1 (USB 3.1 Gen 1, Superspeed (USB 3.0)) Cable A Male to A Male 3.00′ (914.4mm) Shielded
- Manufacturer Product Number SC-3AAK003F
- Digi-Key Part Number 380-1415-ND
- Manufacturer deleyCON
- It is highly recommended to buy 2x HydraUSB3 V1 boards to evaluate the full potential of HydraUSB3 V1 (WCH CH569 MCU) especially with high speed peripherals like USB3 SS(5Gbps), HSPI(up to 3.8Gbps), SerDes(>1Gbps) or even slower peripherals.
- It is recommended to use high quality “Jumper Wire Female to Female standard-pitch 0.1″ (2.54mm)” for prototyping (or to connect SerDes between 2 boards…) like Premium Female/Female Jumper Wires – 20x 3″ (75mm) 28 AWG from Adafruit Industries Digi-Key Part Number LLC 1528-1962-ND
- It is also recommended to buy some additional CONN JUMPER SHORTING (for Flash Mode P3, PB24, ENABLE 3V3 EXT …) “2 (1 x 2) Position Shunt Connector Black Closed Top 0.100″ (2.54mm)” like https://www.digikey.com/en/products/detail/sullins-connector-solutions/STC02SYAN/76372
Overview:
- Very small board size 60mm x 60mm.
- Including 4 holes (3.2mm for M3 bolt) to mount screws or even a case (not included).
- Features of the HydraUSB3 V1 board:
- WCH CH569W MCU RISC-V 32-bit (RISC-V3A based on RV32IMAC) up to 120MHz & 448KB Embedded Flash.
- For more details about RISC-V3A see CH32V103 datasheet (which is based also on RISC-V3A with more details)
- See RISC-V ISA Doc: https://github.com/msyksphinz-self/riscv-isadoc
- RISC-V features:
- RV32I = Base Integer Instruction Set, 32-bit
- M = Standard Extension for Integer Multiplication and Division
- A = Standard Extension for Atomic Instructions
- C = Standard Extension for Compressed Instruction
- Fast Interrupt, automatic save/restore of registers for IRQ, requires proprietary attribute((interrupt(“WCH-Interrupt-fast”)))
- 64 bits SysTick (which can be used to count CPU cycles too)
- Free multi-platform Eclipse RISC-V IDE (Community) (to build project/source code) supporting WCH CH569 on Linux & Windows
- See MounRiver_Studio_Community http://www.mounriver.com/download
- Ultra fast programming through USB2 HS bootloader/flasher (requires a jumper on P3/Flash Mode)
- Supported officially with wch-isp open source native multi-platform C tool
- 1x USB Type A female connector (with USB2 and USB3 SS signals) with ESD protections.
- USB VBUS (5V) protections with ESD protection and 1A resettable fuse
- 1x Reset (3V3_DISABLE) & 1x User Button (PB23/UBTN) with 1x User LED (PB22/ULED)
- Such feature can be disabled to reuse I/O for other purpose.
- There is also a 2pins 2.54mm (P5) connector to disable the LDO / 3V3 Output(MCU power) with a Jumper.
- 1x Shunt (P4/SHUNT) (2 pins 2.54mm) connector with Jumper can be used to measure accurately WCH CH569 power consumption with an external multimeter.
- 1x GND 3V3 (P2 with 2 pins 2.54mm) connector can be used to power externally the WCH CH569 MCU (it is recommended to remove the P4/SHUNT in that case it is not mandatory as the 3V3 LDO IC1 is protected against reverse current)
- 3V3 LDO IC1 features:
- Input voltage range up to 16V
- 500mA Low-Noise LDO Voltage Regulator
- Low Noise: 40µV Possible
- High Accuracy: 1%
- Reverse Battery Protection
- Low Dropout: 340mV at Full Load
- Low Quiescent Current: 90µA
- 3V3 LDO IC1 features:
- 1x ENABLE 3V3 EXT (2 pins 2.54mm) connector (P7) to connect the 3V3 power from LDO (IC1) to J5 connector pin 3V3 EXT
- Breakout of all 49 I/O.
- Debug/Programming through low cost RISC-V Debugger (not included)
- DEBUG WCH-Link (2-wire SWDIO/SWCLK)
- WARNING Debug/Flashing with 2-wire is not recommended as it can permanently brick the WCH CH569 MCU.
- It is advised to use log/traces and/or GPIOs (with Oscilloscope/Logic Analyzer) for debug purposes
- The hardware support different protocols
- USB3 SS built-in PHY (5Gbps) and USB2 built-in PHY FS/LS/HS (480Mbps)
- High Speed Parallel Interface (HSPI) up to 3.8Gbps with unique fast bidirectional parallel bus 8, 16 & 32bits up to 120MHz
- SerDes (up to 1.20Gbps and even up to 1.38Gbps non officially)
- Gigabit Ethernet controller (with option/extension).
- The hardware provide RGMII and RMII PHY interface for 10/100/1000Mbps transfer rate.
- eMMC / SDCard / SDIO (up to 96MHz 8bits mode with option/extension).
- The hardware provide a Built-in EMMC controller. Support single-wire/4-wire/8-wire data communication mode. Comply to EMMC Specification Rev. 4.4 and Rev. 4.5.1, compatible with Specification Rev. 5.0.
- Support AES/SM4 algorithm. 8 types of combinations for encryption/decryption modes. Support encryption/decryption of SRAM/EMMC/HSPI data.
- SPI (exceed 50MHz).
- UART (up to 6Mbauds and 12Mbauds non officially).
- GPIO (In/Out/Open-Drain with internal pull-up/pull down).
- Active parallel port: 8-bit data, 15-bit address bus.
- Hardware documentation is available on github: https://github.com/hydrausb3/hydrausb3_hw
- For more details on HydraUSB3 v1 (first version is V1 R1) the schematic is available in PDF see https://github.com/hydrausb3/hydrausb3_hw/blob/main/HydraUSB3_V1R1_schematic.pdf
- WCH CH569W MCU RISC-V 32-bit (RISC-V3A based on RV32IMAC) up to 120MHz & 448KB Embedded Flash.
- Features of the HydraUSB3 test firmware / examples (hydrausb3_fw):
- Fully open source test firmware with examples Licensed under the Apache License, Version 2.0
- It is based on official WCH CH569 Examples https://github.com/openwch/ch569/tree/main/EVT/EXAM
- The test firmware / examples with host tools (using libusb) allow to do real-time streaming / data exchange over USB2 HS or USB3 SS mainly for HSPI and SerDes protocols (between 2x HydraUSB3 V1 boards connected together).
- Fully open source test firmware with examples Licensed under the Apache License, Version 2.0
- HydraUSB3 WCH CH56x opensource toolchain (Linux/Windows) based on xPack GNU RISC-V Embedded GCC v12.2.0-1 is available
HydraUSB3 is equipped with ESD protection on VUSB/USB Data (15kV), but the I/O pins are not protected against ESD. Given its sensitivity to electrostatic discharge (ESD), ensure that you adhere to ESD precautions during usage. Follow these guidelines:
- Work in an ESD-protected area with grounding measures.
- Wear ESD-protective clothing, including wrist straps.
- Use ESD-safe tools and handle boards carefully.
- Ground yourself before touching components.
- Store boards in antistatic packaging and avoid low-humidity environments.
- Utilize ESD-safe work surfaces and cables.
- Educate personnel on ESD awareness.
- Regularly inspect and maintain ESD protection equipment.
- Use ESD-protected power supplies to minimize risks.
HydraUSB3 use case which requires an USB Isolator:
- Electrical Isolation for Debugging and Testing:
- When interfacing with sensitive or high-voltage devices, using an USB isolator ensures electrical separation between your computer and the target system.
- By isolating the USB connection, you protect your computer from potential voltage spikes, ground loops, or noise generated by the connected hardware.
- This is especially crucial during debugging, testing, or reverse engineering tasks, where accidental electrical interference could damage your computer or the HydraUSB3 itself.
- Secure Communication with Isolated Devices:
- Some devices, such as industrial controllers, medical equipment, or power inverters, require isolated communication interfaces.
- An USB isolator acts as a barrier, preventing any direct electrical connection between your computer and the isolated device.
- By using an isolator, you can safely communicate with these devices without risking damage to your computer or compromising its safety.
- Noise Reduction in Audio and Measurement Applications:
- When working with audio interfaces, sensors, or data acquisition systems, noise interference can degrade signal quality.
- An USB isolator helps eliminate ground loops and reduces electromagnetic interference (EMI) between the computer and the connected device.
- By isolating the USB connection, you achieve cleaner audio signals or more accurate measurements.
- Protection Against Surges and Transients:
- In industrial environments or outdoor fieldwork, electrical surges and transients are common.
- An USB isolator shields your computer from voltage spikes caused by lightning, motor startups, or other transient events.
- By preventing these surges from reaching your computer, you safeguard both the HydraUSB3 and your PC.
- Compliance with Safety Standards:
- Some applications, such as medical devices or automotive diagnostics, require compliance with safety standards (e.g., IEC 60601-1 for medical equipment).
- Using an USB isolator ensures that your testing or development setup adheres to safety regulations.
- It provides an extra layer of protection, especially when dealing with patient-connected devices or hazardous environments.