Electronic – How to find out how many sensor you can add to a I2C or SPI protocol

i2cspi

I am having problems to find out exactly how to connect sensors to make a project.

The main issue is that I cannot find a device that can drive enough analog sensor, so I need to use either SPI or I2C.

Now, I have noticed that some sensor basically has the limitation about how many of them you can connect on the same protocol, since they use a fixed address (forgive me if this is incorrect as explanation, but that's what I grasped, looking at the sparse documentation online).

Now, is there an easy way to know which sensor are able to "change" this memory address, so you can use many of them via SPI or I2C? Thanks

EDIT: As sensor I am considering these; for the sampling rate I am not sure how to calculate it; I am a SW engineer, not a hardware engineer. The application is real time collection of data related to position and rotation of an object with the equipment on. The speed of the object measured is not faster than any movement that a human can generate.

ADXL335 and 345 (the latter has SPI and I2C, the former only analog)
http://www.analog.com/static/imported-files/data_sheets/ADXL345.pdf
http://www.analog.com/static/imported-files/data_sheets/ADXL335.pdf

PArallax MMA7455 Accelerometer
http://www.parallax.com/sites/default/files/downloads/28526-MMA7455-3-Axis-Accelerometer-Documentation-v1.1.pdf

Bosch BMA180 Accelerometer
http://zh.bosch-sensortec.com/content/language4/downloads/BST-BMA180-FL000-03.pdf

L3G4200D Gyroscope
http://www.pololu.com/file/0J491/L3G4200D.pdf

Invesense MPU6050 Gyroscope
http://invensense.com/mems/gyro/documents/PS-MPU-6000A-00v3.4.pdf

Best Answer

I2C will allow you to add as many as there are unique addresses available for the device dependent on line conditions. If you need more addresses than available then you will need to use a I2C hub or multiple I2C buses.

SPI allows as many devices as you can provide nSS lines for, again based on line conditions. A multiplexer such as the '138 can help here.

Regardless of which you pick, the more devices you have the slower you may have to run the clock in order to allow enough slew on the clock and data lines.