Difference between revisions of "I2C-RPT"

From Land Boards Wiki
Jump to navigation Jump to search
Line 1: Line 1:
 
[[File:tindie-mediums.png|link=https://www.tindie.com/products/land_boards/4-channel-i2c-multiplexer-i2c-rpt-01/]]
 
[[File:tindie-mediums.png|link=https://www.tindie.com/products/land_boards/4-channel-i2c-multiplexer-i2c-rpt-01/]]
 +
 +
[[File:I2C-RPT-01_P1861_720PX.jpg]]
  
 
<video type="youtube">BzxSMwOYKiE</video>
 
<video type="youtube">BzxSMwOYKiE</video>
 
[[File:I2C-RPT-01-X2-CCA_6031-640px.jpg]]
 
  
 
== Features ==
 
== Features ==

Revision as of 22:22, 1 April 2022

Tindie-mediums.png

I2C-RPT-01 P1861 720PX.jpg

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
  1. GND
  2. VCC (If Hx is installed, card powers this pin)
  3. SDA
  4. SCL
  5. 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
  1. GND (G)
  2. VCC (V) - Power into the card
  3. SDA (D)
  4. SCL (C)
  5. INT* (I) - Interrupt (active low)

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
    • Cabling
      • UUT J5 Host connects to I2C port (J7) on the BLACK-PILL-HUB
      • UUT J5 Host INT pin Jumper from PB6-SIG to
  • Uses 4x of I2CIO-8 cards
    • Cabling 5 wire from I2CIO-8 cards J1 to UUT I2C #0-#3
  • Unit Under Test (UUT)
    • Card I2C address = 0x70
    • Install H1-H4 shunts

I2C RPT Test I6075 720px.jpg

Test Procedure

  • Run puTTY
    • COM port from Device Manager
    • 9600 baud
    • No parity
    • No handshake
  • Menu will display
Checking if EEPROM is present on UUT...EEPROM is not present on UUT
Count of I2C devices in range 0x20-0x27 on UUT = 0
Found external I2C mux card
Select I2C Mux board type
1 - I2C-RPT-01 board
2 - I2C-RPT-08 board
  • Enter 1
  • Replies with
Init I2C-RPT-01 card
I2CIO8 card #0 was detected
I2CIO8 card #1 was detected
I2CIO8 card #2 was detected
I2CIO8 card #3 was detected
C=Card Tests, D=Direct, E=EEPROM, I=access Internal DIGIO32
  • Verify that all 4 I2CIO-8 cards were detected
  • Select C to test card
  • Select B to bounce LED across LEDs on all 4 I2CIO-8 cards
  • Verify all 16 LEDs blink
  • Hit any key to stop blinking
  • Hit T to test card
  • Move jumper across I2CIO-8 card input jumpers
  • Verify action on the screen
  • Hit any key to stop test
  • Mark TEST block on rear of card if passed

Test Station Software

Timing

I2C RPT I2C-Cycle.PNG

Drivers/Example Code

Functions

void begin()
void begin(uint8_t addr)
LandBoards_I2CRPT01(void)
void setI2CChannel(uint8_t)
uint8_t getI2CChannel(void)
uint8_t getIntStatus(void)
void setIntr(int intNum, int val)
void clrIntr(int intNum, int val)

Assembly Sheet