Difference between revisions of "I2C-RPT-08"

From Land Boards Wiki
Jump to navigation Jump to search
(36 intermediate revisions by the same user not shown)
Line 7: Line 7:
 
== Features ==
 
== Features ==
  
* I2C Hub / Repeater / Replicator / Multiplexer / De-multiplexer
+
* I2C Hub / Repeater / Replicator / Multiplexer / De-multiplexer / Switch
** [https://www.nxp.com/docs/en/data-sheet/PCA9548A.pdf PCA9548A]
+
** [https://www.nxp.com/docs/en/data-sheet/PCA9548A.pdf PCA9548A Datasheet]
 
** Eight I2C Ports
 
** Eight I2C Ports
 
** 100KHz/400KHz operation
 
** 100KHz/400KHz operation
Line 14: Line 14:
 
** Controlled via I2C
 
** Controlled via I2C
 
** 3.3V or 5V host operation
 
** 3.3V or 5V host operation
 +
** Can power slave cards if they are at the same voltage
 
* 3.3V or 5V slave ports operation
 
* 3.3V or 5V slave ports operation
 +
** Removable jumper(s) to supply power from slave
 
* Voltage translation between the ports
 
* Voltage translation between the ports
* Ex: a Raspberry PI which runs 3.3V can control I2C devices which run at 5V
+
* Ex: a Raspberry Pi which runs 3.3V can control I2C devices which run at 5V
* On-board termination resistors
+
* On-board 2.2K termination resistors
 
* 49x49mm form factor
 
* 49x49mm form factor
 
* 4 solid 4-40 mounting holes
 
* 4 solid 4-40 mounting holes
  
* [[Arduino Based Test Station]]
+
== Connectors ==
* Connects directly to I2C port on the [[Blue Pill Hub]]
+
 
** I2C address offset = 0x0
+
* 0.1" pitch connections
** [[Blue Pill Hub]] is set to offset=0x1 so it does not conflict
+
* [https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2380057.m570.l1313.TR2.TRC1.A0.H0.Xdupont+header.TRS0&_nkw=dupont+header&_sacat=0 Search ebay for Dupont headers]
** Uses 8x of [[I2CIO-8]] cards
+
* [https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2334524.m570.l1311.R4.TR4.TRC1.A0.H0.Xdupont+jumper.TRS0&_nkw=dupont+wire+jumper+cable&_sacat=0&LH_TitleDesc=0&_osacat=0&_odkw=arduino+cable Search ebay for Dupontwire jumper cable]
* [https://github.com/land-boards/lb-Arduino-Code/tree/master/LBCards/ODAS/ODASTESTER ODAS Tester Github Repo]
+
* The slave I2C connectors are (4) 2x6 right angle 0.1" pitch headers
 +
* Two ports per 2x6 connector
 +
* Two of the pins are for power to or from the I2C connector
 +
* The other four pins are for the I2C interface
 +
 
 +
[[File:I2C-RPT-08-X1-Conns-P218-720px.png]]
 +
 
 +
=== H1-H8 - Power to/from I2C Connectors ===
 +
 
 +
* Install shunt to power the I2C slave card from the I2C-RPT-08 Card
 +
** Default factory ships as installed to power external I2C interfaces from the card
 +
* H1 - PORT #0
 +
* ...
 +
* H8 = PORT #7
 +
 
 +
=== Host I2C Connection ===
 +
 
 +
# GND (GND pin marked)
 +
# 3.3V or 5V VCC
 +
# SDA
 +
# SCL
 +
 
 +
=== Slave  I2C Connections (x8) ===
 +
 
 +
# GND
 +
# 3.3V or 5V VCC (Power Out - if jumper 1-2 installed, Power in - if jumper 1-2 is not installed)
 +
# SDA
 +
# SCL (Board marked with SCK)
 +
 
 +
== Jumpers ==
 +
 
 +
=== A0-A2 - Multiplexer I2C Base Address ===
 +
 
 +
* Install for Ax = 0 (factory default address = 0)
 +
* Remove for Ax = 1
  
 
== Schematic ==
 
== Schematic ==
 +
 +
* [http://land-boards.com/I2C-RPT-08/I2CRPT08_RevX1_Schematic.pdf I2C-RPT-08 Schematic]
  
 
== Drivers/Example Code ==
 
== Drivers/Example Code ==
  
 
* [https://github.com/land-boards/lb-Arduino-Code/tree/master/libraries/LandBoards_I2CRPT08 Github repo] - Driver code
 
* [https://github.com/land-boards/lb-Arduino-Code/tree/master/libraries/LandBoards_I2CRPT08 Github repo] - Driver code
* [https://github.com/land-boards/lb-Arduino-Code/tree/master/LBCards/I2CRPT08 Github repo] - Example code
+
* [https://github.com/land-boards/lb-Arduino-Code/blob/master/LBCards/I2CRPT08/I2CIO8X8wMux/I2CIO8X8wMux.ino Github repo] - Example code
 +
 
 +
=== Programming Note ===
 +
 
 +
* The mux chip allows multiple or single I2C ports to be written at the same time
 +
** To only enable one port at a time make sure you disable a channel after use or disable last channel used before enabling new channel
  
 
== Testing ==
 
== Testing ==
  
 
* [[Arduino Based Test Station]]
 
* [[Arduino Based Test Station]]
* Connects directly to I2C port on the [[Blue Pill Hub]]
+
** 9600 baud, no hardware handshake
** I2C address offset = 0x0  
+
* Uses 8x of [[I2CIO-8]] cards
** [[Blue Pill Hub]] is set to offset=0x1 so it does not conflict
+
* On UUT
** Uses 8x of [[I2CIO-8]] cards
+
** Install jumpers into A0-A2
 +
*** I2C address offset = 0x0
 +
*** [[BLUE-PILL-HUB]] is set to offset=0x1 so it does not conflict
 +
* Connect directly to I2C port on the [[BLUE-PILL-HUB]]
 
* [https://github.com/land-boards/lb-Arduino-Code/tree/master/LBCards/ODAS/ODASTESTER ODAS Tester Github Repo]
 
* [https://github.com/land-boards/lb-Arduino-Code/tree/master/LBCards/ODAS/ODASTESTER ODAS Tester Github Repo]
  

Revision as of 15:03, 1 August 2020

Tindie-mediums.png

I2C-RPT-08-X1-P218-720px.jpg

Features

  • I2C Hub / Repeater / Replicator / Multiplexer / De-multiplexer / Switch
  • Host port
    • Controlled via I2C
    • 3.3V or 5V host operation
    • Can power slave cards if they are at the same voltage
  • 3.3V or 5V slave ports operation
    • Removable jumper(s) to supply power from slave
  • Voltage translation between the ports
  • Ex: a Raspberry Pi which runs 3.3V can control I2C devices which run at 5V
  • On-board 2.2K termination resistors
  • 49x49mm form factor
  • 4 solid 4-40 mounting holes

Connectors

I2C-RPT-08-X1-Conns-P218-720px.png

H1-H8 - Power to/from I2C Connectors

  • Install shunt to power the I2C slave card from the I2C-RPT-08 Card
    • Default factory ships as installed to power external I2C interfaces from the card
  • H1 - PORT #0
  • ...
  • H8 = PORT #7

Host I2C Connection

  1. GND (GND pin marked)
  2. 3.3V or 5V VCC
  3. SDA
  4. SCL

Slave I2C Connections (x8)

  1. GND
  2. 3.3V or 5V VCC (Power Out - if jumper 1-2 installed, Power in - if jumper 1-2 is not installed)
  3. SDA
  4. SCL (Board marked with SCK)

Jumpers

A0-A2 - Multiplexer I2C Base Address

  • Install for Ax = 0 (factory default address = 0)
  • Remove for Ax = 1

Schematic

Drivers/Example Code

Programming Note

  • The mux chip allows multiple or single I2C ports to be written at the same time
    • To only enable one port at a time make sure you disable a channel after use or disable last channel used before enabling new channel

Testing

P963-cropped-720px.jpg

Issues

  • Silkscreen shows SCK, should be SCL

Assembly Sheet