TI中文支持网
TI专业的中文技术问题搜集分享网站

关于模数转换器ADS1115连续转换的问题

Other Parts Discussed in Thread:ADS1115

ADS1115的continuous-conversion mode启用时,器件开始进行连续转换,并将转换的值存入寄存器,采用4个单端输入模式。

问题:当我读取寄存器的一个或几个值后,配置另一个采集端口,从寄存器读取的值还是之前端口的值。所以针对单次转换和连续转换的问题,我希望可以得到一个详细的解释,数据手册感觉不太清楚

Kailyn Chen:

您好,单次转换的意思指的是, ADC根据信号请求对输入信号进行一次切换,将转换值存储到内部转换寄存器,然后进入断电状态。这种模式适用于仅需要周期性转换,或者转换之间有较长空闲周期的系统,从而减少功耗。 而连续转换模式下,一旦前一次转换完成,ADC会自动开始对输入信号进行转换。连续转换的速率等于程序设定的速率。数据可以在任何时候读取,并且读取的值都是最近完成的转换。

,

user6352879:

“数据可以在任何时候读取,并且读取的值都是最近完成的转换。”
你好,这句话我有点问题,假如我对一个100hz的正弦信号采样,连续采了1000个点,如果读取的值都是最近完成的转换,若我等1000个点采样完成后进行读取,那意味着只能读取第1000个值吗。

,

Kailyn Chen:

是的,转换寄存器的值存储的是上一次的转换结果。 假如采样1000个点,那么当读取转换寄存器的时候,如果第1000个点还未转换完成,那么读取的值是上一次(第999次)转换的结果,如果转换完成,那么读取的是第1000个值,也就是说是最近完成的转换值。

,

user6352879:

那这样的话,如何实现连续采集N个点,都能读取到这N个点呢?按照你的意思是,只能在上次转换结束,下次转换未结束的空隙中连续的读取N个点吗,这样要考虑的因素有软件、通讯的耗费时间吧?

还有就是在读取寄存器时,连续转换也是存在的吧

,

Kailyn Chen:

您好,读取寄存器的时候,连续转换是存在的,我的意思是在读取转换寄存器的时候,寄存器中的数据是最近一次发生的转换值,但是连续采集的数据已经通过DMA循环将转换的数据传输到内存中了。

,

user6352879:

你好,对于“但是连续采集的数据已经通过DMA循环将转换的数据传输到内存中了”,我不太明白。

我读取转换寄存器是通过I2C连续读取2个字节(用软件实现的I2C)。按照你的意思是要采用DMA才可以达到我说的采N个点,读取N个点的要求了?

,

Kailyn Chen:

您好,很抱歉回复晚了。
在连续转换模式下,转换寄存器的值存储的是上次完成转换的数据,当前转换还没完成之前,转换寄存器的值是不会更新的,存储的是最近转换完成(即上次转换)的数据。 如果您需要读取第N个采样点的数据,您需要自己记录下转换次数。 否则的话,就像我上面说的,连续采集的数据已经传输到内存中了。
所以一般来说,如果您像要采样特定的次数,比如第N个点,最好使用单次转换,单次转换的优点还节约功耗。

,

user6352879:

好,谢谢

,

Kailyn Chen:

您好,不必客气,有问题的话再继续讨论。

赞(0)
未经允许不得转载:TI中文支持网 » 关于模数转换器ADS1115连续转换的问题
分享到: 更多 (0)