Single Wire Aggregation

PCB congestion relief using FPGAs for signal aggregation and transmission over single wire

PCB design challenges – In many systems processors use multiple interfaces including I2C, GPIO and UART to collect data from peripherals and sensors. In some of these systems PCB real estate is a premium in addition designers are going with smaller PCBs that connect together to fit into neat looking industrial designs. Routing signals through congested PCBs and connectors presents some challenges.

FPGA based solution – the Single wire Aggregation reference design runs on two iCE40 UltraPlus FPGAs to aggregate multiple data streams such as I2C, UART and GPIO in TDM fashion by one FPGA and send it over a single wire to the other FPGA for de-aggregation back to the same set of streams.

Flexible & robust options – The single wire communication between the FPGAs is around 7.5Mbps. The design is also configurable, the number of I2C busses and GPIOs and single wire protocol packet length can be adjusted. The single wire protocol between the FPGA is robust with error detection and retry features.

Features

  • Up to 7 channels can be aggregated
  • Raw data rate on single wire is ∼7.5Mbps or higher
  • Variable packet length for efficient use of the single wire bandwidth
  • Retransmit feature is offered when parity error is detected on RX side
  • Supports I2C Fast-mode (400 kbps) and Fast-mode Plus (1 Mbps)
  • I2C Interrupt can be realized by GPIO with event-based transmission

Block Diagram

Documentation

Technical Resources
TITLE NUMBER VERSION DATE FORMAT SIZE
iCE40 UltraPlus Single Wire Aggregation Radiant - Source Code
1.0 5/25/2018 ZIP 879.3 KB
Single Wire Signal Aggregation - Documentation
FPGA-RD-02039 1.0 5/25/2018 PDF 772.4 KB


Like most websites, we use cookies and similar technologies to enhance your user experience. We also allow third parties to place cookies on our website. By continuing to use this website you consent to the use of cookies as described in our Cookie Policy.