Part Number:ADS131M04
在对ADS131M04的SPI协议程序编写过程中,ADS131M04返回的数据不正确。
上电后,通过DIN引脚向器件发送6个24bit的数据,第1个是002200H,随后5个为000000H。但是其下一帧的DOUT的响应为063C00H,001C40H,01FC00H,5F7D3BH,E3F7C0H,031E00H。
我对这个器件的的理解是,上电后器默认是24bit模式,即每一个Word为24bit。对于除了读写寄存器的命令外,每一帧包含6个Word。对于向寄存器写数据,每一帧的头24bit是011+寄存器地址+(写入的寄存器数-1),并MSB对其,LSB补零,随后后面发送寄存器要写入的数据。
但是目前按照这个思路写入内容后返回的数据并不正确。
能否提供更加详细的通讯时序图呢?
Fuxin Chen:
先发送的0x002200,应当是Standby指令
再发送的0x003300,应当是WakeUp指令
但是此时获取的DOUT上的数据并不是之前发送的0x002200指令对应的Respon。
从左到右,先发送的是0x002200,后发送的是0x003300。
这个是什么原因呢?谢谢。
,
Amy Luo:
您好,
上电后需要先上电复位,待DRDY引脚上输出低到高的转换后(表示SPI接口已准备好进行通信)才可以SPI通信。在此点之前,设备将忽略任何SPI通信。
在ADS131M04产品首页TI提供了ADS131M0x Example C Code (Rev. B),可以参考,或直接从下面链接下载:
https://www.ti.com.cn/cn/lit/zip/sbac254