Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Auto increment I2C addresses for PI4IOE5V96224ZLEX

Status
Not open for further replies.

rahulshah7388

Newbie
Joined
Nov 26, 2019
Messages
4
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
33
I am using PI4IOE5V96224ZLEX for one of the project. It's a stackable I2C design, each stack shall have common hardware and will be stacked one upon the other. The base unit shall have an MCU which shall act as I2C master, while all other stacks as I2C slaves.

PI4IOE5V96224ZLEX datasheet specifies that there could be 64 such devices connected over the same I2C bus by muxing AD0, AD1, AD2 with VCC, GND, SCL and SDA. My questions are as following.

1. How to pass on SCL and SDA on address selection lines? I can not hardwire as the addresses should be dynamically assigned or auto incremented. I will be cascading 3 half adders to auto increment the three address lines which are initially set to zero.

2. Is it possible to do some Digital logical operation using Mux/Switch for SCL/SDA lines? For e.g. what will be the output if I 'OR' SCL with 1 or 0?

Datasheet is not very clear on how to use SCL, SDA for address selection lines and there are no other documents available on Diodes Inc. site.

Thanks in advance for any help into this.

Best Regards,
Rahul
 

Unless stated otherwise in the datasheet, don't expect that the address setup method of this I2C IO-expanders can be used dynamically. They may be e.g. assigned once after power-on during the first I2C transaction.

I think that the datasheet, although being brief, is very clear on how to use the address selection lines.

I can't yet imagine a purpose of assigning the I2C device addresses dynamically.
--- Updated ---

You might also review the datasheets of I2C devices from other manufacturers using a similar address selection scheme, e.g. NXP PCA9674.
 

Ok, can you tell me how to pass on SCL or SDA signals to AD0, AD1 or AD2? Do I have to wire those up to these address lines? or generate the similar SCL/SDA signals from other IOs of MCU and feed into these address lines?
 

Each address selection line shall be hardwired to VSS, VDD, SCL or SDA.
Yes that is easily possible. What I want to do is to assign an address automatically to a new layer that is stacked up. I want atleast 16 such layers with same hardware stacked on top of each other, so there's a high probability of these having the same I2C addressess. In that case, I want to configure the address pins from MCU.
 

Hi
there could be 64 such devices connected over the same I2C bus by muxing AD0, AD1, AD2 with VCC, GND, SCL and SDA.
Use an digital or analog MUX.
3 MUXES for AD0, AD1, AD2
Each MUX needs
* 2 selection (control) inputs. You want to control these by a microcontroller, as I understand.
* 4 data inputs (VCC, GND, SCL, SDA). hard wired
* 1 data output. hard wired

what will be the output if I 'OR' SCL with 1 or 0?
Look for a basic OR truth table.

Klaus
 
As already stated, dynamic address assignment is obviously not intended. Reassigning the address without a device reset might work or not. You can of course try.
 

Hopefully the mux should work well - its actually going to be double mux as the address lines are themselves muxed within! Let me try something and post it here soon.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top