- Silicon Labs Community
- Welcome and Announcements
- Silicon Labs Knowledge Base
- 8-bit MCU
- 32-bit MCU
- Bluetooth / Wi-Fi
- Other Products Category
- Optical/RH/Temp Sensor
- Other Products
- Hardware and Software Tools
- Simplicity Studio and Software
- General Discussions and Suggestions
- Chinese Forum
- Software Libraries
- Development Kits
- Reference Designs
- Third Party Tools
- White Papers
- Official Blog of Silicon Labs
- Chinese Blog
07-06-2017 11:12 AM
I am hoping to find an answer, for I am at a loss.
The Si7006 returns a ACK whenever I send the correct address and/or one of the prescribed commands. An incorrect address and the device returns a NACK. That part seems to be working. When I try to read however, the device always returns 0xFF. I have tried all the commands available the Si7006, they all return 0xFF.
I am using a digital oscilloscope to monitor the traffic, and I can verify what I mentioned above. I have tried three different Si7006 and they are all doing the same thing. I currently have 10K pull ups and 0.1uf decoupling cap.
I am attaching a screenshot of an example output.
Any insights would be deeply appreciated.
Solved! Go to Solution.
07-06-2017 01:46 PM
It looks like you are issuing the command 0xE0. This does not instruct the part to perform a Temperature or RH conversion. It only reads out the temperature conversion from the last RH conversion if an RH conversion was issued.
Are you performing the repeated start after issuing the command? SDA goes low while SCL high. It is allowable to generate a STOP before the repeated start. SDA can transition to high before or after SCL goes high in preparation for generating the START.