April 30, 2010
about 3 years ago
I have this module talking to an NXP LPC1343 at up to 1600 samples per second. You need the I2C bus running at 400kHz to achieve this sort of sampling rate. I suspect your issue is the Arduino Wire library. For some reason this sets the clock rate to 100kHz. See the following forum post for how to change http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1241668644.
My code also reads all 6 byte blocks from each of the sensors in a single I2C transaction. This is much quicker than 6 I2C calls which is what some of the code I have seen does.
You might also have some issue with serial baud rates. I had to push up to 500000 baud to get enough bandwidth to push all data to the PC.
A CRO is really helping in tracking down what is happening here. Set a digital output at the start of the sensor read routine and clear it at the end. You can then tune the I2C settings to get this to the correct rate.
No public wish lists :(
Forgot your password?
No account? Register one!