panik
Member
Now that we have the ext-connectors, we want to be able to talk to the GPIO's (yes, we do!). In the Hacker's manual there's a warning about the voltage levels on the GPIO pins on the ext-connector:
After receiving the excellent TinyBoB's and an ext-connector from peca yesterday, I started soldering it up. The TXB0106 comes in a TSSOP16-package, which is a PITA to handle and solder to a converter-board. It took 2 attempts, but I'm very happy with the results from the second try.
Here's what it looks like after a couple of hours of soldering:
From the pandora down to the board (follow the cable), we see:
- My trusty Pandora.
- ext-connector.
- TinyBoB.
- 14-pins flatcable.
- 14 pins IDC-connector.
- 1.8 Volt voltage regulator (needs 2 1uF caps, didn't have them so I left them out).
- (to the left) 5.0 Volt voltage regulator with 2 supporting caps and 'idiot-diode'.
- 9 Volt battery.
- The TXB0106 voltage level converter on a SSOP20-PDIP converter board.
- Green LED for testing purposes.
There are 3 GPIO's going to the TXB0106 at the moment (yellow wires). One of them has a physical LED connected on the 'other end'. I just measured voltages on the rest of the pins.
Following these instructions for accessing the GPIO's on the beagleboard, I have some serious blinkylight action going on (slightly adjusted code posted below).
Here's the result running the script on the different GPIO's, following the description of the pin-out image of the ext-connector in the hacker's manual:
(1) UART2_RTS/GPIO_145/PWM10
Works as expected. Blinkylights!
(2) UART2_RX/GPIO_147/PWM8
Works as expected. Blinkylights!
(3) UART2_CTS/GPIO_144/PWM9
Voltmeter shows 'blinking' at -1.8 to 0 Volts. Negative voltages. What's up with that? (serious question, is this done in software somewhere?)
(4) UART3_TX/GPIO_166
Voltmeter shows 0 Volt. Script running or not. No blinky.
Pandorawiki mentions "In the 2.6.27 Kernel UART3 is /dev/ttyS0". I need to test this.
(5) UART2_TX/GPIO_146/PWM11
Works as expected. Blinkylights!
(6) UART3_RX/GPIO_165
Voltmeter shows +1.8 Volt. Script running or not. No blinky.
Pandorawiki mentions "In the 2.6.27 Kernel UART3 is /dev/ttyS0". I need to test this.
I wanted to feed the 1.8V voltage regulator from the 3V-line (2.8V actually) coming from the Pandora, but this didn't work as expected. I ended up with less than 1 Volt coming from the regulator. It now runs on the 5V coming from the battery and the 5V voltage regulator. I need to do more testing, to see what happened.
Plans for the future are adding a 3.3 Volt voltage regulator, and make that 'user-selectable', so you can choose between 5V and 3.3V and drive your own additional circuits from there. When I can get the 1.8V from the Pandora, users will also be able to run the breakoutboard in a 'selfpowered mode' where the GPIO's are driven from the 3V (2.8V) from the Pandora. Then the battery and extra voltage regulators can be left out. I plan on drawing the schematics and board in Eagle, and send it off to a PCB-service somewhere (never done that before, though. It will probably take some tries).
The idea is that there will be another 14-pins IDC connector on the other end of the board, that has the same pinout as the one that's coming in, but this time with the GPIO's and power-line at the voltage of your choice.
Idea's you have, flaws you spot, info you're willing to share, I would love to hear your thoughts.
What's needed is some way to change the voltages in and out of the pins to the voltage you want use on the pins. On the "official" breakoutboard (picture and schematic) there's a TXB0104 level converter that handles this for 4 of the pins (the other 2 go directly in the maxim rs232-chip). I wanted more flexibility, so I needed the TXB0106, that has 6 of these 'converters' for all 6 GPIO's (TXB0106 datasheet).*** NOTE – All digital pins on this connector are 1.8V logic and must be level shifted if they need to be interfaced to a higher/lower voltage system. Failure to do so could result in permanent damage to these pins on the OMAP3530, rendering them inoperable or even creating a short circuit inside the chip.
After receiving the excellent TinyBoB's and an ext-connector from peca yesterday, I started soldering it up. The TXB0106 comes in a TSSOP16-package, which is a PITA to handle and solder to a converter-board. It took 2 attempts, but I'm very happy with the results from the second try.
Here's what it looks like after a couple of hours of soldering:
From the pandora down to the board (follow the cable), we see:
- My trusty Pandora.
- ext-connector.
- TinyBoB.
- 14-pins flatcable.
- 14 pins IDC-connector.
- 1.8 Volt voltage regulator (needs 2 1uF caps, didn't have them so I left them out).
- (to the left) 5.0 Volt voltage regulator with 2 supporting caps and 'idiot-diode'.
- 9 Volt battery.
- The TXB0106 voltage level converter on a SSOP20-PDIP converter board.
- Green LED for testing purposes.
There are 3 GPIO's going to the TXB0106 at the moment (yellow wires). One of them has a physical LED connected on the 'other end'. I just measured voltages on the rest of the pins.
Following these instructions for accessing the GPIO's on the beagleboard, I have some serious blinkylight action going on (slightly adjusted code posted below).
Code:
#!/bin/sh
# Blinkylights on the Pandora GPIO's
# Use 145, 147, 144, 166, 146 or 165
GPIO=$1
cleanup() { # Release the GPIO port
echo $GPIO > /sys/class/gpio/unexport
exit
}
# Open the GPIO port
#
echo $GPIO > /sys/class/gpio/export
trap cleanup SIGINT # call cleanup on Ctrl-C
# Blink forever
while [ "1" = "1" ]; do
echo "high" > /sys/class/gpio/gpio$GPIO/direction
sleep 1
echo "low" > /sys/class/gpio/gpio$GPIO/direction
sleep 1
done
cleanup # call the cleanup routine
Here's the result running the script on the different GPIO's, following the description of the pin-out image of the ext-connector in the hacker's manual:
(1) UART2_RTS/GPIO_145/PWM10
Works as expected. Blinkylights!
(2) UART2_RX/GPIO_147/PWM8
Works as expected. Blinkylights!
(3) UART2_CTS/GPIO_144/PWM9
Voltmeter shows 'blinking' at -1.8 to 0 Volts. Negative voltages. What's up with that? (serious question, is this done in software somewhere?)
(4) UART3_TX/GPIO_166
Voltmeter shows 0 Volt. Script running or not. No blinky.
Pandorawiki mentions "In the 2.6.27 Kernel UART3 is /dev/ttyS0". I need to test this.
(5) UART2_TX/GPIO_146/PWM11
Works as expected. Blinkylights!
(6) UART3_RX/GPIO_165
Voltmeter shows +1.8 Volt. Script running or not. No blinky.
Pandorawiki mentions "In the 2.6.27 Kernel UART3 is /dev/ttyS0". I need to test this.
I wanted to feed the 1.8V voltage regulator from the 3V-line (2.8V actually) coming from the Pandora, but this didn't work as expected. I ended up with less than 1 Volt coming from the regulator. It now runs on the 5V coming from the battery and the 5V voltage regulator. I need to do more testing, to see what happened.
Plans for the future are adding a 3.3 Volt voltage regulator, and make that 'user-selectable', so you can choose between 5V and 3.3V and drive your own additional circuits from there. When I can get the 1.8V from the Pandora, users will also be able to run the breakoutboard in a 'selfpowered mode' where the GPIO's are driven from the 3V (2.8V) from the Pandora. Then the battery and extra voltage regulators can be left out. I plan on drawing the schematics and board in Eagle, and send it off to a PCB-service somewhere (never done that before, though. It will probably take some tries).
The idea is that there will be another 14-pins IDC connector on the other end of the board, that has the same pinout as the one that's coming in, but this time with the GPIO's and power-line at the voltage of your choice.
Idea's you have, flaws you spot, info you're willing to share, I would love to hear your thoughts.
Last edited by a moderator: