Radio Debug Board v1
From Snowcap
Contents
Status: Completed
The purpose of the Debug Radio Board is to ease connecting a Radio Board, a Raspberry Pi and a PC to each other (even without a Radio Board).
Design
Requirements
- Provide a convenient way to connect a Radio Board to a PC (USB)
- Provide a convenient way to connect a Radio Board to a RPi (RPi's expansion header)
- Act as serial to USB dongle for RPi (with and without having Radio Board connected)
- Provide debug leds for Radio Board
- Provide a pin pair for measuring Radio Board power consumption
Implementation details
- FTDI provides 3.3V to cc430 even when the USB is not connected (max 50mA!)
- The Debug Board must have RPi compatible pin header. See a photo of RPi for reference.
- Connect a debug led to CN1_9 (AN3) directly, no need for a FET/transistor.
Jumper configurations
- 5V from RPi to FTDI goes through a jumper that allows cutting 5V when connecting both RPi and USB.
- TX/RX from RPi are connected to Radio (which is connected to FTDI) through jumpers that allows disconnecting TRX/RX from RPI when not needed
- Allows also crossing TX/RX when used with FTDI without the Radio Board
Pinout
The following tables are copied from elinux.org and the RBv2 added there to show how to connect the pins between the 26pin header and the radio board.
P1 Header Pinout, top row:
Pin Number | Pin Name Rev1 | Pin Name Rev2 | Pin RBv2 | Hardware Notes | Alt 0 Function | Other Alternative Functions |
P1-02 | 5V0 | 5V0 | FTDI | Supply through input poly fuse | ||
P1-04 | 5V0 | 5V0 | NC | Supply through input poly fuse | ||
P1-06 | GND | GND | GND | |||
P1-08 | GPIO 14 | GPIO 14 | CN1_3 (A0_RX) | Boot to Alt 0 -> | UART0_TXD | ALT5 = UART1_TXD |
P1-10 | GPIO 15 | GPIO 15 | CN1_2 (A0_TX) | Boot to Alt 0 -> | UART0_RXD | ALT5 = UART1_RXD |
P1-12 | GPIO 18 | GPIO 18 | CN1_9 (A3) | PCM_CLK | ALT4 = SPI1_CE0_N ALT5 = PWM0 | |
P1-14 | GND | GND | GND | |||
P1-16 | GPIO23 | GPIO23 | CN1_5 (!RST) | ALT3 = SD1_CMD ALT4 = ARM_RTCK | ||
P1-18 | GPIO24 | GPIO24 | CN1_6 (TEST) | ALT3 = SD1_DAT0 ALT4 = ARM_TDO | ||
P1-20 | GND | GND | GND | |||
P1-22 | GPIO25 | GPIO25 | CN2_5 (ACLK) | ALT3 = SD1_DAT1 ALT4 = ARM_TCK | ||
P1-24 | GPIO08 | GPIO08 | CN2_3 (A0_SS) | SPI0_CE0_N | ||
P1-26 | GPIO07 | GPIO07 | CN2_6 (RFGDO2) | SPI0_CE1_N |
P1 Header Pinout, bottom row:
Pin Number | Pin Name Rev1 | Pin Name Rev2 | Pin RBv2 | Hardware Notes' | Alt 0 Function | Other Alternative Functions |
P1-01 | 3.3 V | 3.3 V | NC | 50 mA max (01 & 17) | ||
P1-03 | GPIO 0 | GPIO 2 | CN2_2 (B0_SDA) | 1K8 pull up resistor | I2C0_SDA / I2C1_SDA | |
P1-05 | GPIO 1 | GPIO 3 | CN2_1 (B0_SCL) | 1K8 pull up resistor | I2C0_SCL / I2C1_SCL | |
P1-07 | GPIO 4 | GPIO 4 | CN2_7 (RFGDO0) | GPCLK0 | ALT5 = ARM_TDI | |
P1-09 | GND | GND | GND | |||
P1-11 | GPIO17 | GPIO17 | CN2_8 (A0) | ALT3 = UART0_RTS ALT4 = SPI1_CE1_N ALT5 = UART1_RTS | ||
P1-13 | GPIO21 | GPIO27 | CN2_9 (A1) | PCM_DOUT / reserved | ALT4 = SPI1_SCLK ALT5 = GPCLK1 / ALT3 = SD1_DAT3 ALT4 = ARM_TMS | |
P1-15 | GPIO22 | GPIO22 | CN2_10 (A3) | ALT3 = SD1_CLK ALT4 = ARM_TRST | ||
P1-17 | 3.3 V | 3.3 V | NC | 50 mA max (01 & 17) | ||
P1-19 | GPIO10 | GPIO10 | CN1_2 (A0_MOSI) | SPI0_MOSI | ||
P1-21 | GPIO9 | GPIO9 | CN1_3 (A0_MISO) | SPI0_MISO | ||
P1-23 | GPIO11 | GPIO11 | CN2_4 (A0_SCLK) | SPI0_SCLK | ||
P1-25 | GND | GND | GND |
Open Questions
- RPi seems to have already 1.8k pull-ups for i2c. RBv2 does have 4.7k pull-ups. Is this a problem?
- Is it a problem to have TX/RX lines connected 3-way between FTDI/RPi/RBv2 even if the USB is not connected to FTDI?
Closed Questions
- If a debug board with FTDI and USB connectors assembled is connected to an RPi, is there a problem with 3.3V going everywhere?
- Solution: Use a jumper to choose where is the power provided
- Would it be possible to use this debug board as an usb-to-serial dongle for RPi's UART without the radio?
- How to control TX/RX lines between cc430, RPi and FTDI then?
- Jumpers/switches?
- Solution: Use jumpers to choose where how the TX/RX are routed
- How to control TX/RX lines between cc430, RPi and FTDI then?
Errata
- FT232R pads too short for hand soldering
- LEDs are reversed.