Zynq-7020 has 2 I2c controllers, Can anybody please tell how many peripherals can be controlled from a single controller.
Thank you
Zynq-7020 has 2 I2c controllers, Can anybody please tell how many peripherals can be controlled from a single controller.
Thank you
Hi arjunbk09,
In looking at UG585, the Zynq-7000 Technical Reference Manual, it appears that the I2C controller is capable of addressing in 7-bit or 10-bit mode as a bus master.
http://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-TRM.pdf
Theoretically, this should allow you to access well over 100 devices on the bus. The reality is that you are limited to the configurable address space of the devices that you wish to add to the bus. Take a look at this article for a better explanation:
http://en.wikipedia.org/wiki/I%C2%B2C
From the article: "The assignment of slave addresses is one weakness of Iu00B2C. Seven bits is too few to prevent address collisions between the many thousands of available devices, and manufacturers rarely dedicate enough pins to configure the full slave address used on a given board. Three pins is typical, giving only eight choices of slave address. While some devices can set multiple address bits per pin, e.g., by using a spare internal ADC channel to sense one of eight ranges set by an external voltage divider, usually each pin controls one address bit. Manufacturers may provide pins to configure a few low order bits of the address and arbitrarily set the higher order bits to some value based on the model. This limits the number of devices of that model which may be present on the same bus to some low number, typically between two and eight. That partially addresses the issue of address collisions between different vendors. Ten-bit Iu00B2C addresses are not yet widely used, and many host operating systems don't support them..."
Hopefully this provides some insight into this topic.
Regards,
-Kevin
Thank you
Thank you