电路设计论坛
直播中

何夏庄

7年用户 919经验值
私信 关注
[问答]

3片AD7177-2共12路数据采集CPU怎么处理比较好?

前面也发过相关帖子,关于多片AD7177-2多通道采样的问题。
         项目中我用到了3片AD7177-2,每片4路,一共12路信号,公用一个16MHZ有源晶振,公用SPI总线,片选信号是单独的。每个通道采样率50Hz,我配置AD7177-2采样率为200Hz。现在发现读取数据的不正常:
         第1种方式:定时器中断1.667ms,定时器中断中轮流拉低3片AD7177-2的CS信号,用于读取数据,计数器t=0-12循环计数,t=1,4,7,10时,拉低第一片AD[size=14.6667px]片选;t=2,5,8,11时,拉低第2片AD[size=14.6667px]片选;t=3,6,9,12时,拉低第3片AD[size=14.6667px]片选,这样每片AD的读取速率均为200Hz。[size=14.6667px]DOUT/RDY配置为外部中断,下降沿触发中断,读取AD转换数据,然后拉高相应的AD片选。这种方式带来的问题是,AD芯片偶尔不工作,示波器可以测量到片选信号正常,但是没有[size=14.6667px]DOUT/RDY信号,导致最后没有数据输出。
[size=14.6667px]         第2中方式:定时器中断0.8ss,定时器中断中轮询3片AD7177-2的状态寄存器,判断是否转换完成,如果是,则拉低相应的AD[size=14.6667px]片选,准备读取数据。[size=14.6667px]DOUT/RDY配置为外部中断,下降沿触发中断,读取AD转换数据,然后拉高相应的AD片选。这种方式带来的问题是,AD转换的数据不连续,经常连续5.6次读取同一个数值,然后来一个台阶,出现跳变(输入信号为标准正弦波)[size=14.6667px]。感觉好像是[size=14.6667px]状态寄存器读的不对,好像[size=14.6667px]RDY一直在输出0,貌似多读了好多数据。
[size=14.6667px]         请问,3片AD7177-2共12路数据采集CPU怎么处理比较好?

更多回帖

发帖
×
20
完善资料,
赚取积分