Hello,
A customer of mine has observed erroneous TACH readings from the AMC6821.
The setup can be described as follows:
- SCL speed = 100kHz (though we’ve tried slowing it down to 80kHz)
- I2C pull-up values = 5K (we’ve also tried 1K to improve signal integrity)
- Per the AMC6821 datasheet we’re reading the TACH-DATA registers 0x08h (LSB), then 0x09h (MSB)
- We are operating with a 4-wire fan.
Symptoms of the problem
- Occasionally we see incorrect TACH readings. For example, given a fixed fan speed, here are multiple sets of data:
- FFFFh-0FFFh-0F92h
- 04CCh-03CCh-03D4h
- 04D8h-03D8h-03CCh
- Note that the MSB changes substantially.
Observations
- Decreasing the measurement speed from 250ms to 1s monitoring reduces the occurrence of these seemingly random errors.
- An I2C log is attached. Search for “***” to see where we think we’ve caught some improper reads, and how the chip is setup.
- We’ve tried both single bye reads and dual byte reads. Both exhibit the same phenomenon.
Questions
- We’re looking for a root-cause to these erroneous values which occur at seemingly random intervals. Are there specific requirements regarding I2C timing that we need to follow?
Any help is much appreciated.
Don