Difference between revisions of "I2C-RPT"
Jump to navigation
Jump to search
Blwikiadmin (talk | contribs) |
Blwikiadmin (talk | contribs) |
||
Line 7: | Line 7: | ||
== Features == | == Features == | ||
− | * I2C Hub / Repeater / Replicator / Multiplexer / De-multiplexer | + | * I2C Hub / Repeater / Replicator / Multiplexer / De-multiplexer / Switch |
− | * | + | ** [https://www.ti.com/lit/ds/symlink/pca9544a.pdf PCA9544A Datasheet] IC Multiple vendors |
− | + | ** Four I2C Ports | |
− | * [https://www.ti.com/lit/ds/symlink/pca9544a.pdf PCA9544A] IC Multiple vendors | + | ** 100KHz/400KHz operation |
− | * I2C Address fixed at 0x70 | + | ** I2C Address fixed at 0x70 |
− | * 3.3V or 5V host operation | + | * Host port |
+ | ** Controlled via I2C | ||
+ | ** 3.3V or 5V host operation | ||
+ | ** 3.3V or 5V slave ports 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 | ||
− | * Example: A Raspberry PI which runs 3.3V can control an I2C device which runs at 5V | + | ** Example: A Raspberry PI which runs 3.3V can control an I2C device which runs at 5V |
* Interrupt line on each channel and host | * Interrupt line on each channel and host | ||
− | + | * On-board 2.2K termination resistors | |
− | * On-board termination resistors | ||
* 49x49mm form factor | * 49x49mm form factor | ||
* 4 solid 4-40 mounting holes | * 4 solid 4-40 mounting holes | ||
− | * Arduino driver and example code | + | * Drivers/Example Code |
− | * Raspberry Pi example code | + | ** Arduino driver and example code |
+ | ** Raspberry Pi example code | ||
== Headers == | == Headers == |
Revision as of 14:27, 1 April 2022
Contents
Features
- I2C Hub / Repeater / Replicator / Multiplexer / De-multiplexer / Switch
- PCA9544A Datasheet IC Multiple vendors
- Four I2C Ports
- 100KHz/400KHz operation
- I2C Address fixed at 0x70
- Host port
- Controlled via I2C
- 3.3V or 5V host operation
- 3.3V or 5V slave ports 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
- Example: A Raspberry PI which runs 3.3V can control an I2C device which runs at 5V
- Interrupt line on each channel and host
- On-board 2.2K termination resistors
- 49x49mm form factor
- 4 solid 4-40 mounting holes
- Drivers/Example Code
- Arduino driver and example code
- Raspberry Pi example code
Headers
- Install jumper to power the particular I2C interface from the card (Voltage matches J5 voltage
- Remove Jumper to the particular I2C interface from external interface (3.3V or 5V)
- Jumpers
- H1 = I2C #0 Power
- H2 = I2C #1 Power
- H3 = I2C #2 Power
- H4 = I2C #3 Power
Connectors
J1-J4 - I2C Slave ports
- Ports
- J1 = I2C Port #0
- J2 = I2C Port #1
- J3 = I2C Port #2
- J4 = I2C Port #3
- Pinout
- GND
- VCC (If Hx is installed, card powers this pin)
- SDA
- SCL
- INT*
J5 - I2C to/from Host port
- Power comes in this connector
- Voltage matches signal levels
- 2.2K Ohm terminated
- I2C address is fixed at 0x70
- GND (G)
- VCC (V) - Power into the card
- SDA (D)
- SCL (C)
- INT* (I) - Interrupt (active low)
Drivers/Example Code
- GitHub Repo - Arduino Driver code
- Github Repo - Example code
Schematic
Testing
Test Station Hardware
- Arduino Based Test Station
- Built in I2C mux on BLACK-PILL-HUB is set to offset=0x1 so it does not conflict with I2C address of UUT
- Uses 4x of I2CIO-8 cards
- Unit Under Test (UUT)
- I2C address offset = 0x0
- UUT J5 connects directly to I2C port (J7) on the BLACK-PILL-HUB
- Install H1-H4 shunts
- Powers I2CIO-8 cards from UUT
Test Station Software
Test Procedure
- Connect I2C