I2C device limitation

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Dear ladies and gentlemen,

   

Isn't it possible to connect a bunch of different I2C devices, let's say five, to a BLE PROC?

   

I heard that the amount of connectable I2C devices is limited by two. If this is true, what is the reason for this limitation?

   

Thank you and best regards, Tobias

0 Likes
7 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Welcome in the forum, Tobias!

   

Strange rumors you've heard. There is only a bus driver limit for I2C to overcome the parasitic capacitance of the bus line and the pins that limits the number of devices. I was working with 5 devices without any troubles.

   

 

   

Bob

0 Likes
Anonymous
Not applicable

Thank you!

   

To me, it seemed as strange as an RTC which is being reset with the controller...  .-)

   

I hope, you come up with a solution for this soon...

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

The RTC was never meant to survive a reset or power loss. You may put your current time data into a memory area that is not initialized at reset, yo you can keep the time.

   

 

   

Bob

0 Likes
Anonymous
Not applicable

What would be the exact procedure? Is there an application note regarding? I think I would need to store the time every second which wears out a NV memory.

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

A Cypress FRam has an endurance of 10^14 cycles which would last in 3e+6 years of programming each second a new value. But since you do not know how long power was shut off there will be no help with that solution.

   

noinit ram is an area of sram that does not get cleared at reset by the C-environment startup procedure. So when you can validate its contents to be correct, you may use that information to set the RTC.

   

 

   

Bob

0 Likes
Anonymous
Not applicable

Thank you. That sounds good. Anyway, I'm still a bit confused. I build a system which can be disconnected from the power. In this case, I would need to supply the RTC with a buffer capacitor and it needs to draw as little as possible power to run for a few months. It would also need to detect if the RTC was still alive at the next power-up. Is that possible, like on other controllers with internal or external RTCs?

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

No chance. Use an external battery (or cap) buffered. At PSoC restart sync the RTC component with external RTC.

   

 

   

Bob

0 Likes