最近搞ADS1299初始化搞了一段时间了,总是出现各种各样的问题。开始计划直接用FPGA做,后来调不通改用STM32测试。昨天终于能正确读写寄存器了。但是又出现了新的问题。
1 每一次的DRDY信号都必须及时处理吗?为什么在芯片初始化前更改是否开启连接DRDY的外部中断都会导致读写寄存器出问题呢?(关闭外部中断会导致失败,正常来叫应该初始化后再打开吧)
2 上电,复位,START拉低,发送SDATAC,寄存器配置,写进去读出来都正确。START拉高,写RDATAC命令,但是DRDY引脚持续为高电平,请问有人遇见过这样的情况吗?测试过其他引脚电平均正确。
3 初始化对start信号敏感?我看手里的1299评估板的START信号应该是恒高的吧,可是我初始化过程中改变START_L或_H的位置就会时长导致错误。
麻烦有经验的老哥们指点一下,问题2较急,谢谢。
user151383853:
Conversion data are read by shifting data out on DOUT. The MSB of the data on DOUT is clocked out on the first SCLK rising edge. DRDY returns high on the first SCLK falling edge. DIN should remain low for the entire read operation.
看样子是的
user5194540:
你好,请问你的问题解决了吗,我也在弄这个芯片,寄存器读出来都是0,不过有DRDY信号,能参考下你的初始化程序吗,谢谢啦
Lei Sun:
回复 user5194540:
因为FPGA能用了,STM32上的问题没有再解决,不过可能是那一批板子稳定性欠佳,当时每次复位的现象都不尽相同。个人认为,这款芯片虽然为SPI通信,但时序图仍有两个需要注意的地方,Tsccs和Tcsh,感觉比常见的芯片的时间需求长,我用FPGA实现时就没有考虑这个问题。如果是FPGA实现的话,我倒是可以提供SPI模块,STM32的话就无能为力了。
user5194540:
回复 Lei Sun:
嗯嗯,好的,谢谢啦