我使用的开发板通过 SPI 连接到8位处理器。 我能够注入以下字节的10字节 HART 字符串: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0x02 0x80 0x00 0x00 0x82。 Rx FIFO 缓冲区电平设置为1、 并确保 在 IQR 屏蔽寄存器中为 FIFO_M2D_LEVEL 启用中断。 我在所有 SPI 线路上都有一个逻辑分析仪探针、其中包括 IQR 输出和芯片选择、还有一个通道向我显示传入的 HART 信号。 我已经设置了相应的寄存器、以触发警报/中断、从而进行载波检测以及通过 HART 到达的每个新字节。 (FIFO 接收深度= 1)
正如预测的那样、DAC8742会在每次新的载波检测突发时生成 IQR 信号。 所以、没有问题。 我希望在每个通过 HART 到达的新字节之后、每个 FIFO 级别警报触发器都能看到后续的中断脉冲、而大部分时间正好是发生的情况。 但是、在(也是)很多情况下、载波检测之后的第一个字节上没有收到中断。 相反、我始终获取 到达的其余9个字节的每个中断脉冲。 就好像它没有检测到到达 HART 输入的10个字节中的第一个字节。
此外、如果我禁用 CD 中断、也会发生同样的情况。 它仍然无法在第一个字节上生成 IQR 脉冲、但将始终在剩余的九个字节上生成脉冲。
有时、由于没有明显的原因、我会得到全部10个 IQR 脉冲-每个字节一个、如预期的那样。
丢失的中断脉冲发生了什么情况?
提示? 线索?
BTW、datasheet...it 可以更好。