×
嵌入式 > 技术百科 > 详情

AD1871型模数转换器的应用

发布时间:2020-06-16 发布时间:
|

1 引言

  AD1871是目前市场上动态范围、采样速率和采样精度等指标都很突出数据的一款24位ADC,它的推出为设计高速、高精度数据采集系统提供了一种较好的解决方案。由于其输出为串行输出,当其和MCU直接相连时,会使采样系统的采样速率大大降低。笔者采用现场可编程门阵列(FPGA)设计了ADl871和MCU之间的接口,由FPGA完成对ADl871的控制,并将其输出的串行数据在FPGA的内部变为并行数据,并行后的数据以8位或12位为一组发给MCU。由于FPGA的实际传输速率可以满足和ADl871的传输速率要求,故上述“瓶颈”得以解决。

  2 接口设计

  2.1 时钟设计

  图1示出A/D转换器的输入时钟设计,MD转换器工作在从模式下时,需要外部提供RLCLK和BCLK。在主时钟MCLK的输入下,通过对MCLK 4分频得到BCLK的信号,用来作为位数据提取的信号。RLCLK是通过对BCLK的32分频得到的,用来区分左右通道的数据,同时输出EN信号作为后续处理的同步信号。

  

 

  2.2接口设计

  在图2中,输入为MCLK(主时钟)、RESET(启动信号)和SHIFTIN(A/D输出数据),输出为RL(左右帧信号)、BCLK(A/D数据位时钟),TXT(并行数据读取控制)和SHIFTOUT(并行数据输出)。通过时钟控制输出BCLK和 RLCLK到AD1871,AD1871传出数据SHIFTIN进入SHIFT模块,SHIFT模块在正确的位时钟下读取SHIFTIN的输入数据,并进行串,并转换,之后输出8位或12位的数据。同时输出TXT并行数据读取控制。

  

2.3 SHIFT模块程序

  Emity shifill is

  PORT(BCLK:IN STD_LOGIC;一输入的BCLK位信号

  CR :IN STD_LOGIC;--输入的使能信号

  SHIFTIN:IN STD_LOGIC:--AD输入的串行信号

  RLEN:IN STD_LOGIC;--输入的RLCLK使能,帧对准信号

  TXTS:OUT STD_LOGIC;--8位的组信号输出控制信号

  sddddd:OUT STD_LOGIC_VECTOR (7DOWNTO 0); --8位并行信号输出);

  end shift11:

  architecture Behavioral of shift11 is

  SIGNAL TEMPDATE:STD_LOGIC_VEC—TOR(8 DOWNTO 0);

  SIGNAL TEMPO11:STD_LOGIC_VECTOR(7DOWNTO 0):=“00000000”;

  SIGNAL Q:INTEGER RANGE 0 T0 7;

  一并行信号计数8位产生一个脉冲;

  SIGNAL Q4:INTEGER RANGE 0 TO 3;

  --有用信号选择,选择32位中的24位;

  

 

  笔者用MaxPlus II对以上设计进行仿真后得到图3所示的时序图,完全满足设计要求,从图3可以看出串行输入的数据(shiflin)变成并行的数据(shiftout) 输出,在此过程中数据延时8个周期,每个txts的上升沿提取数据能保证数据的正确性。因为从数据的变动到txts的上升沿有400ns,大于FPGA的数据建立时间(25ns~50ns),可以保证提取数据的正确性。

  

3 小型采样系统

  图4示出采用ADl871构成的采样系统结构。整个系统在1个FPGA上实现,分为3部分:并转换模块;ADC控制和配置;UART通信。

  

 

  具体的功能是实现ADC的初始化、信号的采集存储及UART通信。

  工作原理是由ADC控制模块来接收PC的数据,转发控制数据到ADC,对ADC的工作状态进行配置。完成后ADC采样并储存在FIFO中,通过控制向单片机传送数据。

  从仿真结果看,整个系统的工作正常,说明接口设计的正确性和可行性。

  4 结束语

  由ADl871构成的数据采集系统具有高分辨率、宽动态范围、高信噪比等特点,特别适用于高精度数据采集系统。∑-△型ADC具有抗干扰能力强、量化噪声小、分辨率高、线性度好、转换速度较高、价格合理等优点,因此越来越多地受到电子产品用户及设计人员的重视。解决这类ADC的接口问题在实际设计中具有重大意义。




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Keil5(MDK5)在调试(debug)过程中遇到的问题