Difference between revisions of "BBB-COMMS-2"
Jump to navigation
Jump to search
Blwikiadmin (talk | contribs) |
Blwikiadmin (talk | contribs) |
||
(92 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | [[File:tindie-mediums.png|link=https://www.tindie.com/products/9902/]] | ||
+ | |||
[[File:BBB-COMMS-2-P418-720px.jpg]] | [[File:BBB-COMMS-2-P418-720px.jpg]] | ||
+ | |||
+ | <video type="youtube">0mXV-AHFqqM</video> | ||
== Features == | == Features == | ||
Line 6: | Line 10: | ||
* (13) GPIOs - GVS (Ground/Voltage/Signal) pins | * (13) GPIOs - GVS (Ground/Voltage/Signal) pins | ||
+ | ** GVS (Ground/Voltage/Signal) pins | ||
* (3) UARTs - GVTxRx (Ground/Voltage/Tx/Rx) pins | * (3) UARTs - GVTxRx (Ground/Voltage/Tx/Rx) pins | ||
+ | ** GVTxRx (Ground/Voltage/Tx/Rx) pins | ||
* (1) I2C bus- GVSdaScl (Ground/Voltage/SDA/SCL) pins | * (1) I2C bus- GVSdaScl (Ground/Voltage/SDA/SCL) pins | ||
− | * Support for keyed headers | + | ** GVSdaScl (Ground/Voltage/SDA/SCL) pins |
+ | ** Support for keyed headers | ||
* Cape Support features | * Cape Support features | ||
** Cape configuration EEPROM with write enable jumper | ** Cape configuration EEPROM with write enable jumper | ||
+ | ** On I2C2 interface | ||
* Beaglebone Black form factor | * Beaglebone Black form factor | ||
* Power LED | * Power LED | ||
+ | |||
+ | == Headers and Connectors == | ||
+ | |||
+ | [[File:BBB-COMMS-02_RevX1.PNG]] | ||
+ | |||
+ | === Header === | ||
+ | |||
+ | ==== H1 - Write Enable Header ==== | ||
+ | |||
+ | * Install jumper onto header to allow writes to EEPROM | ||
+ | * Remove jumper from header to prevent writes to EEPROM | ||
+ | |||
+ | === Connectors === | ||
+ | |||
+ | ==== H2 - Power/Ground ==== | ||
+ | |||
+ | # GND | ||
+ | # VCC | ||
+ | # No pin (KEY) | ||
+ | |||
+ | ==== H3 - GPIO3_19, GPIO1_17 ==== | ||
+ | |||
+ | # GND | ||
+ | # VCC | ||
+ | # GPIO3_19 (P9_27) | ||
+ | # GPIO1_17 (P9_23) | ||
+ | |||
+ | ==== H4 - UART1 ==== | ||
+ | |||
+ | # GND | ||
+ | # VCC | ||
+ | # UART1_TXD (P9_24) | ||
+ | # UART1_RXD (P9_26) | ||
+ | |||
+ | ==== H5 - UART2 ==== | ||
+ | |||
+ | # GND | ||
+ | # VCC | ||
+ | # UART2_TXD (P9_21) | ||
+ | # UART2_RXD (P9_22) | ||
+ | |||
+ | ==== H6 - I2C1 ==== | ||
+ | |||
+ | # GND | ||
+ | # VCC | ||
+ | # I2C1_SDA (P9_18) | ||
+ | # I2C1_SCL (P9_17) | ||
+ | |||
+ | ==== H7 - EHRPWM1A, GPIO1_28 ==== | ||
+ | |||
+ | # GND | ||
+ | # VCC | ||
+ | # EHRPWM1A (P9_14) | ||
+ | # GPIO1_28 (P9_12) | ||
+ | |||
+ | ==== H8 - EHRPWM1B GPIO3_19 ==== | ||
+ | |||
+ | # GND | ||
+ | # VCC | ||
+ | # EHRPWM1B (P9_16) | ||
+ | # GPIO3_19 (P9_27) | ||
+ | |||
+ | ==== H9 - UART4 ==== | ||
+ | |||
+ | # GND | ||
+ | # VCC | ||
+ | # UART4_TXD (P9_C13) | ||
+ | # UART4_RXD (P9_C11) | ||
+ | |||
+ | ==== H10 - KEY ==== | ||
+ | |||
+ | # GND | ||
+ | # VCC | ||
+ | # No pin (KEY) | ||
+ | |||
+ | ==== H11 - GPIO1_29 ==== | ||
+ | |||
+ | # GND | ||
+ | # VCC | ||
+ | # GPIO1_29 (P8_26) | ||
+ | |||
+ | ==== H12 - GPIO2_1 ==== | ||
+ | |||
+ | # GND | ||
+ | # VCC | ||
+ | # GPIO2_1 (P8_18) | ||
+ | |||
+ | ==== H13 - GPIO0_27 ==== | ||
+ | |||
+ | # GND | ||
+ | # VCC | ||
+ | # GPIO0_27 (P8_17) | ||
+ | |||
+ | ==== H14 - GPIO1_14 ==== | ||
+ | |||
+ | # GND | ||
+ | # VCC | ||
+ | # GPIO1_14 (P8_16) | ||
+ | |||
+ | ==== H14 - GPIO1_14 ==== | ||
+ | |||
+ | # GND | ||
+ | # VCC | ||
+ | # GPIO1_14 (P8_16) | ||
+ | |||
+ | ==== H15 - GPIO1_15 ==== | ||
+ | |||
+ | # GND | ||
+ | # VCC | ||
+ | # GPIO1_15 (P8_15) | ||
+ | |||
+ | ==== H16 - GPIO1_12 ==== | ||
+ | |||
+ | # GND | ||
+ | # VCC | ||
+ | # GPIO1_12 (P8_12) | ||
+ | |||
+ | ==== H17 - GPIO1_13 ==== | ||
+ | |||
+ | # GND | ||
+ | # VCC | ||
+ | # GPIO1_13 (P8_11) | ||
+ | |||
+ | == Schematics == | ||
+ | |||
+ | * [http://land-boards.com/BBB-COMMS-2/BBB_COMMS_2_RevX1_Schematic.pdf Rev X1] | ||
+ | * [http://land-boards.com/BBB-COMMS-2/BBB_COMMS_2_RevX3_Schematic.pdf Rev X3] | ||
+ | |||
+ | == Production Testing == | ||
+ | |||
+ | <video type="youtube">0mXV-AHFqqM</video> | ||
+ | |||
+ | === Setup === | ||
+ | |||
+ | * Install BBB-COMMS-2 Unit Under Test (UUT) on BBB | ||
+ | * Install shunt at H1 (Write Enable) | ||
+ | * Ethernet connection to BBB | ||
+ | * Power via 5V jack to BBB | ||
+ | * Verify 3.3V PWR LED is lit | ||
+ | * Log in via putty | ||
+ | ** User = root | ||
+ | ** Password = enter | ||
+ | |||
+ | === GPIO Testing === | ||
+ | |||
+ | * Hook up [[LED-32]] Card to these pins | ||
+ | ** Connector "LED32-1" to Pins 1-20 of [[LED-32]] | ||
+ | ** Connector "LED32-21" to Pins 21-40 of [[LED-32]] | ||
+ | * Hook up to UUT | ||
+ | ** Connector marked "H2-1" into GND pins on H2-H9 | ||
+ | ** Connector marked "H2-2" into SIG pins on H2-H9 | ||
+ | ** Connector marked "H10-3" into SIG pins on H10-H17 | ||
+ | <pre> | ||
+ | D0 = "P8_26" | ||
+ | D1 = "P8_17" | ||
+ | D2 = "P8_15" | ||
+ | D3 = "P8_11" | ||
+ | D4 = "P9_23" | ||
+ | D5 = "P9_26" | ||
+ | D6 = "P9_22" | ||
+ | D7 = "P9_15" | ||
+ | D8 = "P9_12" | ||
+ | D9 = "P9_11" | ||
+ | |||
+ | D16 = "P8_18" | ||
+ | D17 = "P8_16" | ||
+ | D18 = "P8_12" | ||
+ | D19 = "P9_27" | ||
+ | D20 = "P9_24" | ||
+ | D21 = "P9_21" | ||
+ | D22 = "P9_16" | ||
+ | D23 = "P9_14" | ||
+ | D24 = "P9_13" | ||
+ | </pre> | ||
+ | * Run test via: | ||
+ | <pre> | ||
+ | cd ~/pyBBB/BBB-COMMS-2/blink-BBB-COMMS-2/ | ||
+ | python blink-BBB-COMMS-2.py | ||
+ | |||
+ | </pre> | ||
+ | * Ctrl-C to stop | ||
+ | |||
+ | === EEPROM Programming === | ||
+ | |||
+ | * Go to directory | ||
+ | * Program the EEPROM | ||
+ | * Verify by typing | ||
+ | <pre> | ||
+ | cd ~/pyBBB/BBB-COMMS-2/mkeeprom | ||
+ | cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom | ||
+ | cat /sys/bus/i2c/devices/1-0054/eeprom | hexdump -C | ||
+ | |||
+ | </pre> | ||
+ | * Result should be like - | ||
+ | <pre> | ||
+ | 00000000 aa 55 33 ee 41 30 42 42 42 2d 47 56 53 2d 33 00 |.U3.A0BBB-COMMS-| | ||
+ | 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |2...............| | ||
+ | 00000020 00 00 00 00 00 00 58 31 00 00 4c 61 6e 64 20 42 |......X1..Land B| | ||
+ | 00000030 6f 61 72 64 73 2c 20 4c 4c 43 42 42 42 2d 47 56 |oards, LLCBBB-CO| | ||
+ | 00000040 53 2d 33 00 00 00 00 00 00 00 00 00 30 30 30 30 |MS-2........0000| | ||
+ | 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| | ||
+ | * | ||
+ | 000000e0 00 00 00 00 00 00 00 00 00 00 00 00 00 fa 01 f4 |................| | ||
+ | 000000f0 00 fa 00 00 ff ff ff ff ff ff ff ff ff ff ff ff |................| | ||
+ | 00000100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| | ||
+ | * | ||
+ | 00008000 | ||
+ | </pre> | ||
+ | * Remove WE jumper | ||
+ | * Type | ||
+ | <pre> | ||
+ | cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom | ||
+ | |||
+ | </pre> | ||
+ | * Result should be error | ||
+ | <pre> | ||
+ | root@BBB01:~/pyBBB/BBB-COMMS-2/mkeeprom# cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom | ||
+ | cat: write error: Connection timed out | ||
+ | </pre> | ||
+ | * Prepare to re-run | ||
+ | * Type | ||
+ | <pre> | ||
+ | halt | ||
+ | </pre> | ||
+ | *Combined Copy/Paste | ||
+ | <pre> | ||
+ | cd ~/pyBBB/BBB-COMMS-2/blink-BBB-COMMS-2 | ||
+ | python blink-BBB-COMMS-2.py | ||
+ | |||
+ | cd ~/pyBBB/BBB-COMMS-2/mkeeprom/ | ||
+ | cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom | ||
+ | cat /sys/bus/i2c/devices/1-0054/eeprom | hexdump -C | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | == I2C Testing == | ||
+ | |||
+ | <video type="youtube">66ku727KieA</video> | ||
+ | |||
+ | [[file:BBB-COMMS-2_I2CIO-8_Test-Setup_720px.png]] | ||
+ | |||
+ | === Hardware === | ||
+ | |||
+ | * UUT | ||
+ | * [[I2CIO-8]] | ||
+ | |||
+ | === Enable I2C Bus === | ||
+ | |||
+ | * [http://land-boards.com/blwiki/index.php?title=BeagleBone#Enable_the_I2C_devices_on_the_BeagleBone_Black_Rev_C How-To enable the I2C devices on the BeagleBone Black Rev C] | ||
+ | ** [https://sites.google.com/a/cameon.net/beaglebone/home/i2c-devices Enable the I2C devices on the BeagleBone Black] | ||
+ | * Physically connected to I2C1 port on the BBB-COMMS-2 card but is I2C-2 from the software | ||
+ | * Probe I2C bus 2 | ||
+ | <pre> | ||
+ | i2cdetect -y -r 2 | ||
+ | |||
+ | </pre> | ||
+ | * Card shows up at 0x20 | ||
+ | <pre> | ||
+ | root@beaglebone:~/BBB/MCP23008# i2cdetect -y -r 2 | ||
+ | 0 1 2 3 4 5 6 7 8 9 a b c d e f | ||
+ | 00: -- -- -- -- -- -- -- -- -- -- -- -- -- | ||
+ | 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | ||
+ | 20: 20 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | ||
+ | 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | ||
+ | 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | ||
+ | 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | ||
+ | 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | ||
+ | 70: -- -- -- -- -- -- -- -- | ||
+ | </pre> | ||
+ | |||
+ | ==== 4 of I2CIO-8 cards ==== | ||
+ | |||
+ | * Connect 4 of [[I2CIO-8]] | ||
+ | ** I2C daisy-chain | ||
+ | ** Address jumpers set for 0x20-0x23 | ||
+ | * Enter | ||
+ | <pre> | ||
+ | i2cdetect -y -r 2 | ||
+ | |||
+ | </pre> | ||
+ | * Result shows cards at 0x20-0x23 | ||
+ | <pre> | ||
+ | 0 1 2 3 4 5 6 7 8 9 a b c d e f | ||
+ | 00: -- -- -- -- -- -- -- -- -- -- -- -- -- | ||
+ | 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | ||
+ | 20: 20 21 22 23 -- -- -- -- -- -- -- -- -- -- -- -- | ||
+ | 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | ||
+ | 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | ||
+ | 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | ||
+ | 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | ||
+ | 70: -- -- -- -- -- -- -- -- | ||
+ | </pre> | ||
+ | |||
+ | === Run Example Code === | ||
+ | |||
+ | * [https://github.com/land-boards/BBB/tree/master/MCP23008 MCP23008_ex.py - Example code] | ||
+ | <pre> | ||
+ | cd /root/BBB/MCP23008 | ||
+ | root@beaglebone:~/BBB/MCP23008# ls -al | ||
+ | total 12 | ||
+ | drwxr-xr-x 2 root root 4096 Apr 23 2014 . | ||
+ | drwxr-xr-x 17 root root 4096 Apr 23 2014 .. | ||
+ | -rwxr-xr-x 1 root root 1508 Apr 24 2014 MCP23008_ex.py | ||
+ | </pre> | ||
+ | * Run using | ||
+ | <pre> | ||
+ | python MCP23008_ex.py | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | === I2C Timing === | ||
+ | |||
+ | * 100 KHz | ||
+ | |||
+ | [[file:I2C_Testing-01.PNG]] | ||
+ | |||
+ | == Drivers / Example Code == | ||
+ | |||
+ | === Blink LEDs code === | ||
+ | |||
+ | * [https://github.com/land-boards/BBB/blob/master/BBB-COMMS-2/blink-BBB-COMMS-2/blink-BBB-COMMS-2.py Blink LEDS on BBB-COMMS-2 GPIO lines] | ||
+ | |||
+ | === I2C Example Code === | ||
+ | |||
+ | * [https://github.com/land-boards/BBB/tree/master/MCP23008 MCP23008 Example code] | ||
+ | ** [http://land-boards.com/blwiki/index.php?title=BeagleBone#Enable_the_I2C_devices_on_the_BeagleBone_Black_Rev_C Enable the I2C devices on the BeagleBone Black Rev C] | ||
+ | ** 2nd method - [https://datko.net/2013/11/03/bbb_i2c/ BeagleBone Black I2C References] | ||
+ | * [https://sites.google.com/a/cameon.net/beaglebone/home/i2c-devices Enable the I2C devices on the BeagleBone Black] | ||
+ | |||
+ | == Issues == | ||
+ | |||
+ | * Document the issues with the builds | ||
+ | |||
+ | === Rev X3 === | ||
+ | |||
+ | * Fixed soldermask offset to = 0 | ||
+ | * Change some silkscreen sizes | ||
+ | ** BBB-COMMS-2 smaller | ||
+ | *** REV larger | ||
+ | * Change silkscreen on I2C to I2C1 | ||
+ | |||
+ | [[file:BBB-COMMS-02_RevX3.PNG]] | ||
+ | |||
+ | === Rev X2 === | ||
+ | |||
+ | * Skipped | ||
+ | |||
+ | === Rev X1 === | ||
+ | |||
+ | * No functional issues | ||
== BBB-COMMS-2 Assembly Sheet/Parts List == | == BBB-COMMS-2 Assembly Sheet/Parts List == | ||
* [[BBB-COMMS-2 Rev X1 Assembly Sheet]] | * [[BBB-COMMS-2 Rev X1 Assembly Sheet]] | ||
+ | * [[BBB-COMMS-2 Rev X3 Assembly Sheet]] |
Latest revision as of 21:24, 8 April 2022
Contents
- 1 Features
- 2 Headers and Connectors
- 2.1 Header
- 2.2 Connectors
- 2.2.1 H2 - Power/Ground
- 2.2.2 H3 - GPIO3_19, GPIO1_17
- 2.2.3 H4 - UART1
- 2.2.4 H5 - UART2
- 2.2.5 H6 - I2C1
- 2.2.6 H7 - EHRPWM1A, GPIO1_28
- 2.2.7 H8 - EHRPWM1B GPIO3_19
- 2.2.8 H9 - UART4
- 2.2.9 H10 - KEY
- 2.2.10 H11 - GPIO1_29
- 2.2.11 H12 - GPIO2_1
- 2.2.12 H13 - GPIO0_27
- 2.2.13 H14 - GPIO1_14
- 2.2.14 H14 - GPIO1_14
- 2.2.15 H15 - GPIO1_15
- 2.2.16 H16 - GPIO1_12
- 2.2.17 H17 - GPIO1_13
- 3 Schematics
- 4 Production Testing
- 5 I2C Testing
- 6 Drivers / Example Code
- 7 Issues
- 8 BBB-COMMS-2 Assembly Sheet/Parts List
Features
Extensive I/O connections
- (13) GPIOs - GVS (Ground/Voltage/Signal) pins
- GVS (Ground/Voltage/Signal) pins
- (3) UARTs - GVTxRx (Ground/Voltage/Tx/Rx) pins
- GVTxRx (Ground/Voltage/Tx/Rx) pins
- (1) I2C bus- GVSdaScl (Ground/Voltage/SDA/SCL) pins
- GVSdaScl (Ground/Voltage/SDA/SCL) pins
- Support for keyed headers
- Cape Support features
- Cape configuration EEPROM with write enable jumper
- On I2C2 interface
- Beaglebone Black form factor
- Power LED
Headers and Connectors
Header
H1 - Write Enable Header
- Install jumper onto header to allow writes to EEPROM
- Remove jumper from header to prevent writes to EEPROM
Connectors
H2 - Power/Ground
- GND
- VCC
- No pin (KEY)
H3 - GPIO3_19, GPIO1_17
- GND
- VCC
- GPIO3_19 (P9_27)
- GPIO1_17 (P9_23)
H4 - UART1
- GND
- VCC
- UART1_TXD (P9_24)
- UART1_RXD (P9_26)
H5 - UART2
- GND
- VCC
- UART2_TXD (P9_21)
- UART2_RXD (P9_22)
H6 - I2C1
- GND
- VCC
- I2C1_SDA (P9_18)
- I2C1_SCL (P9_17)
H7 - EHRPWM1A, GPIO1_28
- GND
- VCC
- EHRPWM1A (P9_14)
- GPIO1_28 (P9_12)
H8 - EHRPWM1B GPIO3_19
- GND
- VCC
- EHRPWM1B (P9_16)
- GPIO3_19 (P9_27)
H9 - UART4
- GND
- VCC
- UART4_TXD (P9_C13)
- UART4_RXD (P9_C11)
H10 - KEY
- GND
- VCC
- No pin (KEY)
H11 - GPIO1_29
- GND
- VCC
- GPIO1_29 (P8_26)
H12 - GPIO2_1
- GND
- VCC
- GPIO2_1 (P8_18)
H13 - GPIO0_27
- GND
- VCC
- GPIO0_27 (P8_17)
H14 - GPIO1_14
- GND
- VCC
- GPIO1_14 (P8_16)
H14 - GPIO1_14
- GND
- VCC
- GPIO1_14 (P8_16)
H15 - GPIO1_15
- GND
- VCC
- GPIO1_15 (P8_15)
H16 - GPIO1_12
- GND
- VCC
- GPIO1_12 (P8_12)
H17 - GPIO1_13
- GND
- VCC
- GPIO1_13 (P8_11)
Schematics
Production Testing
Setup
- Install BBB-COMMS-2 Unit Under Test (UUT) on BBB
- Install shunt at H1 (Write Enable)
- Ethernet connection to BBB
- Power via 5V jack to BBB
- Verify 3.3V PWR LED is lit
- Log in via putty
- User = root
- Password = enter
GPIO Testing
- Hook up LED-32 Card to these pins
- Hook up to UUT
- Connector marked "H2-1" into GND pins on H2-H9
- Connector marked "H2-2" into SIG pins on H2-H9
- Connector marked "H10-3" into SIG pins on H10-H17
D0 = "P8_26" D1 = "P8_17" D2 = "P8_15" D3 = "P8_11" D4 = "P9_23" D5 = "P9_26" D6 = "P9_22" D7 = "P9_15" D8 = "P9_12" D9 = "P9_11" D16 = "P8_18" D17 = "P8_16" D18 = "P8_12" D19 = "P9_27" D20 = "P9_24" D21 = "P9_21" D22 = "P9_16" D23 = "P9_14" D24 = "P9_13"
- Run test via:
cd ~/pyBBB/BBB-COMMS-2/blink-BBB-COMMS-2/ python blink-BBB-COMMS-2.py
- Ctrl-C to stop
EEPROM Programming
- Go to directory
- Program the EEPROM
- Verify by typing
cd ~/pyBBB/BBB-COMMS-2/mkeeprom cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom cat /sys/bus/i2c/devices/1-0054/eeprom | hexdump -C
- Result should be like -
00000000 aa 55 33 ee 41 30 42 42 42 2d 47 56 53 2d 33 00 |.U3.A0BBB-COMMS-| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |2...............| 00000020 00 00 00 00 00 00 58 31 00 00 4c 61 6e 64 20 42 |......X1..Land B| 00000030 6f 61 72 64 73 2c 20 4c 4c 43 42 42 42 2d 47 56 |oards, LLCBBB-CO| 00000040 53 2d 33 00 00 00 00 00 00 00 00 00 30 30 30 30 |MS-2........0000| 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 000000e0 00 00 00 00 00 00 00 00 00 00 00 00 00 fa 01 f4 |................| 000000f0 00 fa 00 00 ff ff ff ff ff ff ff ff ff ff ff ff |................| 00000100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| * 00008000
- Remove WE jumper
- Type
cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom
- Result should be error
root@BBB01:~/pyBBB/BBB-COMMS-2/mkeeprom# cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom cat: write error: Connection timed out
- Prepare to re-run
- Type
halt
- Combined Copy/Paste
cd ~/pyBBB/BBB-COMMS-2/blink-BBB-COMMS-2 python blink-BBB-COMMS-2.py cd ~/pyBBB/BBB-COMMS-2/mkeeprom/ cat data.eeprom > /sys/bus/i2c/devices/1-0054/eeprom cat /sys/bus/i2c/devices/1-0054/eeprom | hexdump -C
I2C Testing
Hardware
- UUT
- I2CIO-8
Enable I2C Bus
- How-To enable the I2C devices on the BeagleBone Black Rev C
- Physically connected to I2C1 port on the BBB-COMMS-2 card but is I2C-2 from the software
- Probe I2C bus 2
i2cdetect -y -r 2
- Card shows up at 0x20
root@beaglebone:~/BBB/MCP23008# i2cdetect -y -r 2 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: 20 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
4 of I2CIO-8 cards
- Connect 4 of I2CIO-8
- I2C daisy-chain
- Address jumpers set for 0x20-0x23
- Enter
i2cdetect -y -r 2
- Result shows cards at 0x20-0x23
0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: 20 21 22 23 -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
Run Example Code
cd /root/BBB/MCP23008 root@beaglebone:~/BBB/MCP23008# ls -al total 12 drwxr-xr-x 2 root root 4096 Apr 23 2014 . drwxr-xr-x 17 root root 4096 Apr 23 2014 .. -rwxr-xr-x 1 root root 1508 Apr 24 2014 MCP23008_ex.py
- Run using
python MCP23008_ex.py
I2C Timing
- 100 KHz
Drivers / Example Code
Blink LEDs code
I2C Example Code
Issues
- Document the issues with the builds
Rev X3
- Fixed soldermask offset to = 0
- Change some silkscreen sizes
- BBB-COMMS-2 smaller
- REV larger
- BBB-COMMS-2 smaller
- Change silkscreen on I2C to I2C1
Rev X2
- Skipped
Rev X1
- No functional issues