https://elinux.org/api.php?action=feedcontributions&user=Land-boards&feedformat=atomeLinux.org - User contributions [en]2024-03-29T12:43:48ZUser contributionsMediaWiki 1.31.0https://elinux.org/index.php?title=User:Land-boards&diff=447146User:Land-boards2017-07-28T19:25:41Z<p>Land-boards: </p>
<hr />
<div>'''land-boards.com'''<br />
<br />
[[File:Land Boards Staff - P365-720px.jpeg]]<br />
<br />
'''Helping Makers go beyond breadboards'''<br />
<br />
* [[BBB-GVS|BBB-GVS - Beaglebone Black GVS Sensor Cape]] - with fixed configuration<br />
* [[BBB-GVS-3|BBB-GVS-3 - Beaglebone Black GVS Sensor Cape]] - with configurable level translation<br />
* [[BBB-COMMS-2|BBB-COMMS-2 - Beaglebone Black GVS Sensor Cape]] - no level translation, just GVS connections</div>Land-boardshttps://elinux.org/index.php?title=File:Land_Boards_Staff_-_P365-720px.jpeg&diff=447141File:Land Boards Staff - P365-720px.jpeg2017-07-28T19:25:08Z<p>Land-boards: </p>
<hr />
<div></div>Land-boardshttps://elinux.org/index.php?title=User:Land-boards&diff=447136User:Land-boards2017-07-28T19:24:47Z<p>Land-boards: </p>
<hr />
<div>'''land-boards.com'''<br />
<br />
[[File:Land Boards Staff - P365-720px.jpeg]]<br />
<br />
Helping Makers go beyond breadboards.<br />
<br />
* [[BBB-GVS|BBB-GVS - Beaglebone Black GVS Sensor Cape]] - with fixed configuration<br />
* [[BBB-GVS-3|BBB-GVS-3 - Beaglebone Black GVS Sensor Cape]] - with configurable level translation<br />
* [[BBB-COMMS-2|BBB-COMMS-2 - Beaglebone Black GVS Sensor Cape]] - no level translation, just GVS connections</div>Land-boardshttps://elinux.org/index.php?title=User:Land-boards&diff=447131User:Land-boards2017-07-28T19:23:23Z<p>Land-boards: add card part numbers</p>
<hr />
<div>'''land-boards.com'''<br />
<br />
Helping Makers go beyond breadboards.<br />
<br />
* [[BBB-GVS|BBB-GVS - Beaglebone Black GVS Sensor Cape]] - with fixed configuration<br />
* [[BBB-GVS-3|BBB-GVS-3 - Beaglebone Black GVS Sensor Cape]] - with configurable level translation<br />
* [[BBB-COMMS-2|BBB-COMMS-2 - Beaglebone Black GVS Sensor Cape]] - no level translation, just GVS connections</div>Land-boardshttps://elinux.org/index.php?title=User:Land-boards&diff=447126User:Land-boards2017-07-28T19:21:56Z<p>Land-boards: Added links to our other BBB cards</p>
<hr />
<div>'''land-boards.com'''<br />
<br />
Helping Makers go beyond breadboards.<br />
<br />
* [[BBB-GVS|Beaglebone Black GVS Sensor Cape]] - with fixed configuration<br />
* [[BBB-GVS-3|Beaglebone Black GVS Sensor Cape]] - with configurable level translation<br />
* [[BBB-COMMS-2|Beaglebone Black GVS Sensor Cape]] - no level translation, just GVS connections</div>Land-boardshttps://elinux.org/index.php?title=BBB-COMMS-2&diff=447121BBB-COMMS-22017-07-28T19:16:05Z<p>Land-boards: </p>
<hr />
<div>[[File:tindie-larges-v2.png|link=https://www.tindie.com/products/land_boards/beaglebone-black-io-cape-bbb-comms-2/]]<br />
<br />
[[File:BBB-COMMS-2-P418-720px.jpg]]<br />
<br />
<embedvideo service="youtube">https://youtu.be/0mXV-AHFqqM</embedvideo> <br />
<br />
We also have the [[BBB-GVS]] and [[BBB-GVS-3]] cards.<br />
<br />
== BBB-COMMS-2 Features ==<br />
<br />
=== Extensive I/O connections ===<br />
<br />
* (13) GPIOs<br />
** GVS (Ground/Voltage/Signal) pins<br />
* (3) UARTs<br />
** GVTxRx (Ground/Voltage/Tx/Rx) pins<br />
* (1) I2C bus<br />
** GVSdaScl (Ground/Voltage/SDA/SCL) pins<br />
* Support for keyed header<br />
<br />
=== Cape Support features ===<br />
<br />
* Cape configuration EEPROM with write enable jumper<br />
* Beaglebone Black form factor<br />
* Power LED<br />
<br />
== Headers and Connectors ==<br />
<br />
[[File:BBB-COMMS-1-CAD-OSHPark-X1.png]]<br />
<br />
=== Header ===<br />
<br />
=== H1 - Write Enable Header ===<br />
<br />
* Install jumper onto header to allow writes to EEPROM<br />
* Remove jumper from header to prevent writes to EEPROM<br />
<br />
=== Connectors ===<br />
<br />
==== H2-H9 = 4 Pin Headers ====<br />
<br />
{| class="wikitable"<br />
! Card Header<br />
! GPIO<br />
! BBB Pin<br />
|-<br />
| H2-3<br />
| N/A<br />
| N/A<br />
|-<br />
| H2-4 (Key)<br />
No pin<br />
| N/A<br />
| N/A<br />
|-<br />
| H3-3<br />
| GPIO3_19<br />
| P9_27<br />
|-<br />
| H3-4<br />
| GPIO1_17<br />
| P9_23<br />
|-<br />
| H4-3<br />
| UART1_TX<br />
| P9_24<br />
|-<br />
| H4-4<br />
| UART1_RX<br />
| P9_26<br />
|-<br />
| H5-3<br />
| UART2_TX<br />
| P9_21<br />
|-<br />
| H5-4<br />
| UART2_RX<br />
| P9_22<br />
|-<br />
| H6-3<br />
| I2C_SDA<br />
| P9_18<br />
|-<br />
| H6-4<br />
| I2C_SCL<br />
| P9_17<br />
|-<br />
| H7-3<br />
| EHPWM1B<br />
| P9_16<br />
|-<br />
| H7-4<br />
| GPIO1_16<br />
| P9_15<br />
|-<br />
| H8-3<br />
| EHRPWM1A<br />
| P9_14<br />
|-<br />
| H8-4<br />
| GPIO1_28<br />
| P9_12<br />
|-<br />
| H9-3<br />
| UART4_TX<br />
| P9_13<br />
|-<br />
| H9-4<br />
| UART4_RX<br />
| P9_11<br />
|-<br />
|}<br />
<br />
=== H10-H17 = 3 Pin Headers ===<br />
<br />
{| class="wikitable"<br />
! Card Header<br />
! GPIO<br />
! BBB Pin<br />
|-<br />
| H10-3 (KEY)<br />
No pin<br />
| N/A<br />
| N/A<br />
|-<br />
| H11-3<br />
| GPIO1_29<br />
| P8_26<br />
|-<br />
| H12-3<br />
| GPIO2_1<br />
| P8_18<br />
|-<br />
| H13-3<br />
| GPIO0_27<br />
| P8_17<br />
|-<br />
| H14-3<br />
| GPIO1_14<br />
| P8_16<br />
|-<br />
| H15-3<br />
| GPIO1_15<br />
| P8_15<br />
|-<br />
| H16-3<br />
| GPIO1_12<br />
| P8_12<br />
|-<br />
| H17-3<br />
| GPIO1_13<br />
| P8_11<br />
|-<br />
|}<br />
<br />
== Production Testing ==<br />
<br />
=== Setup ===<br />
<br />
*Install BBB-COMMS-2 on BBB<br />
*Install shunt at H1 (Write Enable)<br />
*Ethernet connection to BBB<br />
*Power via 5V jack to BBB<br />
*Verify 3.3V LED is lit<br />
*Log in via putty<br />
**User = root<br />
**Password = enter<br />
<br />
=== GPIO Testing ===<br />
<br />
*Hook up [http://land-boards.com/blwiki/index.php?title=LED-32 LED-32] Card to these pins<br />
<pre><br />
D0 = "P8_26"<br />
D1 = "P8_17"<br />
D2 = "P8_15"<br />
D3 = "P8_11"<br />
D4 = "P9_23"<br />
D5 = "P9_26"<br />
D6 = "P9_22"<br />
D7 = "P9_15"<br />
D8 = "P9_12"<br />
D9 = "P9_11"<br />
<br />
D16 = "P8_18"<br />
D17 = "P8_16"<br />
D18 = "P8_12"<br />
D19 = "P9_27"<br />
D20 = "P9_24"<br />
D21 = "P9_21"<br />
D22 = "P9_16"<br />
D23 = "P9_14"<br />
D24 = "P9_13"<br />
</pre><br />
*Run test via:<br />
<pre>cd ~/pyBBB/BBB-COMMS-2/blink-BBB-COMMS-2/<br />
python blink-BBB-COMMS-2.py<br />
</pre><br />
<br />
=== I2C Testing/EEPROM Programming ===<br />
<br />
*Go to directory<br />
*Program the EEPROM<br />
*Verify by typing<br />
<pre>cd ~/pyBBB/BBB-COMMS-2/mkeeprom<br />
cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
cat /sys/bus/i2c/devices/1-0054/eeprom | hexdump -C<br />
</pre><br />
*Result should be like -<br />
<pre>00000000 aa 55 33 ee 41 30 42 42 42 2d 47 56 53 2d 33 00 |.U3.A0BBB-COMMS-|<br />
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |2...............|<br />
00000020 00 00 00 00 00 00 58 31 00 00 4c 61 6e 64 20 42 |......X1..Land B|<br />
00000030 6f 61 72 64 73 2c 20 4c 4c 43 42 42 42 2d 47 56 |oards, LLCBBB-CO|<br />
00000040 53 2d 33 00 00 00 00 00 00 00 00 00 30 30 30 30 |MS-2........0000|<br />
00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|<br />
*<br />
000000e0 00 00 00 00 00 00 00 00 00 00 00 00 00 fa 01 f4 |................|<br />
000000f0 00 fa 00 00 ff ff ff ff ff ff ff ff ff ff ff ff |................|<br />
00000100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|<br />
*<br />
00008000</pre><br />
*Remove WE jumper<br />
*Type<br />
<pre>cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
</pre><br />
*Result should be error<br />
<pre>root@BBB01:~/pyBBB/BBB-COMMS-2/mkeeprom# cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
cat: write error: Connection timed out</pre><br />
<br />
=== Prepare to re-run ===<br />
<br />
*Type<br />
<pre>halt</pre><br />
<br />
=== Combined Copy/Paste ===<br />
<br />
<pre>cd ~/pyBBB/BBB-COMMS-2/blink-BBB-COMMS-2<br />
python blink-BBB-COMMS-2.py<br />
<br />
cd ~/pyBBB/BBB-COMMS-2/mkeeprom/<br />
cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
cat /sys/bus/i2c/devices/1-0054/eeprom | hexdump -C<br />
</pre><br />
<br />
== Issues with X1 card ==<br />
<br />
* No issues</div>Land-boardshttps://elinux.org/index.php?title=BBB-COMMS-2&diff=447116BBB-COMMS-22017-07-28T19:15:18Z<p>Land-boards: /* BBB-COMMS-2 Assembly Sheet */</p>
<hr />
<div>[[File:tindie-larges-v2.png|link=https://www.tindie.com/products/land_boards/beaglebone-black-io-cape-bbb-comms-2/]]<br />
<br />
[[File:BBB-COMMS-2-P418-720px.jpg]]<br />
<br />
<embedvideo service="youtube">https://youtu.be/0mXV-AHFqqM</embedvideo> <br />
<br />
We also have the [[BBB-GVS]] and [[BBB-GVS-3]] cards.<br />
<br />
== BBB-COMMS-2 Features ==<br />
<br />
=== Extensive I/O connections ===<br />
<br />
* (13) GPIOs<br />
** GVS (Ground/Voltage/Signal) pins<br />
* (3) UARTs<br />
** GVTxRx (Ground/Voltage/Tx/Rx) pins<br />
* (1) I2C bus<br />
** GVSdaScl (Ground/Voltage/SDA/SCL) pins<br />
* Support for keyed header<br />
<br />
=== Cape Support features ===<br />
<br />
* Cape configuration EEPROM with write enable jumper<br />
* Beaglebone Black form factor<br />
* Power LED<br />
<br />
== Headers and Connectors ==<br />
<br />
[[File:BBB-COMMS-1-CAD-OSHPark-X1.png]]<br />
<br />
=== Header ===<br />
<br />
=== H1 - Write Enable Header ===<br />
<br />
* Install jumper onto header to allow writes to EEPROM<br />
* Remove jumper from header to prevent writes to EEPROM<br />
<br />
=== Connectors ===<br />
<br />
==== H2-H9 = 4 Pin Headers ====<br />
<br />
{| class="wikitable"<br />
! Card Header<br />
! GPIO<br />
! BBB Pin<br />
|-<br />
| H2-3<br />
| N/A<br />
| N/A<br />
|-<br />
| H2-4 (Key)<br />
No pin<br />
| N/A<br />
| N/A<br />
|-<br />
| H3-3<br />
| GPIO3_19<br />
| P9_27<br />
|-<br />
| H3-4<br />
| GPIO1_17<br />
| P9_23<br />
|-<br />
| H4-3<br />
| UART1_TX<br />
| P9_24<br />
|-<br />
| H4-4<br />
| UART1_RX<br />
| P9_26<br />
|-<br />
| H5-3<br />
| UART2_TX<br />
| P9_21<br />
|-<br />
| H5-4<br />
| UART2_RX<br />
| P9_22<br />
|-<br />
| H6-3<br />
| I2C_SDA<br />
| P9_18<br />
|-<br />
| H6-4<br />
| I2C_SCL<br />
| P9_17<br />
|-<br />
| H7-3<br />
| EHPWM1B<br />
| P9_16<br />
|-<br />
| H7-4<br />
| GPIO1_16<br />
| P9_15<br />
|-<br />
| H8-3<br />
| EHRPWM1A<br />
| P9_14<br />
|-<br />
| H8-4<br />
| GPIO1_28<br />
| P9_12<br />
|-<br />
| H9-3<br />
| UART4_TX<br />
| P9_13<br />
|-<br />
| H9-4<br />
| UART4_RX<br />
| P9_11<br />
|-<br />
|}<br />
<br />
=== H10-H17 = 3 Pin Headers ===<br />
<br />
{| class="wikitable"<br />
! Card Header<br />
! GPIO<br />
! BBB Pin<br />
|-<br />
| H10-3 (KEY)<br />
No pin<br />
| N/A<br />
| N/A<br />
|-<br />
| H11-3<br />
| GPIO1_29<br />
| P8_26<br />
|-<br />
| H12-3<br />
| GPIO2_1<br />
| P8_18<br />
|-<br />
| H13-3<br />
| GPIO0_27<br />
| P8_17<br />
|-<br />
| H14-3<br />
| GPIO1_14<br />
| P8_16<br />
|-<br />
| H15-3<br />
| GPIO1_15<br />
| P8_15<br />
|-<br />
| H16-3<br />
| GPIO1_12<br />
| P8_12<br />
|-<br />
| H17-3<br />
| GPIO1_13<br />
| P8_11<br />
|-<br />
|}<br />
<br />
== Production Testing ==<br />
<br />
=== Setup ===<br />
<br />
*Install BBB-COMMS-2 on BBB<br />
*Install shunt at H1 (Write Enable)<br />
*Ethernet connection to BBB<br />
*Power via 5V jack to BBB<br />
*Verify 3.3V LED is lit<br />
*Log in via putty<br />
**User = root<br />
**Password = enter<br />
<br />
=== GPIO Testing ===<br />
<br />
*Hook up [http://land-boards.com/blwiki/index.php?title=LED-32 LED-32] Card to these pins<br />
<pre><br />
D0 = "P8_26"<br />
D1 = "P8_17"<br />
D2 = "P8_15"<br />
D3 = "P8_11"<br />
D4 = "P9_23"<br />
D5 = "P9_26"<br />
D6 = "P9_22"<br />
D7 = "P9_15"<br />
D8 = "P9_12"<br />
D9 = "P9_11"<br />
<br />
D16 = "P8_18"<br />
D17 = "P8_16"<br />
D18 = "P8_12"<br />
D19 = "P9_27"<br />
D20 = "P9_24"<br />
D21 = "P9_21"<br />
D22 = "P9_16"<br />
D23 = "P9_14"<br />
D24 = "P9_13"<br />
</pre><br />
*Run test via:<br />
<pre>cd ~/pyBBB/BBB-COMMS-2/blink-BBB-COMMS-2/<br />
python blink-BBB-COMMS-2.py<br />
</pre><br />
<br />
=== I2C Testing/EEPROM Programming ===<br />
<br />
*Go to directory<br />
*Program the EEPROM<br />
*Verify by typing<br />
<pre>cd ~/pyBBB/BBB-COMMS-2/mkeeprom<br />
cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
cat /sys/bus/i2c/devices/1-0054/eeprom | hexdump -C<br />
</pre><br />
*Result should be like -<br />
<pre>00000000 aa 55 33 ee 41 30 42 42 42 2d 47 56 53 2d 33 00 |.U3.A0BBB-COMMS-|<br />
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |2...............|<br />
00000020 00 00 00 00 00 00 58 31 00 00 4c 61 6e 64 20 42 |......X1..Land B|<br />
00000030 6f 61 72 64 73 2c 20 4c 4c 43 42 42 42 2d 47 56 |oards, LLCBBB-CO|<br />
00000040 53 2d 33 00 00 00 00 00 00 00 00 00 30 30 30 30 |MS-2........0000|<br />
00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|<br />
*<br />
000000e0 00 00 00 00 00 00 00 00 00 00 00 00 00 fa 01 f4 |................|<br />
000000f0 00 fa 00 00 ff ff ff ff ff ff ff ff ff ff ff ff |................|<br />
00000100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|<br />
*<br />
00008000</pre><br />
*Remove WE jumper<br />
*Type<br />
<pre>cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
</pre><br />
*Result should be error<br />
<pre>root@BBB01:~/pyBBB/BBB-COMMS-2/mkeeprom# cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
cat: write error: Connection timed out</pre><br />
<br />
=== Prepare to re-run ===<br />
<br />
*Type<br />
<pre>halt</pre><br />
<br />
=== Combined Copy/Paste ===<br />
<br />
<pre>cd ~/pyBBB/BBB-COMMS-2/blink-BBB-COMMS-2<br />
python blink-BBB-COMMS-2.py<br />
<br />
cd ~/pyBBB/BBB-COMMS-2/mkeeprom/<br />
cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
cat /sys/bus/i2c/devices/1-0054/eeprom | hexdump -C<br />
</pre><br />
<br />
== Issues with X1 card ==<br />
<br />
* TBD</div>Land-boardshttps://elinux.org/index.php?title=BBB-COMMS-2&diff=447111BBB-COMMS-22017-07-28T19:15:01Z<p>Land-boards: Fixed LED-32 card linl</p>
<hr />
<div>[[File:tindie-larges-v2.png|link=https://www.tindie.com/products/land_boards/beaglebone-black-io-cape-bbb-comms-2/]]<br />
<br />
[[File:BBB-COMMS-2-P418-720px.jpg]]<br />
<br />
<embedvideo service="youtube">https://youtu.be/0mXV-AHFqqM</embedvideo> <br />
<br />
We also have the [[BBB-GVS]] and [[BBB-GVS-3]] cards.<br />
<br />
== BBB-COMMS-2 Features ==<br />
<br />
=== Extensive I/O connections ===<br />
<br />
* (13) GPIOs<br />
** GVS (Ground/Voltage/Signal) pins<br />
* (3) UARTs<br />
** GVTxRx (Ground/Voltage/Tx/Rx) pins<br />
* (1) I2C bus<br />
** GVSdaScl (Ground/Voltage/SDA/SCL) pins<br />
* Support for keyed header<br />
<br />
=== Cape Support features ===<br />
<br />
* Cape configuration EEPROM with write enable jumper<br />
* Beaglebone Black form factor<br />
* Power LED<br />
<br />
== Headers and Connectors ==<br />
<br />
[[File:BBB-COMMS-1-CAD-OSHPark-X1.png]]<br />
<br />
=== Header ===<br />
<br />
=== H1 - Write Enable Header ===<br />
<br />
* Install jumper onto header to allow writes to EEPROM<br />
* Remove jumper from header to prevent writes to EEPROM<br />
<br />
=== Connectors ===<br />
<br />
==== H2-H9 = 4 Pin Headers ====<br />
<br />
{| class="wikitable"<br />
! Card Header<br />
! GPIO<br />
! BBB Pin<br />
|-<br />
| H2-3<br />
| N/A<br />
| N/A<br />
|-<br />
| H2-4 (Key)<br />
No pin<br />
| N/A<br />
| N/A<br />
|-<br />
| H3-3<br />
| GPIO3_19<br />
| P9_27<br />
|-<br />
| H3-4<br />
| GPIO1_17<br />
| P9_23<br />
|-<br />
| H4-3<br />
| UART1_TX<br />
| P9_24<br />
|-<br />
| H4-4<br />
| UART1_RX<br />
| P9_26<br />
|-<br />
| H5-3<br />
| UART2_TX<br />
| P9_21<br />
|-<br />
| H5-4<br />
| UART2_RX<br />
| P9_22<br />
|-<br />
| H6-3<br />
| I2C_SDA<br />
| P9_18<br />
|-<br />
| H6-4<br />
| I2C_SCL<br />
| P9_17<br />
|-<br />
| H7-3<br />
| EHPWM1B<br />
| P9_16<br />
|-<br />
| H7-4<br />
| GPIO1_16<br />
| P9_15<br />
|-<br />
| H8-3<br />
| EHRPWM1A<br />
| P9_14<br />
|-<br />
| H8-4<br />
| GPIO1_28<br />
| P9_12<br />
|-<br />
| H9-3<br />
| UART4_TX<br />
| P9_13<br />
|-<br />
| H9-4<br />
| UART4_RX<br />
| P9_11<br />
|-<br />
|}<br />
<br />
=== H10-H17 = 3 Pin Headers ===<br />
<br />
{| class="wikitable"<br />
! Card Header<br />
! GPIO<br />
! BBB Pin<br />
|-<br />
| H10-3 (KEY)<br />
No pin<br />
| N/A<br />
| N/A<br />
|-<br />
| H11-3<br />
| GPIO1_29<br />
| P8_26<br />
|-<br />
| H12-3<br />
| GPIO2_1<br />
| P8_18<br />
|-<br />
| H13-3<br />
| GPIO0_27<br />
| P8_17<br />
|-<br />
| H14-3<br />
| GPIO1_14<br />
| P8_16<br />
|-<br />
| H15-3<br />
| GPIO1_15<br />
| P8_15<br />
|-<br />
| H16-3<br />
| GPIO1_12<br />
| P8_12<br />
|-<br />
| H17-3<br />
| GPIO1_13<br />
| P8_11<br />
|-<br />
|}<br />
<br />
== Production Testing ==<br />
<br />
=== Setup ===<br />
<br />
*Install BBB-COMMS-2 on BBB<br />
*Install shunt at H1 (Write Enable)<br />
*Ethernet connection to BBB<br />
*Power via 5V jack to BBB<br />
*Verify 3.3V LED is lit<br />
*Log in via putty<br />
**User = root<br />
**Password = enter<br />
<br />
=== GPIO Testing ===<br />
<br />
*Hook up [http://land-boards.com/blwiki/index.php?title=LED-32 LED-32] Card to these pins<br />
<pre><br />
D0 = "P8_26"<br />
D1 = "P8_17"<br />
D2 = "P8_15"<br />
D3 = "P8_11"<br />
D4 = "P9_23"<br />
D5 = "P9_26"<br />
D6 = "P9_22"<br />
D7 = "P9_15"<br />
D8 = "P9_12"<br />
D9 = "P9_11"<br />
<br />
D16 = "P8_18"<br />
D17 = "P8_16"<br />
D18 = "P8_12"<br />
D19 = "P9_27"<br />
D20 = "P9_24"<br />
D21 = "P9_21"<br />
D22 = "P9_16"<br />
D23 = "P9_14"<br />
D24 = "P9_13"<br />
</pre><br />
*Run test via:<br />
<pre>cd ~/pyBBB/BBB-COMMS-2/blink-BBB-COMMS-2/<br />
python blink-BBB-COMMS-2.py<br />
</pre><br />
<br />
=== I2C Testing/EEPROM Programming ===<br />
<br />
*Go to directory<br />
*Program the EEPROM<br />
*Verify by typing<br />
<pre>cd ~/pyBBB/BBB-COMMS-2/mkeeprom<br />
cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
cat /sys/bus/i2c/devices/1-0054/eeprom | hexdump -C<br />
</pre><br />
*Result should be like -<br />
<pre>00000000 aa 55 33 ee 41 30 42 42 42 2d 47 56 53 2d 33 00 |.U3.A0BBB-COMMS-|<br />
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |2...............|<br />
00000020 00 00 00 00 00 00 58 31 00 00 4c 61 6e 64 20 42 |......X1..Land B|<br />
00000030 6f 61 72 64 73 2c 20 4c 4c 43 42 42 42 2d 47 56 |oards, LLCBBB-CO|<br />
00000040 53 2d 33 00 00 00 00 00 00 00 00 00 30 30 30 30 |MS-2........0000|<br />
00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|<br />
*<br />
000000e0 00 00 00 00 00 00 00 00 00 00 00 00 00 fa 01 f4 |................|<br />
000000f0 00 fa 00 00 ff ff ff ff ff ff ff ff ff ff ff ff |................|<br />
00000100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|<br />
*<br />
00008000</pre><br />
*Remove WE jumper<br />
*Type<br />
<pre>cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
</pre><br />
*Result should be error<br />
<pre>root@BBB01:~/pyBBB/BBB-COMMS-2/mkeeprom# cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
cat: write error: Connection timed out</pre><br />
<br />
=== Prepare to re-run ===<br />
<br />
*Type<br />
<pre>halt</pre><br />
<br />
=== Combined Copy/Paste ===<br />
<br />
<pre>cd ~/pyBBB/BBB-COMMS-2/blink-BBB-COMMS-2<br />
python blink-BBB-COMMS-2.py<br />
<br />
cd ~/pyBBB/BBB-COMMS-2/mkeeprom/<br />
cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
cat /sys/bus/i2c/devices/1-0054/eeprom | hexdump -C<br />
</pre><br />
<br />
== BBB-COMMS-2 Assembly Sheet ==<br />
<br />
* [[BBB-COMMS-2 Rev X1 Assembly Sheet]]<br />
<br />
== Issues with X1 card ==<br />
<br />
* TBD</div>Land-boardshttps://elinux.org/index.php?title=File:BBB-COMMS-1-CAD-OSHPark-X1.png&diff=447106File:BBB-COMMS-1-CAD-OSHPark-X1.png2017-07-28T19:13:42Z<p>Land-boards: </p>
<hr />
<div></div>Land-boardshttps://elinux.org/index.php?title=File:BBB-COMMS-2-P418-720px.jpg&diff=447101File:BBB-COMMS-2-P418-720px.jpg2017-07-28T19:13:20Z<p>Land-boards: </p>
<hr />
<div></div>Land-boardshttps://elinux.org/index.php?title=BBB-COMMS-2&diff=447096BBB-COMMS-22017-07-28T19:12:41Z<p>Land-boards: Initial checkin</p>
<hr />
<div>[[File:tindie-larges-v2.png|link=https://www.tindie.com/products/land_boards/beaglebone-black-io-cape-bbb-comms-2/]]<br />
<br />
[[File:BBB-COMMS-2-P418-720px.jpg]]<br />
<br />
<embedvideo service="youtube">https://youtu.be/0mXV-AHFqqM</embedvideo> <br />
<br />
We also have the [[BBB-GVS]] and [[BBB-GVS-3]] cards.<br />
<br />
== BBB-COMMS-2 Features ==<br />
<br />
=== Extensive I/O connections ===<br />
<br />
* (13) GPIOs<br />
** GVS (Ground/Voltage/Signal) pins<br />
* (3) UARTs<br />
** GVTxRx (Ground/Voltage/Tx/Rx) pins<br />
* (1) I2C bus<br />
** GVSdaScl (Ground/Voltage/SDA/SCL) pins<br />
* Support for keyed header<br />
<br />
=== Cape Support features ===<br />
<br />
* Cape configuration EEPROM with write enable jumper<br />
* Beaglebone Black form factor<br />
* Power LED<br />
<br />
== Headers and Connectors ==<br />
<br />
[[File:BBB-COMMS-1-CAD-OSHPark-X1.png]]<br />
<br />
=== Header ===<br />
<br />
=== H1 - Write Enable Header ===<br />
<br />
* Install jumper onto header to allow writes to EEPROM<br />
* Remove jumper from header to prevent writes to EEPROM<br />
<br />
=== Connectors ===<br />
<br />
==== H2-H9 = 4 Pin Headers ====<br />
<br />
{| class="wikitable"<br />
! Card Header<br />
! GPIO<br />
! BBB Pin<br />
|-<br />
| H2-3<br />
| N/A<br />
| N/A<br />
|-<br />
| H2-4 (Key)<br />
No pin<br />
| N/A<br />
| N/A<br />
|-<br />
| H3-3<br />
| GPIO3_19<br />
| P9_27<br />
|-<br />
| H3-4<br />
| GPIO1_17<br />
| P9_23<br />
|-<br />
| H4-3<br />
| UART1_TX<br />
| P9_24<br />
|-<br />
| H4-4<br />
| UART1_RX<br />
| P9_26<br />
|-<br />
| H5-3<br />
| UART2_TX<br />
| P9_21<br />
|-<br />
| H5-4<br />
| UART2_RX<br />
| P9_22<br />
|-<br />
| H6-3<br />
| I2C_SDA<br />
| P9_18<br />
|-<br />
| H6-4<br />
| I2C_SCL<br />
| P9_17<br />
|-<br />
| H7-3<br />
| EHPWM1B<br />
| P9_16<br />
|-<br />
| H7-4<br />
| GPIO1_16<br />
| P9_15<br />
|-<br />
| H8-3<br />
| EHRPWM1A<br />
| P9_14<br />
|-<br />
| H8-4<br />
| GPIO1_28<br />
| P9_12<br />
|-<br />
| H9-3<br />
| UART4_TX<br />
| P9_13<br />
|-<br />
| H9-4<br />
| UART4_RX<br />
| P9_11<br />
|-<br />
|}<br />
<br />
=== H10-H17 = 3 Pin Headers ===<br />
<br />
{| class="wikitable"<br />
! Card Header<br />
! GPIO<br />
! BBB Pin<br />
|-<br />
| H10-3 (KEY)<br />
No pin<br />
| N/A<br />
| N/A<br />
|-<br />
| H11-3<br />
| GPIO1_29<br />
| P8_26<br />
|-<br />
| H12-3<br />
| GPIO2_1<br />
| P8_18<br />
|-<br />
| H13-3<br />
| GPIO0_27<br />
| P8_17<br />
|-<br />
| H14-3<br />
| GPIO1_14<br />
| P8_16<br />
|-<br />
| H15-3<br />
| GPIO1_15<br />
| P8_15<br />
|-<br />
| H16-3<br />
| GPIO1_12<br />
| P8_12<br />
|-<br />
| H17-3<br />
| GPIO1_13<br />
| P8_11<br />
|-<br />
|}<br />
<br />
== Production Testing ==<br />
<br />
=== Setup ===<br />
<br />
*Install BBB-COMMS-2 on BBB<br />
*Install shunt at H1 (Write Enable)<br />
*Ethernet connection to BBB<br />
*Power via 5V jack to BBB<br />
*Verify 3.3V LED is lit<br />
*Log in via putty<br />
**User = root<br />
**Password = enter<br />
<br />
=== GPIO Testing ===<br />
<br />
*Hook up [[LED-32]] Card to these pins<br />
<pre><br />
D0 = "P8_26"<br />
D1 = "P8_17"<br />
D2 = "P8_15"<br />
D3 = "P8_11"<br />
D4 = "P9_23"<br />
D5 = "P9_26"<br />
D6 = "P9_22"<br />
D7 = "P9_15"<br />
D8 = "P9_12"<br />
D9 = "P9_11"<br />
<br />
D16 = "P8_18"<br />
D17 = "P8_16"<br />
D18 = "P8_12"<br />
D19 = "P9_27"<br />
D20 = "P9_24"<br />
D21 = "P9_21"<br />
D22 = "P9_16"<br />
D23 = "P9_14"<br />
D24 = "P9_13"<br />
</pre><br />
*Run test via:<br />
<pre>cd ~/pyBBB/BBB-COMMS-2/blink-BBB-COMMS-2/<br />
python blink-BBB-COMMS-2.py<br />
</pre><br />
<br />
=== I2C Testing/EEPROM Programming ===<br />
<br />
*Go to directory<br />
*Program the EEPROM<br />
*Verify by typing<br />
<pre>cd ~/pyBBB/BBB-COMMS-2/mkeeprom<br />
cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
cat /sys/bus/i2c/devices/1-0054/eeprom | hexdump -C<br />
</pre><br />
*Result should be like -<br />
<pre>00000000 aa 55 33 ee 41 30 42 42 42 2d 47 56 53 2d 33 00 |.U3.A0BBB-COMMS-|<br />
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |2...............|<br />
00000020 00 00 00 00 00 00 58 31 00 00 4c 61 6e 64 20 42 |......X1..Land B|<br />
00000030 6f 61 72 64 73 2c 20 4c 4c 43 42 42 42 2d 47 56 |oards, LLCBBB-CO|<br />
00000040 53 2d 33 00 00 00 00 00 00 00 00 00 30 30 30 30 |MS-2........0000|<br />
00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|<br />
*<br />
000000e0 00 00 00 00 00 00 00 00 00 00 00 00 00 fa 01 f4 |................|<br />
000000f0 00 fa 00 00 ff ff ff ff ff ff ff ff ff ff ff ff |................|<br />
00000100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|<br />
*<br />
00008000</pre><br />
*Remove WE jumper<br />
*Type<br />
<pre>cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
</pre><br />
*Result should be error<br />
<pre>root@BBB01:~/pyBBB/BBB-COMMS-2/mkeeprom# cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
cat: write error: Connection timed out</pre><br />
<br />
=== Prepare to re-run ===<br />
<br />
*Type<br />
<pre>halt</pre><br />
<br />
=== Combined Copy/Paste ===<br />
<br />
<pre>cd ~/pyBBB/BBB-COMMS-2/blink-BBB-COMMS-2<br />
python blink-BBB-COMMS-2.py<br />
<br />
cd ~/pyBBB/BBB-COMMS-2/mkeeprom/<br />
cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
cat /sys/bus/i2c/devices/1-0054/eeprom | hexdump -C<br />
</pre><br />
<br />
== BBB-COMMS-2 Assembly Sheet ==<br />
<br />
* [[BBB-COMMS-2 Rev X1 Assembly Sheet]]<br />
<br />
== Issues with X1 card ==<br />
<br />
* TBD</div>Land-boardshttps://elinux.org/index.php?title=BBB-GVS-3&diff=447091BBB-GVS-32017-07-28T19:09:56Z<p>Land-boards: /* BBB-GVS-X3 Assembly Sheet */</p>
<hr />
<div>[[File:tindie-larges-v2.png|link=https://www.tindie.com/products/land_boards/beaglebone-sensor-connection-cape-bbb-gvs-3/]]<br />
<br />
[https://youtu.be/AWGak9Ixfpo YouTube Video]<br />
<br />
== BBB-GVS-3 ==<br />
<br />
[[File:BBB-GVS-3_6135-640px.jpg]]<br />
<br />
== Features ==<br />
<br />
Extensive I/O connections:<br />
<br />
*(19) GPIOs<br />
** GVS pins<br />
*(3) UARTs<br />
** GVTxRx pins<br />
*(1) I2C bus<br />
** GVSdaSck<br />
*(8) Channels of 3.3V to 5V level translators<br />
** Use female to female jumpers to route the GPIO lines to the translator channels<br />
** 5V side has GVS pins <br />
*(7) 1.8V analog GVS connections with analog voltage/ground<br />
** Buffer opamps on the analog inputs<br />
*5V pins are all ESD protected pins with 15 kV of protection<br />
*Selectable 5V source (SYS_5V or VDD_5V)<br />
*Cape configuration EEPROM with write enable jumper<br />
*Beaglebone Black form factor<br />
<br />
== Connectors ==<br />
[[File:BBB-GVS-3-X2-CAD.PNG]]<br />
<br />
{| class="wikitable"<br />
! Card Header<br />
! GPIO<br />
! BBB Pin <br />
|-<br />
| J1<br />
| SPI1_D1<br />
| P9_30<br />
|-<br />
| J2<br />
| GPIO3_19<br />
| P9_27<br />
|-<br />
| J3_3<br />
| UART1_RX<br />
| P9_26<br />
|-<br />
| J3_4<br />
| UART1_TX<br />
| P9_24<br />
|-<br />
| J4<br />
| GPIO1_17<br />
| P9_23<br />
|-<br />
| J5_3<br />
| UART2_TX<br />
| P9_21<br />
|-<br />
| J5_4<br />
| UART2_RX<br />
| P9_22<br />
|-<br />
| J7<br />
| GPIO1_16<br />
| P9_15<br />
|-<br />
| J8_3<br />
| UART4_TX<br />
| P9_13<br />
|-<br />
| J8_4<br />
| UART4_RX<br />
| P9_11<br />
|-<br />
| J9<br />
| EHRPWM1A<br />
| P9_14<br />
|-<br />
| J10<br />
| GPIO1_28<br />
| P9_12<br />
|-<br />
| J12<br />
| GPIO1_29<br />
| P8_26<br />
|-<br />
| J13<br />
| EHRPWM2A<br />
| P8_19<br />
|-<br />
| J14<br />
| GPIO2_1<br />
| P8_18<br />
|-<br />
| J15<br />
| GPIO0_27<br />
| P8_17<br />
|-<br />
| J16<br />
| GPIO1_14<br />
| P8_16<br />
|-<br />
| J17<br />
| GPIO1_15<br />
| P8_15<br />
|-<br />
| J18<br />
| EHRPWM2B<br />
| P8_13<br />
|-<br />
| J19<br />
| GPIO1_12<br />
| P8_12<br />
|-<br />
| J20<br />
| GPIO1_13<br />
| P8_11<br />
|-<br />
| J21<br />
| TIMER5<br />
| P8_09<br />
|-<br />
| J22<br />
| TIMER6<br />
| P8_10<br />
|-<br />
| J23<br />
| TIMER4<br />
| P8_07<br />
|-<br />
| J24<br />
| TIMER7<br />
| P8_08<br />
|-<br />
|}<br />
<br />
=== J11 - WE ===<br />
<br />
# GND<br />
# VCC<br />
# WE<br />
<br />
== Python pin assignments by header J number ==<br />
<br />
<pre><br />
J1 = "P9_30" # GR-1 - D0<br />
J2 = "P9_27" # BL-1 - D16<br />
J3_3 = "P9_26" # VI-1 - D1<br />
J3_4 = "P9_24" # GY-1 - D17<br />
J4 = "P9_23" # WH-1 - D2<br />
J5_3 = "P9_21" # BL-1 - D18<br />
J5_4 = "P9_22" # BR-2 - D3<br />
J7 = "P9_15" # RD-2 - D19<br />
J8_3 = "P9_13" # OR-2 - D4<br />
J8_4 = "P9_11" # YL-2 - D20<br />
J9 = "P9_14" # GR-2 - D5<br />
J10 = "P9_12" # BU-2 - D21<br />
J20 = "P8_11" # VI-2 - D6<br />
J21 = "P8_9" # GY-2 - D22<br />
J22 = "P8_10" # WH-2 - D7<br />
J23 = "P8_7" # BL-2 - D23<br />
J24 = "P8_8" # BR-3 - D8<br />
J12 = "P8_26" # RD-3 - D24<br />
J13 = "P8_19" # OR-3 - D9<br />
J14 = "P8_18" # YL-3 - D25<br />
J15 = "P8_17" # GR-3 - D10<br />
J16 = "P8_16" # BU-3 - D26<br />
J17 = "P8_15" # VI-3 - D11<br />
J18 = "P8_13" # GY-3 - D27<br />
J19 = "P8_12" # WH-3 - D12<br />
</pre><br />
<br />
== Production Testing ==<br />
<br />
=== Setup ===<br />
<br />
*Install BBB-GVS-3 on BBB<br />
*Install shunt at SYS on 5VSEL<br />
*Install shunt at WP<br />
*Ethernet connection to BBB<br />
*Power via 5V jack to BBB<br />
*Verify 5V and 3.3V LEDs are lit<br />
*Log in via putty<br />
**User = root<br />
**Password = enter<br />
<br />
=== Analog Testing ===<br />
<br />
* Connect GRID49 card with resistor ladder<br />
** (8) 10K resistors<br />
* From 1.8V to all 7 inputs to ground<br />
* Input in 1/8 steps<br />
*Run [https://github.com/land-boards/BBB/blob/master/BBB-GVS-3/analogLadder/analogLadder.py analog ladder code]<br />
<br />
<pre>cd ~/pyBBB/BBB-GVS-3/analogLadder<br />
python analogLadder.py<br />
</pre><br />
* Pass/Fail message will be displayed<br />
<pre><br />
val0 0.625<br />
val1 0.125<br />
val2 0.75<br />
val3 0.248888894916<br />
val4 0.498888880014<br />
val5 0.372777789831<br />
val6 0.875<br />
PASS - Analog values match expected ladder values<br />
</pre><br />
<br />
=== GPIO Testing ===<br />
<br />
*Hook up [http://land-boards.com/blwiki/index.php?title=LED-32 LED-32] Card to these pins<br />
<pre><br />
D0 = "P9_30" # GR-1 - D0<br />
D1 = "P9_26" # VI-1 - D1<br />
D2 = "P9_23" # WH-1 - D2<br />
D3 = "P9_22" # BR-2 - D3<br />
D4 = "P9_13" # OR-2 - D4<br />
D5 = "P9_14" # GR-2 - D5<br />
D6 = "P8_11" # RD-3 - D6<br />
D7 = "P8_10" # YL-3 - D7<br />
D8 = "P8_8" # BU-3 - D8<br />
D9 = "P8_19" # GY-3 - D9<br />
D10 = "P8_17" # VI-2 - D10<br />
D11 = "P8_15" # WH-2 - D11<br />
D12 = "P8_12" # BR-3 - D12<br />
D27 = "P8_13" # BL-2 - D27<br />
D26 = "P8_16" # GY-2 - D26<br />
D25 = "P8_18" # WH-3 - D25<br />
D24 = "P8_26" # VI-3 - D24<br />
D23 = "P8_7" # GR-3 - D23<br />
D22 = "P8_9" # OR-3 - D22<br />
D21 = "P9_12" # BU-2 - D21<br />
D20 = "P9_11" # YL-2 - D20<br />
D19 = "P9_15" # RD-2 - D19<br />
D18 = "P9_21" # BL-1 - D18<br />
D17 = "P9_24" # GY-1 - D17<br />
D16 = "P9_27" # BL-1 - D16<br />
# Common Ground<br />
</pre><br />
*Run test via:<br />
<pre>cd ~/pyBBB/BBB-GVS-3/blink-BBB-GVS-3/src<br />
python blink-BBB-GVS-3.py<br />
</pre><br />
<br />
=== I2C Testing/EEPROM Programming ===<br />
<br />
*Go to directory<br />
*Program the EEPROM<br />
*Verify by typing<br />
<pre>cd ~/pyBBB/BBB-GVS-3/mkeeprom<br />
cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
cat /sys/bus/i2c/devices/1-0054/eeprom | hexdump -C<br />
</pre><br />
*Result should be like -<br />
<pre>00000000 aa 55 33 ee 41 30 42 42 42 2d 47 56 53 2d 33 00 |.U3.A0BBB-GVS-3.|<br />
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|<br />
00000020 00 00 00 00 00 00 58 31 00 00 4c 61 6e 64 20 42 |......X1..Land B|<br />
00000030 6f 61 72 64 73 2c 20 4c 4c 43 42 42 42 2d 47 56 |oards, LLCBBB-GV|<br />
00000040 53 2d 33 00 00 00 00 00 00 00 00 00 30 30 30 30 |S-3.........0000|<br />
00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|<br />
*<br />
000000e0 00 00 00 00 00 00 00 00 00 00 00 00 00 fa 01 f4 |................|<br />
000000f0 00 fa 00 00 ff ff ff ff ff ff ff ff ff ff ff ff |................|<br />
00000100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|<br />
*<br />
00008000</pre><br />
*Remove WE jumper<br />
*Type<br />
<pre>cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
</pre><br />
*Result should be error<br />
<pre>root@BBB01:~/pyBBB/BBB-GVS-3/mkeeprom# cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
cat: write error: Connection timed out</pre><br />
<br />
=== Prepare to re-run ===<br />
<br />
*Type<br />
<pre>halt</pre><br />
<br />
=== Combined Copy/Paste ===<br />
<pre>cd ~/pyBBB/BBB-GVS-3/mkeeprom<br />
cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
cat /sys/bus/i2c/devices/1-0054/eeprom | hexdump -C<br />
<br />
cd ~/BBB/BBB-GVS-3/analogLadder<br />
python analogLadder.py<br />
<br />
cd ~/pyBBB/BBB-GVS-3/blink-BBB-GVS-3/src<br />
python blink-BBB-GVS-3.py<br />
<br />
halt<br />
</pre><br />
<br />
== Issues with X2 card ==<br />
<br />
* No known or reported issues<br />
<br />
== Issues with X1 card ==<br />
<br />
* WP jumper should be WE<br />
* EEPROM A3 s/b high not low<br />
** Cut etch to U1-3<br />
** Add wire U1-3 to U1-8</div>Land-boardshttps://elinux.org/index.php?title=BBB-GVS-3&diff=447086BBB-GVS-32017-07-28T19:09:38Z<p>Land-boards: </p>
<hr />
<div>[[File:tindie-larges-v2.png|link=https://www.tindie.com/products/land_boards/beaglebone-sensor-connection-cape-bbb-gvs-3/]]<br />
<br />
[https://youtu.be/AWGak9Ixfpo YouTube Video]<br />
<br />
== BBB-GVS-3 ==<br />
<br />
[[File:BBB-GVS-3_6135-640px.jpg]]<br />
<br />
== Features ==<br />
<br />
Extensive I/O connections:<br />
<br />
*(19) GPIOs<br />
** GVS pins<br />
*(3) UARTs<br />
** GVTxRx pins<br />
*(1) I2C bus<br />
** GVSdaSck<br />
*(8) Channels of 3.3V to 5V level translators<br />
** Use female to female jumpers to route the GPIO lines to the translator channels<br />
** 5V side has GVS pins <br />
*(7) 1.8V analog GVS connections with analog voltage/ground<br />
** Buffer opamps on the analog inputs<br />
*5V pins are all ESD protected pins with 15 kV of protection<br />
*Selectable 5V source (SYS_5V or VDD_5V)<br />
*Cape configuration EEPROM with write enable jumper<br />
*Beaglebone Black form factor<br />
<br />
== Connectors ==<br />
[[File:BBB-GVS-3-X2-CAD.PNG]]<br />
<br />
{| class="wikitable"<br />
! Card Header<br />
! GPIO<br />
! BBB Pin <br />
|-<br />
| J1<br />
| SPI1_D1<br />
| P9_30<br />
|-<br />
| J2<br />
| GPIO3_19<br />
| P9_27<br />
|-<br />
| J3_3<br />
| UART1_RX<br />
| P9_26<br />
|-<br />
| J3_4<br />
| UART1_TX<br />
| P9_24<br />
|-<br />
| J4<br />
| GPIO1_17<br />
| P9_23<br />
|-<br />
| J5_3<br />
| UART2_TX<br />
| P9_21<br />
|-<br />
| J5_4<br />
| UART2_RX<br />
| P9_22<br />
|-<br />
| J7<br />
| GPIO1_16<br />
| P9_15<br />
|-<br />
| J8_3<br />
| UART4_TX<br />
| P9_13<br />
|-<br />
| J8_4<br />
| UART4_RX<br />
| P9_11<br />
|-<br />
| J9<br />
| EHRPWM1A<br />
| P9_14<br />
|-<br />
| J10<br />
| GPIO1_28<br />
| P9_12<br />
|-<br />
| J12<br />
| GPIO1_29<br />
| P8_26<br />
|-<br />
| J13<br />
| EHRPWM2A<br />
| P8_19<br />
|-<br />
| J14<br />
| GPIO2_1<br />
| P8_18<br />
|-<br />
| J15<br />
| GPIO0_27<br />
| P8_17<br />
|-<br />
| J16<br />
| GPIO1_14<br />
| P8_16<br />
|-<br />
| J17<br />
| GPIO1_15<br />
| P8_15<br />
|-<br />
| J18<br />
| EHRPWM2B<br />
| P8_13<br />
|-<br />
| J19<br />
| GPIO1_12<br />
| P8_12<br />
|-<br />
| J20<br />
| GPIO1_13<br />
| P8_11<br />
|-<br />
| J21<br />
| TIMER5<br />
| P8_09<br />
|-<br />
| J22<br />
| TIMER6<br />
| P8_10<br />
|-<br />
| J23<br />
| TIMER4<br />
| P8_07<br />
|-<br />
| J24<br />
| TIMER7<br />
| P8_08<br />
|-<br />
|}<br />
<br />
=== J11 - WE ===<br />
<br />
# GND<br />
# VCC<br />
# WE<br />
<br />
== Python pin assignments by header J number ==<br />
<br />
<pre><br />
J1 = "P9_30" # GR-1 - D0<br />
J2 = "P9_27" # BL-1 - D16<br />
J3_3 = "P9_26" # VI-1 - D1<br />
J3_4 = "P9_24" # GY-1 - D17<br />
J4 = "P9_23" # WH-1 - D2<br />
J5_3 = "P9_21" # BL-1 - D18<br />
J5_4 = "P9_22" # BR-2 - D3<br />
J7 = "P9_15" # RD-2 - D19<br />
J8_3 = "P9_13" # OR-2 - D4<br />
J8_4 = "P9_11" # YL-2 - D20<br />
J9 = "P9_14" # GR-2 - D5<br />
J10 = "P9_12" # BU-2 - D21<br />
J20 = "P8_11" # VI-2 - D6<br />
J21 = "P8_9" # GY-2 - D22<br />
J22 = "P8_10" # WH-2 - D7<br />
J23 = "P8_7" # BL-2 - D23<br />
J24 = "P8_8" # BR-3 - D8<br />
J12 = "P8_26" # RD-3 - D24<br />
J13 = "P8_19" # OR-3 - D9<br />
J14 = "P8_18" # YL-3 - D25<br />
J15 = "P8_17" # GR-3 - D10<br />
J16 = "P8_16" # BU-3 - D26<br />
J17 = "P8_15" # VI-3 - D11<br />
J18 = "P8_13" # GY-3 - D27<br />
J19 = "P8_12" # WH-3 - D12<br />
</pre><br />
<br />
== Production Testing ==<br />
<br />
=== Setup ===<br />
<br />
*Install BBB-GVS-3 on BBB<br />
*Install shunt at SYS on 5VSEL<br />
*Install shunt at WP<br />
*Ethernet connection to BBB<br />
*Power via 5V jack to BBB<br />
*Verify 5V and 3.3V LEDs are lit<br />
*Log in via putty<br />
**User = root<br />
**Password = enter<br />
<br />
=== Analog Testing ===<br />
<br />
* Connect GRID49 card with resistor ladder<br />
** (8) 10K resistors<br />
* From 1.8V to all 7 inputs to ground<br />
* Input in 1/8 steps<br />
*Run [https://github.com/land-boards/BBB/blob/master/BBB-GVS-3/analogLadder/analogLadder.py analog ladder code]<br />
<br />
<pre>cd ~/pyBBB/BBB-GVS-3/analogLadder<br />
python analogLadder.py<br />
</pre><br />
* Pass/Fail message will be displayed<br />
<pre><br />
val0 0.625<br />
val1 0.125<br />
val2 0.75<br />
val3 0.248888894916<br />
val4 0.498888880014<br />
val5 0.372777789831<br />
val6 0.875<br />
PASS - Analog values match expected ladder values<br />
</pre><br />
<br />
=== GPIO Testing ===<br />
<br />
*Hook up [http://land-boards.com/blwiki/index.php?title=LED-32 LED-32] Card to these pins<br />
<pre><br />
D0 = "P9_30" # GR-1 - D0<br />
D1 = "P9_26" # VI-1 - D1<br />
D2 = "P9_23" # WH-1 - D2<br />
D3 = "P9_22" # BR-2 - D3<br />
D4 = "P9_13" # OR-2 - D4<br />
D5 = "P9_14" # GR-2 - D5<br />
D6 = "P8_11" # RD-3 - D6<br />
D7 = "P8_10" # YL-3 - D7<br />
D8 = "P8_8" # BU-3 - D8<br />
D9 = "P8_19" # GY-3 - D9<br />
D10 = "P8_17" # VI-2 - D10<br />
D11 = "P8_15" # WH-2 - D11<br />
D12 = "P8_12" # BR-3 - D12<br />
D27 = "P8_13" # BL-2 - D27<br />
D26 = "P8_16" # GY-2 - D26<br />
D25 = "P8_18" # WH-3 - D25<br />
D24 = "P8_26" # VI-3 - D24<br />
D23 = "P8_7" # GR-3 - D23<br />
D22 = "P8_9" # OR-3 - D22<br />
D21 = "P9_12" # BU-2 - D21<br />
D20 = "P9_11" # YL-2 - D20<br />
D19 = "P9_15" # RD-2 - D19<br />
D18 = "P9_21" # BL-1 - D18<br />
D17 = "P9_24" # GY-1 - D17<br />
D16 = "P9_27" # BL-1 - D16<br />
# Common Ground<br />
</pre><br />
*Run test via:<br />
<pre>cd ~/pyBBB/BBB-GVS-3/blink-BBB-GVS-3/src<br />
python blink-BBB-GVS-3.py<br />
</pre><br />
<br />
=== I2C Testing/EEPROM Programming ===<br />
<br />
*Go to directory<br />
*Program the EEPROM<br />
*Verify by typing<br />
<pre>cd ~/pyBBB/BBB-GVS-3/mkeeprom<br />
cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
cat /sys/bus/i2c/devices/1-0054/eeprom | hexdump -C<br />
</pre><br />
*Result should be like -<br />
<pre>00000000 aa 55 33 ee 41 30 42 42 42 2d 47 56 53 2d 33 00 |.U3.A0BBB-GVS-3.|<br />
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|<br />
00000020 00 00 00 00 00 00 58 31 00 00 4c 61 6e 64 20 42 |......X1..Land B|<br />
00000030 6f 61 72 64 73 2c 20 4c 4c 43 42 42 42 2d 47 56 |oards, LLCBBB-GV|<br />
00000040 53 2d 33 00 00 00 00 00 00 00 00 00 30 30 30 30 |S-3.........0000|<br />
00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|<br />
*<br />
000000e0 00 00 00 00 00 00 00 00 00 00 00 00 00 fa 01 f4 |................|<br />
000000f0 00 fa 00 00 ff ff ff ff ff ff ff ff ff ff ff ff |................|<br />
00000100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|<br />
*<br />
00008000</pre><br />
*Remove WE jumper<br />
*Type<br />
<pre>cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
</pre><br />
*Result should be error<br />
<pre>root@BBB01:~/pyBBB/BBB-GVS-3/mkeeprom# cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
cat: write error: Connection timed out</pre><br />
<br />
=== Prepare to re-run ===<br />
<br />
*Type<br />
<pre>halt</pre><br />
<br />
=== Combined Copy/Paste ===<br />
<pre>cd ~/pyBBB/BBB-GVS-3/mkeeprom<br />
cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
cat /sys/bus/i2c/devices/1-0054/eeprom | hexdump -C<br />
<br />
cd ~/BBB/BBB-GVS-3/analogLadder<br />
python analogLadder.py<br />
<br />
cd ~/pyBBB/BBB-GVS-3/blink-BBB-GVS-3/src<br />
python blink-BBB-GVS-3.py<br />
<br />
halt<br />
</pre><br />
<br />
== BBB-GVS-X3 Assembly Sheet ==<br />
<br />
* [[BBB-GVS-X3 Rev X2 Assembly Sheet]]<br />
* [[BBB-GVS-X3 Assembly Sheet]] - Rev X1<br />
<br />
== Issues with X2 card ==<br />
<br />
* No known or reported issues<br />
<br />
== Issues with X1 card ==<br />
<br />
* WP jumper should be WE<br />
* EEPROM A3 s/b high not low<br />
** Cut etch to U1-3<br />
** Add wire U1-3 to U1-8</div>Land-boardshttps://elinux.org/index.php?title=File:BBB-GVS-3-X2-CAD.PNG&diff=447081File:BBB-GVS-3-X2-CAD.PNG2017-07-28T19:08:26Z<p>Land-boards: </p>
<hr />
<div></div>Land-boardshttps://elinux.org/index.php?title=File:BBB-GVS-3_6135-640px.jpg&diff=447076File:BBB-GVS-3 6135-640px.jpg2017-07-28T19:07:46Z<p>Land-boards: </p>
<hr />
<div></div>Land-boardshttps://elinux.org/index.php?title=BBB-GVS-3&diff=447071BBB-GVS-32017-07-28T19:07:07Z<p>Land-boards: Youtube link</p>
<hr />
<div>[[File:tindie-larges-v2.png|link=https://www.tindie.com/products/land_boards/beaglebone-sensor-connection-cape-bbb-gvs-3/]]<br />
<br />
[https://youtu.be/AWGak9Ixfpo YouTube Video]<br />
<br />
== BBB-GVS-3 ==<br />
<br />
[[File:BBB-GVS-3_6135-640px.jpg]]<br />
<br />
== Features ==<br />
<br />
Extensive I/O connections:<br />
<br />
*(19) GPIOs<br />
** GVS pins<br />
*(3) UARTs<br />
** GVTxRx pins<br />
*(1) I2C bus<br />
** GVSdaSck<br />
*(8) Channels of 3.3V to 5V level translators<br />
** Use female to female jumpers to route the GPIO lines to the translator channels<br />
** 5V side has GVS pins <br />
*(7) 1.8V analog GVS connections with analog voltage/ground<br />
** Buffer opamps on the analog inputs<br />
*5V pins are all ESD protected pins with 15 kV of protection<br />
*Selectable 5V source (SYS_5V or VDD_5V)<br />
*Cape configuration EEPROM with write enable jumper<br />
*Beaglebone Black form factor<br />
<br />
== Connectors ==<br />
[[File:BBB-GVS-3-X2-CAD.PNG]]<br />
<br />
{| class="wikitable"<br />
! Card Header<br />
! GPIO<br />
! BBB Pin <br />
|-<br />
| J1<br />
| SPI1_D1<br />
| P9_30<br />
|-<br />
| J2<br />
| GPIO3_19<br />
| P9_27<br />
|-<br />
| J3_3<br />
| UART1_RX<br />
| P9_26<br />
|-<br />
| J3_4<br />
| UART1_TX<br />
| P9_24<br />
|-<br />
| J4<br />
| GPIO1_17<br />
| P9_23<br />
|-<br />
| J5_3<br />
| UART2_TX<br />
| P9_21<br />
|-<br />
| J5_4<br />
| UART2_RX<br />
| P9_22<br />
|-<br />
| J7<br />
| GPIO1_16<br />
| P9_15<br />
|-<br />
| J8_3<br />
| UART4_TX<br />
| P9_13<br />
|-<br />
| J8_4<br />
| UART4_RX<br />
| P9_11<br />
|-<br />
| J9<br />
| EHRPWM1A<br />
| P9_14<br />
|-<br />
| J10<br />
| GPIO1_28<br />
| P9_12<br />
|-<br />
| J12<br />
| GPIO1_29<br />
| P8_26<br />
|-<br />
| J13<br />
| EHRPWM2A<br />
| P8_19<br />
|-<br />
| J14<br />
| GPIO2_1<br />
| P8_18<br />
|-<br />
| J15<br />
| GPIO0_27<br />
| P8_17<br />
|-<br />
| J16<br />
| GPIO1_14<br />
| P8_16<br />
|-<br />
| J17<br />
| GPIO1_15<br />
| P8_15<br />
|-<br />
| J18<br />
| EHRPWM2B<br />
| P8_13<br />
|-<br />
| J19<br />
| GPIO1_12<br />
| P8_12<br />
|-<br />
| J20<br />
| GPIO1_13<br />
| P8_11<br />
|-<br />
| J21<br />
| TIMER5<br />
| P8_09<br />
|-<br />
| J22<br />
| TIMER6<br />
| P8_10<br />
|-<br />
| J23<br />
| TIMER4<br />
| P8_07<br />
|-<br />
| J24<br />
| TIMER7<br />
| P8_08<br />
|-<br />
|}<br />
<br />
=== J11 - WE ===<br />
<br />
# GND<br />
# VCC<br />
# WE<br />
<br />
== Python pin assignments by header J number ==<br />
<br />
<pre><br />
J1 = "P9_30" # GR-1 - D0<br />
J2 = "P9_27" # BL-1 - D16<br />
J3_3 = "P9_26" # VI-1 - D1<br />
J3_4 = "P9_24" # GY-1 - D17<br />
J4 = "P9_23" # WH-1 - D2<br />
J5_3 = "P9_21" # BL-1 - D18<br />
J5_4 = "P9_22" # BR-2 - D3<br />
J7 = "P9_15" # RD-2 - D19<br />
J8_3 = "P9_13" # OR-2 - D4<br />
J8_4 = "P9_11" # YL-2 - D20<br />
J9 = "P9_14" # GR-2 - D5<br />
J10 = "P9_12" # BU-2 - D21<br />
J20 = "P8_11" # VI-2 - D6<br />
J21 = "P8_9" # GY-2 - D22<br />
J22 = "P8_10" # WH-2 - D7<br />
J23 = "P8_7" # BL-2 - D23<br />
J24 = "P8_8" # BR-3 - D8<br />
J12 = "P8_26" # RD-3 - D24<br />
J13 = "P8_19" # OR-3 - D9<br />
J14 = "P8_18" # YL-3 - D25<br />
J15 = "P8_17" # GR-3 - D10<br />
J16 = "P8_16" # BU-3 - D26<br />
J17 = "P8_15" # VI-3 - D11<br />
J18 = "P8_13" # GY-3 - D27<br />
J19 = "P8_12" # WH-3 - D12<br />
</pre><br />
<br />
== Production Testing ==<br />
<br />
=== Setup ===<br />
<br />
*Install BBB-GVS-3 on BBB<br />
*Install shunt at SYS on 5VSEL<br />
*Install shunt at WP<br />
*Ethernet connection to BBB<br />
*Power via 5V jack to BBB<br />
*Verify 5V and 3.3V LEDs are lit<br />
*Log in via putty<br />
**User = root<br />
**Password = enter<br />
<br />
=== Analog Testing ===<br />
<br />
* Connect GRID49 card with resistor ladder<br />
** (8) 10K resistors<br />
* From 1.8V to all 7 inputs to ground<br />
* Input in 1/8 steps<br />
*Run [https://github.com/land-boards/BBB/blob/master/BBB-GVS-3/analogLadder/analogLadder.py analog ladder code]<br />
<br />
<pre>cd ~/pyBBB/BBB-GVS-3/analogLadder<br />
python analogLadder.py<br />
</pre><br />
* Pass/Fail message will be displayed<br />
<pre><br />
val0 0.625<br />
val1 0.125<br />
val2 0.75<br />
val3 0.248888894916<br />
val4 0.498888880014<br />
val5 0.372777789831<br />
val6 0.875<br />
PASS - Analog values match expected ladder values<br />
</pre><br />
<br />
=== GPIO Testing ===<br />
<br />
*Hook up [[LED-32]] Card to these pins<br />
<pre><br />
D0 = "P9_30" # GR-1 - D0<br />
D1 = "P9_26" # VI-1 - D1<br />
D2 = "P9_23" # WH-1 - D2<br />
D3 = "P9_22" # BR-2 - D3<br />
D4 = "P9_13" # OR-2 - D4<br />
D5 = "P9_14" # GR-2 - D5<br />
D6 = "P8_11" # RD-3 - D6<br />
D7 = "P8_10" # YL-3 - D7<br />
D8 = "P8_8" # BU-3 - D8<br />
D9 = "P8_19" # GY-3 - D9<br />
D10 = "P8_17" # VI-2 - D10<br />
D11 = "P8_15" # WH-2 - D11<br />
D12 = "P8_12" # BR-3 - D12<br />
D27 = "P8_13" # BL-2 - D27<br />
D26 = "P8_16" # GY-2 - D26<br />
D25 = "P8_18" # WH-3 - D25<br />
D24 = "P8_26" # VI-3 - D24<br />
D23 = "P8_7" # GR-3 - D23<br />
D22 = "P8_9" # OR-3 - D22<br />
D21 = "P9_12" # BU-2 - D21<br />
D20 = "P9_11" # YL-2 - D20<br />
D19 = "P9_15" # RD-2 - D19<br />
D18 = "P9_21" # BL-1 - D18<br />
D17 = "P9_24" # GY-1 - D17<br />
D16 = "P9_27" # BL-1 - D16<br />
# Common Ground<br />
</pre><br />
*Run test via:<br />
<pre>cd ~/pyBBB/BBB-GVS-3/blink-BBB-GVS-3/src<br />
python blink-BBB-GVS-3.py<br />
</pre><br />
<br />
=== I2C Testing/EEPROM Programming ===<br />
<br />
*Go to directory<br />
*Program the EEPROM<br />
*Verify by typing<br />
<pre>cd ~/pyBBB/BBB-GVS-3/mkeeprom<br />
cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
cat /sys/bus/i2c/devices/1-0054/eeprom | hexdump -C<br />
</pre><br />
*Result should be like -<br />
<pre>00000000 aa 55 33 ee 41 30 42 42 42 2d 47 56 53 2d 33 00 |.U3.A0BBB-GVS-3.|<br />
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|<br />
00000020 00 00 00 00 00 00 58 31 00 00 4c 61 6e 64 20 42 |......X1..Land B|<br />
00000030 6f 61 72 64 73 2c 20 4c 4c 43 42 42 42 2d 47 56 |oards, LLCBBB-GV|<br />
00000040 53 2d 33 00 00 00 00 00 00 00 00 00 30 30 30 30 |S-3.........0000|<br />
00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|<br />
*<br />
000000e0 00 00 00 00 00 00 00 00 00 00 00 00 00 fa 01 f4 |................|<br />
000000f0 00 fa 00 00 ff ff ff ff ff ff ff ff ff ff ff ff |................|<br />
00000100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|<br />
*<br />
00008000</pre><br />
*Remove WE jumper<br />
*Type<br />
<pre>cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
</pre><br />
*Result should be error<br />
<pre>root@BBB01:~/pyBBB/BBB-GVS-3/mkeeprom# cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
cat: write error: Connection timed out</pre><br />
<br />
=== Prepare to re-run ===<br />
<br />
*Type<br />
<pre>halt</pre><br />
<br />
=== Combined Copy/Paste ===<br />
<pre>cd ~/pyBBB/BBB-GVS-3/mkeeprom<br />
cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
cat /sys/bus/i2c/devices/1-0054/eeprom | hexdump -C<br />
<br />
cd ~/BBB/BBB-GVS-3/analogLadder<br />
python analogLadder.py<br />
<br />
cd ~/pyBBB/BBB-GVS-3/blink-BBB-GVS-3/src<br />
python blink-BBB-GVS-3.py<br />
<br />
halt<br />
</pre><br />
<br />
== BBB-GVS-X3 Assembly Sheet ==<br />
<br />
* [[BBB-GVS-X3 Rev X2 Assembly Sheet]]<br />
* [[BBB-GVS-X3 Assembly Sheet]] - Rev X1<br />
<br />
== Issues with X2 card ==<br />
<br />
* No known or reported issues<br />
<br />
== Issues with X1 card ==<br />
<br />
* WP jumper should be WE<br />
* EEPROM A3 s/b high not low<br />
** Cut etch to U1-3<br />
** Add wire U1-3 to U1-8</div>Land-boardshttps://elinux.org/index.php?title=File:Tindie-larges-v2.png&diff=447066File:Tindie-larges-v2.png2017-07-28T19:06:11Z<p>Land-boards: </p>
<hr />
<div></div>Land-boardshttps://elinux.org/index.php?title=BBB-GVS-3&diff=447061BBB-GVS-32017-07-28T19:04:04Z<p>Land-boards: First publish here</p>
<hr />
<div>[[File:tindie-larges-v2.png|link=https://www.tindie.com/products/land_boards/beaglebone-sensor-connection-cape-bbb-gvs-3/]]<br />
<br />
<embedvideo service="youtube">https://youtu.be/AWGak9Ixfpo</embedvideo><br />
<br />
== BBB-GVS-3 ==<br />
<br />
[[File:BBB-GVS-3_6135-640px.jpg]]<br />
<br />
== Features ==<br />
<br />
Extensive I/O connections:<br />
<br />
*(19) GPIOs<br />
** GVS pins<br />
*(3) UARTs<br />
** GVTxRx pins<br />
*(1) I2C bus<br />
** GVSdaSck<br />
*(8) Channels of 3.3V to 5V level translators<br />
** Use female to female jumpers to route the GPIO lines to the translator channels<br />
** 5V side has GVS pins <br />
*(7) 1.8V analog GVS connections with analog voltage/ground<br />
** Buffer opamps on the analog inputs<br />
*5V pins are all ESD protected pins with 15 kV of protection<br />
*Selectable 5V source (SYS_5V or VDD_5V)<br />
*Cape configuration EEPROM with write enable jumper<br />
*Beaglebone Black form factor<br />
<br />
== Connectors ==<br />
[[File:BBB-GVS-3-X2-CAD.PNG]]<br />
<br />
{| class="wikitable"<br />
! Card Header<br />
! GPIO<br />
! BBB Pin <br />
|-<br />
| J1<br />
| SPI1_D1<br />
| P9_30<br />
|-<br />
| J2<br />
| GPIO3_19<br />
| P9_27<br />
|-<br />
| J3_3<br />
| UART1_RX<br />
| P9_26<br />
|-<br />
| J3_4<br />
| UART1_TX<br />
| P9_24<br />
|-<br />
| J4<br />
| GPIO1_17<br />
| P9_23<br />
|-<br />
| J5_3<br />
| UART2_TX<br />
| P9_21<br />
|-<br />
| J5_4<br />
| UART2_RX<br />
| P9_22<br />
|-<br />
| J7<br />
| GPIO1_16<br />
| P9_15<br />
|-<br />
| J8_3<br />
| UART4_TX<br />
| P9_13<br />
|-<br />
| J8_4<br />
| UART4_RX<br />
| P9_11<br />
|-<br />
| J9<br />
| EHRPWM1A<br />
| P9_14<br />
|-<br />
| J10<br />
| GPIO1_28<br />
| P9_12<br />
|-<br />
| J12<br />
| GPIO1_29<br />
| P8_26<br />
|-<br />
| J13<br />
| EHRPWM2A<br />
| P8_19<br />
|-<br />
| J14<br />
| GPIO2_1<br />
| P8_18<br />
|-<br />
| J15<br />
| GPIO0_27<br />
| P8_17<br />
|-<br />
| J16<br />
| GPIO1_14<br />
| P8_16<br />
|-<br />
| J17<br />
| GPIO1_15<br />
| P8_15<br />
|-<br />
| J18<br />
| EHRPWM2B<br />
| P8_13<br />
|-<br />
| J19<br />
| GPIO1_12<br />
| P8_12<br />
|-<br />
| J20<br />
| GPIO1_13<br />
| P8_11<br />
|-<br />
| J21<br />
| TIMER5<br />
| P8_09<br />
|-<br />
| J22<br />
| TIMER6<br />
| P8_10<br />
|-<br />
| J23<br />
| TIMER4<br />
| P8_07<br />
|-<br />
| J24<br />
| TIMER7<br />
| P8_08<br />
|-<br />
|}<br />
<br />
=== J11 - WE ===<br />
<br />
# GND<br />
# VCC<br />
# WE<br />
<br />
== Python pin assignments by header J number ==<br />
<br />
<pre><br />
J1 = "P9_30" # GR-1 - D0<br />
J2 = "P9_27" # BL-1 - D16<br />
J3_3 = "P9_26" # VI-1 - D1<br />
J3_4 = "P9_24" # GY-1 - D17<br />
J4 = "P9_23" # WH-1 - D2<br />
J5_3 = "P9_21" # BL-1 - D18<br />
J5_4 = "P9_22" # BR-2 - D3<br />
J7 = "P9_15" # RD-2 - D19<br />
J8_3 = "P9_13" # OR-2 - D4<br />
J8_4 = "P9_11" # YL-2 - D20<br />
J9 = "P9_14" # GR-2 - D5<br />
J10 = "P9_12" # BU-2 - D21<br />
J20 = "P8_11" # VI-2 - D6<br />
J21 = "P8_9" # GY-2 - D22<br />
J22 = "P8_10" # WH-2 - D7<br />
J23 = "P8_7" # BL-2 - D23<br />
J24 = "P8_8" # BR-3 - D8<br />
J12 = "P8_26" # RD-3 - D24<br />
J13 = "P8_19" # OR-3 - D9<br />
J14 = "P8_18" # YL-3 - D25<br />
J15 = "P8_17" # GR-3 - D10<br />
J16 = "P8_16" # BU-3 - D26<br />
J17 = "P8_15" # VI-3 - D11<br />
J18 = "P8_13" # GY-3 - D27<br />
J19 = "P8_12" # WH-3 - D12<br />
</pre><br />
<br />
== Production Testing ==<br />
<br />
=== Setup ===<br />
<br />
*Install BBB-GVS-3 on BBB<br />
*Install shunt at SYS on 5VSEL<br />
*Install shunt at WP<br />
*Ethernet connection to BBB<br />
*Power via 5V jack to BBB<br />
*Verify 5V and 3.3V LEDs are lit<br />
*Log in via putty<br />
**User = root<br />
**Password = enter<br />
<br />
=== Analog Testing ===<br />
<br />
* Connect GRID49 card with resistor ladder<br />
** (8) 10K resistors<br />
* From 1.8V to all 7 inputs to ground<br />
* Input in 1/8 steps<br />
*Run [https://github.com/land-boards/BBB/blob/master/BBB-GVS-3/analogLadder/analogLadder.py analog ladder code]<br />
<br />
<pre>cd ~/pyBBB/BBB-GVS-3/analogLadder<br />
python analogLadder.py<br />
</pre><br />
* Pass/Fail message will be displayed<br />
<pre><br />
val0 0.625<br />
val1 0.125<br />
val2 0.75<br />
val3 0.248888894916<br />
val4 0.498888880014<br />
val5 0.372777789831<br />
val6 0.875<br />
PASS - Analog values match expected ladder values<br />
</pre><br />
<br />
=== GPIO Testing ===<br />
<br />
*Hook up [[LED-32]] Card to these pins<br />
<pre><br />
D0 = "P9_30" # GR-1 - D0<br />
D1 = "P9_26" # VI-1 - D1<br />
D2 = "P9_23" # WH-1 - D2<br />
D3 = "P9_22" # BR-2 - D3<br />
D4 = "P9_13" # OR-2 - D4<br />
D5 = "P9_14" # GR-2 - D5<br />
D6 = "P8_11" # RD-3 - D6<br />
D7 = "P8_10" # YL-3 - D7<br />
D8 = "P8_8" # BU-3 - D8<br />
D9 = "P8_19" # GY-3 - D9<br />
D10 = "P8_17" # VI-2 - D10<br />
D11 = "P8_15" # WH-2 - D11<br />
D12 = "P8_12" # BR-3 - D12<br />
D27 = "P8_13" # BL-2 - D27<br />
D26 = "P8_16" # GY-2 - D26<br />
D25 = "P8_18" # WH-3 - D25<br />
D24 = "P8_26" # VI-3 - D24<br />
D23 = "P8_7" # GR-3 - D23<br />
D22 = "P8_9" # OR-3 - D22<br />
D21 = "P9_12" # BU-2 - D21<br />
D20 = "P9_11" # YL-2 - D20<br />
D19 = "P9_15" # RD-2 - D19<br />
D18 = "P9_21" # BL-1 - D18<br />
D17 = "P9_24" # GY-1 - D17<br />
D16 = "P9_27" # BL-1 - D16<br />
# Common Ground<br />
</pre><br />
*Run test via:<br />
<pre>cd ~/pyBBB/BBB-GVS-3/blink-BBB-GVS-3/src<br />
python blink-BBB-GVS-3.py<br />
</pre><br />
<br />
=== I2C Testing/EEPROM Programming ===<br />
<br />
*Go to directory<br />
*Program the EEPROM<br />
*Verify by typing<br />
<pre>cd ~/pyBBB/BBB-GVS-3/mkeeprom<br />
cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
cat /sys/bus/i2c/devices/1-0054/eeprom | hexdump -C<br />
</pre><br />
*Result should be like -<br />
<pre>00000000 aa 55 33 ee 41 30 42 42 42 2d 47 56 53 2d 33 00 |.U3.A0BBB-GVS-3.|<br />
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|<br />
00000020 00 00 00 00 00 00 58 31 00 00 4c 61 6e 64 20 42 |......X1..Land B|<br />
00000030 6f 61 72 64 73 2c 20 4c 4c 43 42 42 42 2d 47 56 |oards, LLCBBB-GV|<br />
00000040 53 2d 33 00 00 00 00 00 00 00 00 00 30 30 30 30 |S-3.........0000|<br />
00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|<br />
*<br />
000000e0 00 00 00 00 00 00 00 00 00 00 00 00 00 fa 01 f4 |................|<br />
000000f0 00 fa 00 00 ff ff ff ff ff ff ff ff ff ff ff ff |................|<br />
00000100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|<br />
*<br />
00008000</pre><br />
*Remove WE jumper<br />
*Type<br />
<pre>cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
</pre><br />
*Result should be error<br />
<pre>root@BBB01:~/pyBBB/BBB-GVS-3/mkeeprom# cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
cat: write error: Connection timed out</pre><br />
<br />
=== Prepare to re-run ===<br />
<br />
*Type<br />
<pre>halt</pre><br />
<br />
=== Combined Copy/Paste ===<br />
<pre>cd ~/pyBBB/BBB-GVS-3/mkeeprom<br />
cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom<br />
cat /sys/bus/i2c/devices/1-0054/eeprom | hexdump -C<br />
<br />
cd ~/BBB/BBB-GVS-3/analogLadder<br />
python analogLadder.py<br />
<br />
cd ~/pyBBB/BBB-GVS-3/blink-BBB-GVS-3/src<br />
python blink-BBB-GVS-3.py<br />
<br />
halt<br />
</pre><br />
<br />
== BBB-GVS-X3 Assembly Sheet ==<br />
<br />
* [[BBB-GVS-X3 Rev X2 Assembly Sheet]]<br />
* [[BBB-GVS-X3 Assembly Sheet]] - Rev X1<br />
<br />
== Issues with X2 card ==<br />
<br />
* No known or reported issues<br />
<br />
== Issues with X1 card ==<br />
<br />
* WP jumper should be WE<br />
* EEPROM A3 s/b high not low<br />
** Cut etch to U1-3<br />
** Add wire U1-3 to U1-8</div>Land-boardshttps://elinux.org/index.php?title=BBB-GVS&diff=357314BBB-GVS2014-11-05T21:58:08Z<p>Land-boards: </p>
<hr />
<div>[[File:tindie-mediums.png|link=https://www.tindie.com/products/land_boards/33v5v-sensor-connection-cape-for-the-beaglebone/]]<br />
<br />
[[File:BBB-GVS-X3-cca-01B.jpg]]<br />
<br />
== Beaglebone Black cape which provides 5V GVS connections ==<br />
<br />
We love the Beaglebone Black. With all of its I/O connections it offers exciting potential for embedded/connected devices. <br />
The two [http://elinux.org/BeagleBone_PRU_Notes PRU I/O Coprocessors] have potential for Input/Output that no other board in its class can offer. <br />
It even has real mounting holes which let the board be used for real-world applications.<br />
<br />
When we got our first Beaglebone Black we were ''excited'' to try it with some of our Arduino [http://land-boards.com/blwiki/index.php?title=GVS-Pinout GVS (Ground/Voltage/Signal)] sensors and GVS output devices but couldn't since they are all 5V sensors. Sure we could cobble together some [http://www.adafruit.com/products/757 level shifters] on a breadboard but in the end we wouldn't have something that could be deployed in a real application What we really wanted was a [https://solarbotics.com/product/39230/ 5V Sensor shield] like the one we use for our Arduino. But there were none out there. So we designed one.<br />
<br />
Introducing the '''BBB-GVS cape'''.<br />
<br />
== Features ==<br />
<br />
Extensive I/O connections:<br />
<br />
*(5) 5V GPIOs: J14, J15, J26, J27, J28<br />
*(2) 5V UART connections (auto direction detection): J12, J16<br />
*(1) 5V I2C bus connections (auto direction detection): J13<br />
*(1) 5V PWM: J25<br />
*(4) 5V Timers: J29-J32 <br />
*(1) 3.3V UART: J11<br />
*(7) 3.3V GPIOs: J9, J10, J17, J19, J20, J21, J22<br />
*(1) 3.3V SPI_D1: J8<br />
*(1) 3.3V PWM: J18<br />
*(7) 1.8V analog GVS connections with analog reference voltage/ground: J1-J7<br />
*5V pins are all ESD protected pins with 15 kV of protection<br />
*Fuses on 5V and 3.3V power protect the Beaglebone from miswired sensors<br />
*Selectable 5V source (SYS_5V or VDD_5V) - J22<br />
*Cape configuration EEPROM with address select jumpers J24<br />
*Beaglebone Black form factor<br />
<br />
== Technical Overview ==<br />
<br />
In a nutshell, the 3.3V digital signals of the Beaglebone Black need to be changed into 5V digital signals. There are a number of discrete ways to convert 3.3V bus to 5V signals. Some of them use MOSFETs and a couple of resistors. These work OK but there are some powerful chips out there that can do the conversion even better.<br />
We looked around and found what we think is the best 3.3V<>5V data conversion chip, Texas Instrument's TXS0108. The TXS0108 is an 8-bit, bi-directional buffer with automatic direction detection. Each and every pin can transmit and receive independently and even at the same time. The part supports both open drain and push-pull operation. The part can run as fast as 60 Mb/s in push-pull operation and 2 Mb/s in open drain. This speed is fast enough enough for microprocessor GPIO pin or even the fastest serial interfaces that a microprocessor can throw at it.<br />
<br />
<br />
== What is GVS? ==<br />
<br />
GVS is great for prototyping or deploy-able products. The beauty of the GVS connection is that power and ground are provided with each I/O signal. That provides the power needed to power external sensors and output devices. Otherwise splitting the one or two power pins into separate cables ends up being a real mess.<br />
<br />
GVS stands for Ground, Voltage and Signal. It's a 3-pin unofficial standard. It uses 0.1" pitch pins. There are a large number of GVS sensors (inputs) and devices (output) parts on ebay. The sorts of GVS sensors include:<br />
<br />
*Buttons<br />
*Switches<br />
*Temperature sensors<br />
<br />
The sorts of GVS output devices include:<br />
<br />
*Relay modules (not always wired as GVS, but they typically require 5V).<br />
*Buzzers<br />
*Solenoids<br />
*Servos (require PWM output pin)<br />
<br />
To connect a GVS sensor to a GVS card, just use a 3-wire cable. <br />
<br />
Other Connections<br />
<br />
The Beaglebone Black also has I2C and UART connections. These allow various devices to be connected:<br />
<br />
*I2C Displays<br />
*I2C accelerometers, gyroscopes<br />
*UART GPS modules<br />
<br />
== The Design ==<br />
<br />
We wanted a sensor shield like the ones use for the Arduino. In the Arduino's case, there's a limited amount of I/O lines The Beaglebone has many more I/O lines than the Arduino. We wanted to convert as many of the signals to 5V as we could possible fit on a board the size of a mint can. In particular, we wanted to convert the I2C bus as well as the UART lines to 5V. Also, we wanted to have a mix of 3.3V and 5V GVS signals. We also wanted to allow external connection to the analog inputs as we providing the analog reference voltage to run the analog input sensors.<br />
<br />
That translated into 2 parts which handle 8 I/O lines each. Putting these parts along with all the GVS connections we could possibly add resulted in our design.<br />
<br />
=== Voltage Translators ===<br />
<br />
The BBB-GVS board uses [http://www.ti.com/product/txs0108e Texas Instrument TXS0108] voltage translators.<br />
<br />
==== Voltage Translators Features ====<br />
<br />
*No Direction-Control Signal Needed<br />
*Max Data Rates <br />
**60 Mbps (Push Pull)<br />
**2 Mbps (Open Drain)<br />
*1.2 V to 3.6 V on A Port and 1.65 V to 5.5 V on<br />
*B Port (VCCA ≤ VCCB)<br />
*No Power-Supply Sequencing Required –<br />
**Either VCCA or VCCB Can Be Ramped First<br />
*Latch-Up Performance Exceeds 100 mA Per JESD 78, Class II<br />
*ESD Protection Exceeds JESD 22 (A Port)<br />
**2000-V Human-Body Model (A114-B)<br />
**150-V Machine Model (A115-A)<br />
**1000-V Charged-Device Model (C101)<br />
*IEC 61000-4-2 ESD (B Port)<br />
**±6-kV Air-Gap Discharge<br />
**±8-kV Contact Discharge<br />
<br />
==== Voltage Translators Architecture ====<br />
<br />
[http://www.ti.com/lit/ds/symlink/txs0108e.pdf Datasheet]<br />
<br />
The TXS0108E can be used in level-translation applications for interfacing devices or systems operating at different interface voltages with one another. The TXS0108E is ideal for use in applications where an open-drain driver is connected to the data I/Os. The TXS0108E can also be used in applications where a push-pull driver is connected to the data I/Os, but the TXB0104 might be a better option for such push-pull applications. The TXS0108E device is a semi-buffered auto-direction-sensing voltage translator design is optimized for translation applications (e.g. MMC Card Interfaces) that require the system to start out in a low-speed open-drain mode and then switch to a higher speed push-pull mode.<br />
<br />
[[File:TXS0108Arch.PNG]]<br />
<br />
To address these application requirements, a semi-buffered architecture design is used and is illustrated above (see Figure 1). Edge-rate accelerator circuitry (for both the high-to-low and low-to-high edges), a High-Ron n-channel pass-gate transistor (on the order of 300 Ω to 500 Ω) and pull-up resistors (to provide DC-bias and drive capabilities) are included to realize this solution. A direction-control signal (to control the direction of data flow from A to B or from B to A) is not needed. The resulting implementation supports both low-speed open-drain operation as well as high-speed push-pull operation.<br />
<br />
When transmitting data from A to B ports, during a rising edge the One-Shot (OS3) turns on the PMOS transistor (P2) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from A to B, the One-Shot (OS4) turns on NMOS transistor (N2) for a short-duration and this speeds up the high-to-low transition. The B-port edge-rate accelerator consists of one-shots OS3 and OS4, Transistors P2 and N2 and serves to rapidly force the B port high or low when a corresponding transition is detected on the A port.<br />
<br />
When transmitting data from B to A ports, during a rising edge the One-Shot (OS1) turns on the PMOS transistor (P1) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from B to A, the One-Shot (OS2) turns on NMOS transistor (N1) for a short-duration and this speeds up the high-to-low transition. The A-port edge-rate accelerator consists of one-shots OS1 and OS2, Transistors P1 and N1 components and form the edge-rate accelerator and serves to rapidly force the A port high or low when a corresponding transition is detected on the B port.<br />
<br />
== EEPROM connections ==<br />
<br />
[[File:BBB-GVS-V2-I2C2 -EEPROM.PNG]]<br />
<br />
== Beaglebone Black GVS Board Layout ==<br />
<br />
[[File:BBB-GVS-X4-CAD.PNG]]<br />
<br />
== Connectors ==<br />
<br />
=== J1-J7 ===<br />
<br />
Analog signals must be between 0 and 1.8V/<br />
<br />
J1-J7 pin 1 = P9-34 = GND_ADC<br />
<br />
J1-J7 pin 2 = P9-32 = VDD_ADC<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J1-3<br />
|P9_40<br />
|AIN1<br />
|-<br />
|J2-3<br />
|P9_38<br />
|AIN3<br />
|-<br />
|J3-3<br />
|P9_36<br />
|AIN5<br />
|-<br />
|J4-3<br />
|P9_33<br />
|AIN4<br />
|-<br />
|J5-3<br />
|P9_39<br />
|AIN0<br />
|-<br />
|J6-3<br />
|P9_37<br />
|AIN2<br />
|-<br />
|J7-3<br />
|P9_35<br />
|AIN6<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J1-J7.PNG]]<br />
<br />
=== J8-J11 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J8-3<br />
|P9_30<br />
|SPI_D1<br />
|-<br />
|J9-3<br />
|P9_27<br />
|GPIO3_19<br />
|-<br />
|J10-3<br />
|P9_23<br />
|GPIO1_17<br />
|-<br />
|J11-3<br />
|P9_24<br />
|UART1_TXD<br />
|-<br />
|J11-4<br />
|P9_26<br />
|UART1_RXD<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J8-J11.PNG]]<br />
<br />
=== J12-J16 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J12-3<br />
|P9_21<br />
|UART2TX<br />
|-<br />
|J12-4<br />
|P9_22<br />
|UART2RX<br />
|-<br />
|J13-3<br />
|P9_20<br />
|I2C1SDA<br />
|-<br />
|J13-4<br />
|P9_19<br />
|I2C1SCL<br />
|-<br />
|J14-3<br />
|P9_15<br />
|GPIO1_16<br />
|-<br />
|J15-3<br />
|P9_12<br />
|GPIO1_28<br />
|-<br />
|J16-3<br />
|P9_13<br />
|UART4TX<br />
|-<br />
|J16-4<br />
|P9_11<br />
|UART4RX<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J12-J16.PNG]]<br />
<br />
=== J17-J22 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J17-3<br />
|P8_26<br />
|GPIO1_29<br />
|-<br />
|J18-3<br />
|P8_19<br />
|EHRPWM2A<br />
|-<br />
|J19-3<br />
|P8_18<br />
|GPIO2_1<br />
|-<br />
|J20-3<br />
|P8_17<br />
|GP10_27<br />
|-<br />
|J21-3<br />
|P8_15<br />
|GPIO1_14<br />
|-<br />
|J22-3<br />
|P8_15<br />
|GPIO1_15<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J17-J22.PNG]]<br />
<br />
=== J23 ===<br />
<br />
Jumper 1-2 to power BBB-GVS board from SYS_5V. (default)<br />
<br />
Jumper 2-3 to power board from VDD_5V. VDD_5V is 5V with a maximum current of 1000mA, but only works if the BeagleBone is powered by an external power source <br />
<br />
[[File:BBB-GVS-X3-J23.PNG]]<br />
<br />
=== J24 ===<br />
<br />
EEPROM address A0, A1 selection jumper selectable.<br />
<br />
[[File:BBB-GVS-X3-J24.PNG]]<br />
<br />
=== J25-J29 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J25-3<br />
|P8_13<br />
|EHRPWM2B<br />
|-<br />
|J26-3<br />
|P8_14<br />
|GPIO0_26<br />
|-<br />
|J27-3<br />
|P8_11<br />
|GPIO1_13<br />
|-<br />
|J28-3<br />
|P8_12<br />
|GPIO1_12<br />
|-<br />
|J29-3<br />
|P8_9<br />
|TIMER5<br />
|-<br />
|}<br />
<br />
<br />
[[File:BBB-GVS-X3-J25-J29.PNG]]<br />
<br />
=== J30-J32 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J30-3<br />
|P8_<br />
|TIMER7<br />
|-<br />
|J31-3<br />
|P8_<br />
|TIMER4<br />
|-<br />
|J32-3<br />
|P8_<br />
|TIMER6<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J30-J32.PNG]]<br />
<br />
=== J33 - EEPROM Write Enable ===<br />
<br />
*Install jumper to enable writes.<br />
*Remove jumper to disable writes (default).<br />
<br />
== External Links ==<br />
<br />
* [http://papermint-designs.com/community/node/331 BBB I2C EEPROM programming]<br />
* [http://azkeller.com/blog/?p=62 EEPROM programming]<br />
<br />
[[File:tindie-mediums.png|link=https://www.tindie.com/products/land_boards/33v5v-sensor-connection-cape-for-the-beaglebone/]]</div>Land-boardshttps://elinux.org/index.php?title=BBB-GVS&diff=357308BBB-GVS2014-11-05T21:57:32Z<p>Land-boards: /* Previous Revisions */</p>
<hr />
<div>[[File:tindie-mediums.png|link=https://www.tindie.com/products/land_boards/33v5v-sensor-connection-cape-for-the-beaglebone/]]<br />
<br />
[[File:BBB-GVS-X3-cca-01B.jpg]]<br />
<br />
== Beaglebone Black cape which provides 5V GVS connections ==<br />
<br />
We love the Beaglebone Black. With all of its I/O connections it offers exciting potential for embedded/connected devices. <br />
The two [http://elinux.org/BeagleBone_PRU_Notes PRU I/O Coprocessors] have potential for Input/Output that no other board in its class can offer. <br />
It even has real mounting holes which let the board be used for real-world applications.<br />
<br />
When we got our first Beaglebone Black we were ''excited'' to try it with some of our Arduino [http://land-boards.com/blwiki/index.php?title=GVS-Pinout GVS (Ground/Voltage/Signal)] sensors and GVS output devices but couldn't since they are all 5V sensors. Sure we could cobble together some [http://www.adafruit.com/products/757 level shifters] on a breadboard but in the end we wouldn't have something that could be deployed in a real application What we really wanted was a [https://solarbotics.com/product/39230/ 5V Sensor shield] like the one we use for our Arduino. But there were none out there. So we designed one.<br />
<br />
Introducing the '''BBB-GVS cape'''.<br />
<br />
== Features ==<br />
<br />
Extensive I/O connections:<br />
<br />
*(5) 5V GPIOs: J14, J15, J26, J27, J28<br />
*(2) 5V UART connections (auto direction detection): J12, J16<br />
*(1) 5V I2C bus connections (auto direction detection): J13<br />
*(1) 5V PWM: J25<br />
*(4) 5V Timers: J29-J32 <br />
*(1) 3.3V UART: J11<br />
*(7) 3.3V GPIOs: J9, J10, J17, J19, J20, J21, J22<br />
*(1) 3.3V SPI_D1: J8<br />
*(1) 3.3V PWM: J18<br />
*(7) 1.8V analog GVS connections with analog reference voltage/ground: J1-J7<br />
*5V pins are all ESD protected pins with 15 kV of protection<br />
*Fuses on 5V and 3.3V power protect the Beaglebone from miswired sensors<br />
*Selectable 5V source (SYS_5V or VDD_5V) - J22<br />
*Cape configuration EEPROM with address select jumpers J24<br />
*Beaglebone Black form factor<br />
<br />
== Technical Overview ==<br />
<br />
In a nutshell, the 3.3V digital signals of the Beaglebone Black need to be changed into 5V digital signals. There are a number of discrete ways to convert 3.3V bus to 5V signals. Some of them use MOSFETs and a couple of resistors. These work OK but there are some powerful chips out there that can do the conversion even better.<br />
We looked around and found what we think is the best 3.3V<>5V data conversion chip, Texas Instrument's TXS0108. The TXS0108 is an 8-bit, bi-directional buffer with automatic direction detection. Each and every pin can transmit and receive independently and even at the same time. The part supports both open drain and push-pull operation. The part can run as fast as 60 Mb/s in push-pull operation and 2 Mb/s in open drain. This speed is fast enough enough for microprocessor GPIO pin or even the fastest serial interfaces that a microprocessor can throw at it.<br />
<br />
<br />
== What is GVS? ==<br />
<br />
GVS is great for prototyping or deploy-able products. The beauty of the GVS connection is that power and ground are provided with each I/O signal. That provides the power needed to power external sensors and output devices. Otherwise splitting the one or two power pins into separate cables ends up being a real mess.<br />
<br />
GVS stands for Ground, Voltage and Signal. It's a 3-pin unofficial standard. It uses 0.1" pitch pins. There are a large number of GVS sensors (inputs) and devices (output) parts on ebay. The sorts of GVS sensors include:<br />
<br />
*Buttons<br />
*Switches<br />
*Temperature sensors<br />
<br />
The sorts of GVS output devices include:<br />
<br />
*Relay modules (not always wired as GVS, but they typically require 5V).<br />
*Buzzers<br />
*Solenoids<br />
*Servos (require PWM output pin)<br />
<br />
To connect a GVS sensor to a GVS card, just use a 3-wire cable. <br />
<br />
Other Connections<br />
<br />
The Beaglebone Black also has I2C and UART connections. These allow various devices to be connected:<br />
<br />
*I2C Displays<br />
*I2C accelerometers, gyroscopes<br />
*UART GPS modules<br />
<br />
== The Design ==<br />
<br />
We wanted a sensor shield like the ones use for the Arduino. In the Arduino's case, there's a limited amount of I/O lines The Beaglebone has many more I/O lines than the Arduino. We wanted to convert as many of the signals to 5V as we could possible fit on a board the size of a mint can. In particular, we wanted to convert the I2C bus as well as the UART lines to 5V. Also, we wanted to have a mix of 3.3V and 5V GVS signals. We also wanted to allow external connection to the analog inputs as we providing the analog reference voltage to run the analog input sensors.<br />
<br />
That translated into 2 parts which handle 8 I/O lines each. Putting these parts along with all the GVS connections we could possibly add resulted in our design.<br />
<br />
=== Voltage Translators ===<br />
<br />
The BBB-GVS board uses [http://www.ti.com/product/txs0108e Texas Instrument TXS0108] voltage translators.<br />
<br />
==== Voltage Translators Features ====<br />
<br />
*No Direction-Control Signal Needed<br />
*Max Data Rates <br />
**60 Mbps (Push Pull)<br />
**2 Mbps (Open Drain)<br />
*1.2 V to 3.6 V on A Port and 1.65 V to 5.5 V on<br />
*B Port (VCCA ≤ VCCB)<br />
*No Power-Supply Sequencing Required –<br />
**Either VCCA or VCCB Can Be Ramped First<br />
*Latch-Up Performance Exceeds 100 mA Per JESD 78, Class II<br />
*ESD Protection Exceeds JESD 22 (A Port)<br />
**2000-V Human-Body Model (A114-B)<br />
**150-V Machine Model (A115-A)<br />
**1000-V Charged-Device Model (C101)<br />
*IEC 61000-4-2 ESD (B Port)<br />
**±6-kV Air-Gap Discharge<br />
**±8-kV Contact Discharge<br />
<br />
==== Voltage Translators Architecture ====<br />
<br />
[http://www.ti.com/lit/ds/symlink/txs0108e.pdf Datasheet]<br />
<br />
The TXS0108E can be used in level-translation applications for interfacing devices or systems operating at different interface voltages with one another. The TXS0108E is ideal for use in applications where an open-drain driver is connected to the data I/Os. The TXS0108E can also be used in applications where a push-pull driver is connected to the data I/Os, but the TXB0104 might be a better option for such push-pull applications. The TXS0108E device is a semi-buffered auto-direction-sensing voltage translator design is optimized for translation applications (e.g. MMC Card Interfaces) that require the system to start out in a low-speed open-drain mode and then switch to a higher speed push-pull mode.<br />
<br />
[[File:TXS0108Arch.PNG]]<br />
<br />
To address these application requirements, a semi-buffered architecture design is used and is illustrated above (see Figure 1). Edge-rate accelerator circuitry (for both the high-to-low and low-to-high edges), a High-Ron n-channel pass-gate transistor (on the order of 300 Ω to 500 Ω) and pull-up resistors (to provide DC-bias and drive capabilities) are included to realize this solution. A direction-control signal (to control the direction of data flow from A to B or from B to A) is not needed. The resulting implementation supports both low-speed open-drain operation as well as high-speed push-pull operation.<br />
<br />
When transmitting data from A to B ports, during a rising edge the One-Shot (OS3) turns on the PMOS transistor (P2) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from A to B, the One-Shot (OS4) turns on NMOS transistor (N2) for a short-duration and this speeds up the high-to-low transition. The B-port edge-rate accelerator consists of one-shots OS3 and OS4, Transistors P2 and N2 and serves to rapidly force the B port high or low when a corresponding transition is detected on the A port.<br />
<br />
When transmitting data from B to A ports, during a rising edge the One-Shot (OS1) turns on the PMOS transistor (P1) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from B to A, the One-Shot (OS2) turns on NMOS transistor (N1) for a short-duration and this speeds up the high-to-low transition. The A-port edge-rate accelerator consists of one-shots OS1 and OS2, Transistors P1 and N1 components and form the edge-rate accelerator and serves to rapidly force the A port high or low when a corresponding transition is detected on the B port.<br />
<br />
== EEPROM connections ==<br />
<br />
[[File:BBB-GVS-V2-I2C2 -EEPROM.PNG]]<br />
<br />
== Beaglebone Black GVS Board Layout ==<br />
<br />
[[File:BBB-GVS-X4-CAD.PNG]]<br />
<br />
== Connectors ==<br />
<br />
=== J1-J7 ===<br />
<br />
Analog signals must be between 0 and 1.8V/<br />
<br />
J1-J7 pin 1 = P9-34 = GND_ADC<br />
<br />
J1-J7 pin 2 = P9-32 = VDD_ADC<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J1-3<br />
|P9_40<br />
|AIN1<br />
|-<br />
|J2-3<br />
|P9_38<br />
|AIN3<br />
|-<br />
|J3-3<br />
|P9_36<br />
|AIN5<br />
|-<br />
|J4-3<br />
|P9_33<br />
|AIN4<br />
|-<br />
|J5-3<br />
|P9_39<br />
|AIN0<br />
|-<br />
|J6-3<br />
|P9_37<br />
|AIN2<br />
|-<br />
|J7-3<br />
|P9_35<br />
|AIN6<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J1-J7.PNG]]<br />
<br />
=== J8-J11 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J8-3<br />
|P9_30<br />
|SPI_D1<br />
|-<br />
|J9-3<br />
|P9_27<br />
|GPIO3_19<br />
|-<br />
|J10-3<br />
|P9_23<br />
|GPIO1_17<br />
|-<br />
|J11-3<br />
|P9_24<br />
|UART1_TXD<br />
|-<br />
|J11-4<br />
|P9_26<br />
|UART1_RXD<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J8-J11.PNG]]<br />
<br />
=== J12-J16 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J12-3<br />
|P9_21<br />
|UART2TX<br />
|-<br />
|J12-4<br />
|P9_22<br />
|UART2RX<br />
|-<br />
|J13-3<br />
|P9_20<br />
|I2C1SDA<br />
|-<br />
|J13-4<br />
|P9_19<br />
|I2C1SCL<br />
|-<br />
|J14-3<br />
|P9_15<br />
|GPIO1_16<br />
|-<br />
|J15-3<br />
|P9_12<br />
|GPIO1_28<br />
|-<br />
|J16-3<br />
|P9_13<br />
|UART4TX<br />
|-<br />
|J16-4<br />
|P9_11<br />
|UART4RX<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J12-J16.PNG]]<br />
<br />
=== J17-J22 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J17-3<br />
|P8_26<br />
|GPIO1_29<br />
|-<br />
|J18-3<br />
|P8_19<br />
|EHRPWM2A<br />
|-<br />
|J19-3<br />
|P8_18<br />
|GPIO2_1<br />
|-<br />
|J20-3<br />
|P8_17<br />
|GP10_27<br />
|-<br />
|J21-3<br />
|P8_15<br />
|GPIO1_14<br />
|-<br />
|J22-3<br />
|P8_15<br />
|GPIO1_15<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J17-J22.PNG]]<br />
<br />
=== J23 ===<br />
<br />
Jumper 1-2 to power BBB-GVS board from SYS_5V. (default)<br />
<br />
Jumper 2-3 to power board from VDD_5V. VDD_5V is 5V with a maximum current of 1000mA, but only works if the BeagleBone is powered by an external power source <br />
<br />
[[File:BBB-GVS-X3-J23.PNG]]<br />
<br />
=== J24 ===<br />
<br />
EEPROM address A0, A1 selection jumper selectable.<br />
<br />
[[File:BBB-GVS-X3-J24.PNG]]<br />
<br />
=== J25-J29 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J25-3<br />
|P8_13<br />
|EHRPWM2B<br />
|-<br />
|J26-3<br />
|P8_14<br />
|GPIO0_26<br />
|-<br />
|J27-3<br />
|P8_11<br />
|GPIO1_13<br />
|-<br />
|J28-3<br />
|P8_12<br />
|GPIO1_12<br />
|-<br />
|J29-3<br />
|P8_9<br />
|TIMER5<br />
|-<br />
|}<br />
<br />
<br />
[[File:BBB-GVS-X3-J25-J29.PNG]]<br />
<br />
=== J30-J32 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J30-3<br />
|P8_<br />
|TIMER7<br />
|-<br />
|J31-3<br />
|P8_<br />
|TIMER4<br />
|-<br />
|J32-3<br />
|P8_<br />
|TIMER6<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J30-J32.PNG]]<br />
<br />
=== J33 - EEPROM Write Enable ===<br />
<br />
*Install jumper to enable writes.<br />
*Remove jumper to disable writes (default).<br />
<br />
== External Links ==<br />
<br />
* [http://papermint-designs.com/community/node/331 BBB I2C EEPROM programming]<br />
* [http://azkeller.com/blog/?p=62 EEPROM programming]</div>Land-boardshttps://elinux.org/index.php?title=BBB-GVS&diff=357302BBB-GVS2014-11-05T21:56:57Z<p>Land-boards: /* J30-J32 */</p>
<hr />
<div>[[File:tindie-mediums.png|link=https://www.tindie.com/products/land_boards/33v5v-sensor-connection-cape-for-the-beaglebone/]]<br />
<br />
[[File:BBB-GVS-X3-cca-01B.jpg]]<br />
<br />
== Beaglebone Black cape which provides 5V GVS connections ==<br />
<br />
We love the Beaglebone Black. With all of its I/O connections it offers exciting potential for embedded/connected devices. <br />
The two [http://elinux.org/BeagleBone_PRU_Notes PRU I/O Coprocessors] have potential for Input/Output that no other board in its class can offer. <br />
It even has real mounting holes which let the board be used for real-world applications.<br />
<br />
When we got our first Beaglebone Black we were ''excited'' to try it with some of our Arduino [http://land-boards.com/blwiki/index.php?title=GVS-Pinout GVS (Ground/Voltage/Signal)] sensors and GVS output devices but couldn't since they are all 5V sensors. Sure we could cobble together some [http://www.adafruit.com/products/757 level shifters] on a breadboard but in the end we wouldn't have something that could be deployed in a real application What we really wanted was a [https://solarbotics.com/product/39230/ 5V Sensor shield] like the one we use for our Arduino. But there were none out there. So we designed one.<br />
<br />
Introducing the '''BBB-GVS cape'''.<br />
<br />
== Features ==<br />
<br />
Extensive I/O connections:<br />
<br />
*(5) 5V GPIOs: J14, J15, J26, J27, J28<br />
*(2) 5V UART connections (auto direction detection): J12, J16<br />
*(1) 5V I2C bus connections (auto direction detection): J13<br />
*(1) 5V PWM: J25<br />
*(4) 5V Timers: J29-J32 <br />
*(1) 3.3V UART: J11<br />
*(7) 3.3V GPIOs: J9, J10, J17, J19, J20, J21, J22<br />
*(1) 3.3V SPI_D1: J8<br />
*(1) 3.3V PWM: J18<br />
*(7) 1.8V analog GVS connections with analog reference voltage/ground: J1-J7<br />
*5V pins are all ESD protected pins with 15 kV of protection<br />
*Fuses on 5V and 3.3V power protect the Beaglebone from miswired sensors<br />
*Selectable 5V source (SYS_5V or VDD_5V) - J22<br />
*Cape configuration EEPROM with address select jumpers J24<br />
*Beaglebone Black form factor<br />
<br />
== Technical Overview ==<br />
<br />
In a nutshell, the 3.3V digital signals of the Beaglebone Black need to be changed into 5V digital signals. There are a number of discrete ways to convert 3.3V bus to 5V signals. Some of them use MOSFETs and a couple of resistors. These work OK but there are some powerful chips out there that can do the conversion even better.<br />
We looked around and found what we think is the best 3.3V<>5V data conversion chip, Texas Instrument's TXS0108. The TXS0108 is an 8-bit, bi-directional buffer with automatic direction detection. Each and every pin can transmit and receive independently and even at the same time. The part supports both open drain and push-pull operation. The part can run as fast as 60 Mb/s in push-pull operation and 2 Mb/s in open drain. This speed is fast enough enough for microprocessor GPIO pin or even the fastest serial interfaces that a microprocessor can throw at it.<br />
<br />
<br />
== What is GVS? ==<br />
<br />
GVS is great for prototyping or deploy-able products. The beauty of the GVS connection is that power and ground are provided with each I/O signal. That provides the power needed to power external sensors and output devices. Otherwise splitting the one or two power pins into separate cables ends up being a real mess.<br />
<br />
GVS stands for Ground, Voltage and Signal. It's a 3-pin unofficial standard. It uses 0.1" pitch pins. There are a large number of GVS sensors (inputs) and devices (output) parts on ebay. The sorts of GVS sensors include:<br />
<br />
*Buttons<br />
*Switches<br />
*Temperature sensors<br />
<br />
The sorts of GVS output devices include:<br />
<br />
*Relay modules (not always wired as GVS, but they typically require 5V).<br />
*Buzzers<br />
*Solenoids<br />
*Servos (require PWM output pin)<br />
<br />
To connect a GVS sensor to a GVS card, just use a 3-wire cable. <br />
<br />
Other Connections<br />
<br />
The Beaglebone Black also has I2C and UART connections. These allow various devices to be connected:<br />
<br />
*I2C Displays<br />
*I2C accelerometers, gyroscopes<br />
*UART GPS modules<br />
<br />
== The Design ==<br />
<br />
We wanted a sensor shield like the ones use for the Arduino. In the Arduino's case, there's a limited amount of I/O lines The Beaglebone has many more I/O lines than the Arduino. We wanted to convert as many of the signals to 5V as we could possible fit on a board the size of a mint can. In particular, we wanted to convert the I2C bus as well as the UART lines to 5V. Also, we wanted to have a mix of 3.3V and 5V GVS signals. We also wanted to allow external connection to the analog inputs as we providing the analog reference voltage to run the analog input sensors.<br />
<br />
That translated into 2 parts which handle 8 I/O lines each. Putting these parts along with all the GVS connections we could possibly add resulted in our design.<br />
<br />
=== Voltage Translators ===<br />
<br />
The BBB-GVS board uses [http://www.ti.com/product/txs0108e Texas Instrument TXS0108] voltage translators.<br />
<br />
==== Voltage Translators Features ====<br />
<br />
*No Direction-Control Signal Needed<br />
*Max Data Rates <br />
**60 Mbps (Push Pull)<br />
**2 Mbps (Open Drain)<br />
*1.2 V to 3.6 V on A Port and 1.65 V to 5.5 V on<br />
*B Port (VCCA ≤ VCCB)<br />
*No Power-Supply Sequencing Required –<br />
**Either VCCA or VCCB Can Be Ramped First<br />
*Latch-Up Performance Exceeds 100 mA Per JESD 78, Class II<br />
*ESD Protection Exceeds JESD 22 (A Port)<br />
**2000-V Human-Body Model (A114-B)<br />
**150-V Machine Model (A115-A)<br />
**1000-V Charged-Device Model (C101)<br />
*IEC 61000-4-2 ESD (B Port)<br />
**±6-kV Air-Gap Discharge<br />
**±8-kV Contact Discharge<br />
<br />
==== Voltage Translators Architecture ====<br />
<br />
[http://www.ti.com/lit/ds/symlink/txs0108e.pdf Datasheet]<br />
<br />
The TXS0108E can be used in level-translation applications for interfacing devices or systems operating at different interface voltages with one another. The TXS0108E is ideal for use in applications where an open-drain driver is connected to the data I/Os. The TXS0108E can also be used in applications where a push-pull driver is connected to the data I/Os, but the TXB0104 might be a better option for such push-pull applications. The TXS0108E device is a semi-buffered auto-direction-sensing voltage translator design is optimized for translation applications (e.g. MMC Card Interfaces) that require the system to start out in a low-speed open-drain mode and then switch to a higher speed push-pull mode.<br />
<br />
[[File:TXS0108Arch.PNG]]<br />
<br />
To address these application requirements, a semi-buffered architecture design is used and is illustrated above (see Figure 1). Edge-rate accelerator circuitry (for both the high-to-low and low-to-high edges), a High-Ron n-channel pass-gate transistor (on the order of 300 Ω to 500 Ω) and pull-up resistors (to provide DC-bias and drive capabilities) are included to realize this solution. A direction-control signal (to control the direction of data flow from A to B or from B to A) is not needed. The resulting implementation supports both low-speed open-drain operation as well as high-speed push-pull operation.<br />
<br />
When transmitting data from A to B ports, during a rising edge the One-Shot (OS3) turns on the PMOS transistor (P2) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from A to B, the One-Shot (OS4) turns on NMOS transistor (N2) for a short-duration and this speeds up the high-to-low transition. The B-port edge-rate accelerator consists of one-shots OS3 and OS4, Transistors P2 and N2 and serves to rapidly force the B port high or low when a corresponding transition is detected on the A port.<br />
<br />
When transmitting data from B to A ports, during a rising edge the One-Shot (OS1) turns on the PMOS transistor (P1) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from B to A, the One-Shot (OS2) turns on NMOS transistor (N1) for a short-duration and this speeds up the high-to-low transition. The A-port edge-rate accelerator consists of one-shots OS1 and OS2, Transistors P1 and N1 components and form the edge-rate accelerator and serves to rapidly force the A port high or low when a corresponding transition is detected on the B port.<br />
<br />
== EEPROM connections ==<br />
<br />
[[File:BBB-GVS-V2-I2C2 -EEPROM.PNG]]<br />
<br />
== Beaglebone Black GVS Board Layout ==<br />
<br />
[[File:BBB-GVS-X4-CAD.PNG]]<br />
<br />
== Connectors ==<br />
<br />
=== J1-J7 ===<br />
<br />
Analog signals must be between 0 and 1.8V/<br />
<br />
J1-J7 pin 1 = P9-34 = GND_ADC<br />
<br />
J1-J7 pin 2 = P9-32 = VDD_ADC<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J1-3<br />
|P9_40<br />
|AIN1<br />
|-<br />
|J2-3<br />
|P9_38<br />
|AIN3<br />
|-<br />
|J3-3<br />
|P9_36<br />
|AIN5<br />
|-<br />
|J4-3<br />
|P9_33<br />
|AIN4<br />
|-<br />
|J5-3<br />
|P9_39<br />
|AIN0<br />
|-<br />
|J6-3<br />
|P9_37<br />
|AIN2<br />
|-<br />
|J7-3<br />
|P9_35<br />
|AIN6<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J1-J7.PNG]]<br />
<br />
=== J8-J11 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J8-3<br />
|P9_30<br />
|SPI_D1<br />
|-<br />
|J9-3<br />
|P9_27<br />
|GPIO3_19<br />
|-<br />
|J10-3<br />
|P9_23<br />
|GPIO1_17<br />
|-<br />
|J11-3<br />
|P9_24<br />
|UART1_TXD<br />
|-<br />
|J11-4<br />
|P9_26<br />
|UART1_RXD<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J8-J11.PNG]]<br />
<br />
=== J12-J16 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J12-3<br />
|P9_21<br />
|UART2TX<br />
|-<br />
|J12-4<br />
|P9_22<br />
|UART2RX<br />
|-<br />
|J13-3<br />
|P9_20<br />
|I2C1SDA<br />
|-<br />
|J13-4<br />
|P9_19<br />
|I2C1SCL<br />
|-<br />
|J14-3<br />
|P9_15<br />
|GPIO1_16<br />
|-<br />
|J15-3<br />
|P9_12<br />
|GPIO1_28<br />
|-<br />
|J16-3<br />
|P9_13<br />
|UART4TX<br />
|-<br />
|J16-4<br />
|P9_11<br />
|UART4RX<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J12-J16.PNG]]<br />
<br />
=== J17-J22 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J17-3<br />
|P8_26<br />
|GPIO1_29<br />
|-<br />
|J18-3<br />
|P8_19<br />
|EHRPWM2A<br />
|-<br />
|J19-3<br />
|P8_18<br />
|GPIO2_1<br />
|-<br />
|J20-3<br />
|P8_17<br />
|GP10_27<br />
|-<br />
|J21-3<br />
|P8_15<br />
|GPIO1_14<br />
|-<br />
|J22-3<br />
|P8_15<br />
|GPIO1_15<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J17-J22.PNG]]<br />
<br />
=== J23 ===<br />
<br />
Jumper 1-2 to power BBB-GVS board from SYS_5V. (default)<br />
<br />
Jumper 2-3 to power board from VDD_5V. VDD_5V is 5V with a maximum current of 1000mA, but only works if the BeagleBone is powered by an external power source <br />
<br />
[[File:BBB-GVS-X3-J23.PNG]]<br />
<br />
=== J24 ===<br />
<br />
EEPROM address A0, A1 selection jumper selectable.<br />
<br />
[[File:BBB-GVS-X3-J24.PNG]]<br />
<br />
=== J25-J29 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J25-3<br />
|P8_13<br />
|EHRPWM2B<br />
|-<br />
|J26-3<br />
|P8_14<br />
|GPIO0_26<br />
|-<br />
|J27-3<br />
|P8_11<br />
|GPIO1_13<br />
|-<br />
|J28-3<br />
|P8_12<br />
|GPIO1_12<br />
|-<br />
|J29-3<br />
|P8_9<br />
|TIMER5<br />
|-<br />
|}<br />
<br />
<br />
[[File:BBB-GVS-X3-J25-J29.PNG]]<br />
<br />
=== J30-J32 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J30-3<br />
|P8_<br />
|TIMER7<br />
|-<br />
|J31-3<br />
|P8_<br />
|TIMER4<br />
|-<br />
|J32-3<br />
|P8_<br />
|TIMER6<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J30-J32.PNG]]<br />
<br />
=== J33 - EEPROM Write Enable ===<br />
<br />
*Install jumper to enable writes.<br />
*Remove jumper to disable writes (default).<br />
<br />
== Previous Revisions ==<br />
<br />
=== Revision X3 ===<br />
<br />
*Missing OE on U2<br />
**Add wire U2-2 to U2-10<br />
*Ref des have gaps = need resequencing<br />
*Need a write enable jumper on the config EEPROM<br />
<br />
=== Revision V2 ===<br />
<br />
[http://land-boards.com/blwiki/index.php?title=BBB-GVS-V2]<br />
<br />
== External Links ==<br />
<br />
* [http://papermint-designs.com/community/node/331 BBB I2C EEPROM programming]<br />
* [http://azkeller.com/blog/?p=62 EEPROM programming]</div>Land-boardshttps://elinux.org/index.php?title=BBB-GVS&diff=357296BBB-GVS2014-11-05T21:51:58Z<p>Land-boards: /* J23 */</p>
<hr />
<div>[[File:tindie-mediums.png|link=https://www.tindie.com/products/land_boards/33v5v-sensor-connection-cape-for-the-beaglebone/]]<br />
<br />
[[File:BBB-GVS-X3-cca-01B.jpg]]<br />
<br />
== Beaglebone Black cape which provides 5V GVS connections ==<br />
<br />
We love the Beaglebone Black. With all of its I/O connections it offers exciting potential for embedded/connected devices. <br />
The two [http://elinux.org/BeagleBone_PRU_Notes PRU I/O Coprocessors] have potential for Input/Output that no other board in its class can offer. <br />
It even has real mounting holes which let the board be used for real-world applications.<br />
<br />
When we got our first Beaglebone Black we were ''excited'' to try it with some of our Arduino [http://land-boards.com/blwiki/index.php?title=GVS-Pinout GVS (Ground/Voltage/Signal)] sensors and GVS output devices but couldn't since they are all 5V sensors. Sure we could cobble together some [http://www.adafruit.com/products/757 level shifters] on a breadboard but in the end we wouldn't have something that could be deployed in a real application What we really wanted was a [https://solarbotics.com/product/39230/ 5V Sensor shield] like the one we use for our Arduino. But there were none out there. So we designed one.<br />
<br />
Introducing the '''BBB-GVS cape'''.<br />
<br />
== Features ==<br />
<br />
Extensive I/O connections:<br />
<br />
*(5) 5V GPIOs: J14, J15, J26, J27, J28<br />
*(2) 5V UART connections (auto direction detection): J12, J16<br />
*(1) 5V I2C bus connections (auto direction detection): J13<br />
*(1) 5V PWM: J25<br />
*(4) 5V Timers: J29-J32 <br />
*(1) 3.3V UART: J11<br />
*(7) 3.3V GPIOs: J9, J10, J17, J19, J20, J21, J22<br />
*(1) 3.3V SPI_D1: J8<br />
*(1) 3.3V PWM: J18<br />
*(7) 1.8V analog GVS connections with analog reference voltage/ground: J1-J7<br />
*5V pins are all ESD protected pins with 15 kV of protection<br />
*Fuses on 5V and 3.3V power protect the Beaglebone from miswired sensors<br />
*Selectable 5V source (SYS_5V or VDD_5V) - J22<br />
*Cape configuration EEPROM with address select jumpers J24<br />
*Beaglebone Black form factor<br />
<br />
== Technical Overview ==<br />
<br />
In a nutshell, the 3.3V digital signals of the Beaglebone Black need to be changed into 5V digital signals. There are a number of discrete ways to convert 3.3V bus to 5V signals. Some of them use MOSFETs and a couple of resistors. These work OK but there are some powerful chips out there that can do the conversion even better.<br />
We looked around and found what we think is the best 3.3V<>5V data conversion chip, Texas Instrument's TXS0108. The TXS0108 is an 8-bit, bi-directional buffer with automatic direction detection. Each and every pin can transmit and receive independently and even at the same time. The part supports both open drain and push-pull operation. The part can run as fast as 60 Mb/s in push-pull operation and 2 Mb/s in open drain. This speed is fast enough enough for microprocessor GPIO pin or even the fastest serial interfaces that a microprocessor can throw at it.<br />
<br />
<br />
== What is GVS? ==<br />
<br />
GVS is great for prototyping or deploy-able products. The beauty of the GVS connection is that power and ground are provided with each I/O signal. That provides the power needed to power external sensors and output devices. Otherwise splitting the one or two power pins into separate cables ends up being a real mess.<br />
<br />
GVS stands for Ground, Voltage and Signal. It's a 3-pin unofficial standard. It uses 0.1" pitch pins. There are a large number of GVS sensors (inputs) and devices (output) parts on ebay. The sorts of GVS sensors include:<br />
<br />
*Buttons<br />
*Switches<br />
*Temperature sensors<br />
<br />
The sorts of GVS output devices include:<br />
<br />
*Relay modules (not always wired as GVS, but they typically require 5V).<br />
*Buzzers<br />
*Solenoids<br />
*Servos (require PWM output pin)<br />
<br />
To connect a GVS sensor to a GVS card, just use a 3-wire cable. <br />
<br />
Other Connections<br />
<br />
The Beaglebone Black also has I2C and UART connections. These allow various devices to be connected:<br />
<br />
*I2C Displays<br />
*I2C accelerometers, gyroscopes<br />
*UART GPS modules<br />
<br />
== The Design ==<br />
<br />
We wanted a sensor shield like the ones use for the Arduino. In the Arduino's case, there's a limited amount of I/O lines The Beaglebone has many more I/O lines than the Arduino. We wanted to convert as many of the signals to 5V as we could possible fit on a board the size of a mint can. In particular, we wanted to convert the I2C bus as well as the UART lines to 5V. Also, we wanted to have a mix of 3.3V and 5V GVS signals. We also wanted to allow external connection to the analog inputs as we providing the analog reference voltage to run the analog input sensors.<br />
<br />
That translated into 2 parts which handle 8 I/O lines each. Putting these parts along with all the GVS connections we could possibly add resulted in our design.<br />
<br />
=== Voltage Translators ===<br />
<br />
The BBB-GVS board uses [http://www.ti.com/product/txs0108e Texas Instrument TXS0108] voltage translators.<br />
<br />
==== Voltage Translators Features ====<br />
<br />
*No Direction-Control Signal Needed<br />
*Max Data Rates <br />
**60 Mbps (Push Pull)<br />
**2 Mbps (Open Drain)<br />
*1.2 V to 3.6 V on A Port and 1.65 V to 5.5 V on<br />
*B Port (VCCA ≤ VCCB)<br />
*No Power-Supply Sequencing Required –<br />
**Either VCCA or VCCB Can Be Ramped First<br />
*Latch-Up Performance Exceeds 100 mA Per JESD 78, Class II<br />
*ESD Protection Exceeds JESD 22 (A Port)<br />
**2000-V Human-Body Model (A114-B)<br />
**150-V Machine Model (A115-A)<br />
**1000-V Charged-Device Model (C101)<br />
*IEC 61000-4-2 ESD (B Port)<br />
**±6-kV Air-Gap Discharge<br />
**±8-kV Contact Discharge<br />
<br />
==== Voltage Translators Architecture ====<br />
<br />
[http://www.ti.com/lit/ds/symlink/txs0108e.pdf Datasheet]<br />
<br />
The TXS0108E can be used in level-translation applications for interfacing devices or systems operating at different interface voltages with one another. The TXS0108E is ideal for use in applications where an open-drain driver is connected to the data I/Os. The TXS0108E can also be used in applications where a push-pull driver is connected to the data I/Os, but the TXB0104 might be a better option for such push-pull applications. The TXS0108E device is a semi-buffered auto-direction-sensing voltage translator design is optimized for translation applications (e.g. MMC Card Interfaces) that require the system to start out in a low-speed open-drain mode and then switch to a higher speed push-pull mode.<br />
<br />
[[File:TXS0108Arch.PNG]]<br />
<br />
To address these application requirements, a semi-buffered architecture design is used and is illustrated above (see Figure 1). Edge-rate accelerator circuitry (for both the high-to-low and low-to-high edges), a High-Ron n-channel pass-gate transistor (on the order of 300 Ω to 500 Ω) and pull-up resistors (to provide DC-bias and drive capabilities) are included to realize this solution. A direction-control signal (to control the direction of data flow from A to B or from B to A) is not needed. The resulting implementation supports both low-speed open-drain operation as well as high-speed push-pull operation.<br />
<br />
When transmitting data from A to B ports, during a rising edge the One-Shot (OS3) turns on the PMOS transistor (P2) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from A to B, the One-Shot (OS4) turns on NMOS transistor (N2) for a short-duration and this speeds up the high-to-low transition. The B-port edge-rate accelerator consists of one-shots OS3 and OS4, Transistors P2 and N2 and serves to rapidly force the B port high or low when a corresponding transition is detected on the A port.<br />
<br />
When transmitting data from B to A ports, during a rising edge the One-Shot (OS1) turns on the PMOS transistor (P1) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from B to A, the One-Shot (OS2) turns on NMOS transistor (N1) for a short-duration and this speeds up the high-to-low transition. The A-port edge-rate accelerator consists of one-shots OS1 and OS2, Transistors P1 and N1 components and form the edge-rate accelerator and serves to rapidly force the A port high or low when a corresponding transition is detected on the B port.<br />
<br />
== EEPROM connections ==<br />
<br />
[[File:BBB-GVS-V2-I2C2 -EEPROM.PNG]]<br />
<br />
== Beaglebone Black GVS Board Layout ==<br />
<br />
[[File:BBB-GVS-X4-CAD.PNG]]<br />
<br />
== Connectors ==<br />
<br />
=== J1-J7 ===<br />
<br />
Analog signals must be between 0 and 1.8V/<br />
<br />
J1-J7 pin 1 = P9-34 = GND_ADC<br />
<br />
J1-J7 pin 2 = P9-32 = VDD_ADC<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J1-3<br />
|P9_40<br />
|AIN1<br />
|-<br />
|J2-3<br />
|P9_38<br />
|AIN3<br />
|-<br />
|J3-3<br />
|P9_36<br />
|AIN5<br />
|-<br />
|J4-3<br />
|P9_33<br />
|AIN4<br />
|-<br />
|J5-3<br />
|P9_39<br />
|AIN0<br />
|-<br />
|J6-3<br />
|P9_37<br />
|AIN2<br />
|-<br />
|J7-3<br />
|P9_35<br />
|AIN6<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J1-J7.PNG]]<br />
<br />
=== J8-J11 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J8-3<br />
|P9_30<br />
|SPI_D1<br />
|-<br />
|J9-3<br />
|P9_27<br />
|GPIO3_19<br />
|-<br />
|J10-3<br />
|P9_23<br />
|GPIO1_17<br />
|-<br />
|J11-3<br />
|P9_24<br />
|UART1_TXD<br />
|-<br />
|J11-4<br />
|P9_26<br />
|UART1_RXD<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J8-J11.PNG]]<br />
<br />
=== J12-J16 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J12-3<br />
|P9_21<br />
|UART2TX<br />
|-<br />
|J12-4<br />
|P9_22<br />
|UART2RX<br />
|-<br />
|J13-3<br />
|P9_20<br />
|I2C1SDA<br />
|-<br />
|J13-4<br />
|P9_19<br />
|I2C1SCL<br />
|-<br />
|J14-3<br />
|P9_15<br />
|GPIO1_16<br />
|-<br />
|J15-3<br />
|P9_12<br />
|GPIO1_28<br />
|-<br />
|J16-3<br />
|P9_13<br />
|UART4TX<br />
|-<br />
|J16-4<br />
|P9_11<br />
|UART4RX<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J12-J16.PNG]]<br />
<br />
=== J17-J22 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J17-3<br />
|P8_26<br />
|GPIO1_29<br />
|-<br />
|J18-3<br />
|P8_19<br />
|EHRPWM2A<br />
|-<br />
|J19-3<br />
|P8_18<br />
|GPIO2_1<br />
|-<br />
|J20-3<br />
|P8_17<br />
|GP10_27<br />
|-<br />
|J21-3<br />
|P8_15<br />
|GPIO1_14<br />
|-<br />
|J22-3<br />
|P8_15<br />
|GPIO1_15<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J17-J22.PNG]]<br />
<br />
=== J23 ===<br />
<br />
Jumper 1-2 to power BBB-GVS board from SYS_5V. (default)<br />
<br />
Jumper 2-3 to power board from VDD_5V. VDD_5V is 5V with a maximum current of 1000mA, but only works if the BeagleBone is powered by an external power source <br />
<br />
[[File:BBB-GVS-X3-J23.PNG]]<br />
<br />
=== J24 ===<br />
<br />
EEPROM address A0, A1 selection jumper selectable.<br />
<br />
[[File:BBB-GVS-X3-J24.PNG]]<br />
<br />
=== J25-J29 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J25-3<br />
|P8_13<br />
|EHRPWM2B<br />
|-<br />
|J26-3<br />
|P8_14<br />
|GPIO0_26<br />
|-<br />
|J27-3<br />
|P8_11<br />
|GPIO1_13<br />
|-<br />
|J28-3<br />
|P8_12<br />
|GPIO1_12<br />
|-<br />
|J29-3<br />
|P8_9<br />
|TIMER5<br />
|-<br />
|}<br />
<br />
<br />
[[File:BBB-GVS-X3-J25-J29.PNG]]<br />
<br />
=== J30-J32 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J30-3<br />
|P8_<br />
|TIMER7<br />
|-<br />
|J31-3<br />
|P8_<br />
|TIMER4<br />
|-<br />
|J32-3<br />
|P8_<br />
|TIMER6<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J30-J32.PNG]]<br />
<br />
== Previous Revisions ==<br />
<br />
=== Revision X3 ===<br />
<br />
*Missing OE on U2<br />
**Add wire U2-2 to U2-10<br />
*Ref des have gaps = need resequencing<br />
*Need a write enable jumper on the config EEPROM<br />
<br />
=== Revision V2 ===<br />
<br />
[http://land-boards.com/blwiki/index.php?title=BBB-GVS-V2]<br />
<br />
== External Links ==<br />
<br />
* [http://papermint-designs.com/community/node/331 BBB I2C EEPROM programming]<br />
* [http://azkeller.com/blog/?p=62 EEPROM programming]</div>Land-boardshttps://elinux.org/index.php?title=BBB-GVS&diff=357290BBB-GVS2014-11-05T21:16:04Z<p>Land-boards: /* J1-J7 */</p>
<hr />
<div>[[File:tindie-mediums.png|link=https://www.tindie.com/products/land_boards/33v5v-sensor-connection-cape-for-the-beaglebone/]]<br />
<br />
[[File:BBB-GVS-X3-cca-01B.jpg]]<br />
<br />
== Beaglebone Black cape which provides 5V GVS connections ==<br />
<br />
We love the Beaglebone Black. With all of its I/O connections it offers exciting potential for embedded/connected devices. <br />
The two [http://elinux.org/BeagleBone_PRU_Notes PRU I/O Coprocessors] have potential for Input/Output that no other board in its class can offer. <br />
It even has real mounting holes which let the board be used for real-world applications.<br />
<br />
When we got our first Beaglebone Black we were ''excited'' to try it with some of our Arduino [http://land-boards.com/blwiki/index.php?title=GVS-Pinout GVS (Ground/Voltage/Signal)] sensors and GVS output devices but couldn't since they are all 5V sensors. Sure we could cobble together some [http://www.adafruit.com/products/757 level shifters] on a breadboard but in the end we wouldn't have something that could be deployed in a real application What we really wanted was a [https://solarbotics.com/product/39230/ 5V Sensor shield] like the one we use for our Arduino. But there were none out there. So we designed one.<br />
<br />
Introducing the '''BBB-GVS cape'''.<br />
<br />
== Features ==<br />
<br />
Extensive I/O connections:<br />
<br />
*(5) 5V GPIOs: J14, J15, J26, J27, J28<br />
*(2) 5V UART connections (auto direction detection): J12, J16<br />
*(1) 5V I2C bus connections (auto direction detection): J13<br />
*(1) 5V PWM: J25<br />
*(4) 5V Timers: J29-J32 <br />
*(1) 3.3V UART: J11<br />
*(7) 3.3V GPIOs: J9, J10, J17, J19, J20, J21, J22<br />
*(1) 3.3V SPI_D1: J8<br />
*(1) 3.3V PWM: J18<br />
*(7) 1.8V analog GVS connections with analog reference voltage/ground: J1-J7<br />
*5V pins are all ESD protected pins with 15 kV of protection<br />
*Fuses on 5V and 3.3V power protect the Beaglebone from miswired sensors<br />
*Selectable 5V source (SYS_5V or VDD_5V) - J22<br />
*Cape configuration EEPROM with address select jumpers J24<br />
*Beaglebone Black form factor<br />
<br />
== Technical Overview ==<br />
<br />
In a nutshell, the 3.3V digital signals of the Beaglebone Black need to be changed into 5V digital signals. There are a number of discrete ways to convert 3.3V bus to 5V signals. Some of them use MOSFETs and a couple of resistors. These work OK but there are some powerful chips out there that can do the conversion even better.<br />
We looked around and found what we think is the best 3.3V<>5V data conversion chip, Texas Instrument's TXS0108. The TXS0108 is an 8-bit, bi-directional buffer with automatic direction detection. Each and every pin can transmit and receive independently and even at the same time. The part supports both open drain and push-pull operation. The part can run as fast as 60 Mb/s in push-pull operation and 2 Mb/s in open drain. This speed is fast enough enough for microprocessor GPIO pin or even the fastest serial interfaces that a microprocessor can throw at it.<br />
<br />
<br />
== What is GVS? ==<br />
<br />
GVS is great for prototyping or deploy-able products. The beauty of the GVS connection is that power and ground are provided with each I/O signal. That provides the power needed to power external sensors and output devices. Otherwise splitting the one or two power pins into separate cables ends up being a real mess.<br />
<br />
GVS stands for Ground, Voltage and Signal. It's a 3-pin unofficial standard. It uses 0.1" pitch pins. There are a large number of GVS sensors (inputs) and devices (output) parts on ebay. The sorts of GVS sensors include:<br />
<br />
*Buttons<br />
*Switches<br />
*Temperature sensors<br />
<br />
The sorts of GVS output devices include:<br />
<br />
*Relay modules (not always wired as GVS, but they typically require 5V).<br />
*Buzzers<br />
*Solenoids<br />
*Servos (require PWM output pin)<br />
<br />
To connect a GVS sensor to a GVS card, just use a 3-wire cable. <br />
<br />
Other Connections<br />
<br />
The Beaglebone Black also has I2C and UART connections. These allow various devices to be connected:<br />
<br />
*I2C Displays<br />
*I2C accelerometers, gyroscopes<br />
*UART GPS modules<br />
<br />
== The Design ==<br />
<br />
We wanted a sensor shield like the ones use for the Arduino. In the Arduino's case, there's a limited amount of I/O lines The Beaglebone has many more I/O lines than the Arduino. We wanted to convert as many of the signals to 5V as we could possible fit on a board the size of a mint can. In particular, we wanted to convert the I2C bus as well as the UART lines to 5V. Also, we wanted to have a mix of 3.3V and 5V GVS signals. We also wanted to allow external connection to the analog inputs as we providing the analog reference voltage to run the analog input sensors.<br />
<br />
That translated into 2 parts which handle 8 I/O lines each. Putting these parts along with all the GVS connections we could possibly add resulted in our design.<br />
<br />
=== Voltage Translators ===<br />
<br />
The BBB-GVS board uses [http://www.ti.com/product/txs0108e Texas Instrument TXS0108] voltage translators.<br />
<br />
==== Voltage Translators Features ====<br />
<br />
*No Direction-Control Signal Needed<br />
*Max Data Rates <br />
**60 Mbps (Push Pull)<br />
**2 Mbps (Open Drain)<br />
*1.2 V to 3.6 V on A Port and 1.65 V to 5.5 V on<br />
*B Port (VCCA ≤ VCCB)<br />
*No Power-Supply Sequencing Required –<br />
**Either VCCA or VCCB Can Be Ramped First<br />
*Latch-Up Performance Exceeds 100 mA Per JESD 78, Class II<br />
*ESD Protection Exceeds JESD 22 (A Port)<br />
**2000-V Human-Body Model (A114-B)<br />
**150-V Machine Model (A115-A)<br />
**1000-V Charged-Device Model (C101)<br />
*IEC 61000-4-2 ESD (B Port)<br />
**±6-kV Air-Gap Discharge<br />
**±8-kV Contact Discharge<br />
<br />
==== Voltage Translators Architecture ====<br />
<br />
[http://www.ti.com/lit/ds/symlink/txs0108e.pdf Datasheet]<br />
<br />
The TXS0108E can be used in level-translation applications for interfacing devices or systems operating at different interface voltages with one another. The TXS0108E is ideal for use in applications where an open-drain driver is connected to the data I/Os. The TXS0108E can also be used in applications where a push-pull driver is connected to the data I/Os, but the TXB0104 might be a better option for such push-pull applications. The TXS0108E device is a semi-buffered auto-direction-sensing voltage translator design is optimized for translation applications (e.g. MMC Card Interfaces) that require the system to start out in a low-speed open-drain mode and then switch to a higher speed push-pull mode.<br />
<br />
[[File:TXS0108Arch.PNG]]<br />
<br />
To address these application requirements, a semi-buffered architecture design is used and is illustrated above (see Figure 1). Edge-rate accelerator circuitry (for both the high-to-low and low-to-high edges), a High-Ron n-channel pass-gate transistor (on the order of 300 Ω to 500 Ω) and pull-up resistors (to provide DC-bias and drive capabilities) are included to realize this solution. A direction-control signal (to control the direction of data flow from A to B or from B to A) is not needed. The resulting implementation supports both low-speed open-drain operation as well as high-speed push-pull operation.<br />
<br />
When transmitting data from A to B ports, during a rising edge the One-Shot (OS3) turns on the PMOS transistor (P2) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from A to B, the One-Shot (OS4) turns on NMOS transistor (N2) for a short-duration and this speeds up the high-to-low transition. The B-port edge-rate accelerator consists of one-shots OS3 and OS4, Transistors P2 and N2 and serves to rapidly force the B port high or low when a corresponding transition is detected on the A port.<br />
<br />
When transmitting data from B to A ports, during a rising edge the One-Shot (OS1) turns on the PMOS transistor (P1) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from B to A, the One-Shot (OS2) turns on NMOS transistor (N1) for a short-duration and this speeds up the high-to-low transition. The A-port edge-rate accelerator consists of one-shots OS1 and OS2, Transistors P1 and N1 components and form the edge-rate accelerator and serves to rapidly force the A port high or low when a corresponding transition is detected on the B port.<br />
<br />
== EEPROM connections ==<br />
<br />
[[File:BBB-GVS-V2-I2C2 -EEPROM.PNG]]<br />
<br />
== Beaglebone Black GVS Board Layout ==<br />
<br />
[[File:BBB-GVS-X4-CAD.PNG]]<br />
<br />
== Connectors ==<br />
<br />
=== J1-J7 ===<br />
<br />
Analog signals must be between 0 and 1.8V/<br />
<br />
J1-J7 pin 1 = P9-34 = GND_ADC<br />
<br />
J1-J7 pin 2 = P9-32 = VDD_ADC<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J1-3<br />
|P9_40<br />
|AIN1<br />
|-<br />
|J2-3<br />
|P9_38<br />
|AIN3<br />
|-<br />
|J3-3<br />
|P9_36<br />
|AIN5<br />
|-<br />
|J4-3<br />
|P9_33<br />
|AIN4<br />
|-<br />
|J5-3<br />
|P9_39<br />
|AIN0<br />
|-<br />
|J6-3<br />
|P9_37<br />
|AIN2<br />
|-<br />
|J7-3<br />
|P9_35<br />
|AIN6<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J1-J7.PNG]]<br />
<br />
=== J8-J11 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J8-3<br />
|P9_30<br />
|SPI_D1<br />
|-<br />
|J9-3<br />
|P9_27<br />
|GPIO3_19<br />
|-<br />
|J10-3<br />
|P9_23<br />
|GPIO1_17<br />
|-<br />
|J11-3<br />
|P9_24<br />
|UART1_TXD<br />
|-<br />
|J11-4<br />
|P9_26<br />
|UART1_RXD<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J8-J11.PNG]]<br />
<br />
=== J12-J16 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J12-3<br />
|P9_21<br />
|UART2TX<br />
|-<br />
|J12-4<br />
|P9_22<br />
|UART2RX<br />
|-<br />
|J13-3<br />
|P9_20<br />
|I2C1SDA<br />
|-<br />
|J13-4<br />
|P9_19<br />
|I2C1SCL<br />
|-<br />
|J14-3<br />
|P9_15<br />
|GPIO1_16<br />
|-<br />
|J15-3<br />
|P9_12<br />
|GPIO1_28<br />
|-<br />
|J16-3<br />
|P9_13<br />
|UART4TX<br />
|-<br />
|J16-4<br />
|P9_11<br />
|UART4RX<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J12-J16.PNG]]<br />
<br />
=== J17-J22 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J17-3<br />
|P8_26<br />
|GPIO1_29<br />
|-<br />
|J18-3<br />
|P8_19<br />
|EHRPWM2A<br />
|-<br />
|J19-3<br />
|P8_18<br />
|GPIO2_1<br />
|-<br />
|J20-3<br />
|P8_17<br />
|GP10_27<br />
|-<br />
|J21-3<br />
|P8_15<br />
|GPIO1_14<br />
|-<br />
|J22-3<br />
|P8_15<br />
|GPIO1_15<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J17-J22.PNG]]<br />
<br />
=== J23 ===<br />
<br />
Jumper 1-2 to power board from SYS_5V.<br />
<br />
Jumper 2-3 to power board from VDD_5V.<br />
<br />
[[File:BBB-GVS-X3-J23.PNG]]<br />
<br />
=== J24 ===<br />
<br />
EEPROM address A0, A1 selection jumper selectable.<br />
<br />
[[File:BBB-GVS-X3-J24.PNG]]<br />
<br />
=== J25-J29 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J25-3<br />
|P8_13<br />
|EHRPWM2B<br />
|-<br />
|J26-3<br />
|P8_14<br />
|GPIO0_26<br />
|-<br />
|J27-3<br />
|P8_11<br />
|GPIO1_13<br />
|-<br />
|J28-3<br />
|P8_12<br />
|GPIO1_12<br />
|-<br />
|J29-3<br />
|P8_9<br />
|TIMER5<br />
|-<br />
|}<br />
<br />
<br />
[[File:BBB-GVS-X3-J25-J29.PNG]]<br />
<br />
=== J30-J32 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J30-3<br />
|P8_<br />
|TIMER7<br />
|-<br />
|J31-3<br />
|P8_<br />
|TIMER4<br />
|-<br />
|J32-3<br />
|P8_<br />
|TIMER6<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J30-J32.PNG]]<br />
<br />
== Previous Revisions ==<br />
<br />
=== Revision X3 ===<br />
<br />
*Missing OE on U2<br />
**Add wire U2-2 to U2-10<br />
*Ref des have gaps = need resequencing<br />
*Need a write enable jumper on the config EEPROM<br />
<br />
=== Revision V2 ===<br />
<br />
[http://land-boards.com/blwiki/index.php?title=BBB-GVS-V2]<br />
<br />
== External Links ==<br />
<br />
* [http://papermint-designs.com/community/node/331 BBB I2C EEPROM programming]<br />
* [http://azkeller.com/blog/?p=62 EEPROM programming]</div>Land-boardshttps://elinux.org/index.php?title=File:BBB-GVS-X4-CAD.PNG&diff=357284File:BBB-GVS-X4-CAD.PNG2014-11-05T21:13:26Z<p>Land-boards: </p>
<hr />
<div></div>Land-boardshttps://elinux.org/index.php?title=BBB-GVS&diff=357278BBB-GVS2014-11-05T21:13:06Z<p>Land-boards: /* Beaglebone Black GVS Board Layout */</p>
<hr />
<div>[[File:tindie-mediums.png|link=https://www.tindie.com/products/land_boards/33v5v-sensor-connection-cape-for-the-beaglebone/]]<br />
<br />
[[File:BBB-GVS-X3-cca-01B.jpg]]<br />
<br />
== Beaglebone Black cape which provides 5V GVS connections ==<br />
<br />
We love the Beaglebone Black. With all of its I/O connections it offers exciting potential for embedded/connected devices. <br />
The two [http://elinux.org/BeagleBone_PRU_Notes PRU I/O Coprocessors] have potential for Input/Output that no other board in its class can offer. <br />
It even has real mounting holes which let the board be used for real-world applications.<br />
<br />
When we got our first Beaglebone Black we were ''excited'' to try it with some of our Arduino [http://land-boards.com/blwiki/index.php?title=GVS-Pinout GVS (Ground/Voltage/Signal)] sensors and GVS output devices but couldn't since they are all 5V sensors. Sure we could cobble together some [http://www.adafruit.com/products/757 level shifters] on a breadboard but in the end we wouldn't have something that could be deployed in a real application What we really wanted was a [https://solarbotics.com/product/39230/ 5V Sensor shield] like the one we use for our Arduino. But there were none out there. So we designed one.<br />
<br />
Introducing the '''BBB-GVS cape'''.<br />
<br />
== Features ==<br />
<br />
Extensive I/O connections:<br />
<br />
*(5) 5V GPIOs: J14, J15, J26, J27, J28<br />
*(2) 5V UART connections (auto direction detection): J12, J16<br />
*(1) 5V I2C bus connections (auto direction detection): J13<br />
*(1) 5V PWM: J25<br />
*(4) 5V Timers: J29-J32 <br />
*(1) 3.3V UART: J11<br />
*(7) 3.3V GPIOs: J9, J10, J17, J19, J20, J21, J22<br />
*(1) 3.3V SPI_D1: J8<br />
*(1) 3.3V PWM: J18<br />
*(7) 1.8V analog GVS connections with analog reference voltage/ground: J1-J7<br />
*5V pins are all ESD protected pins with 15 kV of protection<br />
*Fuses on 5V and 3.3V power protect the Beaglebone from miswired sensors<br />
*Selectable 5V source (SYS_5V or VDD_5V) - J22<br />
*Cape configuration EEPROM with address select jumpers J24<br />
*Beaglebone Black form factor<br />
<br />
== Technical Overview ==<br />
<br />
In a nutshell, the 3.3V digital signals of the Beaglebone Black need to be changed into 5V digital signals. There are a number of discrete ways to convert 3.3V bus to 5V signals. Some of them use MOSFETs and a couple of resistors. These work OK but there are some powerful chips out there that can do the conversion even better.<br />
We looked around and found what we think is the best 3.3V<>5V data conversion chip, Texas Instrument's TXS0108. The TXS0108 is an 8-bit, bi-directional buffer with automatic direction detection. Each and every pin can transmit and receive independently and even at the same time. The part supports both open drain and push-pull operation. The part can run as fast as 60 Mb/s in push-pull operation and 2 Mb/s in open drain. This speed is fast enough enough for microprocessor GPIO pin or even the fastest serial interfaces that a microprocessor can throw at it.<br />
<br />
<br />
== What is GVS? ==<br />
<br />
GVS is great for prototyping or deploy-able products. The beauty of the GVS connection is that power and ground are provided with each I/O signal. That provides the power needed to power external sensors and output devices. Otherwise splitting the one or two power pins into separate cables ends up being a real mess.<br />
<br />
GVS stands for Ground, Voltage and Signal. It's a 3-pin unofficial standard. It uses 0.1" pitch pins. There are a large number of GVS sensors (inputs) and devices (output) parts on ebay. The sorts of GVS sensors include:<br />
<br />
*Buttons<br />
*Switches<br />
*Temperature sensors<br />
<br />
The sorts of GVS output devices include:<br />
<br />
*Relay modules (not always wired as GVS, but they typically require 5V).<br />
*Buzzers<br />
*Solenoids<br />
*Servos (require PWM output pin)<br />
<br />
To connect a GVS sensor to a GVS card, just use a 3-wire cable. <br />
<br />
Other Connections<br />
<br />
The Beaglebone Black also has I2C and UART connections. These allow various devices to be connected:<br />
<br />
*I2C Displays<br />
*I2C accelerometers, gyroscopes<br />
*UART GPS modules<br />
<br />
== The Design ==<br />
<br />
We wanted a sensor shield like the ones use for the Arduino. In the Arduino's case, there's a limited amount of I/O lines The Beaglebone has many more I/O lines than the Arduino. We wanted to convert as many of the signals to 5V as we could possible fit on a board the size of a mint can. In particular, we wanted to convert the I2C bus as well as the UART lines to 5V. Also, we wanted to have a mix of 3.3V and 5V GVS signals. We also wanted to allow external connection to the analog inputs as we providing the analog reference voltage to run the analog input sensors.<br />
<br />
That translated into 2 parts which handle 8 I/O lines each. Putting these parts along with all the GVS connections we could possibly add resulted in our design.<br />
<br />
=== Voltage Translators ===<br />
<br />
The BBB-GVS board uses [http://www.ti.com/product/txs0108e Texas Instrument TXS0108] voltage translators.<br />
<br />
==== Voltage Translators Features ====<br />
<br />
*No Direction-Control Signal Needed<br />
*Max Data Rates <br />
**60 Mbps (Push Pull)<br />
**2 Mbps (Open Drain)<br />
*1.2 V to 3.6 V on A Port and 1.65 V to 5.5 V on<br />
*B Port (VCCA ≤ VCCB)<br />
*No Power-Supply Sequencing Required –<br />
**Either VCCA or VCCB Can Be Ramped First<br />
*Latch-Up Performance Exceeds 100 mA Per JESD 78, Class II<br />
*ESD Protection Exceeds JESD 22 (A Port)<br />
**2000-V Human-Body Model (A114-B)<br />
**150-V Machine Model (A115-A)<br />
**1000-V Charged-Device Model (C101)<br />
*IEC 61000-4-2 ESD (B Port)<br />
**±6-kV Air-Gap Discharge<br />
**±8-kV Contact Discharge<br />
<br />
==== Voltage Translators Architecture ====<br />
<br />
[http://www.ti.com/lit/ds/symlink/txs0108e.pdf Datasheet]<br />
<br />
The TXS0108E can be used in level-translation applications for interfacing devices or systems operating at different interface voltages with one another. The TXS0108E is ideal for use in applications where an open-drain driver is connected to the data I/Os. The TXS0108E can also be used in applications where a push-pull driver is connected to the data I/Os, but the TXB0104 might be a better option for such push-pull applications. The TXS0108E device is a semi-buffered auto-direction-sensing voltage translator design is optimized for translation applications (e.g. MMC Card Interfaces) that require the system to start out in a low-speed open-drain mode and then switch to a higher speed push-pull mode.<br />
<br />
[[File:TXS0108Arch.PNG]]<br />
<br />
To address these application requirements, a semi-buffered architecture design is used and is illustrated above (see Figure 1). Edge-rate accelerator circuitry (for both the high-to-low and low-to-high edges), a High-Ron n-channel pass-gate transistor (on the order of 300 Ω to 500 Ω) and pull-up resistors (to provide DC-bias and drive capabilities) are included to realize this solution. A direction-control signal (to control the direction of data flow from A to B or from B to A) is not needed. The resulting implementation supports both low-speed open-drain operation as well as high-speed push-pull operation.<br />
<br />
When transmitting data from A to B ports, during a rising edge the One-Shot (OS3) turns on the PMOS transistor (P2) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from A to B, the One-Shot (OS4) turns on NMOS transistor (N2) for a short-duration and this speeds up the high-to-low transition. The B-port edge-rate accelerator consists of one-shots OS3 and OS4, Transistors P2 and N2 and serves to rapidly force the B port high or low when a corresponding transition is detected on the A port.<br />
<br />
When transmitting data from B to A ports, during a rising edge the One-Shot (OS1) turns on the PMOS transistor (P1) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from B to A, the One-Shot (OS2) turns on NMOS transistor (N1) for a short-duration and this speeds up the high-to-low transition. The A-port edge-rate accelerator consists of one-shots OS1 and OS2, Transistors P1 and N1 components and form the edge-rate accelerator and serves to rapidly force the A port high or low when a corresponding transition is detected on the B port.<br />
<br />
== EEPROM connections ==<br />
<br />
[[File:BBB-GVS-V2-I2C2 -EEPROM.PNG]]<br />
<br />
== Beaglebone Black GVS Board Layout ==<br />
<br />
[[File:BBB-GVS-X4-CAD.PNG]]<br />
<br />
== Connectors ==<br />
<br />
=== J1-J7 ===<br />
<br />
Analog signals must be between 0 and 1.8V/<br />
<br />
J1-J7 pin 1 = P9-34 = GND_ADC<br />
<br />
J1-J7 pin 2 = P9-32 = BDD_ADC<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J1-3<br />
|P9_40<br />
|AIN1<br />
|-<br />
|J2-3<br />
|P9_38<br />
|AIN3<br />
|-<br />
|J3-3<br />
|P9_36<br />
|AIN5<br />
|-<br />
|J4-3<br />
|P9_33<br />
|AIN4<br />
|-<br />
|J5-3<br />
|P9_39<br />
|AIN0<br />
|-<br />
|J6-3<br />
|P9_37<br />
|AIN2<br />
|-<br />
|J7-3<br />
|P9_35<br />
|AIN6<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J1-J7.PNG]]<br />
<br />
=== J8-J11 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J8-3<br />
|P9_30<br />
|SPI_D1<br />
|-<br />
|J9-3<br />
|P9_27<br />
|GPIO3_19<br />
|-<br />
|J10-3<br />
|P9_23<br />
|GPIO1_17<br />
|-<br />
|J11-3<br />
|P9_24<br />
|UART1_TXD<br />
|-<br />
|J11-4<br />
|P9_26<br />
|UART1_RXD<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J8-J11.PNG]]<br />
<br />
=== J12-J16 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J12-3<br />
|P9_21<br />
|UART2TX<br />
|-<br />
|J12-4<br />
|P9_22<br />
|UART2RX<br />
|-<br />
|J13-3<br />
|P9_20<br />
|I2C1SDA<br />
|-<br />
|J13-4<br />
|P9_19<br />
|I2C1SCL<br />
|-<br />
|J14-3<br />
|P9_15<br />
|GPIO1_16<br />
|-<br />
|J15-3<br />
|P9_12<br />
|GPIO1_28<br />
|-<br />
|J16-3<br />
|P9_13<br />
|UART4TX<br />
|-<br />
|J16-4<br />
|P9_11<br />
|UART4RX<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J12-J16.PNG]]<br />
<br />
=== J17-J22 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J17-3<br />
|P8_26<br />
|GPIO1_29<br />
|-<br />
|J18-3<br />
|P8_19<br />
|EHRPWM2A<br />
|-<br />
|J19-3<br />
|P8_18<br />
|GPIO2_1<br />
|-<br />
|J20-3<br />
|P8_17<br />
|GP10_27<br />
|-<br />
|J21-3<br />
|P8_15<br />
|GPIO1_14<br />
|-<br />
|J22-3<br />
|P8_15<br />
|GPIO1_15<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J17-J22.PNG]]<br />
<br />
=== J23 ===<br />
<br />
Jumper 1-2 to power board from SYS_5V.<br />
<br />
Jumper 2-3 to power board from VDD_5V.<br />
<br />
[[File:BBB-GVS-X3-J23.PNG]]<br />
<br />
=== J24 ===<br />
<br />
EEPROM address A0, A1 selection jumper selectable.<br />
<br />
[[File:BBB-GVS-X3-J24.PNG]]<br />
<br />
=== J25-J29 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J25-3<br />
|P8_13<br />
|EHRPWM2B<br />
|-<br />
|J26-3<br />
|P8_14<br />
|GPIO0_26<br />
|-<br />
|J27-3<br />
|P8_11<br />
|GPIO1_13<br />
|-<br />
|J28-3<br />
|P8_12<br />
|GPIO1_12<br />
|-<br />
|J29-3<br />
|P8_9<br />
|TIMER5<br />
|-<br />
|}<br />
<br />
<br />
[[File:BBB-GVS-X3-J25-J29.PNG]]<br />
<br />
=== J30-J32 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J30-3<br />
|P8_<br />
|TIMER7<br />
|-<br />
|J31-3<br />
|P8_<br />
|TIMER4<br />
|-<br />
|J32-3<br />
|P8_<br />
|TIMER6<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J30-J32.PNG]]<br />
<br />
== Previous Revisions ==<br />
<br />
=== Revision X3 ===<br />
<br />
*Missing OE on U2<br />
**Add wire U2-2 to U2-10<br />
*Ref des have gaps = need resequencing<br />
*Need a write enable jumper on the config EEPROM<br />
<br />
=== Revision V2 ===<br />
<br />
[http://land-boards.com/blwiki/index.php?title=BBB-GVS-V2]<br />
<br />
== External Links ==<br />
<br />
* [http://papermint-designs.com/community/node/331 BBB I2C EEPROM programming]<br />
* [http://azkeller.com/blog/?p=62 EEPROM programming]</div>Land-boardshttps://elinux.org/index.php?title=File:Tindie-mediums.png&diff=357272File:Tindie-mediums.png2014-11-05T21:09:23Z<p>Land-boards: </p>
<hr />
<div></div>Land-boardshttps://elinux.org/index.php?title=BBB-GVS&diff=357266BBB-GVS2014-11-05T21:08:39Z<p>Land-boards: </p>
<hr />
<div>[[File:tindie-mediums.png|link=https://www.tindie.com/products/land_boards/33v5v-sensor-connection-cape-for-the-beaglebone/]]<br />
<br />
[[File:BBB-GVS-X3-cca-01B.jpg]]<br />
<br />
== Beaglebone Black cape which provides 5V GVS connections ==<br />
<br />
We love the Beaglebone Black. With all of its I/O connections it offers exciting potential for embedded/connected devices. <br />
The two [http://elinux.org/BeagleBone_PRU_Notes PRU I/O Coprocessors] have potential for Input/Output that no other board in its class can offer. <br />
It even has real mounting holes which let the board be used for real-world applications.<br />
<br />
When we got our first Beaglebone Black we were ''excited'' to try it with some of our Arduino [http://land-boards.com/blwiki/index.php?title=GVS-Pinout GVS (Ground/Voltage/Signal)] sensors and GVS output devices but couldn't since they are all 5V sensors. Sure we could cobble together some [http://www.adafruit.com/products/757 level shifters] on a breadboard but in the end we wouldn't have something that could be deployed in a real application What we really wanted was a [https://solarbotics.com/product/39230/ 5V Sensor shield] like the one we use for our Arduino. But there were none out there. So we designed one.<br />
<br />
Introducing the '''BBB-GVS cape'''.<br />
<br />
== Features ==<br />
<br />
Extensive I/O connections:<br />
<br />
*(5) 5V GPIOs: J14, J15, J26, J27, J28<br />
*(2) 5V UART connections (auto direction detection): J12, J16<br />
*(1) 5V I2C bus connections (auto direction detection): J13<br />
*(1) 5V PWM: J25<br />
*(4) 5V Timers: J29-J32 <br />
*(1) 3.3V UART: J11<br />
*(7) 3.3V GPIOs: J9, J10, J17, J19, J20, J21, J22<br />
*(1) 3.3V SPI_D1: J8<br />
*(1) 3.3V PWM: J18<br />
*(7) 1.8V analog GVS connections with analog reference voltage/ground: J1-J7<br />
*5V pins are all ESD protected pins with 15 kV of protection<br />
*Fuses on 5V and 3.3V power protect the Beaglebone from miswired sensors<br />
*Selectable 5V source (SYS_5V or VDD_5V) - J22<br />
*Cape configuration EEPROM with address select jumpers J24<br />
*Beaglebone Black form factor<br />
<br />
== Technical Overview ==<br />
<br />
In a nutshell, the 3.3V digital signals of the Beaglebone Black need to be changed into 5V digital signals. There are a number of discrete ways to convert 3.3V bus to 5V signals. Some of them use MOSFETs and a couple of resistors. These work OK but there are some powerful chips out there that can do the conversion even better.<br />
We looked around and found what we think is the best 3.3V<>5V data conversion chip, Texas Instrument's TXS0108. The TXS0108 is an 8-bit, bi-directional buffer with automatic direction detection. Each and every pin can transmit and receive independently and even at the same time. The part supports both open drain and push-pull operation. The part can run as fast as 60 Mb/s in push-pull operation and 2 Mb/s in open drain. This speed is fast enough enough for microprocessor GPIO pin or even the fastest serial interfaces that a microprocessor can throw at it.<br />
<br />
<br />
== What is GVS? ==<br />
<br />
GVS is great for prototyping or deploy-able products. The beauty of the GVS connection is that power and ground are provided with each I/O signal. That provides the power needed to power external sensors and output devices. Otherwise splitting the one or two power pins into separate cables ends up being a real mess.<br />
<br />
GVS stands for Ground, Voltage and Signal. It's a 3-pin unofficial standard. It uses 0.1" pitch pins. There are a large number of GVS sensors (inputs) and devices (output) parts on ebay. The sorts of GVS sensors include:<br />
<br />
*Buttons<br />
*Switches<br />
*Temperature sensors<br />
<br />
The sorts of GVS output devices include:<br />
<br />
*Relay modules (not always wired as GVS, but they typically require 5V).<br />
*Buzzers<br />
*Solenoids<br />
*Servos (require PWM output pin)<br />
<br />
To connect a GVS sensor to a GVS card, just use a 3-wire cable. <br />
<br />
Other Connections<br />
<br />
The Beaglebone Black also has I2C and UART connections. These allow various devices to be connected:<br />
<br />
*I2C Displays<br />
*I2C accelerometers, gyroscopes<br />
*UART GPS modules<br />
<br />
== The Design ==<br />
<br />
We wanted a sensor shield like the ones use for the Arduino. In the Arduino's case, there's a limited amount of I/O lines The Beaglebone has many more I/O lines than the Arduino. We wanted to convert as many of the signals to 5V as we could possible fit on a board the size of a mint can. In particular, we wanted to convert the I2C bus as well as the UART lines to 5V. Also, we wanted to have a mix of 3.3V and 5V GVS signals. We also wanted to allow external connection to the analog inputs as we providing the analog reference voltage to run the analog input sensors.<br />
<br />
That translated into 2 parts which handle 8 I/O lines each. Putting these parts along with all the GVS connections we could possibly add resulted in our design.<br />
<br />
=== Voltage Translators ===<br />
<br />
The BBB-GVS board uses [http://www.ti.com/product/txs0108e Texas Instrument TXS0108] voltage translators.<br />
<br />
==== Voltage Translators Features ====<br />
<br />
*No Direction-Control Signal Needed<br />
*Max Data Rates <br />
**60 Mbps (Push Pull)<br />
**2 Mbps (Open Drain)<br />
*1.2 V to 3.6 V on A Port and 1.65 V to 5.5 V on<br />
*B Port (VCCA ≤ VCCB)<br />
*No Power-Supply Sequencing Required –<br />
**Either VCCA or VCCB Can Be Ramped First<br />
*Latch-Up Performance Exceeds 100 mA Per JESD 78, Class II<br />
*ESD Protection Exceeds JESD 22 (A Port)<br />
**2000-V Human-Body Model (A114-B)<br />
**150-V Machine Model (A115-A)<br />
**1000-V Charged-Device Model (C101)<br />
*IEC 61000-4-2 ESD (B Port)<br />
**±6-kV Air-Gap Discharge<br />
**±8-kV Contact Discharge<br />
<br />
==== Voltage Translators Architecture ====<br />
<br />
[http://www.ti.com/lit/ds/symlink/txs0108e.pdf Datasheet]<br />
<br />
The TXS0108E can be used in level-translation applications for interfacing devices or systems operating at different interface voltages with one another. The TXS0108E is ideal for use in applications where an open-drain driver is connected to the data I/Os. The TXS0108E can also be used in applications where a push-pull driver is connected to the data I/Os, but the TXB0104 might be a better option for such push-pull applications. The TXS0108E device is a semi-buffered auto-direction-sensing voltage translator design is optimized for translation applications (e.g. MMC Card Interfaces) that require the system to start out in a low-speed open-drain mode and then switch to a higher speed push-pull mode.<br />
<br />
[[File:TXS0108Arch.PNG]]<br />
<br />
To address these application requirements, a semi-buffered architecture design is used and is illustrated above (see Figure 1). Edge-rate accelerator circuitry (for both the high-to-low and low-to-high edges), a High-Ron n-channel pass-gate transistor (on the order of 300 Ω to 500 Ω) and pull-up resistors (to provide DC-bias and drive capabilities) are included to realize this solution. A direction-control signal (to control the direction of data flow from A to B or from B to A) is not needed. The resulting implementation supports both low-speed open-drain operation as well as high-speed push-pull operation.<br />
<br />
When transmitting data from A to B ports, during a rising edge the One-Shot (OS3) turns on the PMOS transistor (P2) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from A to B, the One-Shot (OS4) turns on NMOS transistor (N2) for a short-duration and this speeds up the high-to-low transition. The B-port edge-rate accelerator consists of one-shots OS3 and OS4, Transistors P2 and N2 and serves to rapidly force the B port high or low when a corresponding transition is detected on the A port.<br />
<br />
When transmitting data from B to A ports, during a rising edge the One-Shot (OS1) turns on the PMOS transistor (P1) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from B to A, the One-Shot (OS2) turns on NMOS transistor (N1) for a short-duration and this speeds up the high-to-low transition. The A-port edge-rate accelerator consists of one-shots OS1 and OS2, Transistors P1 and N1 components and form the edge-rate accelerator and serves to rapidly force the A port high or low when a corresponding transition is detected on the B port.<br />
<br />
== EEPROM connections ==<br />
<br />
[[File:BBB-GVS-V2-I2C2 -EEPROM.PNG]]<br />
<br />
== Beaglebone Black GVS Board Layout ==<br />
<br />
[[File:BBB-GVS-X3.PNG]]<br />
<br />
== Connectors ==<br />
<br />
=== J1-J7 ===<br />
<br />
Analog signals must be between 0 and 1.8V/<br />
<br />
J1-J7 pin 1 = P9-34 = GND_ADC<br />
<br />
J1-J7 pin 2 = P9-32 = BDD_ADC<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J1-3<br />
|P9_40<br />
|AIN1<br />
|-<br />
|J2-3<br />
|P9_38<br />
|AIN3<br />
|-<br />
|J3-3<br />
|P9_36<br />
|AIN5<br />
|-<br />
|J4-3<br />
|P9_33<br />
|AIN4<br />
|-<br />
|J5-3<br />
|P9_39<br />
|AIN0<br />
|-<br />
|J6-3<br />
|P9_37<br />
|AIN2<br />
|-<br />
|J7-3<br />
|P9_35<br />
|AIN6<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J1-J7.PNG]]<br />
<br />
=== J8-J11 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J8-3<br />
|P9_30<br />
|SPI_D1<br />
|-<br />
|J9-3<br />
|P9_27<br />
|GPIO3_19<br />
|-<br />
|J10-3<br />
|P9_23<br />
|GPIO1_17<br />
|-<br />
|J11-3<br />
|P9_24<br />
|UART1_TXD<br />
|-<br />
|J11-4<br />
|P9_26<br />
|UART1_RXD<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J8-J11.PNG]]<br />
<br />
=== J12-J16 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J12-3<br />
|P9_21<br />
|UART2TX<br />
|-<br />
|J12-4<br />
|P9_22<br />
|UART2RX<br />
|-<br />
|J13-3<br />
|P9_20<br />
|I2C1SDA<br />
|-<br />
|J13-4<br />
|P9_19<br />
|I2C1SCL<br />
|-<br />
|J14-3<br />
|P9_15<br />
|GPIO1_16<br />
|-<br />
|J15-3<br />
|P9_12<br />
|GPIO1_28<br />
|-<br />
|J16-3<br />
|P9_13<br />
|UART4TX<br />
|-<br />
|J16-4<br />
|P9_11<br />
|UART4RX<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J12-J16.PNG]]<br />
<br />
=== J17-J22 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J17-3<br />
|P8_26<br />
|GPIO1_29<br />
|-<br />
|J18-3<br />
|P8_19<br />
|EHRPWM2A<br />
|-<br />
|J19-3<br />
|P8_18<br />
|GPIO2_1<br />
|-<br />
|J20-3<br />
|P8_17<br />
|GP10_27<br />
|-<br />
|J21-3<br />
|P8_15<br />
|GPIO1_14<br />
|-<br />
|J22-3<br />
|P8_15<br />
|GPIO1_15<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J17-J22.PNG]]<br />
<br />
=== J23 ===<br />
<br />
Jumper 1-2 to power board from SYS_5V.<br />
<br />
Jumper 2-3 to power board from VDD_5V.<br />
<br />
[[File:BBB-GVS-X3-J23.PNG]]<br />
<br />
=== J24 ===<br />
<br />
EEPROM address A0, A1 selection jumper selectable.<br />
<br />
[[File:BBB-GVS-X3-J24.PNG]]<br />
<br />
=== J25-J29 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J25-3<br />
|P8_13<br />
|EHRPWM2B<br />
|-<br />
|J26-3<br />
|P8_14<br />
|GPIO0_26<br />
|-<br />
|J27-3<br />
|P8_11<br />
|GPIO1_13<br />
|-<br />
|J28-3<br />
|P8_12<br />
|GPIO1_12<br />
|-<br />
|J29-3<br />
|P8_9<br />
|TIMER5<br />
|-<br />
|}<br />
<br />
<br />
[[File:BBB-GVS-X3-J25-J29.PNG]]<br />
<br />
=== J30-J32 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J30-3<br />
|P8_<br />
|TIMER7<br />
|-<br />
|J31-3<br />
|P8_<br />
|TIMER4<br />
|-<br />
|J32-3<br />
|P8_<br />
|TIMER6<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J30-J32.PNG]]<br />
<br />
== Previous Revisions ==<br />
<br />
=== Revision X3 ===<br />
<br />
*Missing OE on U2<br />
**Add wire U2-2 to U2-10<br />
*Ref des have gaps = need resequencing<br />
*Need a write enable jumper on the config EEPROM<br />
<br />
=== Revision V2 ===<br />
<br />
[http://land-boards.com/blwiki/index.php?title=BBB-GVS-V2]<br />
<br />
== External Links ==<br />
<br />
* [http://papermint-designs.com/community/node/331 BBB I2C EEPROM programming]<br />
* [http://azkeller.com/blog/?p=62 EEPROM programming]</div>Land-boardshttps://elinux.org/index.php?title=BBB-GVS&diff=345278BBB-GVS2014-08-12T01:50:45Z<p>Land-boards: /* Revision X3 */</p>
<hr />
<div>[https://www.kickstarter.com/projects/land-boards/33v-5v-gvs-cape-for-the-beaglebone Cape featured on kickstarter]<br />
<br />
[[File:BBB-GVS-X3-cca-01B.jpg]]<br />
<br />
== Beaglebone Black cape which provides 5V GVS connections ==<br />
<br />
We love the Beaglebone Black. With all of its I/O connections it offers exciting potential for embedded/connected devices. <br />
The two [http://elinux.org/BeagleBone_PRU_Notes PRU I/O Coprocessors] have potential for Input/Output that no other board in its class can offer. <br />
It even has real mounting holes which let the board be used for real-world applications.<br />
<br />
When we got our first Beaglebone Black we were ''excited'' to try it with some of our Arduino [http://land-boards.com/blwiki/index.php?title=GVS-Pinout GVS (Ground/Voltage/Signal)] sensors and GVS output devices but couldn't since they are all 5V sensors. Sure we could cobble together some [http://www.adafruit.com/products/757 level shifters] on a breadboard but in the end we wouldn't have something that could be deployed in a real application What we really wanted was a [https://solarbotics.com/product/39230/ 5V Sensor shield] like the one we use for our Arduino. But there were none out there. So we designed one.<br />
<br />
Introducing the '''BBB-GVS cape'''.<br />
<br />
== Features ==<br />
<br />
Extensive I/O connections:<br />
<br />
*(5) 5V GPIOs: J14, J15, J26, J27, J28<br />
*(2) 5V UART connections (auto direction detection): J12, J16<br />
*(1) 5V I2C bus connections (auto direction detection): J13<br />
*(1) 5V PWM: J25<br />
*(4) 5V Timers: J29-J32 <br />
*(1) 3.3V UART: J11<br />
*(7) 3.3V GPIOs: J9, J10, J17, J19, J20, J21, J22<br />
*(1) 3.3V SPI_D1: J8<br />
*(1) 3.3V PWM: J18<br />
*(7) 1.8V analog GVS connections with analog reference voltage/ground: J1-J7<br />
*5V pins are all ESD protected pins with 15 kV of protection<br />
*Fuses on 5V and 3.3V power protect the Beaglebone from miswired sensors<br />
*Selectable 5V source (SYS_5V or VDD_5V) - J22<br />
*Cape configuration EEPROM with address select jumpers J24<br />
*Beaglebone Black form factor<br />
<br />
== Technical Overview ==<br />
<br />
In a nutshell, the 3.3V digital signals of the Beaglebone Black need to be changed into 5V digital signals. There are a number of discrete ways to convert 3.3V bus to 5V signals. Some of them use MOSFETs and a couple of resistors. These work OK but there are some powerful chips out there that can do the conversion even better.<br />
We looked around and found what we think is the best 3.3V<>5V data conversion chip, Texas Instrument's TXS0108. The TXS0108 is an 8-bit, bi-directional buffer with automatic direction detection. Each and every pin can transmit and receive independently and even at the same time. The part supports both open drain and push-pull operation. The part can run as fast as 60 Mb/s in push-pull operation and 2 Mb/s in open drain. This speed is fast enough enough for microprocessor GPIO pin or even the fastest serial interfaces that a microprocessor can throw at it.<br />
<br />
<br />
== What is GVS? ==<br />
<br />
GVS is great for prototyping or deploy-able products. The beauty of the GVS connection is that power and ground are provided with each I/O signal. That provides the power needed to power external sensors and output devices. Otherwise splitting the one or two power pins into separate cables ends up being a real mess.<br />
<br />
GVS stands for Ground, Voltage and Signal. It's a 3-pin unofficial standard. It uses 0.1" pitch pins. There are a large number of GVS sensors (inputs) and devices (output) parts on ebay. The sorts of GVS sensors include:<br />
<br />
*Buttons<br />
*Switches<br />
*Temperature sensors<br />
<br />
The sorts of GVS output devices include:<br />
<br />
*Relay modules (not always wired as GVS, but they typically require 5V).<br />
*Buzzers<br />
*Solenoids<br />
*Servos (require PWM output pin)<br />
<br />
To connect a GVS sensor to a GVS card, just use a 3-wire cable. <br />
<br />
Other Connections<br />
<br />
The Beaglebone Black also has I2C and UART connections. These allow various devices to be connected:<br />
<br />
*I2C Displays<br />
*I2C accelerometers, gyroscopes<br />
*UART GPS modules<br />
<br />
== The Design ==<br />
<br />
We wanted a sensor shield like the ones use for the Arduino. In the Arduino's case, there's a limited amount of I/O lines The Beaglebone has many more I/O lines than the Arduino. We wanted to convert as many of the signals to 5V as we could possible fit on a board the size of a mint can. In particular, we wanted to convert the I2C bus as well as the UART lines to 5V. Also, we wanted to have a mix of 3.3V and 5V GVS signals. We also wanted to allow external connection to the analog inputs as we providing the analog reference voltage to run the analog input sensors.<br />
<br />
That translated into 2 parts which handle 8 I/O lines each. Putting these parts along with all the GVS connections we could possibly add resulted in our design.<br />
<br />
=== Voltage Translators ===<br />
<br />
The BBB-GVS board uses [http://www.ti.com/product/txs0108e Texas Instrument TXS0108] voltage translators.<br />
<br />
==== Voltage Translators Features ====<br />
<br />
*No Direction-Control Signal Needed<br />
*Max Data Rates <br />
**60 Mbps (Push Pull)<br />
**2 Mbps (Open Drain)<br />
*1.2 V to 3.6 V on A Port and 1.65 V to 5.5 V on<br />
*B Port (VCCA ≤ VCCB)<br />
*No Power-Supply Sequencing Required –<br />
**Either VCCA or VCCB Can Be Ramped First<br />
*Latch-Up Performance Exceeds 100 mA Per JESD 78, Class II<br />
*ESD Protection Exceeds JESD 22 (A Port)<br />
**2000-V Human-Body Model (A114-B)<br />
**150-V Machine Model (A115-A)<br />
**1000-V Charged-Device Model (C101)<br />
*IEC 61000-4-2 ESD (B Port)<br />
**±6-kV Air-Gap Discharge<br />
**±8-kV Contact Discharge<br />
<br />
==== Voltage Translators Architecture ====<br />
<br />
[http://www.ti.com/lit/ds/symlink/txs0108e.pdf Datasheet]<br />
<br />
The TXS0108E can be used in level-translation applications for interfacing devices or systems operating at different interface voltages with one another. The TXS0108E is ideal for use in applications where an open-drain driver is connected to the data I/Os. The TXS0108E can also be used in applications where a push-pull driver is connected to the data I/Os, but the TXB0104 might be a better option for such push-pull applications. The TXS0108E device is a semi-buffered auto-direction-sensing voltage translator design is optimized for translation applications (e.g. MMC Card Interfaces) that require the system to start out in a low-speed open-drain mode and then switch to a higher speed push-pull mode.<br />
<br />
[[File:TXS0108Arch.PNG]]<br />
<br />
To address these application requirements, a semi-buffered architecture design is used and is illustrated above (see Figure 1). Edge-rate accelerator circuitry (for both the high-to-low and low-to-high edges), a High-Ron n-channel pass-gate transistor (on the order of 300 Ω to 500 Ω) and pull-up resistors (to provide DC-bias and drive capabilities) are included to realize this solution. A direction-control signal (to control the direction of data flow from A to B or from B to A) is not needed. The resulting implementation supports both low-speed open-drain operation as well as high-speed push-pull operation.<br />
<br />
When transmitting data from A to B ports, during a rising edge the One-Shot (OS3) turns on the PMOS transistor (P2) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from A to B, the One-Shot (OS4) turns on NMOS transistor (N2) for a short-duration and this speeds up the high-to-low transition. The B-port edge-rate accelerator consists of one-shots OS3 and OS4, Transistors P2 and N2 and serves to rapidly force the B port high or low when a corresponding transition is detected on the A port.<br />
<br />
When transmitting data from B to A ports, during a rising edge the One-Shot (OS1) turns on the PMOS transistor (P1) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from B to A, the One-Shot (OS2) turns on NMOS transistor (N1) for a short-duration and this speeds up the high-to-low transition. The A-port edge-rate accelerator consists of one-shots OS1 and OS2, Transistors P1 and N1 components and form the edge-rate accelerator and serves to rapidly force the A port high or low when a corresponding transition is detected on the B port.<br />
<br />
== EEPROM connections ==<br />
<br />
[[File:BBB-GVS-V2-I2C2 -EEPROM.PNG]]<br />
<br />
== Beaglebone Black GVS Board Layout ==<br />
<br />
[[File:BBB-GVS-X3.PNG]]<br />
<br />
== Connectors ==<br />
<br />
=== J1-J7 ===<br />
<br />
Analog signals must be between 0 and 1.8V/<br />
<br />
J1-J7 pin 1 = P9-34 = GND_ADC<br />
<br />
J1-J7 pin 2 = P9-32 = BDD_ADC<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J1-3<br />
|P9_40<br />
|AIN1<br />
|-<br />
|J2-3<br />
|P9_38<br />
|AIN3<br />
|-<br />
|J3-3<br />
|P9_36<br />
|AIN5<br />
|-<br />
|J4-3<br />
|P9_33<br />
|AIN4<br />
|-<br />
|J5-3<br />
|P9_39<br />
|AIN0<br />
|-<br />
|J6-3<br />
|P9_37<br />
|AIN2<br />
|-<br />
|J7-3<br />
|P9_35<br />
|AIN6<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J1-J7.PNG]]<br />
<br />
=== J8-J11 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J8-3<br />
|P9_30<br />
|SPI_D1<br />
|-<br />
|J9-3<br />
|P9_27<br />
|GPIO3_19<br />
|-<br />
|J10-3<br />
|P9_23<br />
|GPIO1_17<br />
|-<br />
|J11-3<br />
|P9_24<br />
|UART1_TXD<br />
|-<br />
|J11-4<br />
|P9_26<br />
|UART1_RXD<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J8-J11.PNG]]<br />
<br />
=== J12-J16 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J12-3<br />
|P9_21<br />
|UART2TX<br />
|-<br />
|J12-4<br />
|P9_22<br />
|UART2RX<br />
|-<br />
|J13-3<br />
|P9_20<br />
|I2C1SDA<br />
|-<br />
|J13-4<br />
|P9_19<br />
|I2C1SCL<br />
|-<br />
|J14-3<br />
|P9_15<br />
|GPIO1_16<br />
|-<br />
|J15-3<br />
|P9_12<br />
|GPIO1_28<br />
|-<br />
|J16-3<br />
|P9_13<br />
|UART4TX<br />
|-<br />
|J16-4<br />
|P9_11<br />
|UART4RX<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J12-J16.PNG]]<br />
<br />
=== J17-J22 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J17-3<br />
|P8_26<br />
|GPIO1_29<br />
|-<br />
|J18-3<br />
|P8_19<br />
|EHRPWM2A<br />
|-<br />
|J19-3<br />
|P8_18<br />
|GPIO2_1<br />
|-<br />
|J20-3<br />
|P8_17<br />
|GP10_27<br />
|-<br />
|J21-3<br />
|P8_15<br />
|GPIO1_14<br />
|-<br />
|J22-3<br />
|P8_15<br />
|GPIO1_15<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J17-J22.PNG]]<br />
<br />
=== J23 ===<br />
<br />
Jumper 1-2 to power board from SYS_5V.<br />
<br />
Jumper 2-3 to power board from VDD_5V.<br />
<br />
[[File:BBB-GVS-X3-J23.PNG]]<br />
<br />
=== J24 ===<br />
<br />
EEPROM address A0, A1 selection jumper selectable.<br />
<br />
[[File:BBB-GVS-X3-J24.PNG]]<br />
<br />
=== J25-J29 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J25-3<br />
|P8_13<br />
|EHRPWM2B<br />
|-<br />
|J26-3<br />
|P8_14<br />
|GPIO0_26<br />
|-<br />
|J27-3<br />
|P8_11<br />
|GPIO1_13<br />
|-<br />
|J28-3<br />
|P8_12<br />
|GPIO1_12<br />
|-<br />
|J29-3<br />
|P8_9<br />
|TIMER5<br />
|-<br />
|}<br />
<br />
<br />
[[File:BBB-GVS-X3-J25-J29.PNG]]<br />
<br />
=== J30-J32 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J30-3<br />
|P8_<br />
|TIMER7<br />
|-<br />
|J31-3<br />
|P8_<br />
|TIMER4<br />
|-<br />
|J32-3<br />
|P8_<br />
|TIMER6<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J30-J32.PNG]]<br />
<br />
== Previous Revisions ==<br />
<br />
=== Revision X3 ===<br />
<br />
*Missing OE on U2<br />
**Add wire U2-2 to U2-10<br />
*Ref des have gaps = need resequencing<br />
*Need a write enable jumper on the config EEPROM<br />
<br />
=== Revision V2 ===<br />
<br />
[http://land-boards.com/blwiki/index.php?title=BBB-GVS-V2]<br />
<br />
== External Links ==<br />
<br />
* [http://papermint-designs.com/community/node/331 BBB I2C EEPROM programming]<br />
* [http://azkeller.com/blog/?p=62 EEPROM programming]</div>Land-boardshttps://elinux.org/index.php?title=BBB-GVS&diff=345272BBB-GVS2014-08-12T01:25:39Z<p>Land-boards: /* Beaglebone Black cape which provides 5V GVS connections */</p>
<hr />
<div>[https://www.kickstarter.com/projects/land-boards/33v-5v-gvs-cape-for-the-beaglebone Cape featured on kickstarter]<br />
<br />
[[File:BBB-GVS-X3-cca-01B.jpg]]<br />
<br />
== Beaglebone Black cape which provides 5V GVS connections ==<br />
<br />
We love the Beaglebone Black. With all of its I/O connections it offers exciting potential for embedded/connected devices. <br />
The two [http://elinux.org/BeagleBone_PRU_Notes PRU I/O Coprocessors] have potential for Input/Output that no other board in its class can offer. <br />
It even has real mounting holes which let the board be used for real-world applications.<br />
<br />
When we got our first Beaglebone Black we were ''excited'' to try it with some of our Arduino [http://land-boards.com/blwiki/index.php?title=GVS-Pinout GVS (Ground/Voltage/Signal)] sensors and GVS output devices but couldn't since they are all 5V sensors. Sure we could cobble together some [http://www.adafruit.com/products/757 level shifters] on a breadboard but in the end we wouldn't have something that could be deployed in a real application What we really wanted was a [https://solarbotics.com/product/39230/ 5V Sensor shield] like the one we use for our Arduino. But there were none out there. So we designed one.<br />
<br />
Introducing the '''BBB-GVS cape'''.<br />
<br />
== Features ==<br />
<br />
Extensive I/O connections:<br />
<br />
*(5) 5V GPIOs: J14, J15, J26, J27, J28<br />
*(2) 5V UART connections (auto direction detection): J12, J16<br />
*(1) 5V I2C bus connections (auto direction detection): J13<br />
*(1) 5V PWM: J25<br />
*(4) 5V Timers: J29-J32 <br />
*(1) 3.3V UART: J11<br />
*(7) 3.3V GPIOs: J9, J10, J17, J19, J20, J21, J22<br />
*(1) 3.3V SPI_D1: J8<br />
*(1) 3.3V PWM: J18<br />
*(7) 1.8V analog GVS connections with analog reference voltage/ground: J1-J7<br />
*5V pins are all ESD protected pins with 15 kV of protection<br />
*Fuses on 5V and 3.3V power protect the Beaglebone from miswired sensors<br />
*Selectable 5V source (SYS_5V or VDD_5V) - J22<br />
*Cape configuration EEPROM with address select jumpers J24<br />
*Beaglebone Black form factor<br />
<br />
== Technical Overview ==<br />
<br />
In a nutshell, the 3.3V digital signals of the Beaglebone Black need to be changed into 5V digital signals. There are a number of discrete ways to convert 3.3V bus to 5V signals. Some of them use MOSFETs and a couple of resistors. These work OK but there are some powerful chips out there that can do the conversion even better.<br />
We looked around and found what we think is the best 3.3V<>5V data conversion chip, Texas Instrument's TXS0108. The TXS0108 is an 8-bit, bi-directional buffer with automatic direction detection. Each and every pin can transmit and receive independently and even at the same time. The part supports both open drain and push-pull operation. The part can run as fast as 60 Mb/s in push-pull operation and 2 Mb/s in open drain. This speed is fast enough enough for microprocessor GPIO pin or even the fastest serial interfaces that a microprocessor can throw at it.<br />
<br />
<br />
== What is GVS? ==<br />
<br />
GVS is great for prototyping or deploy-able products. The beauty of the GVS connection is that power and ground are provided with each I/O signal. That provides the power needed to power external sensors and output devices. Otherwise splitting the one or two power pins into separate cables ends up being a real mess.<br />
<br />
GVS stands for Ground, Voltage and Signal. It's a 3-pin unofficial standard. It uses 0.1" pitch pins. There are a large number of GVS sensors (inputs) and devices (output) parts on ebay. The sorts of GVS sensors include:<br />
<br />
*Buttons<br />
*Switches<br />
*Temperature sensors<br />
<br />
The sorts of GVS output devices include:<br />
<br />
*Relay modules (not always wired as GVS, but they typically require 5V).<br />
*Buzzers<br />
*Solenoids<br />
*Servos (require PWM output pin)<br />
<br />
To connect a GVS sensor to a GVS card, just use a 3-wire cable. <br />
<br />
Other Connections<br />
<br />
The Beaglebone Black also has I2C and UART connections. These allow various devices to be connected:<br />
<br />
*I2C Displays<br />
*I2C accelerometers, gyroscopes<br />
*UART GPS modules<br />
<br />
== The Design ==<br />
<br />
We wanted a sensor shield like the ones use for the Arduino. In the Arduino's case, there's a limited amount of I/O lines The Beaglebone has many more I/O lines than the Arduino. We wanted to convert as many of the signals to 5V as we could possible fit on a board the size of a mint can. In particular, we wanted to convert the I2C bus as well as the UART lines to 5V. Also, we wanted to have a mix of 3.3V and 5V GVS signals. We also wanted to allow external connection to the analog inputs as we providing the analog reference voltage to run the analog input sensors.<br />
<br />
That translated into 2 parts which handle 8 I/O lines each. Putting these parts along with all the GVS connections we could possibly add resulted in our design.<br />
<br />
=== Voltage Translators ===<br />
<br />
The BBB-GVS board uses [http://www.ti.com/product/txs0108e Texas Instrument TXS0108] voltage translators.<br />
<br />
==== Voltage Translators Features ====<br />
<br />
*No Direction-Control Signal Needed<br />
*Max Data Rates <br />
**60 Mbps (Push Pull)<br />
**2 Mbps (Open Drain)<br />
*1.2 V to 3.6 V on A Port and 1.65 V to 5.5 V on<br />
*B Port (VCCA ≤ VCCB)<br />
*No Power-Supply Sequencing Required –<br />
**Either VCCA or VCCB Can Be Ramped First<br />
*Latch-Up Performance Exceeds 100 mA Per JESD 78, Class II<br />
*ESD Protection Exceeds JESD 22 (A Port)<br />
**2000-V Human-Body Model (A114-B)<br />
**150-V Machine Model (A115-A)<br />
**1000-V Charged-Device Model (C101)<br />
*IEC 61000-4-2 ESD (B Port)<br />
**±6-kV Air-Gap Discharge<br />
**±8-kV Contact Discharge<br />
<br />
==== Voltage Translators Architecture ====<br />
<br />
[http://www.ti.com/lit/ds/symlink/txs0108e.pdf Datasheet]<br />
<br />
The TXS0108E can be used in level-translation applications for interfacing devices or systems operating at different interface voltages with one another. The TXS0108E is ideal for use in applications where an open-drain driver is connected to the data I/Os. The TXS0108E can also be used in applications where a push-pull driver is connected to the data I/Os, but the TXB0104 might be a better option for such push-pull applications. The TXS0108E device is a semi-buffered auto-direction-sensing voltage translator design is optimized for translation applications (e.g. MMC Card Interfaces) that require the system to start out in a low-speed open-drain mode and then switch to a higher speed push-pull mode.<br />
<br />
[[File:TXS0108Arch.PNG]]<br />
<br />
To address these application requirements, a semi-buffered architecture design is used and is illustrated above (see Figure 1). Edge-rate accelerator circuitry (for both the high-to-low and low-to-high edges), a High-Ron n-channel pass-gate transistor (on the order of 300 Ω to 500 Ω) and pull-up resistors (to provide DC-bias and drive capabilities) are included to realize this solution. A direction-control signal (to control the direction of data flow from A to B or from B to A) is not needed. The resulting implementation supports both low-speed open-drain operation as well as high-speed push-pull operation.<br />
<br />
When transmitting data from A to B ports, during a rising edge the One-Shot (OS3) turns on the PMOS transistor (P2) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from A to B, the One-Shot (OS4) turns on NMOS transistor (N2) for a short-duration and this speeds up the high-to-low transition. The B-port edge-rate accelerator consists of one-shots OS3 and OS4, Transistors P2 and N2 and serves to rapidly force the B port high or low when a corresponding transition is detected on the A port.<br />
<br />
When transmitting data from B to A ports, during a rising edge the One-Shot (OS1) turns on the PMOS transistor (P1) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from B to A, the One-Shot (OS2) turns on NMOS transistor (N1) for a short-duration and this speeds up the high-to-low transition. The A-port edge-rate accelerator consists of one-shots OS1 and OS2, Transistors P1 and N1 components and form the edge-rate accelerator and serves to rapidly force the A port high or low when a corresponding transition is detected on the B port.<br />
<br />
== EEPROM connections ==<br />
<br />
[[File:BBB-GVS-V2-I2C2 -EEPROM.PNG]]<br />
<br />
== Beaglebone Black GVS Board Layout ==<br />
<br />
[[File:BBB-GVS-X3.PNG]]<br />
<br />
== Connectors ==<br />
<br />
=== J1-J7 ===<br />
<br />
Analog signals must be between 0 and 1.8V/<br />
<br />
J1-J7 pin 1 = P9-34 = GND_ADC<br />
<br />
J1-J7 pin 2 = P9-32 = BDD_ADC<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J1-3<br />
|P9_40<br />
|AIN1<br />
|-<br />
|J2-3<br />
|P9_38<br />
|AIN3<br />
|-<br />
|J3-3<br />
|P9_36<br />
|AIN5<br />
|-<br />
|J4-3<br />
|P9_33<br />
|AIN4<br />
|-<br />
|J5-3<br />
|P9_39<br />
|AIN0<br />
|-<br />
|J6-3<br />
|P9_37<br />
|AIN2<br />
|-<br />
|J7-3<br />
|P9_35<br />
|AIN6<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J1-J7.PNG]]<br />
<br />
=== J8-J11 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J8-3<br />
|P9_30<br />
|SPI_D1<br />
|-<br />
|J9-3<br />
|P9_27<br />
|GPIO3_19<br />
|-<br />
|J10-3<br />
|P9_23<br />
|GPIO1_17<br />
|-<br />
|J11-3<br />
|P9_24<br />
|UART1_TXD<br />
|-<br />
|J11-4<br />
|P9_26<br />
|UART1_RXD<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J8-J11.PNG]]<br />
<br />
=== J12-J16 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J12-3<br />
|P9_21<br />
|UART2TX<br />
|-<br />
|J12-4<br />
|P9_22<br />
|UART2RX<br />
|-<br />
|J13-3<br />
|P9_20<br />
|I2C1SDA<br />
|-<br />
|J13-4<br />
|P9_19<br />
|I2C1SCL<br />
|-<br />
|J14-3<br />
|P9_15<br />
|GPIO1_16<br />
|-<br />
|J15-3<br />
|P9_12<br />
|GPIO1_28<br />
|-<br />
|J16-3<br />
|P9_13<br />
|UART4TX<br />
|-<br />
|J16-4<br />
|P9_11<br />
|UART4RX<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J12-J16.PNG]]<br />
<br />
=== J17-J22 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J17-3<br />
|P8_26<br />
|GPIO1_29<br />
|-<br />
|J18-3<br />
|P8_19<br />
|EHRPWM2A<br />
|-<br />
|J19-3<br />
|P8_18<br />
|GPIO2_1<br />
|-<br />
|J20-3<br />
|P8_17<br />
|GP10_27<br />
|-<br />
|J21-3<br />
|P8_15<br />
|GPIO1_14<br />
|-<br />
|J22-3<br />
|P8_15<br />
|GPIO1_15<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J17-J22.PNG]]<br />
<br />
=== J23 ===<br />
<br />
Jumper 1-2 to power board from SYS_5V.<br />
<br />
Jumper 2-3 to power board from VDD_5V.<br />
<br />
[[File:BBB-GVS-X3-J23.PNG]]<br />
<br />
=== J24 ===<br />
<br />
EEPROM address A0, A1 selection jumper selectable.<br />
<br />
[[File:BBB-GVS-X3-J24.PNG]]<br />
<br />
=== J25-J29 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J25-3<br />
|P8_13<br />
|EHRPWM2B<br />
|-<br />
|J26-3<br />
|P8_14<br />
|GPIO0_26<br />
|-<br />
|J27-3<br />
|P8_11<br />
|GPIO1_13<br />
|-<br />
|J28-3<br />
|P8_12<br />
|GPIO1_12<br />
|-<br />
|J29-3<br />
|P8_9<br />
|TIMER5<br />
|-<br />
|}<br />
<br />
<br />
[[File:BBB-GVS-X3-J25-J29.PNG]]<br />
<br />
=== J30-J32 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J30-3<br />
|P8_<br />
|TIMER7<br />
|-<br />
|J31-3<br />
|P8_<br />
|TIMER4<br />
|-<br />
|J32-3<br />
|P8_<br />
|TIMER6<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J30-J32.PNG]]<br />
<br />
== Previous Revisions ==<br />
<br />
=== Revision X3 ===<br />
<br />
*Missing OE on U2<br />
**Add wire U2-2 to U2-10<br />
*Ref des have gaps = need resequencing<br />
*Need a write enable jumper<br />
<br />
=== Revision V2 ===<br />
<br />
[http://land-boards.com/blwiki/index.php?title=BBB-GVS-V2]<br />
<br />
== External Links ==<br />
<br />
* [http://papermint-designs.com/community/node/331 BBB I2C EEPROM programming]<br />
* [http://azkeller.com/blog/?p=62 EEPROM programming]</div>Land-boardshttps://elinux.org/index.php?title=BBB-GVS&diff=345266BBB-GVS2014-08-12T01:21:44Z<p>Land-boards: /* Beaglebone Black cape which provides 5V GVS connections */</p>
<hr />
<div>[https://www.kickstarter.com/projects/land-boards/33v-5v-gvs-cape-for-the-beaglebone Cape featured on kickstarter]<br />
<br />
[[File:BBB-GVS-X3-cca-01B.jpg]]<br />
<br />
== Beaglebone Black cape which provides 5V GVS connections ==<br />
<br />
We love the Beaglebone Black. With all of its I/O connections it offers exciting potential for embedded/connected devices. <br />
The two [http://elinux.org/BeagleBone_PRU_Notes PRU I/O Coprocessors] have potential for Input/Output that no other board in its class can offer. <br />
It even has real mounting holes which let the board be used for real-world applications.<br />
<br />
When we got our first Beaglebone Black we were ''excited'' to try it with some of our [https://solarbotics.com/product/39230/ Arduino GVS] (Ground/Voltage/Signal) sensors and GVS output devices but couldn't since they are all 5V sensors. Sure we could cobble together some level shifters on a breadboard but in the end we wouldn't have something that could be deployed in a real application What we really wanted was a 5V Sensor shield like the one we use for our Arduino. But there were none out there. So we designed one.<br />
<br />
Introducing the '''BBB-GVS cape'''.<br />
<br />
== Features ==<br />
<br />
Extensive I/O connections:<br />
<br />
*(5) 5V GPIOs: J14, J15, J26, J27, J28<br />
*(2) 5V UART connections (auto direction detection): J12, J16<br />
*(1) 5V I2C bus connections (auto direction detection): J13<br />
*(1) 5V PWM: J25<br />
*(4) 5V Timers: J29-J32 <br />
*(1) 3.3V UART: J11<br />
*(7) 3.3V GPIOs: J9, J10, J17, J19, J20, J21, J22<br />
*(1) 3.3V SPI_D1: J8<br />
*(1) 3.3V PWM: J18<br />
*(7) 1.8V analog GVS connections with analog reference voltage/ground: J1-J7<br />
*5V pins are all ESD protected pins with 15 kV of protection<br />
*Fuses on 5V and 3.3V power protect the Beaglebone from miswired sensors<br />
*Selectable 5V source (SYS_5V or VDD_5V) - J22<br />
*Cape configuration EEPROM with address select jumpers J24<br />
*Beaglebone Black form factor<br />
<br />
== Technical Overview ==<br />
<br />
In a nutshell, the 3.3V digital signals of the Beaglebone Black need to be changed into 5V digital signals. There are a number of discrete ways to convert 3.3V bus to 5V signals. Some of them use MOSFETs and a couple of resistors. These work OK but there are some powerful chips out there that can do the conversion even better.<br />
We looked around and found what we think is the best 3.3V<>5V data conversion chip, Texas Instrument's TXS0108. The TXS0108 is an 8-bit, bi-directional buffer with automatic direction detection. Each and every pin can transmit and receive independently and even at the same time. The part supports both open drain and push-pull operation. The part can run as fast as 60 Mb/s in push-pull operation and 2 Mb/s in open drain. This speed is fast enough enough for microprocessor GPIO pin or even the fastest serial interfaces that a microprocessor can throw at it.<br />
<br />
<br />
== What is GVS? ==<br />
<br />
GVS is great for prototyping or deploy-able products. The beauty of the GVS connection is that power and ground are provided with each I/O signal. That provides the power needed to power external sensors and output devices. Otherwise splitting the one or two power pins into separate cables ends up being a real mess.<br />
<br />
GVS stands for Ground, Voltage and Signal. It's a 3-pin unofficial standard. It uses 0.1" pitch pins. There are a large number of GVS sensors (inputs) and devices (output) parts on ebay. The sorts of GVS sensors include:<br />
<br />
*Buttons<br />
*Switches<br />
*Temperature sensors<br />
<br />
The sorts of GVS output devices include:<br />
<br />
*Relay modules (not always wired as GVS, but they typically require 5V).<br />
*Buzzers<br />
*Solenoids<br />
*Servos (require PWM output pin)<br />
<br />
To connect a GVS sensor to a GVS card, just use a 3-wire cable. <br />
<br />
Other Connections<br />
<br />
The Beaglebone Black also has I2C and UART connections. These allow various devices to be connected:<br />
<br />
*I2C Displays<br />
*I2C accelerometers, gyroscopes<br />
*UART GPS modules<br />
<br />
== The Design ==<br />
<br />
We wanted a sensor shield like the ones use for the Arduino. In the Arduino's case, there's a limited amount of I/O lines The Beaglebone has many more I/O lines than the Arduino. We wanted to convert as many of the signals to 5V as we could possible fit on a board the size of a mint can. In particular, we wanted to convert the I2C bus as well as the UART lines to 5V. Also, we wanted to have a mix of 3.3V and 5V GVS signals. We also wanted to allow external connection to the analog inputs as we providing the analog reference voltage to run the analog input sensors.<br />
<br />
That translated into 2 parts which handle 8 I/O lines each. Putting these parts along with all the GVS connections we could possibly add resulted in our design.<br />
<br />
=== Voltage Translators ===<br />
<br />
The BBB-GVS board uses [http://www.ti.com/product/txs0108e Texas Instrument TXS0108] voltage translators.<br />
<br />
==== Voltage Translators Features ====<br />
<br />
*No Direction-Control Signal Needed<br />
*Max Data Rates <br />
**60 Mbps (Push Pull)<br />
**2 Mbps (Open Drain)<br />
*1.2 V to 3.6 V on A Port and 1.65 V to 5.5 V on<br />
*B Port (VCCA ≤ VCCB)<br />
*No Power-Supply Sequencing Required –<br />
**Either VCCA or VCCB Can Be Ramped First<br />
*Latch-Up Performance Exceeds 100 mA Per JESD 78, Class II<br />
*ESD Protection Exceeds JESD 22 (A Port)<br />
**2000-V Human-Body Model (A114-B)<br />
**150-V Machine Model (A115-A)<br />
**1000-V Charged-Device Model (C101)<br />
*IEC 61000-4-2 ESD (B Port)<br />
**±6-kV Air-Gap Discharge<br />
**±8-kV Contact Discharge<br />
<br />
==== Voltage Translators Architecture ====<br />
<br />
[http://www.ti.com/lit/ds/symlink/txs0108e.pdf Datasheet]<br />
<br />
The TXS0108E can be used in level-translation applications for interfacing devices or systems operating at different interface voltages with one another. The TXS0108E is ideal for use in applications where an open-drain driver is connected to the data I/Os. The TXS0108E can also be used in applications where a push-pull driver is connected to the data I/Os, but the TXB0104 might be a better option for such push-pull applications. The TXS0108E device is a semi-buffered auto-direction-sensing voltage translator design is optimized for translation applications (e.g. MMC Card Interfaces) that require the system to start out in a low-speed open-drain mode and then switch to a higher speed push-pull mode.<br />
<br />
[[File:TXS0108Arch.PNG]]<br />
<br />
To address these application requirements, a semi-buffered architecture design is used and is illustrated above (see Figure 1). Edge-rate accelerator circuitry (for both the high-to-low and low-to-high edges), a High-Ron n-channel pass-gate transistor (on the order of 300 Ω to 500 Ω) and pull-up resistors (to provide DC-bias and drive capabilities) are included to realize this solution. A direction-control signal (to control the direction of data flow from A to B or from B to A) is not needed. The resulting implementation supports both low-speed open-drain operation as well as high-speed push-pull operation.<br />
<br />
When transmitting data from A to B ports, during a rising edge the One-Shot (OS3) turns on the PMOS transistor (P2) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from A to B, the One-Shot (OS4) turns on NMOS transistor (N2) for a short-duration and this speeds up the high-to-low transition. The B-port edge-rate accelerator consists of one-shots OS3 and OS4, Transistors P2 and N2 and serves to rapidly force the B port high or low when a corresponding transition is detected on the A port.<br />
<br />
When transmitting data from B to A ports, during a rising edge the One-Shot (OS1) turns on the PMOS transistor (P1) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from B to A, the One-Shot (OS2) turns on NMOS transistor (N1) for a short-duration and this speeds up the high-to-low transition. The A-port edge-rate accelerator consists of one-shots OS1 and OS2, Transistors P1 and N1 components and form the edge-rate accelerator and serves to rapidly force the A port high or low when a corresponding transition is detected on the B port.<br />
<br />
== EEPROM connections ==<br />
<br />
[[File:BBB-GVS-V2-I2C2 -EEPROM.PNG]]<br />
<br />
== Beaglebone Black GVS Board Layout ==<br />
<br />
[[File:BBB-GVS-X3.PNG]]<br />
<br />
== Connectors ==<br />
<br />
=== J1-J7 ===<br />
<br />
Analog signals must be between 0 and 1.8V/<br />
<br />
J1-J7 pin 1 = P9-34 = GND_ADC<br />
<br />
J1-J7 pin 2 = P9-32 = BDD_ADC<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J1-3<br />
|P9_40<br />
|AIN1<br />
|-<br />
|J2-3<br />
|P9_38<br />
|AIN3<br />
|-<br />
|J3-3<br />
|P9_36<br />
|AIN5<br />
|-<br />
|J4-3<br />
|P9_33<br />
|AIN4<br />
|-<br />
|J5-3<br />
|P9_39<br />
|AIN0<br />
|-<br />
|J6-3<br />
|P9_37<br />
|AIN2<br />
|-<br />
|J7-3<br />
|P9_35<br />
|AIN6<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J1-J7.PNG]]<br />
<br />
=== J8-J11 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J8-3<br />
|P9_30<br />
|SPI_D1<br />
|-<br />
|J9-3<br />
|P9_27<br />
|GPIO3_19<br />
|-<br />
|J10-3<br />
|P9_23<br />
|GPIO1_17<br />
|-<br />
|J11-3<br />
|P9_24<br />
|UART1_TXD<br />
|-<br />
|J11-4<br />
|P9_26<br />
|UART1_RXD<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J8-J11.PNG]]<br />
<br />
=== J12-J16 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J12-3<br />
|P9_21<br />
|UART2TX<br />
|-<br />
|J12-4<br />
|P9_22<br />
|UART2RX<br />
|-<br />
|J13-3<br />
|P9_20<br />
|I2C1SDA<br />
|-<br />
|J13-4<br />
|P9_19<br />
|I2C1SCL<br />
|-<br />
|J14-3<br />
|P9_15<br />
|GPIO1_16<br />
|-<br />
|J15-3<br />
|P9_12<br />
|GPIO1_28<br />
|-<br />
|J16-3<br />
|P9_13<br />
|UART4TX<br />
|-<br />
|J16-4<br />
|P9_11<br />
|UART4RX<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J12-J16.PNG]]<br />
<br />
=== J17-J22 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J17-3<br />
|P8_26<br />
|GPIO1_29<br />
|-<br />
|J18-3<br />
|P8_19<br />
|EHRPWM2A<br />
|-<br />
|J19-3<br />
|P8_18<br />
|GPIO2_1<br />
|-<br />
|J20-3<br />
|P8_17<br />
|GP10_27<br />
|-<br />
|J21-3<br />
|P8_15<br />
|GPIO1_14<br />
|-<br />
|J22-3<br />
|P8_15<br />
|GPIO1_15<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J17-J22.PNG]]<br />
<br />
=== J23 ===<br />
<br />
Jumper 1-2 to power board from SYS_5V.<br />
<br />
Jumper 2-3 to power board from VDD_5V.<br />
<br />
[[File:BBB-GVS-X3-J23.PNG]]<br />
<br />
=== J24 ===<br />
<br />
EEPROM address A0, A1 selection jumper selectable.<br />
<br />
[[File:BBB-GVS-X3-J24.PNG]]<br />
<br />
=== J25-J29 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J25-3<br />
|P8_13<br />
|EHRPWM2B<br />
|-<br />
|J26-3<br />
|P8_14<br />
|GPIO0_26<br />
|-<br />
|J27-3<br />
|P8_11<br />
|GPIO1_13<br />
|-<br />
|J28-3<br />
|P8_12<br />
|GPIO1_12<br />
|-<br />
|J29-3<br />
|P8_9<br />
|TIMER5<br />
|-<br />
|}<br />
<br />
<br />
[[File:BBB-GVS-X3-J25-J29.PNG]]<br />
<br />
=== J30-J32 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J30-3<br />
|P8_<br />
|TIMER7<br />
|-<br />
|J31-3<br />
|P8_<br />
|TIMER4<br />
|-<br />
|J32-3<br />
|P8_<br />
|TIMER6<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J30-J32.PNG]]<br />
<br />
== Previous Revisions ==<br />
<br />
=== Revision X3 ===<br />
<br />
*Missing OE on U2<br />
**Add wire U2-2 to U2-10<br />
*Ref des have gaps = need resequencing<br />
*Need a write enable jumper<br />
<br />
=== Revision V2 ===<br />
<br />
[http://land-boards.com/blwiki/index.php?title=BBB-GVS-V2]<br />
<br />
== External Links ==<br />
<br />
* [http://papermint-designs.com/community/node/331 BBB I2C EEPROM programming]<br />
* [http://azkeller.com/blog/?p=62 EEPROM programming]</div>Land-boardshttps://elinux.org/index.php?title=BBB-GVS&diff=345260BBB-GVS2014-08-12T01:20:57Z<p>Land-boards: /* Beaglebone Black cape which provides 5V GVS connections */</p>
<hr />
<div>[https://www.kickstarter.com/projects/land-boards/33v-5v-gvs-cape-for-the-beaglebone Cape featured on kickstarter]<br />
<br />
[[File:BBB-GVS-X3-cca-01B.jpg]]<br />
<br />
== Beaglebone Black cape which provides 5V GVS connections ==<br />
<br />
We love the Beaglebone Black. With all of its I/O connections it offers exciting potential for embedded/connected devices. <br />
The two [http://elinux.org/BeagleBone_PRU_Notes PRU I/O Coprocessors] have potential for Input/Output that no other board in its class can offer. <br />
It even has real mounting holes which let the board be used for real-world applications.<br />
<br />
When we got our first Beaglebone Black we were excited to try it with some of our [https://solarbotics.com/product/39230/ Arduino GVS] (Ground/Voltage/Signal) sensors and GVS output devices but couldn't since they are all 5V sensors. Sure we could cobble together some level shifters on a breadboard but in the end we wouldn't have something that could be deployed in a real application What we really wanted was a 5V Sensor shield like the one we use for our Arduino. But there were none out there. So we designed one.<br />
<br />
Introducing the '''BBB-GVS cape'''.<br />
<br />
== Features ==<br />
<br />
Extensive I/O connections:<br />
<br />
*(5) 5V GPIOs: J14, J15, J26, J27, J28<br />
*(2) 5V UART connections (auto direction detection): J12, J16<br />
*(1) 5V I2C bus connections (auto direction detection): J13<br />
*(1) 5V PWM: J25<br />
*(4) 5V Timers: J29-J32 <br />
*(1) 3.3V UART: J11<br />
*(7) 3.3V GPIOs: J9, J10, J17, J19, J20, J21, J22<br />
*(1) 3.3V SPI_D1: J8<br />
*(1) 3.3V PWM: J18<br />
*(7) 1.8V analog GVS connections with analog reference voltage/ground: J1-J7<br />
*5V pins are all ESD protected pins with 15 kV of protection<br />
*Fuses on 5V and 3.3V power protect the Beaglebone from miswired sensors<br />
*Selectable 5V source (SYS_5V or VDD_5V) - J22<br />
*Cape configuration EEPROM with address select jumpers J24<br />
*Beaglebone Black form factor<br />
<br />
== Technical Overview ==<br />
<br />
In a nutshell, the 3.3V digital signals of the Beaglebone Black need to be changed into 5V digital signals. There are a number of discrete ways to convert 3.3V bus to 5V signals. Some of them use MOSFETs and a couple of resistors. These work OK but there are some powerful chips out there that can do the conversion even better.<br />
We looked around and found what we think is the best 3.3V<>5V data conversion chip, Texas Instrument's TXS0108. The TXS0108 is an 8-bit, bi-directional buffer with automatic direction detection. Each and every pin can transmit and receive independently and even at the same time. The part supports both open drain and push-pull operation. The part can run as fast as 60 Mb/s in push-pull operation and 2 Mb/s in open drain. This speed is fast enough enough for microprocessor GPIO pin or even the fastest serial interfaces that a microprocessor can throw at it.<br />
<br />
<br />
== What is GVS? ==<br />
<br />
GVS is great for prototyping or deploy-able products. The beauty of the GVS connection is that power and ground are provided with each I/O signal. That provides the power needed to power external sensors and output devices. Otherwise splitting the one or two power pins into separate cables ends up being a real mess.<br />
<br />
GVS stands for Ground, Voltage and Signal. It's a 3-pin unofficial standard. It uses 0.1" pitch pins. There are a large number of GVS sensors (inputs) and devices (output) parts on ebay. The sorts of GVS sensors include:<br />
<br />
*Buttons<br />
*Switches<br />
*Temperature sensors<br />
<br />
The sorts of GVS output devices include:<br />
<br />
*Relay modules (not always wired as GVS, but they typically require 5V).<br />
*Buzzers<br />
*Solenoids<br />
*Servos (require PWM output pin)<br />
<br />
To connect a GVS sensor to a GVS card, just use a 3-wire cable. <br />
<br />
Other Connections<br />
<br />
The Beaglebone Black also has I2C and UART connections. These allow various devices to be connected:<br />
<br />
*I2C Displays<br />
*I2C accelerometers, gyroscopes<br />
*UART GPS modules<br />
<br />
== The Design ==<br />
<br />
We wanted a sensor shield like the ones use for the Arduino. In the Arduino's case, there's a limited amount of I/O lines The Beaglebone has many more I/O lines than the Arduino. We wanted to convert as many of the signals to 5V as we could possible fit on a board the size of a mint can. In particular, we wanted to convert the I2C bus as well as the UART lines to 5V. Also, we wanted to have a mix of 3.3V and 5V GVS signals. We also wanted to allow external connection to the analog inputs as we providing the analog reference voltage to run the analog input sensors.<br />
<br />
That translated into 2 parts which handle 8 I/O lines each. Putting these parts along with all the GVS connections we could possibly add resulted in our design.<br />
<br />
=== Voltage Translators ===<br />
<br />
The BBB-GVS board uses [http://www.ti.com/product/txs0108e Texas Instrument TXS0108] voltage translators.<br />
<br />
==== Voltage Translators Features ====<br />
<br />
*No Direction-Control Signal Needed<br />
*Max Data Rates <br />
**60 Mbps (Push Pull)<br />
**2 Mbps (Open Drain)<br />
*1.2 V to 3.6 V on A Port and 1.65 V to 5.5 V on<br />
*B Port (VCCA ≤ VCCB)<br />
*No Power-Supply Sequencing Required –<br />
**Either VCCA or VCCB Can Be Ramped First<br />
*Latch-Up Performance Exceeds 100 mA Per JESD 78, Class II<br />
*ESD Protection Exceeds JESD 22 (A Port)<br />
**2000-V Human-Body Model (A114-B)<br />
**150-V Machine Model (A115-A)<br />
**1000-V Charged-Device Model (C101)<br />
*IEC 61000-4-2 ESD (B Port)<br />
**±6-kV Air-Gap Discharge<br />
**±8-kV Contact Discharge<br />
<br />
==== Voltage Translators Architecture ====<br />
<br />
[http://www.ti.com/lit/ds/symlink/txs0108e.pdf Datasheet]<br />
<br />
The TXS0108E can be used in level-translation applications for interfacing devices or systems operating at different interface voltages with one another. The TXS0108E is ideal for use in applications where an open-drain driver is connected to the data I/Os. The TXS0108E can also be used in applications where a push-pull driver is connected to the data I/Os, but the TXB0104 might be a better option for such push-pull applications. The TXS0108E device is a semi-buffered auto-direction-sensing voltage translator design is optimized for translation applications (e.g. MMC Card Interfaces) that require the system to start out in a low-speed open-drain mode and then switch to a higher speed push-pull mode.<br />
<br />
[[File:TXS0108Arch.PNG]]<br />
<br />
To address these application requirements, a semi-buffered architecture design is used and is illustrated above (see Figure 1). Edge-rate accelerator circuitry (for both the high-to-low and low-to-high edges), a High-Ron n-channel pass-gate transistor (on the order of 300 Ω to 500 Ω) and pull-up resistors (to provide DC-bias and drive capabilities) are included to realize this solution. A direction-control signal (to control the direction of data flow from A to B or from B to A) is not needed. The resulting implementation supports both low-speed open-drain operation as well as high-speed push-pull operation.<br />
<br />
When transmitting data from A to B ports, during a rising edge the One-Shot (OS3) turns on the PMOS transistor (P2) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from A to B, the One-Shot (OS4) turns on NMOS transistor (N2) for a short-duration and this speeds up the high-to-low transition. The B-port edge-rate accelerator consists of one-shots OS3 and OS4, Transistors P2 and N2 and serves to rapidly force the B port high or low when a corresponding transition is detected on the A port.<br />
<br />
When transmitting data from B to A ports, during a rising edge the One-Shot (OS1) turns on the PMOS transistor (P1) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from B to A, the One-Shot (OS2) turns on NMOS transistor (N1) for a short-duration and this speeds up the high-to-low transition. The A-port edge-rate accelerator consists of one-shots OS1 and OS2, Transistors P1 and N1 components and form the edge-rate accelerator and serves to rapidly force the A port high or low when a corresponding transition is detected on the B port.<br />
<br />
== EEPROM connections ==<br />
<br />
[[File:BBB-GVS-V2-I2C2 -EEPROM.PNG]]<br />
<br />
== Beaglebone Black GVS Board Layout ==<br />
<br />
[[File:BBB-GVS-X3.PNG]]<br />
<br />
== Connectors ==<br />
<br />
=== J1-J7 ===<br />
<br />
Analog signals must be between 0 and 1.8V/<br />
<br />
J1-J7 pin 1 = P9-34 = GND_ADC<br />
<br />
J1-J7 pin 2 = P9-32 = BDD_ADC<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J1-3<br />
|P9_40<br />
|AIN1<br />
|-<br />
|J2-3<br />
|P9_38<br />
|AIN3<br />
|-<br />
|J3-3<br />
|P9_36<br />
|AIN5<br />
|-<br />
|J4-3<br />
|P9_33<br />
|AIN4<br />
|-<br />
|J5-3<br />
|P9_39<br />
|AIN0<br />
|-<br />
|J6-3<br />
|P9_37<br />
|AIN2<br />
|-<br />
|J7-3<br />
|P9_35<br />
|AIN6<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J1-J7.PNG]]<br />
<br />
=== J8-J11 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J8-3<br />
|P9_30<br />
|SPI_D1<br />
|-<br />
|J9-3<br />
|P9_27<br />
|GPIO3_19<br />
|-<br />
|J10-3<br />
|P9_23<br />
|GPIO1_17<br />
|-<br />
|J11-3<br />
|P9_24<br />
|UART1_TXD<br />
|-<br />
|J11-4<br />
|P9_26<br />
|UART1_RXD<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J8-J11.PNG]]<br />
<br />
=== J12-J16 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J12-3<br />
|P9_21<br />
|UART2TX<br />
|-<br />
|J12-4<br />
|P9_22<br />
|UART2RX<br />
|-<br />
|J13-3<br />
|P9_20<br />
|I2C1SDA<br />
|-<br />
|J13-4<br />
|P9_19<br />
|I2C1SCL<br />
|-<br />
|J14-3<br />
|P9_15<br />
|GPIO1_16<br />
|-<br />
|J15-3<br />
|P9_12<br />
|GPIO1_28<br />
|-<br />
|J16-3<br />
|P9_13<br />
|UART4TX<br />
|-<br />
|J16-4<br />
|P9_11<br />
|UART4RX<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J12-J16.PNG]]<br />
<br />
=== J17-J22 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J17-3<br />
|P8_26<br />
|GPIO1_29<br />
|-<br />
|J18-3<br />
|P8_19<br />
|EHRPWM2A<br />
|-<br />
|J19-3<br />
|P8_18<br />
|GPIO2_1<br />
|-<br />
|J20-3<br />
|P8_17<br />
|GP10_27<br />
|-<br />
|J21-3<br />
|P8_15<br />
|GPIO1_14<br />
|-<br />
|J22-3<br />
|P8_15<br />
|GPIO1_15<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J17-J22.PNG]]<br />
<br />
=== J23 ===<br />
<br />
Jumper 1-2 to power board from SYS_5V.<br />
<br />
Jumper 2-3 to power board from VDD_5V.<br />
<br />
[[File:BBB-GVS-X3-J23.PNG]]<br />
<br />
=== J24 ===<br />
<br />
EEPROM address A0, A1 selection jumper selectable.<br />
<br />
[[File:BBB-GVS-X3-J24.PNG]]<br />
<br />
=== J25-J29 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J25-3<br />
|P8_13<br />
|EHRPWM2B<br />
|-<br />
|J26-3<br />
|P8_14<br />
|GPIO0_26<br />
|-<br />
|J27-3<br />
|P8_11<br />
|GPIO1_13<br />
|-<br />
|J28-3<br />
|P8_12<br />
|GPIO1_12<br />
|-<br />
|J29-3<br />
|P8_9<br />
|TIMER5<br />
|-<br />
|}<br />
<br />
<br />
[[File:BBB-GVS-X3-J25-J29.PNG]]<br />
<br />
=== J30-J32 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J30-3<br />
|P8_<br />
|TIMER7<br />
|-<br />
|J31-3<br />
|P8_<br />
|TIMER4<br />
|-<br />
|J32-3<br />
|P8_<br />
|TIMER6<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J30-J32.PNG]]<br />
<br />
== Previous Revisions ==<br />
<br />
=== Revision X3 ===<br />
<br />
*Missing OE on U2<br />
**Add wire U2-2 to U2-10<br />
*Ref des have gaps = need resequencing<br />
*Need a write enable jumper<br />
<br />
=== Revision V2 ===<br />
<br />
[http://land-boards.com/blwiki/index.php?title=BBB-GVS-V2]<br />
<br />
== External Links ==<br />
<br />
* [http://papermint-designs.com/community/node/331 BBB I2C EEPROM programming]<br />
* [http://azkeller.com/blog/?p=62 EEPROM programming]</div>Land-boardshttps://elinux.org/index.php?title=BBB-GVS&diff=345254BBB-GVS2014-08-12T01:14:36Z<p>Land-boards: </p>
<hr />
<div>[https://www.kickstarter.com/projects/land-boards/33v-5v-gvs-cape-for-the-beaglebone Cape featured on kickstarter]<br />
<br />
[[File:BBB-GVS-X3-cca-01B.jpg]]<br />
<br />
== Beaglebone Black cape which provides 5V GVS connections ==<br />
<br />
We love the Beaglebone Black. With all of its I/O connections it offers exciting potential for embedded/connected devices. It even has real mounting holes which let the board be used for real-world applications.<br />
<br />
When we got our first Beaglebone Black we were excited to try it with some of our [https://solarbotics.com/product/39230/ Arduino GVS] (Ground/Voltage/Signal) sensors and GVS output devices but couldn't since they are all 5V sensors. Sure we could cobble together some level shifters on a breadboard but in the end we wouldn't have something that could be deployed in a real application What we really wanted was a 5V Sensor shield like the one we use for our Arduino. But there were none out there. So we designed one.<br />
<br />
Introducing the '''BBB-GVS cape'''.<br />
<br />
== Features ==<br />
<br />
Extensive I/O connections:<br />
<br />
*(5) 5V GPIOs: J14, J15, J26, J27, J28<br />
*(2) 5V UART connections (auto direction detection): J12, J16<br />
*(1) 5V I2C bus connections (auto direction detection): J13<br />
*(1) 5V PWM: J25<br />
*(4) 5V Timers: J29-J32 <br />
*(1) 3.3V UART: J11<br />
*(7) 3.3V GPIOs: J9, J10, J17, J19, J20, J21, J22<br />
*(1) 3.3V SPI_D1: J8<br />
*(1) 3.3V PWM: J18<br />
*(7) 1.8V analog GVS connections with analog reference voltage/ground: J1-J7<br />
*5V pins are all ESD protected pins with 15 kV of protection<br />
*Fuses on 5V and 3.3V power protect the Beaglebone from miswired sensors<br />
*Selectable 5V source (SYS_5V or VDD_5V) - J22<br />
*Cape configuration EEPROM with address select jumpers J24<br />
*Beaglebone Black form factor<br />
<br />
== Technical Overview ==<br />
<br />
In a nutshell, the 3.3V digital signals of the Beaglebone Black need to be changed into 5V digital signals. There are a number of discrete ways to convert 3.3V bus to 5V signals. Some of them use MOSFETs and a couple of resistors. These work OK but there are some powerful chips out there that can do the conversion even better.<br />
We looked around and found what we think is the best 3.3V<>5V data conversion chip, Texas Instrument's TXS0108. The TXS0108 is an 8-bit, bi-directional buffer with automatic direction detection. Each and every pin can transmit and receive independently and even at the same time. The part supports both open drain and push-pull operation. The part can run as fast as 60 Mb/s in push-pull operation and 2 Mb/s in open drain. This speed is fast enough enough for microprocessor GPIO pin or even the fastest serial interfaces that a microprocessor can throw at it.<br />
<br />
<br />
== What is GVS? ==<br />
<br />
GVS is great for prototyping or deploy-able products. The beauty of the GVS connection is that power and ground are provided with each I/O signal. That provides the power needed to power external sensors and output devices. Otherwise splitting the one or two power pins into separate cables ends up being a real mess.<br />
<br />
GVS stands for Ground, Voltage and Signal. It's a 3-pin unofficial standard. It uses 0.1" pitch pins. There are a large number of GVS sensors (inputs) and devices (output) parts on ebay. The sorts of GVS sensors include:<br />
<br />
*Buttons<br />
*Switches<br />
*Temperature sensors<br />
<br />
The sorts of GVS output devices include:<br />
<br />
*Relay modules (not always wired as GVS, but they typically require 5V).<br />
*Buzzers<br />
*Solenoids<br />
*Servos (require PWM output pin)<br />
<br />
To connect a GVS sensor to a GVS card, just use a 3-wire cable. <br />
<br />
Other Connections<br />
<br />
The Beaglebone Black also has I2C and UART connections. These allow various devices to be connected:<br />
<br />
*I2C Displays<br />
*I2C accelerometers, gyroscopes<br />
*UART GPS modules<br />
<br />
== The Design ==<br />
<br />
We wanted a sensor shield like the ones use for the Arduino. In the Arduino's case, there's a limited amount of I/O lines The Beaglebone has many more I/O lines than the Arduino. We wanted to convert as many of the signals to 5V as we could possible fit on a board the size of a mint can. In particular, we wanted to convert the I2C bus as well as the UART lines to 5V. Also, we wanted to have a mix of 3.3V and 5V GVS signals. We also wanted to allow external connection to the analog inputs as we providing the analog reference voltage to run the analog input sensors.<br />
<br />
That translated into 2 parts which handle 8 I/O lines each. Putting these parts along with all the GVS connections we could possibly add resulted in our design.<br />
<br />
=== Voltage Translators ===<br />
<br />
The BBB-GVS board uses [http://www.ti.com/product/txs0108e Texas Instrument TXS0108] voltage translators.<br />
<br />
==== Voltage Translators Features ====<br />
<br />
*No Direction-Control Signal Needed<br />
*Max Data Rates <br />
**60 Mbps (Push Pull)<br />
**2 Mbps (Open Drain)<br />
*1.2 V to 3.6 V on A Port and 1.65 V to 5.5 V on<br />
*B Port (VCCA ≤ VCCB)<br />
*No Power-Supply Sequencing Required –<br />
**Either VCCA or VCCB Can Be Ramped First<br />
*Latch-Up Performance Exceeds 100 mA Per JESD 78, Class II<br />
*ESD Protection Exceeds JESD 22 (A Port)<br />
**2000-V Human-Body Model (A114-B)<br />
**150-V Machine Model (A115-A)<br />
**1000-V Charged-Device Model (C101)<br />
*IEC 61000-4-2 ESD (B Port)<br />
**±6-kV Air-Gap Discharge<br />
**±8-kV Contact Discharge<br />
<br />
==== Voltage Translators Architecture ====<br />
<br />
[http://www.ti.com/lit/ds/symlink/txs0108e.pdf Datasheet]<br />
<br />
The TXS0108E can be used in level-translation applications for interfacing devices or systems operating at different interface voltages with one another. The TXS0108E is ideal for use in applications where an open-drain driver is connected to the data I/Os. The TXS0108E can also be used in applications where a push-pull driver is connected to the data I/Os, but the TXB0104 might be a better option for such push-pull applications. The TXS0108E device is a semi-buffered auto-direction-sensing voltage translator design is optimized for translation applications (e.g. MMC Card Interfaces) that require the system to start out in a low-speed open-drain mode and then switch to a higher speed push-pull mode.<br />
<br />
[[File:TXS0108Arch.PNG]]<br />
<br />
To address these application requirements, a semi-buffered architecture design is used and is illustrated above (see Figure 1). Edge-rate accelerator circuitry (for both the high-to-low and low-to-high edges), a High-Ron n-channel pass-gate transistor (on the order of 300 Ω to 500 Ω) and pull-up resistors (to provide DC-bias and drive capabilities) are included to realize this solution. A direction-control signal (to control the direction of data flow from A to B or from B to A) is not needed. The resulting implementation supports both low-speed open-drain operation as well as high-speed push-pull operation.<br />
<br />
When transmitting data from A to B ports, during a rising edge the One-Shot (OS3) turns on the PMOS transistor (P2) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from A to B, the One-Shot (OS4) turns on NMOS transistor (N2) for a short-duration and this speeds up the high-to-low transition. The B-port edge-rate accelerator consists of one-shots OS3 and OS4, Transistors P2 and N2 and serves to rapidly force the B port high or low when a corresponding transition is detected on the A port.<br />
<br />
When transmitting data from B to A ports, during a rising edge the One-Shot (OS1) turns on the PMOS transistor (P1) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from B to A, the One-Shot (OS2) turns on NMOS transistor (N1) for a short-duration and this speeds up the high-to-low transition. The A-port edge-rate accelerator consists of one-shots OS1 and OS2, Transistors P1 and N1 components and form the edge-rate accelerator and serves to rapidly force the A port high or low when a corresponding transition is detected on the B port.<br />
<br />
== EEPROM connections ==<br />
<br />
[[File:BBB-GVS-V2-I2C2 -EEPROM.PNG]]<br />
<br />
== Beaglebone Black GVS Board Layout ==<br />
<br />
[[File:BBB-GVS-X3.PNG]]<br />
<br />
== Connectors ==<br />
<br />
=== J1-J7 ===<br />
<br />
Analog signals must be between 0 and 1.8V/<br />
<br />
J1-J7 pin 1 = P9-34 = GND_ADC<br />
<br />
J1-J7 pin 2 = P9-32 = BDD_ADC<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J1-3<br />
|P9_40<br />
|AIN1<br />
|-<br />
|J2-3<br />
|P9_38<br />
|AIN3<br />
|-<br />
|J3-3<br />
|P9_36<br />
|AIN5<br />
|-<br />
|J4-3<br />
|P9_33<br />
|AIN4<br />
|-<br />
|J5-3<br />
|P9_39<br />
|AIN0<br />
|-<br />
|J6-3<br />
|P9_37<br />
|AIN2<br />
|-<br />
|J7-3<br />
|P9_35<br />
|AIN6<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J1-J7.PNG]]<br />
<br />
=== J8-J11 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J8-3<br />
|P9_30<br />
|SPI_D1<br />
|-<br />
|J9-3<br />
|P9_27<br />
|GPIO3_19<br />
|-<br />
|J10-3<br />
|P9_23<br />
|GPIO1_17<br />
|-<br />
|J11-3<br />
|P9_24<br />
|UART1_TXD<br />
|-<br />
|J11-4<br />
|P9_26<br />
|UART1_RXD<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J8-J11.PNG]]<br />
<br />
=== J12-J16 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J12-3<br />
|P9_21<br />
|UART2TX<br />
|-<br />
|J12-4<br />
|P9_22<br />
|UART2RX<br />
|-<br />
|J13-3<br />
|P9_20<br />
|I2C1SDA<br />
|-<br />
|J13-4<br />
|P9_19<br />
|I2C1SCL<br />
|-<br />
|J14-3<br />
|P9_15<br />
|GPIO1_16<br />
|-<br />
|J15-3<br />
|P9_12<br />
|GPIO1_28<br />
|-<br />
|J16-3<br />
|P9_13<br />
|UART4TX<br />
|-<br />
|J16-4<br />
|P9_11<br />
|UART4RX<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J12-J16.PNG]]<br />
<br />
=== J17-J22 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J17-3<br />
|P8_26<br />
|GPIO1_29<br />
|-<br />
|J18-3<br />
|P8_19<br />
|EHRPWM2A<br />
|-<br />
|J19-3<br />
|P8_18<br />
|GPIO2_1<br />
|-<br />
|J20-3<br />
|P8_17<br />
|GP10_27<br />
|-<br />
|J21-3<br />
|P8_15<br />
|GPIO1_14<br />
|-<br />
|J22-3<br />
|P8_15<br />
|GPIO1_15<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J17-J22.PNG]]<br />
<br />
=== J23 ===<br />
<br />
Jumper 1-2 to power board from SYS_5V.<br />
<br />
Jumper 2-3 to power board from VDD_5V.<br />
<br />
[[File:BBB-GVS-X3-J23.PNG]]<br />
<br />
=== J24 ===<br />
<br />
EEPROM address A0, A1 selection jumper selectable.<br />
<br />
[[File:BBB-GVS-X3-J24.PNG]]<br />
<br />
=== J25-J29 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J25-3<br />
|P8_13<br />
|EHRPWM2B<br />
|-<br />
|J26-3<br />
|P8_14<br />
|GPIO0_26<br />
|-<br />
|J27-3<br />
|P8_11<br />
|GPIO1_13<br />
|-<br />
|J28-3<br />
|P8_12<br />
|GPIO1_12<br />
|-<br />
|J29-3<br />
|P8_9<br />
|TIMER5<br />
|-<br />
|}<br />
<br />
<br />
[[File:BBB-GVS-X3-J25-J29.PNG]]<br />
<br />
=== J30-J32 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J30-3<br />
|P8_<br />
|TIMER7<br />
|-<br />
|J31-3<br />
|P8_<br />
|TIMER4<br />
|-<br />
|J32-3<br />
|P8_<br />
|TIMER6<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J30-J32.PNG]]<br />
<br />
== Previous Revisions ==<br />
<br />
=== Revision X3 ===<br />
<br />
*Missing OE on U2<br />
**Add wire U2-2 to U2-10<br />
*Ref des have gaps = need resequencing<br />
*Need a write enable jumper<br />
<br />
=== Revision V2 ===<br />
<br />
[http://land-boards.com/blwiki/index.php?title=BBB-GVS-V2]<br />
<br />
== External Links ==<br />
<br />
* [http://papermint-designs.com/community/node/331 BBB I2C EEPROM programming]<br />
* [http://azkeller.com/blog/?p=62 EEPROM programming]</div>Land-boardshttps://elinux.org/index.php?title=BBB-GVS&diff=345248BBB-GVS2014-08-12T01:14:11Z<p>Land-boards: </p>
<hr />
<div>[https://www.kickstarter.com/projects/land-boards/33v-5v-gvs-cape-for-the-beaglebone Board featured on kickstarter]<br />
<br />
[[File:BBB-GVS-X3-cca-01B.jpg]]<br />
<br />
== Beaglebone Black cape which provides 5V GVS connections ==<br />
<br />
We love the Beaglebone Black. With all of its I/O connections it offers exciting potential for embedded/connected devices. It even has real mounting holes which let the board be used for real-world applications.<br />
<br />
When we got our first Beaglebone Black we were excited to try it with some of our [https://solarbotics.com/product/39230/ Arduino GVS] (Ground/Voltage/Signal) sensors and GVS output devices but couldn't since they are all 5V sensors. Sure we could cobble together some level shifters on a breadboard but in the end we wouldn't have something that could be deployed in a real application What we really wanted was a 5V Sensor shield like the one we use for our Arduino. But there were none out there. So we designed one.<br />
<br />
Introducing the '''BBB-GVS cape'''.<br />
<br />
== Features ==<br />
<br />
Extensive I/O connections:<br />
<br />
*(5) 5V GPIOs: J14, J15, J26, J27, J28<br />
*(2) 5V UART connections (auto direction detection): J12, J16<br />
*(1) 5V I2C bus connections (auto direction detection): J13<br />
*(1) 5V PWM: J25<br />
*(4) 5V Timers: J29-J32 <br />
*(1) 3.3V UART: J11<br />
*(7) 3.3V GPIOs: J9, J10, J17, J19, J20, J21, J22<br />
*(1) 3.3V SPI_D1: J8<br />
*(1) 3.3V PWM: J18<br />
*(7) 1.8V analog GVS connections with analog reference voltage/ground: J1-J7<br />
*5V pins are all ESD protected pins with 15 kV of protection<br />
*Fuses on 5V and 3.3V power protect the Beaglebone from miswired sensors<br />
*Selectable 5V source (SYS_5V or VDD_5V) - J22<br />
*Cape configuration EEPROM with address select jumpers J24<br />
*Beaglebone Black form factor<br />
<br />
== Technical Overview ==<br />
<br />
In a nutshell, the 3.3V digital signals of the Beaglebone Black need to be changed into 5V digital signals. There are a number of discrete ways to convert 3.3V bus to 5V signals. Some of them use MOSFETs and a couple of resistors. These work OK but there are some powerful chips out there that can do the conversion even better.<br />
We looked around and found what we think is the best 3.3V<>5V data conversion chip, Texas Instrument's TXS0108. The TXS0108 is an 8-bit, bi-directional buffer with automatic direction detection. Each and every pin can transmit and receive independently and even at the same time. The part supports both open drain and push-pull operation. The part can run as fast as 60 Mb/s in push-pull operation and 2 Mb/s in open drain. This speed is fast enough enough for microprocessor GPIO pin or even the fastest serial interfaces that a microprocessor can throw at it.<br />
<br />
<br />
== What is GVS? ==<br />
<br />
GVS is great for prototyping or deploy-able products. The beauty of the GVS connection is that power and ground are provided with each I/O signal. That provides the power needed to power external sensors and output devices. Otherwise splitting the one or two power pins into separate cables ends up being a real mess.<br />
<br />
GVS stands for Ground, Voltage and Signal. It's a 3-pin unofficial standard. It uses 0.1" pitch pins. There are a large number of GVS sensors (inputs) and devices (output) parts on ebay. The sorts of GVS sensors include:<br />
<br />
*Buttons<br />
*Switches<br />
*Temperature sensors<br />
<br />
The sorts of GVS output devices include:<br />
<br />
*Relay modules (not always wired as GVS, but they typically require 5V).<br />
*Buzzers<br />
*Solenoids<br />
*Servos (require PWM output pin)<br />
<br />
To connect a GVS sensor to a GVS card, just use a 3-wire cable. <br />
<br />
Other Connections<br />
<br />
The Beaglebone Black also has I2C and UART connections. These allow various devices to be connected:<br />
<br />
*I2C Displays<br />
*I2C accelerometers, gyroscopes<br />
*UART GPS modules<br />
<br />
== The Design ==<br />
<br />
We wanted a sensor shield like the ones use for the Arduino. In the Arduino's case, there's a limited amount of I/O lines The Beaglebone has many more I/O lines than the Arduino. We wanted to convert as many of the signals to 5V as we could possible fit on a board the size of a mint can. In particular, we wanted to convert the I2C bus as well as the UART lines to 5V. Also, we wanted to have a mix of 3.3V and 5V GVS signals. We also wanted to allow external connection to the analog inputs as we providing the analog reference voltage to run the analog input sensors.<br />
<br />
That translated into 2 parts which handle 8 I/O lines each. Putting these parts along with all the GVS connections we could possibly add resulted in our design.<br />
<br />
=== Voltage Translators ===<br />
<br />
The BBB-GVS board uses [http://www.ti.com/product/txs0108e Texas Instrument TXS0108] voltage translators.<br />
<br />
==== Voltage Translators Features ====<br />
<br />
*No Direction-Control Signal Needed<br />
*Max Data Rates <br />
**60 Mbps (Push Pull)<br />
**2 Mbps (Open Drain)<br />
*1.2 V to 3.6 V on A Port and 1.65 V to 5.5 V on<br />
*B Port (VCCA ≤ VCCB)<br />
*No Power-Supply Sequencing Required –<br />
**Either VCCA or VCCB Can Be Ramped First<br />
*Latch-Up Performance Exceeds 100 mA Per JESD 78, Class II<br />
*ESD Protection Exceeds JESD 22 (A Port)<br />
**2000-V Human-Body Model (A114-B)<br />
**150-V Machine Model (A115-A)<br />
**1000-V Charged-Device Model (C101)<br />
*IEC 61000-4-2 ESD (B Port)<br />
**±6-kV Air-Gap Discharge<br />
**±8-kV Contact Discharge<br />
<br />
==== Voltage Translators Architecture ====<br />
<br />
[http://www.ti.com/lit/ds/symlink/txs0108e.pdf Datasheet]<br />
<br />
The TXS0108E can be used in level-translation applications for interfacing devices or systems operating at different interface voltages with one another. The TXS0108E is ideal for use in applications where an open-drain driver is connected to the data I/Os. The TXS0108E can also be used in applications where a push-pull driver is connected to the data I/Os, but the TXB0104 might be a better option for such push-pull applications. The TXS0108E device is a semi-buffered auto-direction-sensing voltage translator design is optimized for translation applications (e.g. MMC Card Interfaces) that require the system to start out in a low-speed open-drain mode and then switch to a higher speed push-pull mode.<br />
<br />
[[File:TXS0108Arch.PNG]]<br />
<br />
To address these application requirements, a semi-buffered architecture design is used and is illustrated above (see Figure 1). Edge-rate accelerator circuitry (for both the high-to-low and low-to-high edges), a High-Ron n-channel pass-gate transistor (on the order of 300 Ω to 500 Ω) and pull-up resistors (to provide DC-bias and drive capabilities) are included to realize this solution. A direction-control signal (to control the direction of data flow from A to B or from B to A) is not needed. The resulting implementation supports both low-speed open-drain operation as well as high-speed push-pull operation.<br />
<br />
When transmitting data from A to B ports, during a rising edge the One-Shot (OS3) turns on the PMOS transistor (P2) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from A to B, the One-Shot (OS4) turns on NMOS transistor (N2) for a short-duration and this speeds up the high-to-low transition. The B-port edge-rate accelerator consists of one-shots OS3 and OS4, Transistors P2 and N2 and serves to rapidly force the B port high or low when a corresponding transition is detected on the A port.<br />
<br />
When transmitting data from B to A ports, during a rising edge the One-Shot (OS1) turns on the PMOS transistor (P1) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from B to A, the One-Shot (OS2) turns on NMOS transistor (N1) for a short-duration and this speeds up the high-to-low transition. The A-port edge-rate accelerator consists of one-shots OS1 and OS2, Transistors P1 and N1 components and form the edge-rate accelerator and serves to rapidly force the A port high or low when a corresponding transition is detected on the B port.<br />
<br />
== EEPROM connections ==<br />
<br />
[[File:BBB-GVS-V2-I2C2 -EEPROM.PNG]]<br />
<br />
== Beaglebone Black GVS Board Layout ==<br />
<br />
[[File:BBB-GVS-X3.PNG]]<br />
<br />
== Connectors ==<br />
<br />
=== J1-J7 ===<br />
<br />
Analog signals must be between 0 and 1.8V/<br />
<br />
J1-J7 pin 1 = P9-34 = GND_ADC<br />
<br />
J1-J7 pin 2 = P9-32 = BDD_ADC<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J1-3<br />
|P9_40<br />
|AIN1<br />
|-<br />
|J2-3<br />
|P9_38<br />
|AIN3<br />
|-<br />
|J3-3<br />
|P9_36<br />
|AIN5<br />
|-<br />
|J4-3<br />
|P9_33<br />
|AIN4<br />
|-<br />
|J5-3<br />
|P9_39<br />
|AIN0<br />
|-<br />
|J6-3<br />
|P9_37<br />
|AIN2<br />
|-<br />
|J7-3<br />
|P9_35<br />
|AIN6<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J1-J7.PNG]]<br />
<br />
=== J8-J11 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J8-3<br />
|P9_30<br />
|SPI_D1<br />
|-<br />
|J9-3<br />
|P9_27<br />
|GPIO3_19<br />
|-<br />
|J10-3<br />
|P9_23<br />
|GPIO1_17<br />
|-<br />
|J11-3<br />
|P9_24<br />
|UART1_TXD<br />
|-<br />
|J11-4<br />
|P9_26<br />
|UART1_RXD<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J8-J11.PNG]]<br />
<br />
=== J12-J16 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J12-3<br />
|P9_21<br />
|UART2TX<br />
|-<br />
|J12-4<br />
|P9_22<br />
|UART2RX<br />
|-<br />
|J13-3<br />
|P9_20<br />
|I2C1SDA<br />
|-<br />
|J13-4<br />
|P9_19<br />
|I2C1SCL<br />
|-<br />
|J14-3<br />
|P9_15<br />
|GPIO1_16<br />
|-<br />
|J15-3<br />
|P9_12<br />
|GPIO1_28<br />
|-<br />
|J16-3<br />
|P9_13<br />
|UART4TX<br />
|-<br />
|J16-4<br />
|P9_11<br />
|UART4RX<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J12-J16.PNG]]<br />
<br />
=== J17-J22 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J17-3<br />
|P8_26<br />
|GPIO1_29<br />
|-<br />
|J18-3<br />
|P8_19<br />
|EHRPWM2A<br />
|-<br />
|J19-3<br />
|P8_18<br />
|GPIO2_1<br />
|-<br />
|J20-3<br />
|P8_17<br />
|GP10_27<br />
|-<br />
|J21-3<br />
|P8_15<br />
|GPIO1_14<br />
|-<br />
|J22-3<br />
|P8_15<br />
|GPIO1_15<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J17-J22.PNG]]<br />
<br />
=== J23 ===<br />
<br />
Jumper 1-2 to power board from SYS_5V.<br />
<br />
Jumper 2-3 to power board from VDD_5V.<br />
<br />
[[File:BBB-GVS-X3-J23.PNG]]<br />
<br />
=== J24 ===<br />
<br />
EEPROM address A0, A1 selection jumper selectable.<br />
<br />
[[File:BBB-GVS-X3-J24.PNG]]<br />
<br />
=== J25-J29 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J25-3<br />
|P8_13<br />
|EHRPWM2B<br />
|-<br />
|J26-3<br />
|P8_14<br />
|GPIO0_26<br />
|-<br />
|J27-3<br />
|P8_11<br />
|GPIO1_13<br />
|-<br />
|J28-3<br />
|P8_12<br />
|GPIO1_12<br />
|-<br />
|J29-3<br />
|P8_9<br />
|TIMER5<br />
|-<br />
|}<br />
<br />
<br />
[[File:BBB-GVS-X3-J25-J29.PNG]]<br />
<br />
=== J30-J32 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J30-3<br />
|P8_<br />
|TIMER7<br />
|-<br />
|J31-3<br />
|P8_<br />
|TIMER4<br />
|-<br />
|J32-3<br />
|P8_<br />
|TIMER6<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J30-J32.PNG]]<br />
<br />
== Previous Revisions ==<br />
<br />
=== Revision X3 ===<br />
<br />
*Missing OE on U2<br />
**Add wire U2-2 to U2-10<br />
*Ref des have gaps = need resequencing<br />
*Need a write enable jumper<br />
<br />
=== Revision V2 ===<br />
<br />
[http://land-boards.com/blwiki/index.php?title=BBB-GVS-V2]<br />
<br />
== External Links ==<br />
<br />
* [http://papermint-designs.com/community/node/331 BBB I2C EEPROM programming]<br />
* [http://azkeller.com/blog/?p=62 EEPROM programming]</div>Land-boardshttps://elinux.org/index.php?title=BBB-GVS&diff=345242BBB-GVS2014-08-12T01:02:35Z<p>Land-boards: </p>
<hr />
<div><br />
[[File:BBB-GVS-X3-cca-01B.jpg]]<br />
<br />
== Beaglebone Black cape which provides 5V GVS connections ==<br />
<br />
We love the Beaglebone Black. With all of its I/O connections it offers exciting potential for embedded/connected devices. It even has real mounting holes which let the board be used for real-world applications.<br />
<br />
When we got our first Beaglebone Black we were excited to try it with some of our [https://solarbotics.com/product/39230/ Arduino GVS] (Ground/Voltage/Signal) sensors and GVS output devices but couldn't since they are all 5V sensors. Sure we could cobble together some level shifters on a breadboard but in the end we wouldn't have something that could be deployed in a real application What we really wanted was a 5V Sensor shield like the one we use for our Arduino. But there were none out there. So we designed one.<br />
<br />
Introducing the '''BBB-GVS cape'''.<br />
<br />
== Features ==<br />
<br />
Extensive I/O connections:<br />
<br />
*(5) 5V GPIOs: J14, J15, J26, J27, J28<br />
*(2) 5V UART connections (auto direction detection): J12, J16<br />
*(1) 5V I2C bus connections (auto direction detection): J13<br />
*(1) 5V PWM: J25<br />
*(4) 5V Timers: J29-J32 <br />
*(1) 3.3V UART: J11<br />
*(7) 3.3V GPIOs: J9, J10, J17, J19, J20, J21, J22<br />
*(1) 3.3V SPI_D1: J8<br />
*(1) 3.3V PWM: J18<br />
*(7) 1.8V analog GVS connections with analog reference voltage/ground: J1-J7<br />
*5V pins are all ESD protected pins with 15 kV of protection<br />
*Fuses on 5V and 3.3V power protect the Beaglebone from miswired sensors<br />
*Selectable 5V source (SYS_5V or VDD_5V) - J22<br />
*Cape configuration EEPROM with address select jumpers J24<br />
*Beaglebone Black form factor<br />
<br />
== Technical Overview ==<br />
<br />
In a nutshell, the 3.3V digital signals of the Beaglebone Black need to be changed into 5V digital signals. There are a number of discrete ways to convert 3.3V bus to 5V signals. Some of them use MOSFETs and a couple of resistors. These work OK but there are some powerful chips out there that can do the conversion even better.<br />
We looked around and found what we think is the best 3.3V<>5V data conversion chip, Texas Instrument's TXS0108. The TXS0108 is an 8-bit, bi-directional buffer with automatic direction detection. Each and every pin can transmit and receive independently and even at the same time. The part supports both open drain and push-pull operation. The part can run as fast as 60 Mb/s in push-pull operation and 2 Mb/s in open drain. This speed is fast enough enough for microprocessor GPIO pin or even the fastest serial interfaces that a microprocessor can throw at it.<br />
<br />
<br />
== What is GVS? ==<br />
<br />
GVS is great for prototyping or deploy-able products. The beauty of the GVS connection is that power and ground are provided with each I/O signal. That provides the power needed to power external sensors and output devices. Otherwise splitting the one or two power pins into separate cables ends up being a real mess.<br />
<br />
GVS stands for Ground, Voltage and Signal. It's a 3-pin unofficial standard. It uses 0.1" pitch pins. There are a large number of GVS sensors (inputs) and devices (output) parts on ebay. The sorts of GVS sensors include:<br />
<br />
*Buttons<br />
*Switches<br />
*Temperature sensors<br />
<br />
The sorts of GVS output devices include:<br />
<br />
*Relay modules (not always wired as GVS, but they typically require 5V).<br />
*Buzzers<br />
*Solenoids<br />
*Servos (require PWM output pin)<br />
<br />
To connect a GVS sensor to a GVS card, just use a 3-wire cable. <br />
<br />
Other Connections<br />
<br />
The Beaglebone Black also has I2C and UART connections. These allow various devices to be connected:<br />
<br />
*I2C Displays<br />
*I2C accelerometers, gyroscopes<br />
*UART GPS modules<br />
<br />
== The Design ==<br />
<br />
We wanted a sensor shield like the ones use for the Arduino. In the Arduino's case, there's a limited amount of I/O lines The Beaglebone has many more I/O lines than the Arduino. We wanted to convert as many of the signals to 5V as we could possible fit on a board the size of a mint can. In particular, we wanted to convert the I2C bus as well as the UART lines to 5V. Also, we wanted to have a mix of 3.3V and 5V GVS signals. We also wanted to allow external connection to the analog inputs as we providing the analog reference voltage to run the analog input sensors.<br />
<br />
That translated into 2 parts which handle 8 I/O lines each. Putting these parts along with all the GVS connections we could possibly add resulted in our design.<br />
<br />
=== Voltage Translators ===<br />
<br />
The BBB-GVS board uses [http://www.ti.com/product/txs0108e Texas Instrument TXS0108] voltage translators.<br />
<br />
==== Voltage Translators Features ====<br />
<br />
*No Direction-Control Signal Needed<br />
*Max Data Rates <br />
**60 Mbps (Push Pull)<br />
**2 Mbps (Open Drain)<br />
*1.2 V to 3.6 V on A Port and 1.65 V to 5.5 V on<br />
*B Port (VCCA ≤ VCCB)<br />
*No Power-Supply Sequencing Required –<br />
**Either VCCA or VCCB Can Be Ramped First<br />
*Latch-Up Performance Exceeds 100 mA Per JESD 78, Class II<br />
*ESD Protection Exceeds JESD 22 (A Port)<br />
**2000-V Human-Body Model (A114-B)<br />
**150-V Machine Model (A115-A)<br />
**1000-V Charged-Device Model (C101)<br />
*IEC 61000-4-2 ESD (B Port)<br />
**±6-kV Air-Gap Discharge<br />
**±8-kV Contact Discharge<br />
<br />
==== Voltage Translators Architecture ====<br />
<br />
[http://www.ti.com/lit/ds/symlink/txs0108e.pdf Datasheet]<br />
<br />
The TXS0108E can be used in level-translation applications for interfacing devices or systems operating at different interface voltages with one another. The TXS0108E is ideal for use in applications where an open-drain driver is connected to the data I/Os. The TXS0108E can also be used in applications where a push-pull driver is connected to the data I/Os, but the TXB0104 might be a better option for such push-pull applications. The TXS0108E device is a semi-buffered auto-direction-sensing voltage translator design is optimized for translation applications (e.g. MMC Card Interfaces) that require the system to start out in a low-speed open-drain mode and then switch to a higher speed push-pull mode.<br />
<br />
[[File:TXS0108Arch.PNG]]<br />
<br />
To address these application requirements, a semi-buffered architecture design is used and is illustrated above (see Figure 1). Edge-rate accelerator circuitry (for both the high-to-low and low-to-high edges), a High-Ron n-channel pass-gate transistor (on the order of 300 Ω to 500 Ω) and pull-up resistors (to provide DC-bias and drive capabilities) are included to realize this solution. A direction-control signal (to control the direction of data flow from A to B or from B to A) is not needed. The resulting implementation supports both low-speed open-drain operation as well as high-speed push-pull operation.<br />
<br />
When transmitting data from A to B ports, during a rising edge the One-Shot (OS3) turns on the PMOS transistor (P2) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from A to B, the One-Shot (OS4) turns on NMOS transistor (N2) for a short-duration and this speeds up the high-to-low transition. The B-port edge-rate accelerator consists of one-shots OS3 and OS4, Transistors P2 and N2 and serves to rapidly force the B port high or low when a corresponding transition is detected on the A port.<br />
<br />
When transmitting data from B to A ports, during a rising edge the One-Shot (OS1) turns on the PMOS transistor (P1) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from B to A, the One-Shot (OS2) turns on NMOS transistor (N1) for a short-duration and this speeds up the high-to-low transition. The A-port edge-rate accelerator consists of one-shots OS1 and OS2, Transistors P1 and N1 components and form the edge-rate accelerator and serves to rapidly force the A port high or low when a corresponding transition is detected on the B port.<br />
<br />
== EEPROM connections ==<br />
<br />
[[File:BBB-GVS-V2-I2C2 -EEPROM.PNG]]<br />
<br />
== Beaglebone Black GVS Board Layout ==<br />
<br />
[[File:BBB-GVS-X3.PNG]]<br />
<br />
== Connectors ==<br />
<br />
=== J1-J7 ===<br />
<br />
Analog signals must be between 0 and 1.8V/<br />
<br />
J1-J7 pin 1 = P9-34 = GND_ADC<br />
<br />
J1-J7 pin 2 = P9-32 = BDD_ADC<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J1-3<br />
|P9_40<br />
|AIN1<br />
|-<br />
|J2-3<br />
|P9_38<br />
|AIN3<br />
|-<br />
|J3-3<br />
|P9_36<br />
|AIN5<br />
|-<br />
|J4-3<br />
|P9_33<br />
|AIN4<br />
|-<br />
|J5-3<br />
|P9_39<br />
|AIN0<br />
|-<br />
|J6-3<br />
|P9_37<br />
|AIN2<br />
|-<br />
|J7-3<br />
|P9_35<br />
|AIN6<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J1-J7.PNG]]<br />
<br />
=== J8-J11 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J8-3<br />
|P9_30<br />
|SPI_D1<br />
|-<br />
|J9-3<br />
|P9_27<br />
|GPIO3_19<br />
|-<br />
|J10-3<br />
|P9_23<br />
|GPIO1_17<br />
|-<br />
|J11-3<br />
|P9_24<br />
|UART1_TXD<br />
|-<br />
|J11-4<br />
|P9_26<br />
|UART1_RXD<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J8-J11.PNG]]<br />
<br />
=== J12-J16 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J12-3<br />
|P9_21<br />
|UART2TX<br />
|-<br />
|J12-4<br />
|P9_22<br />
|UART2RX<br />
|-<br />
|J13-3<br />
|P9_20<br />
|I2C1SDA<br />
|-<br />
|J13-4<br />
|P9_19<br />
|I2C1SCL<br />
|-<br />
|J14-3<br />
|P9_15<br />
|GPIO1_16<br />
|-<br />
|J15-3<br />
|P9_12<br />
|GPIO1_28<br />
|-<br />
|J16-3<br />
|P9_13<br />
|UART4TX<br />
|-<br />
|J16-4<br />
|P9_11<br />
|UART4RX<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J12-J16.PNG]]<br />
<br />
=== J17-J22 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J17-3<br />
|P8_26<br />
|GPIO1_29<br />
|-<br />
|J18-3<br />
|P8_19<br />
|EHRPWM2A<br />
|-<br />
|J19-3<br />
|P8_18<br />
|GPIO2_1<br />
|-<br />
|J20-3<br />
|P8_17<br />
|GP10_27<br />
|-<br />
|J21-3<br />
|P8_15<br />
|GPIO1_14<br />
|-<br />
|J22-3<br />
|P8_15<br />
|GPIO1_15<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J17-J22.PNG]]<br />
<br />
=== J23 ===<br />
<br />
Jumper 1-2 to power board from SYS_5V.<br />
<br />
Jumper 2-3 to power board from VDD_5V.<br />
<br />
[[File:BBB-GVS-X3-J23.PNG]]<br />
<br />
=== J24 ===<br />
<br />
EEPROM address A0, A1 selection jumper selectable.<br />
<br />
[[File:BBB-GVS-X3-J24.PNG]]<br />
<br />
=== J25-J29 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J25-3<br />
|P8_13<br />
|EHRPWM2B<br />
|-<br />
|J26-3<br />
|P8_14<br />
|GPIO0_26<br />
|-<br />
|J27-3<br />
|P8_11<br />
|GPIO1_13<br />
|-<br />
|J28-3<br />
|P8_12<br />
|GPIO1_12<br />
|-<br />
|J29-3<br />
|P8_9<br />
|TIMER5<br />
|-<br />
|}<br />
<br />
<br />
[[File:BBB-GVS-X3-J25-J29.PNG]]<br />
<br />
=== J30-J32 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J30-3<br />
|P8_<br />
|TIMER7<br />
|-<br />
|J31-3<br />
|P8_<br />
|TIMER4<br />
|-<br />
|J32-3<br />
|P8_<br />
|TIMER6<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J30-J32.PNG]]<br />
<br />
== Previous Revisions ==<br />
<br />
=== Revision X3 ===<br />
<br />
*Missing OE on U2<br />
**Add wire U2-2 to U2-10<br />
*Ref des have gaps = need resequencing<br />
*Need a write enable jumper<br />
<br />
=== Revision V2 ===<br />
<br />
[http://land-boards.com/blwiki/index.php?title=BBB-GVS-V2]<br />
<br />
== External Links ==<br />
<br />
* [http://papermint-designs.com/community/node/331 BBB I2C EEPROM programming]<br />
* [http://azkeller.com/blog/?p=62 EEPROM programming]</div>Land-boardshttps://elinux.org/index.php?title=User:Land-boards&diff=345158User:Land-boards2014-08-10T02:04:45Z<p>Land-boards: </p>
<hr />
<div>'''land-boards.com'''<br />
<br />
We make good cards.<br />
<br />
[[BBB-GVS|Beaglebone Black GVS Sensor Cape]]</div>Land-boardshttps://elinux.org/index.php?title=BBB-GVS&diff=345152BBB-GVS2014-08-10T01:23:25Z<p>Land-boards: /* Revision V2 */</p>
<hr />
<div><br />
[[File:BBB-GVS-X3-cca-01B.jpg]]<br />
<br />
== Beaglebone Black cape which provides 5V GVS connections ==<br />
<br />
We love the Beaglebone Black. With all of its I/O connections it offers exciting potential for embedded/connected devices. It even has real mounting holes which let the board be used for real-world applications.<br />
<br />
When we got our first Beaglebone Black we were excited to try it with some of our Arduino GVS (Ground/Voltage/Signal) sensors and GVS output devices but couldn't since they are all 5V sensors. Sure we could cobble together some level shifters on a breadboard but in the end we wouldn't have something that could be deployed in a real application What we really wanted was a 5V Sensor shield like the one we use for our Arduino. But there were none out there. So we designed one.<br />
<br />
Introducing the '''BBB-GVS cape'''.<br />
<br />
== Features ==<br />
<br />
Extensive I/O connections:<br />
<br />
*(5) 5V GPIOs: J14, J15, J26, J27, J28<br />
*(2) 5V UART connections (auto direction detection): J12, J16<br />
*(1) 5V I2C bus connections (auto direction detection): J13<br />
*(1) 5V PWM: J25<br />
*(4) 5V Timers: J29-J32 <br />
*(1) 3.3V UART: J11<br />
*(7) 3.3V GPIOs: J9, J10, J17, J19, J20, J21, J22<br />
*(1) 3.3V SPI_D1: J8<br />
*(1) 3.3V PWM: J18<br />
*(7) 1.8V analog GVS connections with analog reference voltage/ground: J1-J7<br />
*5V pins are all ESD protected pins with 15 kV of protection<br />
*Fuses on 5V and 3.3V power protect the Beaglebone from miswired sensors<br />
*Selectable 5V source (SYS_5V or VDD_5V) - J22<br />
*Cape configuration EEPROM with address select jumpers J24<br />
*Beaglebone Black form factor<br />
<br />
== Technical Overview ==<br />
<br />
In a nutshell, the 3.3V digital signals of the Beaglebone Black need to be changed into 5V digital signals. There are a number of discrete ways to convert 3.3V bus to 5V signals. Some of them use MOSFETs and a couple of resistors. These work OK but there are some powerful chips out there that can do the conversion even better.<br />
We looked around and found what we think is the best 3.3V<>5V data conversion chip, Texas Instrument's TXS0108. The TXS0108 is an 8-bit, bi-directional buffer with automatic direction detection. Each and every pin can transmit and receive independently and even at the same time. The part supports both open drain and push-pull operation. The part can run as fast as 60 Mb/s in push-pull operation and 2 Mb/s in open drain. This speed is fast enough enough for microprocessor GPIO pin or even the fastest serial interfaces that a microprocessor can throw at it.<br />
<br />
<br />
== What is GVS? ==<br />
<br />
GVS is great for prototyping or deploy-able products. The beauty of the GVS connection is that power and ground are provided with each I/O signal. That provides the power needed to power external sensors and output devices. Otherwise splitting the one or two power pins into separate cables ends up being a real mess.<br />
<br />
GVS stands for Ground, Voltage and Signal. It's a 3-pin unofficial standard. It uses 0.1" pitch pins. There are a large number of GVS sensors (inputs) and devices (output) parts on ebay. The sorts of GVS sensors include:<br />
<br />
*Buttons<br />
*Switches<br />
*Temperature sensors<br />
<br />
The sorts of GVS output devices include:<br />
<br />
*Relay modules (not always wired as GVS, but they typically require 5V).<br />
*Buzzers<br />
*Solenoids<br />
*Servos (require PWM output pin)<br />
<br />
To connect a GVS sensor to a GVS card, just use a 3-wire cable. <br />
<br />
Other Connections<br />
<br />
The Beaglebone Black also has I2C and UART connections. These allow various devices to be connected:<br />
<br />
*I2C Displays<br />
*I2C accelerometers, gyroscopes<br />
*UART GPS modules<br />
<br />
== The Design ==<br />
<br />
We wanted a sensor shield like the ones use for the Arduino. In the Arduino's case, there's a limited amount of I/O lines The Beaglebone has many more I/O lines than the Arduino. We wanted to convert as many of the signals to 5V as we could possible fit on a board the size of a mint can. In particular, we wanted to convert the I2C bus as well as the UART lines to 5V. Also, we wanted to have a mix of 3.3V and 5V GVS signals. We also wanted to allow external connection to the analog inputs as we providing the analog reference voltage to run the analog input sensors.<br />
<br />
That translated into 2 parts which handle 8 I/O lines each. Putting these parts along with all the GVS connections we could possibly add resulted in our design.<br />
<br />
=== Voltage Translators ===<br />
<br />
The BBB-GVS board uses [http://www.ti.com/product/txs0108e Texas Instrument TXS0108] voltage translators.<br />
<br />
==== Voltage Translators Features ====<br />
<br />
*No Direction-Control Signal Needed<br />
*Max Data Rates <br />
**60 Mbps (Push Pull)<br />
**2 Mbps (Open Drain)<br />
*1.2 V to 3.6 V on A Port and 1.65 V to 5.5 V on<br />
*B Port (VCCA ≤ VCCB)<br />
*No Power-Supply Sequencing Required –<br />
**Either VCCA or VCCB Can Be Ramped First<br />
*Latch-Up Performance Exceeds 100 mA Per JESD 78, Class II<br />
*ESD Protection Exceeds JESD 22 (A Port)<br />
**2000-V Human-Body Model (A114-B)<br />
**150-V Machine Model (A115-A)<br />
**1000-V Charged-Device Model (C101)<br />
*IEC 61000-4-2 ESD (B Port)<br />
**±6-kV Air-Gap Discharge<br />
**±8-kV Contact Discharge<br />
<br />
==== Voltage Translators Architecture ====<br />
<br />
[http://www.ti.com/lit/ds/symlink/txs0108e.pdf Datasheet]<br />
<br />
The TXS0108E can be used in level-translation applications for interfacing devices or systems operating at different interface voltages with one another. The TXS0108E is ideal for use in applications where an open-drain driver is connected to the data I/Os. The TXS0108E can also be used in applications where a push-pull driver is connected to the data I/Os, but the TXB0104 might be a better option for such push-pull applications. The TXS0108E device is a semi-buffered auto-direction-sensing voltage translator design is optimized for translation applications (e.g. MMC Card Interfaces) that require the system to start out in a low-speed open-drain mode and then switch to a higher speed push-pull mode.<br />
<br />
[[File:TXS0108Arch.PNG]]<br />
<br />
To address these application requirements, a semi-buffered architecture design is used and is illustrated above (see Figure 1). Edge-rate accelerator circuitry (for both the high-to-low and low-to-high edges), a High-Ron n-channel pass-gate transistor (on the order of 300 Ω to 500 Ω) and pull-up resistors (to provide DC-bias and drive capabilities) are included to realize this solution. A direction-control signal (to control the direction of data flow from A to B or from B to A) is not needed. The resulting implementation supports both low-speed open-drain operation as well as high-speed push-pull operation.<br />
<br />
When transmitting data from A to B ports, during a rising edge the One-Shot (OS3) turns on the PMOS transistor (P2) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from A to B, the One-Shot (OS4) turns on NMOS transistor (N2) for a short-duration and this speeds up the high-to-low transition. The B-port edge-rate accelerator consists of one-shots OS3 and OS4, Transistors P2 and N2 and serves to rapidly force the B port high or low when a corresponding transition is detected on the A port.<br />
<br />
When transmitting data from B to A ports, during a rising edge the One-Shot (OS1) turns on the PMOS transistor (P1) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from B to A, the One-Shot (OS2) turns on NMOS transistor (N1) for a short-duration and this speeds up the high-to-low transition. The A-port edge-rate accelerator consists of one-shots OS1 and OS2, Transistors P1 and N1 components and form the edge-rate accelerator and serves to rapidly force the A port high or low when a corresponding transition is detected on the B port.<br />
<br />
== EEPROM connections ==<br />
<br />
[[File:BBB-GVS-V2-I2C2 -EEPROM.PNG]]<br />
<br />
== Beaglebone Black GVS Board Layout ==<br />
<br />
[[File:BBB-GVS-X3.PNG]]<br />
<br />
== Connectors ==<br />
<br />
=== J1-J7 ===<br />
<br />
Analog signals must be between 0 and 1.8V/<br />
<br />
J1-J7 pin 1 = P9-34 = GND_ADC<br />
<br />
J1-J7 pin 2 = P9-32 = BDD_ADC<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J1-3<br />
|P9_40<br />
|AIN1<br />
|-<br />
|J2-3<br />
|P9_38<br />
|AIN3<br />
|-<br />
|J3-3<br />
|P9_36<br />
|AIN5<br />
|-<br />
|J4-3<br />
|P9_33<br />
|AIN4<br />
|-<br />
|J5-3<br />
|P9_39<br />
|AIN0<br />
|-<br />
|J6-3<br />
|P9_37<br />
|AIN2<br />
|-<br />
|J7-3<br />
|P9_35<br />
|AIN6<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J1-J7.PNG]]<br />
<br />
=== J8-J11 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J8-3<br />
|P9_30<br />
|SPI_D1<br />
|-<br />
|J9-3<br />
|P9_27<br />
|GPIO3_19<br />
|-<br />
|J10-3<br />
|P9_23<br />
|GPIO1_17<br />
|-<br />
|J11-3<br />
|P9_24<br />
|UART1_TXD<br />
|-<br />
|J11-4<br />
|P9_26<br />
|UART1_RXD<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J8-J11.PNG]]<br />
<br />
=== J12-J16 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J12-3<br />
|P9_21<br />
|UART2TX<br />
|-<br />
|J12-4<br />
|P9_22<br />
|UART2RX<br />
|-<br />
|J13-3<br />
|P9_20<br />
|I2C1SDA<br />
|-<br />
|J13-4<br />
|P9_19<br />
|I2C1SCL<br />
|-<br />
|J14-3<br />
|P9_15<br />
|GPIO1_16<br />
|-<br />
|J15-3<br />
|P9_12<br />
|GPIO1_28<br />
|-<br />
|J16-3<br />
|P9_13<br />
|UART4TX<br />
|-<br />
|J16-4<br />
|P9_11<br />
|UART4RX<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J12-J16.PNG]]<br />
<br />
=== J17-J22 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J17-3<br />
|P8_26<br />
|GPIO1_29<br />
|-<br />
|J18-3<br />
|P8_19<br />
|EHRPWM2A<br />
|-<br />
|J19-3<br />
|P8_18<br />
|GPIO2_1<br />
|-<br />
|J20-3<br />
|P8_17<br />
|GP10_27<br />
|-<br />
|J21-3<br />
|P8_15<br />
|GPIO1_14<br />
|-<br />
|J22-3<br />
|P8_15<br />
|GPIO1_15<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J17-J22.PNG]]<br />
<br />
=== J23 ===<br />
<br />
Jumper 1-2 to power board from SYS_5V.<br />
<br />
Jumper 2-3 to power board from VDD_5V.<br />
<br />
[[File:BBB-GVS-X3-J23.PNG]]<br />
<br />
=== J24 ===<br />
<br />
EEPROM address A0, A1 selection jumper selectable.<br />
<br />
[[File:BBB-GVS-X3-J24.PNG]]<br />
<br />
=== J25-J29 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J25-3<br />
|P8_13<br />
|EHRPWM2B<br />
|-<br />
|J26-3<br />
|P8_14<br />
|GPIO0_26<br />
|-<br />
|J27-3<br />
|P8_11<br />
|GPIO1_13<br />
|-<br />
|J28-3<br />
|P8_12<br />
|GPIO1_12<br />
|-<br />
|J29-3<br />
|P8_9<br />
|TIMER5<br />
|-<br />
|}<br />
<br />
<br />
[[File:BBB-GVS-X3-J25-J29.PNG]]<br />
<br />
=== J30-J32 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J30-3<br />
|P8_<br />
|TIMER7<br />
|-<br />
|J31-3<br />
|P8_<br />
|TIMER4<br />
|-<br />
|J32-3<br />
|P8_<br />
|TIMER6<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J30-J32.PNG]]<br />
<br />
== Previous Revisions ==<br />
<br />
=== Revision X3 ===<br />
<br />
*Missing OE on U2<br />
**Add wire U2-2 to U2-10<br />
*Ref des have gaps = need resequencing<br />
*Need a write enable jumper<br />
<br />
=== Revision V2 ===<br />
<br />
[http://land-boards.com/blwiki/index.php?title=BBB-GVS-V2]<br />
<br />
== External Links ==<br />
<br />
* [http://papermint-designs.com/community/node/331 BBB I2C EEPROM programming]<br />
* [http://azkeller.com/blog/?p=62 EEPROM programming]</div>Land-boardshttps://elinux.org/index.php?title=File:BBB-GVS-X3-J30-J32.PNG&diff=345146File:BBB-GVS-X3-J30-J32.PNG2014-08-10T01:22:19Z<p>Land-boards: </p>
<hr />
<div></div>Land-boardshttps://elinux.org/index.php?title=File:BBB-GVS-X3-J25-J29.PNG&diff=345140File:BBB-GVS-X3-J25-J29.PNG2014-08-10T01:21:54Z<p>Land-boards: </p>
<hr />
<div></div>Land-boardshttps://elinux.org/index.php?title=File:BBB-GVS-X3-J24.PNG&diff=345134File:BBB-GVS-X3-J24.PNG2014-08-10T01:21:32Z<p>Land-boards: </p>
<hr />
<div></div>Land-boardshttps://elinux.org/index.php?title=File:BBB-GVS-X3-J23.PNG&diff=345128File:BBB-GVS-X3-J23.PNG2014-08-10T01:21:08Z<p>Land-boards: </p>
<hr />
<div></div>Land-boardshttps://elinux.org/index.php?title=File:BBB-GVS-X3-J17-J22.PNG&diff=345122File:BBB-GVS-X3-J17-J22.PNG2014-08-10T01:20:37Z<p>Land-boards: </p>
<hr />
<div></div>Land-boardshttps://elinux.org/index.php?title=File:BBB-GVS-X3-J12-J16.PNG&diff=345116File:BBB-GVS-X3-J12-J16.PNG2014-08-10T01:20:04Z<p>Land-boards: </p>
<hr />
<div></div>Land-boardshttps://elinux.org/index.php?title=File:BBB-GVS-X3-J8-J11.PNG&diff=345110File:BBB-GVS-X3-J8-J11.PNG2014-08-10T01:19:39Z<p>Land-boards: </p>
<hr />
<div></div>Land-boardshttps://elinux.org/index.php?title=File:BBB-GVS-X3-J1-J7.PNG&diff=345104File:BBB-GVS-X3-J1-J7.PNG2014-08-10T01:19:11Z<p>Land-boards: </p>
<hr />
<div></div>Land-boardshttps://elinux.org/index.php?title=File:BBB-GVS-X3.PNG&diff=345098File:BBB-GVS-X3.PNG2014-08-10T01:18:43Z<p>Land-boards: </p>
<hr />
<div></div>Land-boardshttps://elinux.org/index.php?title=File:BBB-GVS-V2-I2C2_-EEPROM.PNG&diff=345092File:BBB-GVS-V2-I2C2 -EEPROM.PNG2014-08-10T01:18:08Z<p>Land-boards: </p>
<hr />
<div></div>Land-boardshttps://elinux.org/index.php?title=File:TXS0108Arch.PNG&diff=345086File:TXS0108Arch.PNG2014-08-10T01:17:04Z<p>Land-boards: </p>
<hr />
<div></div>Land-boardshttps://elinux.org/index.php?title=File:BBB-GVS-X3-cca-01B.jpg&diff=345080File:BBB-GVS-X3-cca-01B.jpg2014-08-10T01:15:43Z<p>Land-boards: </p>
<hr />
<div></div>Land-boardshttps://elinux.org/index.php?title=BBB-GVS&diff=345074BBB-GVS2014-08-10T01:14:38Z<p>Land-boards: Created page with " File:BBB-GVS-X3-cca-01B.jpg == Beaglebone Black cape which provides 5V GVS connections == We love the Beaglebone Black. With all of its I/O connections it offers exciti..."</p>
<hr />
<div><br />
[[File:BBB-GVS-X3-cca-01B.jpg]]<br />
<br />
== Beaglebone Black cape which provides 5V GVS connections ==<br />
<br />
We love the Beaglebone Black. With all of its I/O connections it offers exciting potential for embedded/connected devices. It even has real mounting holes which let the board be used for real-world applications.<br />
<br />
When we got our first Beaglebone Black we were excited to try it with some of our Arduino GVS (Ground/Voltage/Signal) sensors and GVS output devices but couldn't since they are all 5V sensors. Sure we could cobble together some level shifters on a breadboard but in the end we wouldn't have something that could be deployed in a real application What we really wanted was a 5V Sensor shield like the one we use for our Arduino. But there were none out there. So we designed one.<br />
<br />
Introducing the '''BBB-GVS cape'''.<br />
<br />
== Features ==<br />
<br />
Extensive I/O connections:<br />
<br />
*(5) 5V GPIOs: J14, J15, J26, J27, J28<br />
*(2) 5V UART connections (auto direction detection): J12, J16<br />
*(1) 5V I2C bus connections (auto direction detection): J13<br />
*(1) 5V PWM: J25<br />
*(4) 5V Timers: J29-J32 <br />
*(1) 3.3V UART: J11<br />
*(7) 3.3V GPIOs: J9, J10, J17, J19, J20, J21, J22<br />
*(1) 3.3V SPI_D1: J8<br />
*(1) 3.3V PWM: J18<br />
*(7) 1.8V analog GVS connections with analog reference voltage/ground: J1-J7<br />
*5V pins are all ESD protected pins with 15 kV of protection<br />
*Fuses on 5V and 3.3V power protect the Beaglebone from miswired sensors<br />
*Selectable 5V source (SYS_5V or VDD_5V) - J22<br />
*Cape configuration EEPROM with address select jumpers J24<br />
*Beaglebone Black form factor<br />
<br />
== Technical Overview ==<br />
<br />
In a nutshell, the 3.3V digital signals of the Beaglebone Black need to be changed into 5V digital signals. There are a number of discrete ways to convert 3.3V bus to 5V signals. Some of them use MOSFETs and a couple of resistors. These work OK but there are some powerful chips out there that can do the conversion even better.<br />
We looked around and found what we think is the best 3.3V<>5V data conversion chip, Texas Instrument's TXS0108. The TXS0108 is an 8-bit, bi-directional buffer with automatic direction detection. Each and every pin can transmit and receive independently and even at the same time. The part supports both open drain and push-pull operation. The part can run as fast as 60 Mb/s in push-pull operation and 2 Mb/s in open drain. This speed is fast enough enough for microprocessor GPIO pin or even the fastest serial interfaces that a microprocessor can throw at it.<br />
<br />
<br />
== What is GVS? ==<br />
<br />
GVS is great for prototyping or deploy-able products. The beauty of the GVS connection is that power and ground are provided with each I/O signal. That provides the power needed to power external sensors and output devices. Otherwise splitting the one or two power pins into separate cables ends up being a real mess.<br />
<br />
GVS stands for Ground, Voltage and Signal. It's a 3-pin unofficial standard. It uses 0.1" pitch pins. There are a large number of GVS sensors (inputs) and devices (output) parts on ebay. The sorts of GVS sensors include:<br />
<br />
*Buttons<br />
*Switches<br />
*Temperature sensors<br />
<br />
The sorts of GVS output devices include:<br />
<br />
*Relay modules (not always wired as GVS, but they typically require 5V).<br />
*Buzzers<br />
*Solenoids<br />
*Servos (require PWM output pin)<br />
<br />
To connect a GVS sensor to a GVS card, just use a 3-wire cable. <br />
<br />
Other Connections<br />
<br />
The Beaglebone Black also has I2C and UART connections. These allow various devices to be connected:<br />
<br />
*I2C Displays<br />
*I2C accelerometers, gyroscopes<br />
*UART GPS modules<br />
<br />
== The Design ==<br />
<br />
We wanted a sensor shield like the ones use for the Arduino. In the Arduino's case, there's a limited amount of I/O lines The Beaglebone has many more I/O lines than the Arduino. We wanted to convert as many of the signals to 5V as we could possible fit on a board the size of a mint can. In particular, we wanted to convert the I2C bus as well as the UART lines to 5V. Also, we wanted to have a mix of 3.3V and 5V GVS signals. We also wanted to allow external connection to the analog inputs as we providing the analog reference voltage to run the analog input sensors.<br />
<br />
That translated into 2 parts which handle 8 I/O lines each. Putting these parts along with all the GVS connections we could possibly add resulted in our design.<br />
<br />
=== Voltage Translators ===<br />
<br />
The BBB-GVS board uses [http://www.ti.com/product/txs0108e Texas Instrument TXS0108] voltage translators.<br />
<br />
==== Voltage Translators Features ====<br />
<br />
*No Direction-Control Signal Needed<br />
*Max Data Rates <br />
**60 Mbps (Push Pull)<br />
**2 Mbps (Open Drain)<br />
*1.2 V to 3.6 V on A Port and 1.65 V to 5.5 V on<br />
*B Port (VCCA ≤ VCCB)<br />
*No Power-Supply Sequencing Required –<br />
**Either VCCA or VCCB Can Be Ramped First<br />
*Latch-Up Performance Exceeds 100 mA Per JESD 78, Class II<br />
*ESD Protection Exceeds JESD 22 (A Port)<br />
**2000-V Human-Body Model (A114-B)<br />
**150-V Machine Model (A115-A)<br />
**1000-V Charged-Device Model (C101)<br />
*IEC 61000-4-2 ESD (B Port)<br />
**±6-kV Air-Gap Discharge<br />
**±8-kV Contact Discharge<br />
<br />
==== Voltage Translators Architecture ====<br />
<br />
[http://www.ti.com/lit/ds/symlink/txs0108e.pdf Datasheet]<br />
<br />
The TXS0108E can be used in level-translation applications for interfacing devices or systems operating at different interface voltages with one another. The TXS0108E is ideal for use in applications where an open-drain driver is connected to the data I/Os. The TXS0108E can also be used in applications where a push-pull driver is connected to the data I/Os, but the TXB0104 might be a better option for such push-pull applications. The TXS0108E device is a semi-buffered auto-direction-sensing voltage translator design is optimized for translation applications (e.g. MMC Card Interfaces) that require the system to start out in a low-speed open-drain mode and then switch to a higher speed push-pull mode.<br />
<br />
[[File:TXS0108Arch.PNG]]<br />
<br />
To address these application requirements, a semi-buffered architecture design is used and is illustrated above (see Figure 1). Edge-rate accelerator circuitry (for both the high-to-low and low-to-high edges), a High-Ron n-channel pass-gate transistor (on the order of 300 Ω to 500 Ω) and pull-up resistors (to provide DC-bias and drive capabilities) are included to realize this solution. A direction-control signal (to control the direction of data flow from A to B or from B to A) is not needed. The resulting implementation supports both low-speed open-drain operation as well as high-speed push-pull operation.<br />
<br />
When transmitting data from A to B ports, during a rising edge the One-Shot (OS3) turns on the PMOS transistor (P2) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from A to B, the One-Shot (OS4) turns on NMOS transistor (N2) for a short-duration and this speeds up the high-to-low transition. The B-port edge-rate accelerator consists of one-shots OS3 and OS4, Transistors P2 and N2 and serves to rapidly force the B port high or low when a corresponding transition is detected on the A port.<br />
<br />
When transmitting data from B to A ports, during a rising edge the One-Shot (OS1) turns on the PMOS transistor (P1) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from B to A, the One-Shot (OS2) turns on NMOS transistor (N1) for a short-duration and this speeds up the high-to-low transition. The A-port edge-rate accelerator consists of one-shots OS1 and OS2, Transistors P1 and N1 components and form the edge-rate accelerator and serves to rapidly force the A port high or low when a corresponding transition is detected on the B port.<br />
<br />
== EEPROM connections ==<br />
<br />
[[File:BBB-GVS-V2-I2C2 -EEPROM.PNG]]<br />
<br />
== Beaglebone Black GVS Board Layout ==<br />
<br />
[[File:BBB-GVS-X3.PNG]]<br />
<br />
== Connectors ==<br />
<br />
=== J1-J7 ===<br />
<br />
Analog signals must be between 0 and 1.8V/<br />
<br />
J1-J7 pin 1 = P9-34 = GND_ADC<br />
<br />
J1-J7 pin 2 = P9-32 = BDD_ADC<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J1-3<br />
|P9_40<br />
|AIN1<br />
|-<br />
|J2-3<br />
|P9_38<br />
|AIN3<br />
|-<br />
|J3-3<br />
|P9_36<br />
|AIN5<br />
|-<br />
|J4-3<br />
|P9_33<br />
|AIN4<br />
|-<br />
|J5-3<br />
|P9_39<br />
|AIN0<br />
|-<br />
|J6-3<br />
|P9_37<br />
|AIN2<br />
|-<br />
|J7-3<br />
|P9_35<br />
|AIN6<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J1-J7.PNG]]<br />
<br />
=== J8-J11 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J8-3<br />
|P9_30<br />
|SPI_D1<br />
|-<br />
|J9-3<br />
|P9_27<br />
|GPIO3_19<br />
|-<br />
|J10-3<br />
|P9_23<br />
|GPIO1_17<br />
|-<br />
|J11-3<br />
|P9_24<br />
|UART1_TXD<br />
|-<br />
|J11-4<br />
|P9_26<br />
|UART1_RXD<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J8-J11.PNG]]<br />
<br />
=== J12-J16 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J12-3<br />
|P9_21<br />
|UART2TX<br />
|-<br />
|J12-4<br />
|P9_22<br />
|UART2RX<br />
|-<br />
|J13-3<br />
|P9_20<br />
|I2C1SDA<br />
|-<br />
|J13-4<br />
|P9_19<br />
|I2C1SCL<br />
|-<br />
|J14-3<br />
|P9_15<br />
|GPIO1_16<br />
|-<br />
|J15-3<br />
|P9_12<br />
|GPIO1_28<br />
|-<br />
|J16-3<br />
|P9_13<br />
|UART4TX<br />
|-<br />
|J16-4<br />
|P9_11<br />
|UART4RX<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J12-J16.PNG]]<br />
<br />
=== J17-J22 ===<br />
<br />
3.3V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J17-3<br />
|P8_26<br />
|GPIO1_29<br />
|-<br />
|J18-3<br />
|P8_19<br />
|EHRPWM2A<br />
|-<br />
|J19-3<br />
|P8_18<br />
|GPIO2_1<br />
|-<br />
|J20-3<br />
|P8_17<br />
|GP10_27<br />
|-<br />
|J21-3<br />
|P8_15<br />
|GPIO1_14<br />
|-<br />
|J22-3<br />
|P8_15<br />
|GPIO1_15<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J17-J22.PNG]]<br />
<br />
=== J23 ===<br />
<br />
Jumper 1-2 to power board from SYS_5V.<br />
<br />
Jumper 2-3 to power board from VDD_5V.<br />
<br />
[[File:BBB-GVS-X3-J23.PNG]]<br />
<br />
=== J24 ===<br />
<br />
EEPROM address A0, A1 selection jumper selectable.<br />
<br />
[[File:BBB-GVS-X3-J24.PNG]]<br />
<br />
=== J25-J29 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J25-3<br />
|P8_13<br />
|EHRPWM2B<br />
|-<br />
|J26-3<br />
|P8_14<br />
|GPIO0_26<br />
|-<br />
|J27-3<br />
|P8_11<br />
|GPIO1_13<br />
|-<br />
|J28-3<br />
|P8_12<br />
|GPIO1_12<br />
|-<br />
|J29-3<br />
|P8_9<br />
|TIMER5<br />
|-<br />
|}<br />
<br />
<br />
[[File:BBB-GVS-X3-J25-J29.PNG]]<br />
<br />
=== J30-J32 ===<br />
<br />
5V digital<br />
<br />
{| class="wikitable" <br />
!Connector<br />
!Pin<br />
!Function<br />
|-<br />
|J30-3<br />
|P8_<br />
|TIMER7<br />
|-<br />
|J31-3<br />
|P8_<br />
|TIMER4<br />
|-<br />
|J32-3<br />
|P8_<br />
|TIMER6<br />
|-<br />
|}<br />
<br />
[[File:BBB-GVS-X3-J30-J32.PNG]]<br />
<br />
== Previous Revisions ==<br />
<br />
=== Revision X3 ===<br />
<br />
*Missing OE on U2<br />
**Add wire U2-2 to U2-10<br />
*Ref des have gaps = need resequencing<br />
*Need a write enable jumper<br />
<br />
=== Revision V2 ===<br />
<br />
[[BBB-GVS-V2]]<br />
<br />
== External Links ==<br />
<br />
* [http://papermint-designs.com/community/node/331 BBB I2C EEPROM programming]<br />
* [http://azkeller.com/blog/?p=62 EEPROM programming]</div>Land-boardshttps://elinux.org/index.php?title=User:Land-boards&diff=345068User:Land-boards2014-08-10T01:13:31Z<p>Land-boards: Created page with "land-boards.com We make good cards. Beaglebone Black GVS Sensor Cape"</p>
<hr />
<div>land-boards.com<br />
<br />
We make good cards.<br />
<br />
[[BBB-GVS|Beaglebone Black GVS Sensor Cape]]</div>Land-boards