09-15-2023 04:36 AM
Hi,
I can get BMP581 to work with I2C and SPI, but not I3C.
Attached is the screenshot for sending a SETDASA command.
It returned NACK for static address.
The static address is 0x46.
I am using SparkFun Pressure Sensor - BMP581 (Qwiic).
What do I missed?
Thanks.
Solved! Go to Solution.
09-21-2023 08:19 AM
Hi choongay,
With your host FPGA, has it successfully communicated with other I3C slave devices?
09-22-2023 03:20 AM
Hi, Robin.
No, I don't have other I3C slave device.
09-22-2023 10:34 AM
Hi choongay,
The waveform of your host's I3C does not meet the I3C specification. We suggest that you refer to the I3C specification to communicate with BMP581.
09-29-2023 12:02 PM - edited 09-29-2023 12:06 PM
Hi, Robin.
I still face other issue after fixing the repeated start.
I am getting a response 0x63 for GETBCR command.
This is not an expected value.
Is it a valid command to read the BCR using static address?
I did tried SETDASA but unable to set the dynamic address as I cannot communicate with the sensor using dynamic address.
The oscilloscope shows unexpected ACK on address which confuse me.
The screenshot shows I am using 0x13.
The first digit may be ignored by the sensor, I am not sure.
But I did tried with other value also such as 0x12.
Another question is does the I3C works with pull up resistors?
I am using 100KHz - 200KHz and my setup cannot disable the pull up on the fly.
Thank you very much.