基于AD7543和FPGA的数模转换电路设计

发布时间:2010-10-12 19:56    发布者:techshare
关键词: AD7543 , FPGA , 电路设计 , 数模转换
数/模转换(D/A)电路,是数字系统中常用的电路之一,其主要作用是把数字信号转换成模拟信号,通常是利用专用的数/模转换(D/A)芯片来实现的。AD7543是Analog Device公司生产的的12位数/模转换(D/A)芯片,它采用串行数据输入形式,即数字信号被一位一位地写入AD7543数/模转换(D/A)芯片中,因此,AD7543要与一个控制器配合使用才能发挥作用。常规的方法,是以CPU作为控制部件,通过软件编程的方式来控制AD7543,从而实现数/模转换功能的。软件实现法虽然简单,但必将会占用大量的CPU时间,削弱了CPU实时处理能力,降低了系统的可靠性。针对以上情况,在此设计了基于可编程逻辑器件(FPGA)数/模转换电路,利用可编程逻辑器件(FP-GA)直接控制模转换(D/A)芯片AD7543进行数/模(D/A)转换,取代传统的“CPU+专用的数/模转换(D/A)芯片”设计结构,有利于提高系统的抗干扰能力和可靠性。

1 AD7543简介

1.1 AD7543主要特性

AD7543主要特性为:
  • 分辨率:12位;
  • 非线性误差:±1/2 LSB;
  • 输入方式:串行正或负选通;
  • 初始化:异步输入清零方式;
  • 工作电压:+5 V;
  • 最大功耗:40 mW。

1.2 封装形式和引脚功能

AD7543有三种封装形式:16引脚的DIP和20引脚的PCCC与PLCC,其封装形式如图1所示,设计者可根据实现需求进行选择,其引脚功能说明如下:
  • OUT1:数/模转换(D/A)器电流输出端,通常接到放大器正输入端;
  • OUT2:数/模转换(D/A)器电流输出端,通常接到模拟地;
  • AGND:模拟地端,接到模拟地;
  • STB1:寄存器A选通1信号输入端;
  • LD1:寄存器B装人选通1输入端,LD1和LD2都为低电平时,寄存器A的内容被装入到寄存器B中;
  • N/C:悬空;
  • SRI:串行数据输入端,与寄存器A低位相连;
  • STB2:寄存器A选通2信号输入端;
  • LD2:寄存器B装入选通2输入端,LD1和LD2都为低电平时,寄存器A的内容被装入到寄存器B中;
  • STB3:寄存器A选通3信号输入端;
  • STB4:寄存器A选通4信号输入端;
  • DGND:数字地端;
  • CLR:异步清寄存器B输入端,当为低电平时,清寄存器B内容,寄存器A内容不变;
  • VDD:5 V供电输入端;
  • VREF:参考电压输入端;
  • RBF:反馈输入端。



1.3 数/模转换芯片AD7543器件工作原理

在AD7543器件内部,有两个寄存器:寄存器A和寄存器B。寄存器A是12位串行输入并行输出的移位寄存器,其低位与SRI引脚相连。在STB1,STB2和STB4上升沿或STB3下沿作用下,移位寄存器A发生移位,SRI引脚上的串行数据被装进寄存器A中,当要写入数据全部被装进寄存器A时,再给AD7543一个装载负脉冲(LD1和LD2均为低电平),把移位寄存器A的内容装到寄存器B中,通过后续电路完成D/A转换。当CLR为低电平时,寄存器B的数据被清零,输出的电压为零,简化初始化过程。图2为AD7543数/模转换(D/A)的工作时序图。



2 基于AD7543的数/模转换器电路设计

图3为基于AD7543数/模转换芯片的数/模转换器电路,由于AD7543的内部无运算大器,输出为电流形式,在应用中,必须外接一个运放器,因此,AD7543的第1和2脚分别接在LM324运放的反向输入口与同相输入口,AD7543的第15脚(参考电压输入端)接在-10 V的电源上,当寄存器B的位数全为高电平时,输出电平接近10 V。AD7543的输入时序信号CLR,STB2,LD和SRI由外接的可编程逻辑器件(FPGA)产生。AD7543的第8脚和11脚接地。运放器LM324正负电源引脚分别接在正负12 V的电源上。



3 AD7543工作时序FPGA实现

AD7543是串行输入数/模转换芯片,被转换数据是逐位写进AD7543中,因此,AD7543工作时,要有正确的工作时序,工作时序在QuartusⅡ开发环境中利用硬件描述语言Verilog HDL描述。QuartusⅡ是Altera公司的EDA开发工具,它是集设计输入、编译、逻辑综合、器件引脚管理、功能仿真、定时分析、编程下载等于一体的可编程逻辑器件设计环境。

在设计中,为了降低设计成本,FPGA采用Altera公司的Cyclone系列的EP1C6Q240C8芯片。。EP1C6Q240C8芯片,不仅集成了5 980个逻辑单元 (LEs),还集成了20个4 KB双口存储单元(M4KRAM BLock)和92 160 b的普通高速RAM等资源。

打开Quartus II软件,新建一个工程管理文件。在工程管理文件中,新建一个Verilog HDL源程序文件,用硬件描述语言Verilog HDL编写程序,实现控制功能,其代码如下:



4 FPGA时序模块仿真

为了进一步的验证FPGA控制器模块的正确性,在下载到目标器件之前,可以对此模块进行时序仿真。在工程文件中,首先要新建一个以vwf结尾的波形文件。在弹出的对话框中添加要观察的引脚,然后再设定时钟相关参数和保存波形文件,最后在编译顶层文件之后,可对此模块进行仿真。如图4为FPGA控制器模块仿真波形,CLOCK为此模块的工作时钟,时间周期设为40 ns;ida为并行输入数据,STI为串行输出,STB1为选通脉冲信号。由图可知,STB1的上升沿把STI引脚上的数据装入寄存器A中,装满寄存器A后,LOD设为低电平,把寄存器A的内容装入寄存器B中。仿真时序与图1的时序一致,满足设计要求。



5 结 语

针对采用软件控制AD7543数/模转换芯片所具有的缺点的基础上,采用硬件(FPGA)直接对AD7543转换芯片进行控制的方式来设计数/模转换电路,给出具体的硬件实现电路和控制器的Verilog HDL实现代码。因为FPGA控制器是一个独立单元,它几乎不需要CPU的干预就能工作,在电路中分担了CPU的工作量,这不仅提高CPU实时处理信号能力,还会提高系统的可靠性,具有一定的实用价值与参考价值。在此设计了基于FPGA与AD7543转换芯片的数/模转换电路,AD7543的工作时序全部用FPGA器件产生,提高系统的可靠性。
本文地址:https://www.eechina.com/thread-31910-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关在线工具

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表