Other Parts Discussed in Thread: ADS1299
器件型号: ADS1299
您好:
我目前正在设计一个采用菊花链配置的使用五个 ADS1299 器件的系统。
虽然我了解了数据表中菊花链模式的一般概念、但我想仔细检查一下、我对 RDATA 命令期间确切的内部硬件行为和数据流的理解是否正确。
您能否确认以下分步流程是否准确?
假设我们以菊花链方式连接 5 个器件(器件 1 最靠近 MCU、器件 5 最远)。 当 MCU 发送 RDATA 命令并开始提供 SCLK 时:
1、同时启动:器件 1 至 5 都同时开始将自己的转换数据从第一个 SCLK 上各自的 DOUT 引脚移出。
2.器件 1 输出:器件 1 直接将其自身数据(状态+通道 1-8)移出到 MCU 的 MISO 引脚。
3.内部缓冲/移位:同时,设备 2 的数据输出进入设备 1 的 DAISY_IN 引脚。 由于器件 1 仍在忙于移出其自身的数据、来自器件 2 的这个传入数据将按顺序缓冲/存储到器件 1 的内部移位寄存器中(并且相同的级联缓冲发生在器件 3 到 2、4 到 3 以及 5 到 4 之间)。
4.器件 2 数据直通:216 个 SCLK 周期后、器件 1 完成移入自己的数据。 从第 217 个 SCLK 开始、器件 1 用作直通、器件 2 的缓冲数据(进入器件 1 的 DAISY_IN)开始出现在器件 1 的 DOUT 上并连接到 MCU。
5、后续器件: 432 个 SCLK 周期后,器件 2 也完成自己的数据。 然后、器件 3 的数据通过器件 2 和器件 1 到达 MCU。 这种顺序直通会持续到读出所有 5 个器件的数据为止。
简而言之、我的理解是、来自上游器件的数据不会发生冲突或丢失、因为这些数据是按顺序移入并被下游器件的内部移位寄存器(作用类似于桶旅)临时缓冲的、而不是器件 1 动态“等待“或检测器件数量。
内部硬件逻辑的心理模型是否正确?
任何见解或纠正都将非常感谢。 谢谢!
此致、
木村达成