This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好,我目前正在使用ADS1296 (6-ch设备)进行心电图应用,并且有一个关于串行接口的问题...
我的主时钟是2.048MHz,我需要以32ksps采样,我只使用ADS1296器件上的6个可用信道中的3个。
(IN1P,IN1N -->未使用)
(IN2P,IN2N -->已连接)
(IN3P,IN3N -->已连接)
(IN4P,IN4N -->已连接)
(IN5P,IN5N -->未使用)
(IN6P,IN6N -->未使用)
如果我使用4 MHz的SPI时钟频率,我是否有足够的时间在连续回读模式下对所有96位(STAT...CH2...CH3...CH4)进行时钟输出?
我在数据表第59页上使用了公式(7):
T_SCLK <=(t_DR - 4T_CLK)/(N_BITS * N_channels = 24)
由于我的主时钟是2.048 MHz,所以所需的采样速率是3.2万 SPS,而我只使用3个通道,插入数字时的结果是3.27 MHz。
只是想确认这是可行的,还是我必须在下一次DRDY从高到低转换之前对所有位进行时钟计时? 基本上,我愿意以我所选择的数值来权衡采样率和SPI时钟频率。
感谢你能抽出时间
-E
您好,Eduardo,
从时间上而不是频率上考虑这一点更容易。 首先,您不能跳过上述ADS1296配置中的CH1。 您可以忽略CH5和CH6,但CH1仍将出现在输出数据包中。 在32 kSPS的速率下,您将拥有每个31.25 Us的繁忙过渡。 读取状态加4个通道,即120位。 在4 MHz时,这是250 NS * 120位或30 us。
理论上,您将有时间读取所有数据,但在实践中,您必须考虑UC处理中断,读取,然后存储/处理数据所需的任何开销。 其余的1.25 US听起来对我来说有点短-所以你可以使用CH1并跳过CH3-5来获得一些时间,或者你可以加快SPI时钟以更快地从设备中获取数据。 这两个选项都可以让您更轻松地从ADS1296收集数据。
Tom,
感谢您说明我不能跳过CH1,因为它们位于帧顺序中的状态位之后。 首先,我会将硬件连接更改为仅使用CH1,CH2和CH3,这样我随后会读回: STAT...CH1...CH2...CH3 (共96位)。 如前所述,我想保持SPI时钟频率为4 MHz (250ns),采样速率为32ksps (31.25us),这样就需要24us (250ns * 96位)来对这些位进行时钟处理,并留下7.25us (31.25us - 24us)来处理中断。 如果7.25us没有足够的时间处理中断,此时我需要:a)跳过更多通道,或者b)提高我的SPI时钟频率
我的计算是否正确,是否与您的回答一致?
在下一个DRDY信号可能出现之前,不会计时所有可用位,因为我建议不会损坏数据? 我担心,如果不对所有位进行计时,可能会发生一些导致数据损坏的意外行为。
此致,
-E