赞
踩
ADC7124是一款24位ADC芯片,内置1路ADC,可分时复用到8个差分通道或15个单端通道。SPI接口。内置2.5V基准。可输出基准电压与电流源。
芯片有一个数据寄存器(地址0x02),用于存放24bit的采样结果。比较坑的是,如果进行多路采集,相当于寄存器里只缓存了1个结果,没有及时读走的数据,将会丢失!!。
目前我用到的读取方式,是一直查询状态寄存器(0x00)的RDY位,当RDY为0时,读取数据,并根据寄存器里面的CH_ACTIVE位,判断当前是哪个配置通道的结果。
这点是这款芯片比较灵活的地方,寄存器里有16个通道寄存器(0x09~0x18),相当于16个采样配置(与物理的AIN引脚无关)。
每个寄存器都可以配置采样的输入正与输入负,芯片依次轮询这16个寄存器,按照每个寄存器的设置去进行ADC采样。
这样就可以设置一个采集顺序,有点软件设置的感觉,非常方便。
当然,也可以只使用16组配置里面的一部分。
这点开始时迷惑了一会,手册上说的最高采样率19.2k,但一直没找到在哪里设置。
后来发现采样率与滤波器设置在一起,也就是8组滤波器寄存器(0x21~0x28)的FS位。
这点也是迷惑了一会的地方。前面提到的16组通道设置寄存器,每组里面有一个字段Steup,共3bit。
手册里介绍这里可以配置8组模式,每组模式由四个寄存器去设置,这样提前设置好模板,就可以在对应的采样中使用了,非常方便。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。