当前位置:首页 > EDA > 电子设计自动化
[导读]用现场可编程门阵列(FPGA)设计了ADl871和MCU之间的接口,解决了这一问题。给出用VHDL语言设计的接口电路和程序并进行了仿真。

摘要ADl871是AnalogDevices公司生产的105dB、96kHz高性能立体声24位∑-ΔA/D转换器。 由于是串行输出,故当其被用于高速数据采集时,如果直接乖微型计算机(MCU)相连,采样速率会大大降低。为此,用现场可编程门阵列(FPGA)设计了ADl871和MCU之间的接口,解决了这一问题。给出用VHDL语言设计的接口电路和程序并进行了仿真。
关键词:数据采集;AD1871;VHDL;现场可编程门阵列;设计

1 引言
    科学技术的发展对数据采集系统的采样速率、分辨率、精度、接口及抗干扰能力等提出越来越高的要求。ADl871是目前市场上动态范围、采样速率和采样精度等指标都很突出数据的一款24位ADC,它的推出为设计高速、高精度数据采集系统提供了一种较好的解决方案。由于其输出为串行输出,当其和MCU直接相连时,会使采样系统的采样速率大大降低。

    如果MCU的I/O端口的实际最高速率是1MHz(单片机的速率通常是这个数量级),那么I/O端13传输1Bit的最短时间间隔为1μs,当ADl871输出2路各24Bit时,需要实际串行输出64Bit,故采样速率下降为1MHz/64=15.625kHz,这个速率远远低于ADl871的96kHz,另外,单片机把64位串行数据再处理为2个24位的并行数据时,速度会进一步降低。

    为此,笔者采用现场可编程门阵列(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的接口问题在实际设计中具有重大意义。笔者设计的接口使单片机从接收数据的困境中解脱出来,大大提高了单片机的采样速率,原来处理一帧数据需要读64次,现在只需要6次,在12位输出的情况下只需要4次,也就是说采用FPGA后单片机的I/O口可以达到1MHz/6=166.66kHz的采样速率,大大超过了96kHz的采样速率,使单片机有时间对数据进行一些处理。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭