工具与软件:
您好!
我目前在从交流导联配置切换到直流导联配置后尝试读取 LOFF_STAT 寄存器时遇到问题、该寄存器始终返回0。 但是、在启用直流导联配置的情况下进行流处理时、流状态部分中的 LOFF_STAT 寄存器会返回正确的值。 此外、将配置改回交流导联配置并读回整个配置时、它也会返回正确的值。
默认设置的交流导联配置会将寄存器设置为以下值:
//二进制寄存器选定选项
//-----------------------------------------------------------------------------------------------------
CONFIG1:0x03、 // 0b00000101连续、1000SPS
CONFIG2:0xF0、 // 0b11110000测试信号禁用、内部* 4.033V ref 启用、导联关闭启用。
LOFF:0xF5 // 0b11110101 70%-30%、22nA、交流导联脱落频率 F_DR/4
CH1SET:0x00、 // 0b00000000 6x 增益、电极输入
CH2SET:0x81、 // 0b10000001断电、输入短路
RLD_SENS:0xE0、 // 0b11100000 fmod / 4斩波频率、已启用缓冲器
LOFF_SENS:0x03、 // 0b00000011使能正负
LOFF_STAT:0x00、 // 0b00000000只读
RESP1:0x02、 // 0b00000010 N/A
RESP2:0x07、 // 0b00000111不适用
GPIO:0x00、 // 0b00000000输出低电平
然后、我们按照以下过程更改配置和读取寄存器:
1.将 PWDN/RESET 设置为低电平
2.等待8uS
3.将 PWDN/RESET 设置为高电平
4.等待36uS
5.发送 SDATAC 命令
6.等待8uS
7.另外等待0.9S、然后将 LOFF 设置为0xF4
8.等待502mS、然后读取 LOFF_STAT
9.等待1ms、然后将 LOFF_SENSE 设置为0x13
10.等待502ms、然后读取 LOFF_STAT
11、等待1ms、然后将 LOFF_SENS 设置为0x03
12.等待502ms、然后读取 LOFF_STAT
有任何理由不能使用上述配置单独读取 LOFF_STAT 寄存器?
除了8uS 和36uS 之外的所有延迟都是 不相关的代码所必需的、但我将它们包括在内、以防它们有助于/伤害问题。
当使用相同的硬件配置启用流时、尽管 ECG 流的 LOFF_STAT 部分在适当的位中返回1、但上述所有 LOFF_STAT 读取都会返回0。
我尚未完成最初设置寄存器的过程、但包含 ADS1291数据表第40页所述的所有延迟(据我所知)、在此过程之后重新配置回上述标准配置时、LOFF_STAT 寄存器会以适当的位返回1。 最后、如果不仅仅是对各个寄存器进行写入、如果我在直流导联检测模式下每次都重写整个配置块而不是对各个寄存器进行写入、我在 LOFF_STAT 寄存器中仍然只读0、但我认为那里还有其他问题、因为它的行为类似于停止连续模式在重新写入配置后不起作用、但我没有深入地深入研究它。
我的问题是、有没有遗漏的东西? 为什么它可以在流数据包中工作、而不能在读取单个寄存器/使用我拥有的配置时工作? 在所有延迟和复位结束时重写整个配置会显示 LOFF_STAT 寄存器值为1、而之前的延迟读取并未返回正确的值、这有什么原因吗?

