I’m developing a datalogger project to acquire voltage from sensors in 0-10V. The galileo 2 has 6 analog inputs in 0-5V, but I don’t want to use a tension divider, so I will use a shield with a microcontroller MAX127, having 8 analog inputs in 0-10V and send the data with I²C connection to the galileo2.
I would like to know how many slaves (MAX127) I can use on with the galileo 2 using I²C protocol.
Thank you very much for you help on this matter.
The data sheet for the MAX127 has a section on I2C addressing. The maximum number of MAX127 devices that you can use on any one I2C bus are 8. These devices have 7 bit addresses, however, the 4 most significant bits are hard wired to binary 0101 and the remaining address bits are brought out to pins on the chip (A0, A1, A2). You can set the least significant three bits with those pins. Thus, (if my brain is doing math ok) each chip can only have an address of from 0x28-0x2F or 40d-47d - hence the limit of eight devices.
The Gal Gen 2 will be using some I2C address, so you have to make sure that none of the possible addresses cause a conflict. For the Gal Gen 1, it is easy to find which addresses are reserved (it's in the shield report and probably elsewhere), but I could not find the analogous info for the Gen 2 in an Intel document (please correct me if I am wrong). One source ( EmutexLabs ) lists Gen 2 on board uses for 0x25, 0x26, 0x27, 0x47 and 0x54 - they seem to have a wealth of good information there, but I don't have a Gen 2 board so I can't speak from experience. If that info is accurate, you can use all 8 possible addresses for up to eight chips (providing that the shield you mentions cooperates).
Thank you for your quick answer and if I rensume: the Galileo hasn't restriction about the number of slave but, I can't have over 8 slaves with MAX127 because the 5 most significant bits are already set.