10 pin DUT GPIO connector pinout - sonyxperiadev/CDB-Assist GitHub Wiki
Default pinout of the 10-pin connector
- Analog switch "Button A"
- Analog switch "Button A"
- Analog switch "Button B"
- Analog switch "Button B"
- Analog switch "Button C"
- Analog switch "Button C"
- UART VRef input
- UART DFMS (RX data FROM target TO debug board)
- UART DTMS (TX data TO target FROM debug board)
- Ground
This is just the default mapping though. Due to the way the board is designed it is possible to use any of the following pin IO as UART TX and RX (see gpio.c): Pin 1-9 in the GPIO header (pin 7 RX only at this time due to a bug in PSoC Creator 3.3), DUT USB ID, D+ and D- pins (in mux mode 4), and the testpoint marked 12.2 (SpareSIO). This means that if you don't know if you accidentally swapped UART TX and RX when hooking the system up you don't necessarily have to rewire. :) It's also very handy if you have a device that talk raw UART on D+/D- pin in a USB connector.
The voltage levels on these pins are programmable in two groups if a basic restriction is observed. The two UART data pins plus DUT USB ID, D+, D- and the SpareSIO pin makes up one group and can be set to voltages from 1V to 5V. The second group of pins that share a programmable voltage level are the GPIO pins 1 to 6. These can be used as GPIO with a voltage level from 1.8V to 5V. The restriction regarding the two programmable references is that the UART reference has to be lower or equal to the GPIO reference. The VRef input is a fixed 5V GPIO. This pin is normally always an input but can be used as a generic 5V GPIO if needed.
By default the GPIO voltage reference is set to 5V to be able to switch analog/digital signals up to 5V with the switches while also giving the highest headroom for the UART pins (that voltage level is set by sampling the VRef pin to avoid any latchup issues with targets that don't deal with backfed voltage into their RX pins when targets are unpowered), but this behavior can be overridden in the firmware. Earlier versions of the debug board had a completely different design which always required an external voltage reference for the UART (and the switches were fixed at 5V without any way of using the pins as generic GPIO).
The UART itself is exposed to the host system as a second ACM serial port and can deal with any bitrate from 50bps to 4Mbps. Due to the way the UART is implemented in programmable logic it is hardcoded to only do 8 data bits and 1 stop bit, this is a limitation that is on the todo list to fix.
###Cables and test clips Suitable test clips and ribbon cable for the CDB Assist GPIO connector: Sparkfun (CAB-09556 and CAB-09741) or similar.