The shipping fee depends on your address
Standard: 9-15 business days,fee is down to $3.99
Express: 4-7 business days,fee is down to $5.99
WE'RE READY TO BUILD A CUSTOM PRODUCT FOR YOU.
If you're looking for a custom product, we can help. Kindly contact us via email support@keszoox.com and send us the details for your need, then we'll let you know how we can deliver the right solution.We make into production usually Within 1 - 3 Bussiness Days.
Expect customization orders.Connect up to 8 I2C devices or 8 separate I2C buses.
The TCA9548A / PCA9548A is an I2C multiplexer that allows up to 8 devices with the same I2C address to be hooked up to an MCU or permits up to 8 separate I2C buses to be controlled. The two modules are identical other than the TCA can operate down to 1.8V and the PCA can operate down to 2.3V.
One of the great things about I2C is that multiple devices can be hooked up to the same I2C bus if their addresses are unique. In some cases, a part may have a fixed address and therefore it is impossible to use more than one of the devices on the same bus or in another case, two different devices may happen to have the same fixed I2C address which also creates a bus conflict.
You may also want to separate a large number of devices on a single I2C bus into several smaller buses due to loading concerns or for bus isolation.
The TCA9548A addresses those issues by allowing a single master I2C bus to address up to 8 different slave I2C buses individually or in any combination. The multiplexer is given a command as to which bus(es) to use and then any future I2C communications will continue to use that bus configuration until commanded to use a different one.
The module uses the 24-pin TCA9548A or PCA9548A 8-channel I2C multiplexer chip. It supports I2C bus speeds up to 400kHz and allows level translation between 2.5V, 3.3V and 5V buses. The only difference between the TCA and PCA version is that the TCA can support down to 1.8V operation while the PCA can operate down to 2.3V. Otherwise they are identical and we don’t differentiate between them.
The modules master default I2C address is 0x70. Address lines A0-A2 which are normally LOW allow the address to be set to the range of 0x70 – 0x77 by pulling the address pins HIGH. Pulling all 3 pins HIGH results in the address 0x77.
This allows up to 8 of these modules to be controlled by one I2C bus which results in the ability to control up to 64 slave buses.
The master I2C lines have 10K pull-up resistors included on the module.
The module has 8 slave I2C interfaces labeled SD0/SC0 thru SD7/SC7.
The slave I2C lines do not have pull-up resistors on the module. In most cases, the I2C devices being controlled will have pull-up resistors installed, but if not you should add a 4.7K to 10K pull-up resistor on the SDx and SCx lines that are being used.
The board has two 12-pin male headers which give access to all the chip pins. All inputs are 5V tolerant. The header rows are on a fairly wide 0.7″ spacing.
1 x 12 Header (left)
1 x 12 Header (right)
The module comes with 2 strips of male headers. These can be soldered on for use on a breadboard, or you can attach wires directly to the board depending on what your application requires.
When soldering the headers on, it is recommended to insert the headers into a solderless breadboard or perf board first to hold them in alignment while soldering.
These are useful modules that can solve an otherwise difficult issue when you have one I2C bus available and need more to avoid device conflicts or to split an I2C bus up into several for loading concerns or to provide some isolation.
To use the device is straight forward. First you select which slave port you want to communicate with by writing a single byte with the port number and then any future I2C communications will be sent to that port until a new slave port is set.
In our example here, we are using a simple program to scan all 8 slave ports and look for any I2C devices that may be attached. If any devices are found, the I2C address of that device and the slave port it is attached to is sent to the Serial Monitor window.
Connect SDA and SCL between the MCU and the TCA9548A module.
Connect VIN to 3.3V or 5V to match the MCU power and connect GND to ground.
Connect one or more modules with an I2C interface to one or more of the slave ports. It doesn’t really matter what they are as we will just be looking to see if we can find them. Be sure to apply the correct power for that device as well as ground.
/* This program exercises the TCA9548A I2C Multiplexer module by scanning the 8 slave channels to see if it can find any I2C devices attached Connect master I2C SDA and SCL pins between MCU and module Connect one or more I2C devices to one or more of the SDx and SCx pin pairs Connect VIN to 5V or 3.3V to match your MCU and connect GND to ground Ensure your attached slave devices have appropriate power and ground applied. */ #include <Wire.h> extern "C" { #include "utility/twi.h" // From Wire library for bus scanning } int const TCA_ADDR = 0x70; // I2C address of our TCA9548A chip //=============================================================================== // Initialization //=============================================================================== void setup() { Serial.begin(9600); Wire.begin(); byte data; if (! twi_writeTo(TCA_ADDR, &data, 0, 1, 1)) { Serial.println("Found TCA9548A Module"); Serial.println("Begin Scan: "); for (byte port = 0; port < 8; port++) { // Cycle through each slave port # TCA_Select(port); // Select that port on the TCA9548A Serial.print("TCA Port #"); Serial.println(port); for (byte I2C_addr = 0; I2C_addr <= 127; I2C_addr++) { if (I2C_addr == TCA_ADDR) continue; // Ignore the TCA9548A Chip address // Write to each address and look for a '0' response which indicates success byte data; if (! twi_writeTo(I2C_addr, &data, 0, 1, 1)) { Serial.print("Found I2C 0x"); Serial.println(I2C_addr, HEX); } delay(1); // Small delay seems to help in some cases } } Serial.println("\Scan done"); } else { Serial.println("TCA9548A module not found - Scan Aborted"); } } //=============================================================================== // Main //=============================================================================== void loop() { // Nothing going on here. Everything done in setup. } //=============================================================================== // TCA9548A Port Switch Routine //=============================================================================== void TCA_Select(byte i) { if (i > 7) return; // Check for valid port range of 0 thru 7 Wire.beginTransmission(TCA_ADDR); // Address the TCA9548A chip Wire.write(1 << i); // Write the byte to set the slave port Wire.endTransmission(); }
Notes:
Operating Rating | Vcc | 2.3 – 5.5V (3.3 or 5V typ) |
Clock Frequency | 0 – 400kHz | |
Dimensions | L x W (PCB) | 31 x 21mm (1.2″ x 0.83″) |
DIP row spacing | 17.8mm (0.7″) | |
Country of Origin | China | |
Datasheet | Texas Instruments |
TCA9548A
|
WE'RE READY TO BUILD A CUSTOM PRODUCT FOR YOU.
All orders are dispatched from our warehouse. The shipments are fully tracked—from our door to yours. Please allow 3-5 business days for your order to be processed in addition to the shipping times below.
Standard: 9-15 business days. Express: 4-7 business days.
Please note that shipping providers are extremely busy during this time, and some orders might experience a delay on top of usual delivery times. If your order is late, please allow 5-10 days more than indicated in standard shipping times before contacting our customer service. Thank you for your understanding.
All orders are 100% tracked. You’ll receive an email with a tracking number and a link to track your parcel once your order leaves our warehouse. Please allow 24-48 hours for the tracking link to start showing shipping information.
Receive our latest updates about our products & promotions.
Thanks for subscribing!
This email has been registered!