

Bus Redundancy Controller
Bus redundancy controller PoC implemented using a FPGA
- Size
- 50 × 50 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 87
- Nets
- 60
- Pads
- 291
- Tracks, vias
- 500, 80
- Pours
- 7
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 14 Sep 2020
- Updated
- 15 Nov 2020
Overview
Bus Redundancy Controller is an open-source printed circuit board by jjgarrid, from the jjgarrid/Bus-Redundancy-Controller repository on GitHub, published under the GPL-3.0 licence. It is a 4-layer board of 50 × 50 mm with 87 parts on 60 nets, routed with 500 tracks and 80 vias.
It is built around the ICE40LP1K-CM36, 93LC56C-E/P and AP7361C-12E, with the AP7361C-33E, FT2232HL and USBLC6-2SC6 among its other parts. Its parts include 28 capacitors, 22 resistors, 8 ICs, 8 connectors and 1 diode. It belongs with the FPGA and CPLD boards of this library.
Main components
7ICE40LP1K-CM36
UCBGA-36-40℃~+100℃ 1.14V~1.26V 1280 160 25 65536bit iCE40 LP UCBGA-36 Programmable Logic Device (CPLDs/FPGAs) ROHSLatticeProgrammable Logic Device (CPLDs/FPGAs)93LC56C-E/P
PDIP-8-40℃~+125℃ 1,000,000 cycles 2.5V~5.5V 200 Years 2Kbit 2MHz 2ms Built-in write enable latch (WEL)、Power-down/Power-up protection circuit SPI PDIP-8 EEPROM ROHSMicrochip TechnologyEEPROMAP7361C-12E
SOT-223-3-40℃~+85℃@(Ta) 1 1.2V 1A 6V 75dB@(1kHz) Fixed Over Current Protection、Over Temperature Protection、Enable、Short Circuit Protection Positive SOT-223-3 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSDiodes IncorporatedVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsAP7361C-33E
SOT-223-40℃~+85℃@(Ta) 1 1A 3.3V 340mV@(1A) 6V 75dB@(1kHz) 80uA Fixed Over Current Protection、Short Circuit Protection、Thermal shutdown、Enable control Positive SOT-223 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSDiodes IncorporatedVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsFT2232HL
QFP64Dual High Speed USB to Multipurpose UART/FIFO ICFTDIUncategorisedUSBLC6-2SC6
SOT-23-60.35pF、0.8pF 100nA 150W@8/20us 15V 2 5V 6A@8/20us 6V ESD SOT-23-6 ESD and Surge Protection (TVS/ESD) ROHSUMWESD And Surge Protection (TVS/ESD)NSR0340HT1G-HXY
SOD-323SOD-323 Schottky Diodes ROHSHXY MOSFETSchottky Diodes
README
README.mdBus-Redundancy-Controller
Bus redundancy controller PoC implemented using a FPGA
This project is in a very early stage of design.
The idea comes from an academic paper:
Design of Redundant CAN Bus for Telemetry and Telecommand Subsystem of a Micro-Satellite
The idea
Connect several buses common buses (Spacewire, CAN, I2C, SPI...) to a inexpensive, small, low power FPGA (Lattice semi ICE40) that will provide smart switching between different redundant routes (physical traces in the board).
Constraints / requirements
FPGA needs to be small and integrated in order to be easily added to on board computers and other systems. Good candidates are ICE40LP640 or ICE40LP1K in the package configuration 16-ball WLCSP (1.40 x 1.48 mm).
Future developments might consider devices with more IO banks.
Hardware develpment
Either KiCad or Upverter. Probably upverter as it is an online solution.
Parts
87| Qty | Value | Footprint | References |
|---|---|---|---|
| 23 | 100nF | Capacitor_SMD:C_0603_1608Metric | C1, C2, C10, C13, C14, C15, C17, C19, C20, C21, C22, C23, C24, C26, C27, C28 +7 |
| 8 | 10k | Resistor_SMD:R_0603_1608Metric | R12, R13, R14, R15, R16, R17, R20, R21 |
| 4 | 470 | Resistor_SMD:R_0603_1608Metric | R8, R9, R10, R11 |
| 4 | Fiducial | Fiducial:Fiducial_0.5mm_Mask1.5mm | FID1, FID2, FID3, FID4 |
| 3 | 10k 1% | Resistor_SMD:R_0603_1608Metric | R4, R5, R6 |
| 3 | 10nF | Capacitor_SMD:C_0603_1608Metric | C16, C18, C25 |
| 3 | BLM18SG121TN1D | Inductor_SMD:L_0603_1608Metric | FB1, FB2, FB3 |
| 2 | 100R | Resistor_SMD:R_0603_1608Metric | R19, R22 |
| 2 | 4.7uF | Capacitor_SMD:C_0603_1608Metric | C11, C12 |
| 1 | +3.3V | TestPoint:TestPoint_Pad_D1.0mm | TP2 |
| 1 | 1.2V | TestPoint:TestPoint_Pad_D1.0mm | TP3 |
| 1 | 12k 5% | Resistor_SMD:R_0603_1608Metric | R3 |
| 1 | 1k 5% | Resistor_SMD:R_0603_1608Metric | R2 |
| 1 | 2k2 | Resistor_SMD:R_0603_1608Metric | R18 |
| 1 | 2k2 5% | Resistor_SMD:R_0603_1608Metric | R7 |
| 1 | 2k2 5% 0.063W | Resistor_SMD:R_0603_1608Metric | R1 |
| 1 | 5V | TestPoint:TestPoint_Pad_D1.0mm | TP1 |
| 1 | 93LC56C | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U6 |
| 1 | AP7361C-12E | Package_TO_SOT_SMD:SOT-223 | U3 |
| 1 | AP7361C-33E | Package_TO_SOT_SMD:SOT-223 | U2 |
| 1 | Blue | LED_SMD:LED_0603_1608Metric | LD2 |
| 1 | CBSEL0 | Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm | JP1 |
| 1 | CBSEL1 | Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm | JP2 |
| 1 | Clock Output | Connector_PinHeader_1.00mm:PinHeader_1x01_P1.00mm_Vertical | J2 |
| 1 | DSC1001DI1 | CDFN4_2P5X2_MCH:DSC1001DI1-033.3333T | U7 |
| 1 | Differential IO | Connector_PinHeader_1.00mm:PinHeader_1x06_P1.00mm_Vertical | J3 |
| 1 | FT2232HL | Package_QFP:LQFP-64_10x10mm_P0.5mm | U5 |
| 1 | Green | LED_SMD:LED_0603_1608Metric | LD4 |
| 1 | ICE40LP1K-CM36 | ICE40LP1K-CM36:ICE40LP1K-CM36 | U1 |
| 1 | Input/Output 1 | Connector_PinHeader_1.00mm:PinHeader_1x02_P1.00mm_Vertical | J4 |
| 1 | Input/Output 2 | Connector_PinHeader_1.00mm:PinHeader_1x02_P1.00mm_Vertical | J5 |
| 1 | Input/Output 3 | Connector_PinHeader_1.00mm:PinHeader_1x02_P1.00mm_Vertical | J6 |
| 1 | Input/Output 4 | Connector_PinHeader_1.00mm:PinHeader_1x02_P1.00mm_Vertical | J7 |
| 1 | Input/Output 5 | Connector_PinHeader_1.00mm:PinHeader_1x02_P1.00mm_Vertical | J8 |
| 1 | NSR0340HT1G | Diode_SMD:D_SOD-323 | D1 |
| 1 | Red | LED_SMD:LED_0603_1608Metric | LD1 |
| 1 | SST26VF032B | Package_SO:SOIC-8_5.275x5.275mm_P1.27mm | U8 |
| 1 | TP_CLK | TestPoint:TestPoint_Pad_D1.0mm | TP4 |
| 1 | TP_MISO | TestPoint:TestPoint_Pad_D1.0mm | TP6 |
| 1 | TP_MOSI | TestPoint:TestPoint_Pad_D1.0mm | TP5 |
| 1 | TP_SS | TestPoint:TestPoint_Pad_D1.0mm | TP7 |
| 1 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-23-6 | U4 |
| 1 | USB_B_Micro | Connector_USB:USB_Micro-B_Amphenol_10104110_Horizontal | J1 |
| 1 | Yellow | LED_SMD:LED_0603_1608Metric | LD3 |
Questions
How big is the Bus Redundancy Controller PCB?
It measures 50 × 50 mm and has 4 copper layers, 1.6 mm thick.
What parts does the Bus Redundancy Controller use?
87 parts, built around the ICE40LP1K-CM36, 93LC56C-E/P, AP7361C-12E and AP7361C-33E. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Bus Redundancy Controller KiCad files?
From the jjgarrid/Bus-Redundancy-Controller repository on GitHub, at the commit this page was made from: the board is hardware/BuReCon/busredundancycontroller/busredundancycontroller.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Bus Redundancy Controller design in my own project?
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).
Similar boards
- 2 layers140 × 90 mm

- 4 layers68.6 × 53.3 mm

Icezum
FPGAwars/icezum
:star2: IceZUM Alhambra: an Arduino-like Open FPGA electronic board
218 parts357GPL-3.0 - 4 layers68.6 × 53.3 mm

- 4 layers19.6 × 9.4 mm

- 6 layers83.3 × 61.3 mm

- 4 layers85 × 56 mm

- 4 layers54 × 52.7 mm

- 2 layers20.3 × 24.5 mm

Examples
Luos-io/luos_engine
Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.
46 parts546MIT