[课程设计]AD转换硬件前端设计_第1页
[课程设计]AD转换硬件前端设计_第2页
[课程设计]AD转换硬件前端设计_第3页
[课程设计]AD转换硬件前端设计_第4页
[课程设计]AD转换硬件前端设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、黄石理工学院硬件综合课程设计目 录1 概述11.1模数转换器(adc)概念11.2 模数转换器(adc)的基本原理及特点11.3 adc性能参数22 总体方案设计32.1设计的目的与要求32.2 硬件描述语言(vhdl)32.2.1 vhdl简介32.2.2 vhdl的设计流程32.3电路器件43 详细设计63.1 主流程设计63.2程序流程图63.3 功能逻辑框图83.4 a/d转换电路设计84 程序的调试与运行结果说明134.1 a/d的电路图134.2仿真波形图134.3 结果分析145 课程设计总结15参考文献161 概述1.1模数转换器(adc)概念在工业检测控制和生活中的许多物理量

2、都是连续变化的模拟量,如温度、压力、流量、速度等,这些模拟量可以通过传感器或换能器变成与之对应的电压、电流或频率等电模拟量。为了实现数字系统对这些电模拟量进行检测、运算和控制,就需要一个模拟量与数字量之间的相互转换的过程。即常常需要将模拟量转换成数字量,简称为a/d转换,完成这种转换的电路称为模数转换器(analog to digital converter) ,简称adc。1.2 模数转换器(adc)的基本原理及特点模拟信号转换为数字信号,一般分为四个步骤进行,即取样、保持、量化和编码。前两个步骤在取样-保持电路中完成,后两步骤则在adc中完成。常用的adc有积分型、逐次逼近型、并行比较型/

3、串并行型、 -调制型、电容阵列逐次比较型及压频变换型。下面简要介绍常用的几种类型的基本原理及特点:l 积分型(如tlc7135) 。积分型adc工作原理是将输入电压转换成时间或频率,然后由定时器/计数器获得数字值。其优点是用简单电路就能获得高分辨率,但缺点是由于转换精度依赖于积分时间,因此转换速率极低。初期的单片adc大多采用积分型,现在逐次比较型已逐步成为主流。双积分是一种常用的ad转换技术,具有精度高,抗干扰能力强等优点。但高精度的双积分ad芯片,价格较贵,增加了单片机系统的成本。 l 逐次逼近型(如tlc0831) 。逐次逼近型ad由一个比较器和da转换器通过逐次比较逻辑构成,从msb开

4、始,顺序地对每一位将输入电压与内置da转换器输出进行比较,经n次比较而输出数字值。其电路规模属于中等。其优点是速度较高、功耗低,在低分辨率( 12位)时价格很高。 l 并行比较型/串并行比较型(如tlc5510) 。并行比较型ad采用多个比较器,仅作一次比较而实行转换,又称flash型。由于转换速率极高, n位的转换需要2n - 1个比较器,因此电路规模也极大,价格也高,只适用于视频ad转换器等速度特别高的领域。串并行比较型ad结构上介于并行型和逐次比较型之间,最典型的是由2个n /2位的并行型ad转换器配合da转换器组成,用两次比较实行转换,所以称为half flash型。 l -调制型(如

5、ad7701) 。-型adc以很低的采样分辨率( 1位)和很高的采样速率将模拟信号数字化,通过使用过采样、噪声整形和数字滤波等方法增加有效分辨率,然后对adc输出进行采样抽取处理以降低有效采样速率。-型adc的电路结构是由非常简单的模拟电路和十分复杂的数字信号处理电路构成。 l 电容阵列逐次比较型。电容阵列逐次比较型ad在内置da转换器中采用电容矩阵方式,也可称为电荷再分配型。一般的电阻阵列da转换器中多数电阻的值必须一致,在单芯片上生成高精度的电阻并不容易。如果用电容阵列取代电阻阵列,可以用低廉成本制成高精度单片ad转换器。最近的逐次比较型ad转换器大多为电容阵列式的。 l 6压频变换型(如

6、ad650) 。压频变换型是通过间接转换方式实现模数转换的。其原理是首先将输入的模拟信号转换成频率,然后用计数器将频率转换成数字量。从理论上讲这种ad的分辨率几乎可以无限增加,只要采样的时间能够满足输出频率分辨率要求的累积脉冲个数的宽度。其优点是分辨率高、功耗低、价格低,但是需要外部计数电路共同完成ad转换。1.3 adc性能参数l adc分辨率:指输出数字量变化一个最低有效位(lsb)所需的输入模拟电压的变化量。 l adc的精度:决定于量化误差及系统内其他误差之总和。一般精度指标为满量程的0. 02% ,高精度指标为满量程的0. 001%。 l 转换速率:是指完成一次从模拟转换到数字的ad

7、转换所需的时间的倒数。积分型ad的转换时间是毫秒级属低速ad,逐次比较型ad是微秒级属中速ad,全并行/串并行型ad可达到纳秒级。 l 量化误差:由于ad的有限分辨率而引起的误差,即有限分辨率ad的阶梯状转移特性曲线与无限分辨率ad (理想ad)的转移特性曲线(直线)之间的最大偏差。通常是1个或半个最小数字量的模拟变化量,表示为1lsb、1 /2lsb。2 总体方案设计2.1设计的目的与要求作为一名大学生,我们要求用硬件描述语言相关软件来模拟adc的实际生产过程。通过这个课程设计,可以学会硬件描述语言和电路设计的相关软件,同时还要求掌握adc的原理和其电路原理图。具体目的与要求如下:1理解和掌

8、握该课程中的有关基本概念,程序设计思想和方法。2培养综合运用所学知识独立完成课题的能力。3培养勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。4掌握从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。5掌握利用单片机接口技术解决问题的基本方法2.2 硬件描述语言(vhdl)2.2.1 vhdl简介本次设计采用vhdl,英文全写是:vhsic(very high speed integrated circuit)hardware description language。翻译成中文就

9、是超高速集成电路硬件描述语言。vhdl主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,vhdl的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。vhdl的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是vhdl系统设计的基本点。2.2.2 vhdl的设计流程主要包括以下几个步骤:l 文本编辑l 用任何文本

10、编辑器都可以进行,也可以用专用的hdl编辑环境。通常vhdl文件保存为.vhd文件,verilog文件保存为.v文件。l 使用编译工具编译源文件。l 功能仿真l 将文件调入hdl仿真软件进行功能仿真,检查逻辑功能是否正确(也叫前仿真,对简单的设计可以跳过这一步,只在布线完成以后,进行时序仿真)l 逻辑综合l 将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式。逻辑综合软件会生成.edf或.edif 的eda工业标准文件。l 布局布线l 将.edf文件调入pld厂家提供的软件中进行布线,即把设计好的逻辑安放pld/fpga内。l 时序仿真l 需要利用在布局布线中获得的精确参数,用仿

11、真软件验证电路的时序。(也叫后仿真) 通常以上过程可以都在pld/fpga厂家提供的开发工具。l 编程下载l 确认仿真无误后,将文件下载到芯片中。2.3电路器件由于微机只能处理数字化的信息,而在实际应用中被控对象常常是连续变换的物理量,因此,微机用于测控系统时需要有能吧模拟信号转换成数字信号的接口,以便于能对被控制对象进行处理和控制。a/d转换器就承担这样的任务,它适用于工业自动化控制,数据采集等许多领域。adc0809是一种cmos单片8位a/d转换器,8路模拟量输入以及地址锁存与译码。设有与微机数据总线相连的ttl三态输出锁存器。adc0809可用单一的+5v电源工作,转换时间约为100u

12、s。用单一+5v电源时,模拟量输入量程为05,对应的转换值为00hhffh. adc0809的主要引脚信号说明如下: in0in7:8路模拟量输入端。 add-a.add-b.add-c:三位地址线,通过地址译码选通8路模拟量输入端中的一路。 clock:外部提供给adc0809工作的时钟信号。 eoc:a/d转换结束信号。 ale:通道地址锁存允许信号。 enable:输出允许信号,用来打开三态输出的数据锁存器。 start:a/d转换启动信号。 ref(+).ref(-):正的和负的的参考电压。8路模拟开关则可选通8路模拟输入的任何一路单端模拟信号,其内部结构框图如图2-1所示。8路模拟开

13、关地址锁存与译码控制与时序s.a.r树状开关256r电阻阶梯三 锁态 存输 缓出 冲器图2-1 数模转换电路内部结构3 详细设计3.1 主流程设计主流程设计图如图3-1下:开始初始化模拟信号采样a/d转换输出3-1 程序流程图3.2程序流程图程序流程图如图3-2所示:开始用35hdos功能调用取类型0ah的中断矢量,并入栈保存用25h dos功能调用将a/d中断服务程序入口地址写入中断矢量表中0ah类型中断的位置a/d转换结果送内存6000h段等待硬件中断关中断8253初始化:0通道,3方式,初始值为0010h开中断300cx启动0809执行本次a/d转换取中断屏蔽寄存器的内容存入bp中开放0

14、ah号中断显示转换结果及两个空格cx-1=0?用25h dos功能调用恢复原中断矢量恢复中断屏蔽器寄存器内容结束入口保存使用的寄存器的内容从0809的端口读取a/d转换数据发中断结束命令中断返回图3-2流程图3.3 功能逻辑框图 由下图3-2可知,此设计的adc是由一个8路模拟开关、一个地址锁存与译码器、一个a/d转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用a/d转换器进行转换。三态输出锁器用于锁存a/d转换完的数字量,当oe端为高电平时,才可以从三态输出锁存器取走转换完的数据。图3-3功能逻辑框图3.4 a/d转换电路设计数字信号不仅在时间上的离散

15、的,而且在数值上的变化也是不连续的。这就是说,任何数字量的大小,都是以某个最小数量单位的整数倍来表示的。因此,在用数字量表示取样电压时,也必须把它化成这个最小数量单位的整数倍,这个转化过程就叫做量化。所规定的最小数量单位叫做量化单位,用表示。显然,数字信号最低有效位中的1所表示的数量大小,就等于。把量化的数值用二进制代码表示,称编码。这个二进制代码就是a/d转化的出入信号。具体程序代码如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity adc is port ( clk: in s

16、td_logic;-256hz rd : out std_logic;wr:out std_logic;cs:out std_logic;ledcs :out std_logic;p13 :out std_logic; ramcs :out std_logic; nreset :in std_logic; dbus:inout std_logic_vector(7 downto 0);end;architecture adc of adc issignal ad_value :std_logic_vector(7 downto 0);signal status: integer range 0

17、 to 32;signal cs1:std_logic; signal rd1:std_logic; signal wr1:std_logic; beginramcs = 1;p13 =31) then status = 0;else status = status + 1;end if;end if; end process; process(status) beginif(nreset = 0) thendbus = zzzzzzzz;cs1 = 1;rd1 = 1;wr1 = 1;elsif(status = 0) thencs1 = 1;rd1 = 1;wr1 = 1;dbus = z

18、zzzzzzz;elsif(status = 1) thenrd1 = 1; cs1 = 0;wr1 = 1;dbus = zzzzzzzz; elsif(status = 2) thenrd1 = 1; cs1 = 0;wr1 = 0;dbus = zzzzzzzz;elsif(status = 3) thenrd1 = 1; cs1 = 0;wr1 = 1;dbus = zzzzzzzz;elsif(status = 4) then cs1 = 1;rd1 = 1;wr1 = 1;dbus = zzzzzzzz;elsif(status = 5) thencs1 = 0;rd1 = 1;w

19、r1 = 1;dbus = zzzzzzzz;elsif(status = 6) thencs1 = 0;rd1 = 0;wr1 = 1;dbus = zzzzzzzz;elsif(status = 7) thencs1 = 0;rd1 = 0;wr1 = 1;ad_value = dbus;dbus = zzzzzzzz;elsif(status = 8) thencs1 = 0;rd1 = 1;wr1 = 1;dbus = zzzzzzzz;elsif(status = 9) thencs1 = 1;rd1 = 1;wr1 = 1;elsif(status = 10) thencs1 =

20、1;rd1 = 1;wr1 = 1;if( (ad_value(7) = 0)and(ad_value(6) = 0)and(ad_value(5) = 0)and(ad_value(4) = 0) thendbus = 00000000;elsif( (ad_value(7) = 0)and(ad_value(6) = 0)and(ad_value(5) = 0)and(ad_value(4) = 1)thendbus = 00000001;elsif( (ad_value(7) = 0)and(ad_value(6) = 0)and(ad_value(5) = 1)thendbus = 0

21、0000011;elsif( (ad_value(7) = 0)and(ad_value(6) = 1)and(ad_value(5) = 0)thendbus = 00000111;elsif( (ad_value(7) = 0)and(ad_value(6) = 1)and(ad_value(5) = 1)thendbus = 00001111;elsif( (ad_value(7) = 1)and(ad_value(6) = 0)and(ad_value(5) = 0)thendbus = 00011111;elsif( (ad_value(7) = 1)and(ad_value(6)

22、= 0)and(ad_value(5) = 1)thendbus = 00111111;elsif( (ad_value(7) = 1)and(ad_value(6) = 1)and(ad_value(5) = 0)thendbus = 01111111;elsif( (ad_value(7) = 1)and(ad_value(6) = 1)and(ad_value(5) = 1)thendbus = 11111111;elsedbus = 00000000;end if;elsif(status = 11) thencs1 = 1;rd1 = 1;wr1 = 1;ledcs = 1;elsi

23、f(status = 12) thencs1 = 1;rd1 = 1;wr1 = 1;ledcs = 0;elsecs1 = 1;rd1 = 1;wr1 = 1;dbus = zzzzzzzz; end if;cs = cs1;rd = rd1;wr = wr1; end process;end;4 程序的调试与运行结果说明4.1 a/d的电路图 在开发环境quartusii5.0中,对上面的a/d的程序代码文件进行编译、执行后点击菜单tools下的rtl viewer可以看到图4-1 adc的电路图图4-1 adc的电路图4.2仿真波形图图4-2 adc的防真波形图如下:图4-2 adc的防

24、真波形图4.3 结果分析 根据上面的波形图,在20ns、40ns、60ns时刻所对应的输入和输出信号,和依程序中推断的相一致,可判断此波形图是正确的。从而可证明adc的设计正确,此次课程设计基本上达到了预定的效果。5 课程设计总结通过本次课程设计的学习,通过查阅很多有关a/d转换知识的资料后,最后通过在网上寻找有关资料以及老师、同学的帮助下终于完成了。不仅仅培养了我的自学能力,实际操作能力,也培养了我灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。通过这次设计和问题的解决,对以后从事相关工作有一定的帮助。在应用vhdl的过程中让我真正领会到了其并行运行与其他软件(如c语言)顺序执行的

25、差别及其在电路设计上的优越性。用vhdl硬件描述语言的形式来进行系统的设计方便灵活,降低了开发成本。巩固了单片机等硬件方面的知识,认识并了解了vhdl的基本知识,提高了自己的团队合作意识与理论应用与实际的能力。更重要的是提高了自己的大局观与设计能力。 在此次课程设计中,我们遇到了很多困难,如对仿真软件的陌生,对vhdl语言的不熟悉等等。在指导老师和同学的无私帮助下,在通过自己的自学和网上查阅资料,这些问题都一一得到了解决。虽然这个数模转换器还有很多的不足,但基本可以完成他的转换功能。参考文献1潘松,vhdl实用教程, 电子科技大学出版社,20002侯伯亨 顾新,vhdl硬件描述语言及数字逻辑电

26、路设计,西安电子科技大出版社,20033甘登岱,eda培训教程,机械工业出版社,2005 4张亦华 延明, 数字电路eda入门,北京邮电大学出版社,20035曹昕燕 周凤臣,eda技术实验与课程设计,清华大学出版社,20066张亦华 延明,数字电路eda入门,北京邮电大学出版社,20037孙涵芳 徐爱卿,mcs-51单片机的原理与应用,北京航空学院出版社,2000年8何立民,mcs-51单片机应用系统设计,北京航空航天大学出版社,2004年8月9王幸之,at89系列单片机原理与应用,北京航空航天大学出版社,2004年6月10李群芳,单片微型计算机与接口技术,电子工业出版社,2005年10月ut

27、2apodfxxc02gybkskcww97mrqqwhoj5tl15zt6jipyytycummtarp3v1n5luizi3xh3bhwyreko8d9g7nmzqowpjetldrw08gvs8dsdqqygc3ce7moo2tlf0jf1gk74iuxybmtivr97ckrfvqult5fn2t6mpjr6rbzvpsortzvij5nb5ndvvsr4iwr1twlfkglspzuhrjq3cmzu98euouijdlszqpmvrw9zkupxf8wfug9l2g9277g2rtipa1ypczeuqxpkbhtvdcooqozxuz3vjrzmocijym62zchmeooty

28、es8ebmm932tbz2yo09rtszeys8zrd2yktj8l6jeazvajnfbtrylvsm6ofbftoxvrffn7owiygjlamkunxjybz5rrb7r4vsur9zpfzfmfsjhcfca37lnw2vvlrkn7r8psz1bn6oric5hu5z6hcxayqynpog8duybawqsl20csg06dh2sm8hltgpkicskrgopdpuhbj1lmpk7lydvc6nnmwl3fwhzftfvyaary7lhssxj10v3ph3y19bxyr77ib7cpzsu2tijqe3hkqkkau9kskcphkxuikvvyjzpg2yijrkqf

29、bggovyqkuxnwi9omnjtt6qilzxtyrf7d20fbmabcfiixrqkusvnxbppfuxyq1fjskfsubkgs2duvqc9sz4jkbgn4qqv66pyoarjurnfj3txyfclzieeptwfjthpheipdfnqnr2hjqkv2dzwtmpdjqkbcxmovdsjqctjagjmdlskpgad2s0h0vmzgaht36gyuez7umank1ndreubeqdgrx0venqgnsyib2ilq3siqrnl4m56t7z8y8da5k0kupn5nzg4jvjdtffhyt82aogqkxo4vblmleiy2p7hthbho07rcfttxodydppdtqso7wxd0j6fkklgm4wodzplhtrr2xgqn13hqy59zu1gegdyqnihntavsieuefqcyfucjwd3vk5i7ykmhundmiz ut2apodfxxc02gybkskcww

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论