我正在尝试将 ADS131A02初始 化为 数据表中给出的初始化过程。 中提到的第一步是复位。 发送 RESET 命令(0x0011)后,我得到0x0x02。然后解锁,理想情况下解锁应该响应解锁字(0x0655),但我也得到0x0x02。
我以16位模式运行 ADC、并具有84/32MHz SPI 时钟。
我无法接收 Unlock 字、无论它是什么、都只能收到响应0x02。
请提供帮助或分享一些示例代码、非常感谢!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我正在尝试将 ADS131A02初始 化为 数据表中给出的初始化过程。 中提到的第一步是复位。 发送 RESET 命令(0x0011)后,我得到0x0x02。然后解锁,理想情况下解锁应该响应解锁字(0x0655),但我也得到0x0x02。
我以16位模式运行 ADC、并具有84/32MHz SPI 时钟。
我无法接收 Unlock 字、无论它是什么、都只能收到响应0x02。
请提供帮助或分享一些示例代码、非常感谢!
莱昂纳多
首先、我从另一篇文章中拍摄了照片、关闭了另一篇文章、我将展示以下图片:
您提到 M0和 M1是悬空的、M2是接地的。 这意味着器件字大小为16位、并且您处于同步从模式。
此时、我不确定是什么问题。 但是、重复的 FF02响应意味着器件未接收到正确的输入命令。 在收到解锁命令0x0655之前、器件的唯一响应将是0xFF02。
您能否检查您正在测量的 DIN 线是否实际会将其连接到器件的引脚? 焊接不良或与 DIN 的连接断开会产生相同的效果。 如果您通过单独的板将主器件连接到器件、我还会检查以确保主器件和从器件具有相同的数字电源电压和相同的接地连接。
请告诉我、如果您认为其中的任何一项适用、您是否可以展示您的设置的原理图和图片?
吴约瑟
是的。 我将 M1引脚更改为 GND 使用24位字。 现在、我来结束 ADS131A02的 Inite、请参阅一些家伙代码!
while (ADS131_Reset ()!= 0xFF02);//重置
while (ADS131_UnlockOrWakeup (unlock_CMD)!= unlock_CMD);//解锁
while (ADS131_Wreg (0x4BA8)!= 0x2BA8);//a_SYS_CFG
while (ADS131_Wreg (0x4C3C)!= 0x2C3C);//D_SYS_CFG
while (ADS131_Wreg (0x4D08)!= 0x2D08);//CLK1 fICLK = fCLKIN (16.384mhz)/ 8.
while (ADS131_Wreg (filter)!=((filter&0x0FFF)|0x2000);
//CLK2 FMod=fICLK/8 Fdata=FMod/400 现在为5.12Khz
while (ADS131_Wreg (0x5100)!= 0x3100);//ADC1
while (ADS131_Wreg (0x5200)!= 0x3200);//ADC2
while (ADS131_Wreg (0x4F0F)!= 0x2F03);//启用
我认为应该响应0x2F0Factuallly、它是0x2F03。
(数据表:
0000:所有 ADC 通道断电 1111:所有 ADC 通道均已通电 所有其他设置:请勿使用 |
)
while (ADS131_UnlockOrWakeup (WAKEUP_CMD)!= WAKEUP_CMD);//唤醒
while (ADS131_Wreg (LOCK_CMD)!= LOCK_CMD);//锁定
感谢您的帮助!