部件号: AFE1594
我在芯片中配置了各种寄存器、试图使其仅输出从测试信号发生器以低数据速率采样的单个 ECG 通道。 我写入了一个循环来读取 READ_POINTER_MAIN_FIFO 寄存器、检查空位、如果 FIFO 不为空、则从 MAIN_FIFO 寄存器中读取样本、然后重复。
我希望在大多数检查中都能看到五点空、然后有时只能读一个样本。 相反、我一次得到的是两个样本、其值似乎始终为 1。 也就是说、我看到空、空、空、空、 不为空、不为空、然后重复。 我不知道为什么一次似乎总是有两个样本。
但后来事情变得非常奇怪。 我决定没有必要经常投票,所以我添加了几个 MS 的延迟,一旦 fifo 变空,再轮询. 对于延迟的前几个 MS、未读取样本的迭代次数(因为 fifo 中仍然没有任何内容)会减少。 我希望在 FIFO 再次变为空之前、一次开始看到 4 个样本。 相反、空位永远不会被设置、因此在设置溢出位之前、循环会继续读取数百个样本并持续大约 9 秒。
当一对第二个样本进入时、似乎 fifo 就会断裂。 这是我的完整寄存器初始化: