课程设计(论文):基于vhdl信号发生器的设计内容摘要:

23 1 第 1 章 前言 随着我国的经济日益增长,社会对电子产品的需求量也就越来越大,目前,我国的电子产品市场正在迅速的壮大,市场前景广阔。 FPGA(Field Programmable Gate Array,现场可编程门阵列 )在现代数字电路设计中发挥着越 来越重要的作用。 FPGA/CPLD(Complex Programmable Logic Device)所具有的静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改,这样就极大地提高了电子系统设计的灵活性和通用性,缩短了产品的上市时间并降低可电子系统的开发成本,且可以毫不夸张地讲,FPGA/CPLD 能完成任何数字器件的功能,从简单的 74 电路到高性能的 CPU。 它的影响毫不亚于 20 世纪 70 年代单片机的发明和使用。 现在随着电子技术的发展,产品的技术含量越来越高,使得芯片的复杂程度越来 越高,人们对数万门乃至数百万门设计的需求也越来越多,特别是专用集成电路( ASIC)设计技术的日趋进步和完善,推动了数字系统设计的迅速发展。 仅靠原理图输入方式已不能满足要求,采用硬件描述语言 VHDL 的设计方式应运而生,解决了传统用电路原理图设计大系统工程时的诸多不便,成为电子电路设计人员的最得力助手。 设计工作从行为、功能级开始,并向着设计的高层次发展。 这样就出现了第三代 EDA 系统,其特点是高层次设计的自动化。 第三代 EDA 系统中除了引入硬件描述语言,还引入了行为综合工具和逻辑综合工具,采用较高的抽象层次进行 设计,并按层次式方法进行管理,可大大提高处理复杂设计的能力,缩短设计周期,综合优化工具的采用使芯片的品质如面积、速度和功耗等获得了优化,因而第三代 EDA 系统迅速得到了推广应用。 目前,最通用的硬件描述语言有 VHDL 和 VerilogHDL 两种,现在大多设计者都使用 93 年版标准的 VHDL,并且通过了 IEEE 认定,成为世界范围内通用的数字系统设计标准。 VHDL 是一种新兴的程序设计语言,使用 VHDL进行设计其性能总是比常规使用 CPU或者 MCU的程序设计语言在性能上要高好几个数量级。 这就是说,在传统上使用软件语言的地 方, VHDL 语言作为一种新的实现方式会应用得越来越广泛。 本课题设计是采用美国 Altera 公司的FLEX10K10 器件,使用的是 Altera 公司的 EDA 软件平台 Maxplus –II 可编程逻辑器件开发软件。 基于 EDA 工具的 FPGA/CPLD 的开发流程CPLD/FPGA 器件的设计一般可分为设计输入、设计实现和编程三个设计步骤: 2 ,可根据需要选择,也可混合输入。 EDA 工具会自动检查语法; EDA 工具对设计文件进行编译,进行逻辑综合、优化,并针对器件进行映 射、布局、布线,产生相应的适配文件; EDA 软件将适配文件配置到相应的 CPLD/ FPGA 器件中,使其能够实现预期的功能。 信号发生器是数字设备运行工作中必不可少的一部分,没有良好的脉冲信号源,最终就会导致系统不能够正常工作,更不必谈什么实现其它功能了。 不论是处于开发还是故障检修阶段,输出标准且性能优秀的信号发生器总是能够带来工作效率的大幅提升,使新产品有一个标准的信号源、损坏的系统得到正确校验,不会被一些故障所蒙蔽。 在传统的信号发生器中,大都使用分立元件,而且体积庞大携带不便,且大部分只能输出一 种脉冲信号波形。 在设计领域,不管采用什么技术生产,生产的产品用在哪里,其产品设计的宗旨都是离不开以下几点:实用性高、成本低、可升级、功能完善可扩展等。 使用专用的数字电路设计的信号发生器,设备成本高、使用复杂。 基于以上考虑,在中小型数字电路的设计和测试中,迫切需要设计一种小型易用成本低廉的信号发生器。 此课题的设计以小型经济,集成度高,性能稳定,使用方便为指导,在功能上力求完善实用,同时兼顾商业价值与应用价值的体现。 3 第 2 章 设计方案 总体 设计思路 设计步骤 此设计将按模块式实现, 据任务书要 求,设计总共分四大步份完成:( 1)产生波形(三种波形:方波、三角波和矩形波)信号;( 2)波形组合;( 3)频率控制;( 4)幅度控制。 设计思想 利用 VHDL 编程,依据基本数字电路模块原理进行整合。 系统各部分所需工作时钟信号由输入系统时钟信号经分频得到,系统时钟输入端应满足输入脉冲信号的要求。 组合波形信号经显示模块输出。 具备幅度和频率可调功能,幅度可通过电位器调整,频率控制模块则是一个简易的计数器,控制步径为 100HZ 的可调频率,最终送至脉冲发生模块输出脉冲信号,达到设计课题所要求的输出波形频率可调及 幅度可调功能。 幅度可调功能由于比较简单,可以在 FPGA 外部利用硬件电路实现。 总体设计框图如下图 1 所示: 1KHZ 图 1 总体设计框图 控制电路 正弦波、方波、三角波信号产生模块 波形组合选 择模块 幅度控制 /电位器 频率控制模块 /计数器模块 滤波电路 FPGA 输出电路 100HZ~1KHZ 4 方案论证 方案一 采用 DDS( 直接数字频率合成器 ) 来设计,设计总体框图 如图 2 所示。 在设计界里众所周知, DDS 器件采用高速数字电路和高速 D/A 转换技术,具有频率转换时间短、频率分辨率高、频率稳定度高、输出信号频率和相位可快速程控切换等优点, 所以,我们可以利用 DDS 具有很好的相位控制和幅度控制功能,另外 其数据采样功能也是极具精确和完善的,它可以产生较为精确的任何有规则波形信号, 可以实现对信号进行全数字式调制。 用 FPGA 和 DDS 实现信号调制,既克服了传统的方法实现带来的缺点, 若采用它来编程设计,必定会事半功倍,且使设计趋于理想状态。 但鉴于 DDS 的占用 RAM 空间较大,我们设计是采用 FPGA10K10 器件,总共只有一万门的逻辑门数量,而整个 DDS 设计下来,大概最少会占用 34 万门的数量,所以在性价比方面不合理,这样也使得我们的设计会有些不切实际。 频率控制字 信号输出 时钟 图 2 DDS与 FPGA总体设计图 方案二 采用震荡器频率合成方案。 具体方案如下:首先通过频率合成技术产生所需要频率的方波,通过积分电路就可以得到同频率的三角波,再经过滤波器就可以得到正弦波。 其优点是工作频率可望做得很高,也可以达到很高的频率分辨率;缺点是使用的滤波器要求通带可变,实 现很难,高低频率比不可能做得很高。 方案三 采用 VHDL 语言来编程,然后下载文件到 FPGA 来实现。 VHDL 语言是电子设计领域的主流硬件描述语言 ,具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大降低了硬件设计任务,提高了设计效率和可靠性 ,要比模拟电路快得多。 该方案是利用 FPGA 具有的静态可重复编程相位累加器 ROM D/A 变换 低通滤波 5 和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改,极大地提高了电子系统设计的灵活性和通用性, 而且大大缩短了系统的开发周期。 方案确定 由上述三个 方案对比,采用第三种方案: 通过 FPGA 软件扫描方式将波形数据读出传输给 DAC0832 产生波形输出。 这种方法在软、硬件电路设计上都简单,且与我们的设计思路紧密结合。 由于幅度控制部分在设计需要用到数字电子,这样有要经过 D/A 转换器再输出,必将占用大量资源,造成不必要的开销。 鉴于有设计经验的同学和老师的建议,采用一个电位器代替,虽然精确度不够,但是也弥补了性价比方面的不足。 波形组合如果采用分开式模块实现,也必将导致占用大量的资源,而且模块设计复杂度提高,只要采用重复调用一个模块的设计方法,既可以降低资源的占用率,也使得设计更加灵活且有针对性。 此信号发生器的特点及功能集成度高,因采取整体模块式设计,在此也考虑到实际应用中,万一 FPGA 的逻辑门数量不够,特准备了一套备用方案。 备用 方案:将波形数据存放在 6116RAM 中, 6116 的存储容量大,且可重复 使用,虽 用单片机在速度方面远不及 FPGA,但是这样是在出现上述状况后的最佳补偿方式。 综合以上涉及方面的分析,因此本次课题采用此方案进行设计。 6 第 3 章 软件设计 波形产生模块 本设计用 VHDL 语言根据傅立叶函数采集点进行扫描,分别产生正弦波、三角 波和矩形波。 以下介绍各种常用周期信号的傅立叶函数展开式。 正弦波 ( 1)设计思想 正弦波发生分为两个步骤,即正弦波幅值采样存储和正弦波波形的还原输出。 幅值采样是将一个周期正弦波进行 64 等分,如图 3 所示,将 64 个采样点进行量化处理,量化值 =255*sin360/64( V) ,将 64 点量化值存入存储器。 正弦波形的产生是通过循环反复将存储器中的 64点采样值通过 DAC0832进行还原输出,得到幅值正比于 64 点采样值的正弦波。 f ( t ) A t 0 . 5 T A T图 1 2 1 8 ( c ) 矩形波三 ( 2) VHDL 实现 1.正弦信号波形数据文件建立 正弦波波形数据由 64 个点构成,此数据经 DAC0832,可在示波器上观察到正弦波形。 源程序见附录: 矩形波 1 设计思路 矩形波的实现较之正弦波发生简单,由于矩形波是两个电平值间的交替变换,因此波形采样值的预存只要有两个不同的数值就行了,为了使矩形波发生的频率灵活可调,采用 60 个采样值扫描输出来实现,每半个矩形 波周期采用三十图 3 正弦波采样图 图 4 方波采样图 T 0 t f(t) 7 个采样值, 循环反复将存储器中的 60 点采样值通过 DAC0832 进行还原输出,得到幅值正比于点采样值的矩形波。 采样图如图 4 所示。 2 VHDL 实现 源程序见附录。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。