Giuseppe Parrello

 

Development Board TI TCA9548A


Introduction

This development board, based on chipset TI TCA9548A, is a I2C bus multiplexer that allows a microcontroller to communicate with 8 integrated circuits having the same I2C address. This board can only be connected via I2C protocol, it has no USB type connections, so it must be used with a development board with a USB interface, for example a board based on the FTDI FT232H chipset. For ease we are going to connect it to the FTDI FT232H device, of which there is a dedicated page on this site - refer to the above page for installation.

 

Connection via I2C

This development board must be connected to the FTDI FT232H development board via I2C protocol. The connection connectors are listed below:

Image Board FT232H Board TCA9548A

FT232H + TCA9548A

AD0 SCL
AD1 + AD2 SDA
+5V / +3.3V VIN
GND GND

The default hexadecimal address of the TCA9548A card is "70", but we can change it by connecting one of the A0-A2 pins to the VIN pin. These jumpers must be considered as a binary number, A0 is bit 0, while A2 is bit 2, the result of these bits must be added to the hexadecimal number "70". Therefore if only pin A0 is used, the I2C address will become "71" ("hex 70" + "bin 00001" = "hex 71"), while if only jumper A2 is used, the I2C address will become "74" ("hex 70" +"bin 100" = "hex 74").
To get the hexadecimal address of this card, go to the PyFTDI website and download the following Python script. Once downloaded, run it via the Python interpreter. The output of the above script is as follows:

admin@RT-AC86U:/# python3 i2cscan.py

   0 1 2 3 4 5 6 7 8 9 A B C D E F
0: . . . . . . . . . . . . . . . .
1: . . . . . . . . . . . . . . . .
2: . . . . . . . . . . . . . . . .
3: . . . . . . . . . . . . . . . .
4: . . . . . . . . . . . . . . . .
5: . . . . . . . . . . . . . . . .
6: . . . . . . . . . . . . . . . .
7: W . . . . . . . .

 

Python libraries

To manage the TCA9548A board, we can use one of the following Python libreries: