Difference between revisions of "Beaglebone Black"

(Created page with "Category:Documentation Category:Advanced_Topics The AlarmDecoder [http://www.alarmdecoder.com/catalog/product_info.php/products_id/33 AD2PI] also supports other embed...")
 
(Steps)
 
(7 intermediate revisions by 2 users not shown)
Line 8: Line 8:
 
** '''NOTE''': The AD2PI pictured is a development board with an extra long pin header.  You'll need to solder the connection or go in through the bottom.
 
** '''NOTE''': The AD2PI pictured is a development board with an extra long pin header.  You'll need to solder the connection or go in through the bottom.
 
* A [http://beagleboard.org/products/beaglebone%20black BeagleBone Black]
 
* A [http://beagleboard.org/products/beaglebone%20black BeagleBone Black]
* Wires & solder
+
* Wire & solder
  
 
=Steps=
 
=Steps=
 
<ol>
 
<ol>
 
<li>Make sure your BeagleBone and AD2PI are disconnected from power and the panel, respectively.</li>
 
<li>Make sure your BeagleBone and AD2PI are disconnected from power and the panel, respectively.</li>
<li>Connect the pins.  See the images on the sidebar if you need a visual reference. [[File:bb_ad2pi.jpg|thumb|AD2PI]] [[File:bb_beaglebone.jpg|thumb|BeagleBone Black]]</li>
+
<li>Connect the pins between CONN2 on the AD2PI and P9 on the BeagleBone Black.  See the images on the sidebar if you need a visual reference. [[File:bb_ad2pi.jpg|thumb|AD2PI]] [[File:bb_beaglebone.jpg|thumb|BeagleBone Black]]</li>
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
! scope="col" width="60px" | Conn
 
! scope="col" width="60px" | Conn
! scope="col" width="100px" | AD2PI Pin
+
! scope="col" width="120px" | AD2PI CONN2 Pin
! scope="col" width="100px" | BeagleBone Pin
+
! scope="col" width="120px" | BeagleBone P9 Pin
 
|-
 
|-
 
| align="center" | GND
 
| align="center" | GND
Line 35: Line 35:
 
| align="center" | 13
 
| align="center" | 13
 
|}
 
|}
 
+
; Note the AD2Pi also supports 5v TTL just provide 5V and it will deliver 5v signals on TX/RX
 
<li>Connect power to your BeagleBone and boot it up.</li>
 
<li>Connect power to your BeagleBone and boot it up.</li>
<li>Enable UART (instructions based on those found [http://hipstercircuits.com/enable-serialuarttty-on-beaglebone-black/ here])</li>
+
<li>Enable UART4:</li>
<ol>
+
* <tt>echo BB-UART4 >/sys/devices/bone_capemgr.*/slots</tt>
<li>Create a file named <tt>enable-art5.dts</tt> containing the [[#DTS_Script|DTS script to enable UART5]].</li>
+
* Your device should now show up as <tt>/dev/ttyO4</tt>.
<li>Compile the device tree overlay:</li>
+
* <tt>dtc -O dtb -o enable-uart5-00A0.dtbo -b O -@ enable-uart5.dts</tt>
+
<li>Copy the compiled file to <tt>/lib/firmware</tt></li>
+
* <tt>cp enable-uart5-00A0.dtbo /lib/firmware</tt>
+
<li>Enable the overlay:</li>
+
* <tt>echo enable-uart5 >/sys/devices/bone_capmgr.*/slots</tt>
+
<li>Your device should now show up as <tt>/dev/ttyO4</tt>.</li>
+
</ol>
+
 
<li>Test your device:</li>
 
<li>Test your device:</li>
 
<ol>
 
<ol>
Line 55: Line 47:
 
<li>Exit screen by typing <tt>Ctrl+A+K</tt>.</li>
 
<li>Exit screen by typing <tt>Ctrl+A+K</tt>.</li>
 
</ol>
 
</ol>
 +
<li>''Optional'': Enable the overlay at boot:</li>
 +
* Add <tt>capemgr.enable_partno=BB-UART4</tt> to <tt>/boot/uEnv.txt</tt>
 +
* '''NOTE''': I've been unable to actually get this to work yet.  May be an issue with my kernel.
 
</ol>
 
</ol>
 
===DTS script===
 
<pre>
 
/*
 
* Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
 
*
 
* This program is free software; you can redistribute it and/or modify
 
* it under the terms of the GNU General Public License version 2 as
 
* published by the Free Software Foundation.
 
*/
 
/dts-v1/;
 
/plugin/;
 
 
/ {
 
    compatible = "ti,beaglebone", "ti,beaglebone-black";
 
 
    /* identification */
 
    part-number = "uart5";
 
 
    fragment@0 {
 
        target = <&am33xx_pinmux>;
 
        __overlay__ {
 
            pinctrl_uart5: pinctrl_uart5_pins {
 
                pinctrl-single,pins = <                                   
 
                        0x070 0x26  /* P9_11 = GPIO0_30 = GPMC_WAIT0 , MODE6 */
 
                        0x074 0x06  /* P9_13 = GPIO0_31 = GPMC_WPN, MODE6 */
 
                >;
 
            };
 
        };
 
    };
 
 
    fragment@1{
 
        target = <&uart5>;
 
        __overlay__ {
 
            status          = "okay";
 
        };
 
    };
 
 
    fragment@2 {
 
        target = <&ocp>;
 
        __overlay__ {
 
            test_helper: helper {
 
                compatible = "bone-pinmux-helper";
 
                pinctrl-names = "default";
 
                pinctrl-0 = <&pinctrl_uart5>;
 
                status = "okay";
 
            };
 
        };
 
    };
 
};
 
</pre>
 

Latest revision as of 13:53, 13 June 2014


The AlarmDecoder AD2PI also supports other embedded systems that can use TTL RS-232 such as the BeagleBone Black. It's a fairly simple process to wire everything up and configure the BeagleBone to communicate with your device.

What you need

  • An AlarmDecoder AD2PI
    • NOTE: The AD2PI pictured is a development board with an extra long pin header. You'll need to solder the connection or go in through the bottom.
  • A BeagleBone Black
  • Wire & solder

Steps

  1. Make sure your BeagleBone and AD2PI are disconnected from power and the panel, respectively.
  2. Connect the pins between CONN2 on the AD2PI and P9 on the BeagleBone Black. See the images on the sidebar if you need a visual reference.
    AD2PI
    BeagleBone Black
  3. Conn AD2PI CONN2 Pin BeagleBone P9 Pin
    GND 6 1
    3.3V 1 3
    RX 10 11
    TX 8 13
    Note the AD2Pi also supports 5v TTL just provide 5V and it will deliver 5v signals on TX/RX
  4. Connect power to your BeagleBone and boot it up.
  5. Enable UART4:
    • echo BB-UART4 >/sys/devices/bone_capemgr.*/slots
    • Your device should now show up as /dev/ttyO4.
  6. Test your device:
    1. Open the serial port with screen:
      • screen /dev/ttyO4 115200
    2. Confirm communication with the device by rebooting it with =.
    3. Exit screen by typing Ctrl+A+K.
  7. Optional: Enable the overlay at boot:
    • Add capemgr.enable_partno=BB-UART4 to /boot/uEnv.txt
    • NOTE: I've been unable to actually get this to work yet. May be an issue with my kernel.