主题中讨论的其他部件: MSP430F2619, ADS1259
我目前正在开发一款包含ADS1259-Q1和msp430f2619 MCU的工具。 ADS每300毫秒进行1次转换/毫秒1秒。 该芯片的设置如下,在 使用2Vpp正弦波进行测试时,提供了前3-7个转换周期*的预期读数。 之后,它将停止发送数据。 在我每隔一个转换周期重新初始化ADS之后,数据输出将恢复,但在恢复之前仍会跳过1-3个转换周期。
在CCS中逐步执行代码不会重现该问题。 我在让程序运行的同时,在示波器上观看DOUT ADS引脚时注意到了这一点。 我不确定问题可能是什么。 这是我在这里发布的第一篇文章,所以如果我需要包含其他内容,请告诉我。 感谢你能抽出时间。
*Conversion period = 1秒,其中ADS需要1个转换/毫秒
MCU使用16MHz外部时钟,ADS SCLK使用设置为2MHz的SPI时钟
----------------------------------
ADS初始化/重新初始化程序:
将RST引脚(在ADS上)设置为低,然后再次设置为高
等待10毫秒
SDATAC (0x11)
地址0h中的WREG,用于6个寄存器
CONFIG0 = 0x05 (默认设置)
配置1 = 0x00 (无外部参考,所有其他设置为默认值)
CONFIIG2 = 0x17 (脉冲控制模式@ 14.4K SPS)
偏移寄存器设置为0x7fffff
RDATAC (0x10)
----------------------------------
ADS读取程序:
对于(索引= 1毫秒;索引< 1000毫秒;索引++){
while (timer < index){
启动ADS引脚=高
等待4个时钟周期
开始=低
等待0.5 毫秒
UCA0TXBUF = 0x00,从ADS请求8位读取。 SPI中断接收和处理
重复上一步两次,以获得完整的24位读数。
}}