基于cpld的频率计设计.docx
《基于cpld的频率计设计.docx》由会员分享,可在线阅读,更多相关《基于cpld的频率计设计.docx(56页珍藏版)》请在冰豆网上搜索。
![基于cpld的频率计设计.docx](https://file1.bdocx.com/fileroot1/2023-2/24/06e0b467-8d7e-444f-8574-9f449326c300/06e0b467-8d7e-444f-8574-9f449326c3001.gif)
基于cpld的频率计设计
本科生毕业设计
基于CPLD的频率计设计
DesignoftheFrequencyMeterbasedonCPLD
学生姓名
专业
学号
指导教师
学院
毕业设计(论文)原创承诺书
1.本人承诺:
所呈交的毕业设计(论文)《基于CPLD的频率计设计》,是认真学习理解学校的《长春理工大学本科毕业设计(论文)工作条例》后,在教师的指导下,保质保量独立地完成了任务书中规定的内容,不弄虚作假,不抄袭别人的工作内容。
2.本人在毕业设计(论文)中引用他人的观点和研究成果,均在文中加以注释或以参考文献形式列出,对本文的研究工作做出重要贡献的个人和集体均已在文中注明。
3.在毕业设计(论文)中对侵犯任何方面知识产权的行为,由本人承担相应的法律责任。
4.本人完全了解学校关于保存、使用毕业设计(论文)的规定,即:
按照学校要求提交论文和相关材料的印刷本和电子版本;同意学校保留毕业设计(论文)的复印件和电子版本,允许被查阅和借阅;学校可以采用影印、缩印或其他复制手段保存毕业设计(论文),可以公布其中的全部或部分内容。
以上承诺的法律结果将完全由本人承担!
作者签名:
年月日
摘要
频率测量是电子测量领域最基本也是最重要的测量之一。
但基于传统测频原理的频率计在测频时测量精度将随被测信号频率的下降而降低,在实用中有较大的局限性。
因此,本文提出了一种基于CPLD的数字频率计的设计方法。
该设计电路简洁,软件潜力得到充分挖掘,低频段测量精度高,有效防止了干扰的侵入,把CPLD具有的编程灵活,适用范围宽,价格大众化等优点用于实现频率计的设计。
该频率计采用先进的EDA技术及自上而下的设计,使用流行的VHDL语言编程,并在Max+plusII软件平台上进行编译仿真。
经过硬件调试和软件仿真后结果证明此设计方案符合毕设要求和技术参数。
关键词:
频率计EDA技术CPLD
ABSTRACT
Frequencymeasurementisthemostbasicelectronicandalsooneofthemostimportantmeasureinthemeasurementfield.Buttheaccuracyoffrequencymeterwhichisbasedonthetraditionalprinciplewillvarydependingonthemeasuredsignalfrequencyandthelower,hasgreatlimitationsinthepracticalinfrequencymeasurement.Therefore,thisarticleputsforwardadesignmethodofdigitalfrequencymeterbasedonCPLD.TheadvantagesuchastheCPLDprogrammingflexibility,wideapplicablescope,andthepopularpriceetc,areusedtoimplementthefrequencymeterdesignbythesimplecircuitdesign,thefullyexcavateofsoftwarepotential,theprecisioninlowfrequencymeasurement,andtheeffectivelypreventoftheinvasionoftheinterference.ThefrequencymeterdesignwhichisfromtoptobottomadoptstheadvancedEDAtechnologyandpopularVHDLlanguageprogramming,andcompilingonMax+plusIIsoftwareplatformsimulation.
Keywords:
frequencymeter;EDA;CPLD
第1章绪论
1.1背景
20世纪后期,随着信息技术、电子技术的飞速发展,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会信息化程度的大大提高和社会生产力的发展。
微电子技术的进步使集成电路设计在不断地向超大规模、极低功耗和超高速的方向发展,在功能上,现代集成电路已能实现单片电子系统SOC(Systemonchip)的功能。
进入九十年代后,复杂可编程逻辑器件(ComplexProgrammableLogicDevice)已经成为ASIC的主流产品,在整个ASIC市场占有了较大的份额。
它们一般具有可重编程特性,实现的工艺有EPROM技术、闪烁EPROM技术和EPROM技术,可用固定长度的金属线实现逻辑单元之间的互连。
这种连续式结构能够方便地预测设计的时序,同时保证了CPLD的高速性能。
CPLD的集成度一般可达数千甚至数万门,能够实现较大规模的电路集成。
电子设计自动化(ElectronicsDesignAutomation,EDA)技术是一种以计算机为工作平台,以EDA软件工具为开发环境,以硬件描述语言和电路图描述为设计入口,以可编程逻辑器件为实验载体,以ASIC(ApplicationSpecificIntegratedCircuit)、SOC(SystemOnChip)和SOPC(SystemOnProgrammableChip)嵌入式系统为设计目标,以数字系统设计为应用方向的电子产品自动化设计技术。
EDA技术在硬件实现方面融合了大规模集成电路制造技术、IC版图设计技术、ASIC测试和封装技术、FPGA/CPLD编程下载技术、自动测试技术等;在计算机辅助工程方面融合了计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)、计算机辅助工程(CAE)技术以及多种计算机语言的设计概念,而在现代电子学方面则容纳了如电子线路设计理论、数字信号处理技术、数字系统建模和优化技术及长线技术理论等等,因此EDA技术是现代电子系统计、制造不可缺少的技术。
1.2频率计设计的目的和意义
毫无疑问,无论是在科技研究还是在实际应用中,频率测量都是最基本的测量且其作用都显得尤为重要。
随着微电子科技的发展,对测频技术的要求也越爱越高。
频率计又称为频率计数器,是一种专门对被测信号频率进行测量的电子测量仪器。
在传统的生产制造业中,频率计被广泛的应用在产线的生产测试中以确保产品质量。
在计量实验室中,频率计被用来对各种电子测量设备的本地振荡器进行校准。
在无线通讯测试中,频率计即可以用来对无线通讯基站的主时钟进行校准,还可以用来对无线电台的跳帧信号进行分析。
传统的频率计通常采用组合电路和时序电路等大量的硬件电路构成,产品不但体积大,运行速度慢,而且测量低频信号时不宜直接使用。
在传统的控制系统中,通常将单片机作为控制核心并辅以相应的元器件构成一个整体。
但这种方法硬件连线复杂、可靠性差,且在实际应用中往往需要外加扩展芯片,这无疑会增大控制系统的体积,还会增加引入干扰的可能性。
对一些体积小的控制系统,要求以尽可能小的器件体积实现尽可能复杂的控制功能,直接应用单片机及其扩展芯片就难以达到所期望的效果。
复杂可编程逻辑器件(CPLD)具有集成度高、运算速度快、开发周期短等特点,基于CPLD的数字频率计的设计电路简洁,软件潜力得到充分挖掘,低频段测量精度高,有效防止了干扰的侵入。
其独到之处体现在用软件取代了硬件。
基于CPLD设计的频率计,在传统意义设计上实现了一些突破。
1、用单元电路或单片机技术设计的频率计电路复杂、稳定性差。
采用CPLD就能够克服这一点,它可以把具有控制功能的各个模块程序下载在一块芯片上。
这一块芯片就能代替原来的许许多多的单元电路或单片机的控制芯片和大量的外围电路。
大大的简化了电路结构,提高了电路稳定性。
2、以往的频率计测量范围都是有限的,为测量不同频率的信号都要专门的设计某一部分电路,这样很麻烦。
而基于CPLD设计的频率计可以通过修改VHDL语言程序来达到改变测量范围的目的。
1.3论文所做的工作及研究内容
随着EDA技术的发展和可编程逻辑器件的广泛使用,传统的自下而上的数字电路设计方法、工具、器件已远远落后于当今技术的发展。
本设计主要论述了利用CPLD实现多功能频率计的过程,使得频率计具有了测量精度高、功能丰富、控制灵活等特点。
该频率计按照直接测频法、等精度测频法的原理,克服了传统技术中测频精度随被测信号频率下降而下降的缺点。
两种测量方法测量均具有较高的测量精度。
本设计主要工作包括以下几项内容:
1、简述了当今频率计的发展情况,对几种常用的测频方法进行了介绍和对比。
2、在CPLD基础上分别采用直接测频法、等精度测频法来实现对频率的测量。
3、完成了基于EDA平台Max+plusII的CPLD的软件电路设计,并且编译调试。
4、利用CPLD芯片完成了硬件电路设计及下载、调试。
第2章设计环境介绍
本设计采用VHDL硬件描述语言及原理图设计模块作为设计输入,内部有强大的库支持,在电子设计的各个阶段、各个层次通过计算机模拟仿真验证。
2.1EDA技术的发展及VHDL简介
2.1.1EDA技术的发展
EDA技术伴随着计算机、集成电路。
电子系统设计的发展,经历了计算机辅助设计(ComputerAssistDesign,CAD)、计算机辅助工程设计(ComputerAssistEngineeringDesign,CAE)和电子设计自动化(ElectronicsDesignAutomation,EDA)三个发展阶段。
EDA技术在进入21世纪以后,得到了更大的发展,突出表现在以下几个方面:
1、电子设计成果以自主知识产权的方式得以明确表达和确认成为可能。
2、在方针和设计两方面支持标准硬件描述语言的功能强大的EDA软件不断推出。
3、EDA技术使得电子领域各学科的界限更加模糊,更加互为包容:
模拟与数字、软件与硬件、系统与器件、ASIC与GPGA、行为与结构等。
4、更大规模的FPGA和CPLD器件的不断推出。
5、基于EDA工具的ASIC设计标准单元以涵盖了大规模电子系统及IP核模块。
软硬件IP核在电子行业的产业领域、技术领域和设计应用领域得到进一步确认。
2.1.2VHDL简介
VHDL(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage,超高速集成电路硬件描述语言)是在20世纪80年代后期,由美国国防部开发的一种快速设计电路的工具,目前已经成为IEEE的一种工业标准硬件描述语言。
相比传统的电路系统设计方法,VHDL具有多层次描述系统硬件功能的能力,支持自顶向下和基于库的设计的特点,因此设计者可以不必了解硬件结构。
从系统设计入手,在顶层进行系统方框图的划分和结构设计,在方框图一级用VHDL对电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的CPLD器件中去,从而实现可编程的专用集成电路(ASIC)的设计。
VHDL语言覆盖面广、描述能力强,能支持硬件的设计、验证、综合和测试,是一种多层次的硬件描述语言。
一个VHDL设计由若干个VHDL文件构成,每个文件主要包含如下三个部分中的一个或全部:
1、程序包(Package);
2、实体(Entity);
3、结构体(Architecture)。
一个完整的VHDL设计必须包含一个实体和一个与之对应的结构体。
一个实体可对应多个结构体,以说明采用不同方法来描述电路。
2.1.3CPLD器件及其特点
CPLD器件继承了ASIC的大规模、高集成度、高可靠性的优点,又克服了ASIC设计周期长、投资大、灵活性差的缺点,逐步成为复杂数字软硬件电路设计的理想首选,它具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化、可编程性和实现方案容易改等特点,可实现较大规模的电路设计,因此被广泛应用于产品的原型设计和产品生产(一般在10000件以下)之中。
几乎所有应用中小规模通用数字集成电路的场合均可应用CPLD器件。
CPLD器件已成为电子产品不可缺少的组成部分,它的设计和应用成为电子工程师必备的一种技能。
CPLD器件内部采用自顶向下的方法:
首先定义好系统高层次的功能,然后按照要求对系统进行分解,分解出的每个子系统具有相应的功能,对这些子系统仍然可以继续分解,直到分解为许多基本逻辑模块,从顶层到底层的设计层次清楚。
底层各功能模块采用原理图输入方式,过程简单,另外的优点是各模块均可进行功能仿真,便于发现错误和进行修改。
CPLD也是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。
其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。
2.2基于EDA的CPLD/FPGA设计流程
一个完整的、典型的EDA设计流程既是自顶向下设计方法的具体实施途径,也是EDA工具软件本身的组成结构。
基于EDA的CPLD/FPGA设计流程包括:
2.2.1设计输入
1)图形输入
图形输入通常包括原理图输入、状态图输入和波形图输入等方法。
原理图输入方法类似于传统电子设计方法的原理图编辑输入方式,即在EDA软件的图形编辑界面上绘制能完成特定功能的电路原理图。
原理图由逻辑器件(符号)和连接线构成,图中的逻辑器件可以是EDA软件库中预制的功能模块,如与门、或门、非门、触发器以及各种含74系列器件功能的宏功能块,甚至还有一些类似于IP的功能块。
状态图输入方法就是根据电路的控制条件和不同的转换方式,用绘图的方法,在EDA工具的状态图编辑器上绘制出状态图,然后由EDA编译器和综合器将此状态变化流程图形编译综合成电路网表。
波形图输入方法主要用于建立和编辑波形设计文件以及输入仿真向量和功能测试向量。
波形设计输入适合用于时序逻辑和有重复性的逻辑函数,系统软件可以根据用户定义的输入/输出波形自动生成逻辑关系。
2)文本输入
文本输入是采用硬件描述语言进行电路设计的方式。
这种方式与传统的计算机软件语言编辑输入基本一致。
就是将使用了某种硬件描述语言(HDL)的电路设计文本,如VHDL或Verilog的源程序,进行编辑输入。
2.2.2综合
综合就是把某些东西结合到一起,把设计抽象层次中的一种表述转化为另一种表述的过程。
整个综合过程就是将设计者在EDA平台上编辑输入的HDL文本、原理图或状态图形描述,依据给定的硬件结构组件和约束控制条件进行编译、优化、转换和综合,最终获得门级电路甚至更底层的电路描述网表文件。
由此可见,综合器工作前,必须给定最后实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用某种网表文件的方式对应起来,成为相应的映射关系。
2.2.3适配
适配器也称为结构综合器,它的功能是将由综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件,如JEDEC、Jam格式的文件。
适配所选定的目标器件(FPGA/CPLD芯片)必须属于原综合器指定的目标器件系列。
适配综合通过后,必须利用适配器将综合后网表文件针对某一具体的目标器件进行逻辑映射操作,其中包括底层器件配置、逻辑分割、逻辑优化、逻辑布局布线操作。
适配完成后可以利用适配所产生的仿真文件作精确的时序仿真,同时产生可用于编程的文件。
2.2.4时序仿真与功能仿真
在编程下载前必须利用EDA工具对适配生成的结果进行模拟测试,就是所谓的仿真。
仿真就是让计算机根据一定的算法和一定的仿真库对CPLD设计进行模拟,以验证设计,排除错误。
2.2.5编程下载
把适配后生成的下载或配置文件,通过编程器或编程电缆向FPGA或CPLD进行下载,以便进行硬件调试和验证(HardwareDebugging)。
通常,将对CPLD的下载称为编程(Program),对FPGA中的SRAM进行直接下载的方式称为配置(Configure)。
2.2.6硬件测试
最后是将含有载入了设计的FPGA或CPLD的硬件系统进行统一的测试,以便最终验证设计项目在目标系统上的实际工作情况,以排除错误,完成设计
2.3Max+PlusⅡ开发工具
2.3.1Max+PlusⅡ开发系统的特点
Max+PlusⅡ是美国Altera公司提供的FPGA/CPLD开发集成坏境,其全称为MultipleArrayMatrixandProgrammableLogicUserSystemⅡ。
Max+PlusⅡ界面友好、使用便捷,被誉为业界最易用易学的EDA软件。
在Max+PlusⅡ上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。
Altera的Max+PlusⅡ开发系统是一种全集成的可编程逻辑设计环境,能满足各种各样的设计要求。
其特点有以下几点:
●开放的界面
●与结构无关
●完全集成化
●丰富的设计库
●模块化工具
●硬件描述语言
●Opencore特征
2.3.2Max+PlusⅡ的功能
Max+PlusⅡ支持FLEX、MAX及Classic等系列EDA器件,设计者无须精通器件内部的复杂结构,只需用自己熟悉的设计输入工具,如高级行为语言、原理图或波形图进行设计输入,它便将这些设计转换成目标结构所要求的格式,从而简化了设计过程。
而且Max+PlusⅡ提供了丰富的逻辑功能库供设计者使用。
设计者利用以上这些库及自己添加的宏功能模块,可大大减轻设计的工作量.,减轻了设计者的工作负担,使设计者可以快速完成所需的设计。
使用该软件,用户从开始设计逻辑到完成器件下载编程一般只需数个小时时间,其中设计的编辑时间往往仅需数分钟。
用于可在一个工作日内完成实现设计项目的多次修改,直至最终设计定型。
Max+plusII支持的设计输入方式主要有4种:
图形输入(gdf文件)、AHDL语言(Altera公司自定义的HDL)、VerilogHDL以及VHDL。
还有其他常用的EDA工具产生的输入文件,如EDIF文件;Floorplan编辑器(低层编辑程序),可方便进行管脚锁定,逻辑单元分配;层次化设计管理;LPM(可调参数模块)。
Max+plusII支持的设计校验:
时序分析、功能仿真、时序仿真、波形分析/模拟器、生成一些标准文件为其他EDA工具使用。
2.3.3Max+PlusⅡ的设计过程
Max+PlusⅡ软件设计的流程应包括5个部分。
图2-1设计流程图
1、设计输入:
可以采用原理图输入、HDL语言描述、EDIF网表读入及波形输入等方式。
2、功能仿真:
此时为零延时模式,主要为检验输入是否有误。
3、项目编译:
主要完成器件的选择及配置,逻辑的综合及器件的装入,延时信息的提取。
4、验证仿真:
将编译产生的延时信息加入到设计中,进行布局后的仿真,是与实际器件工作时情况基本相同的仿真。
5、编程校验:
用验证仿真确认的配置文件经EPROM或编程电缆配置可编程器件,加入实际激励,进行测试,以检查是否完成预定功能。
以上各步如果出现错误的现象,则需重新回到设计输入阶段,改正错误输入或调整电路后重复上述过程。
第3章频率计的设计原理及方案
3.1频率计的设计原理
传统的数字电子系统或IC设计中,手工设计占了较大的比例。
一般先按电子系统的具体功能要求进行功能划分,然后对每个子模块画出真值表,用卡诺图进行手工逻辑简化,写出布尔表达式,画出相应的逻辑线路图,再据此选择元器件,设计电路板,最后进行实测与调试。
传统的手工设计发展而来的自底向上的设计方法,在进行手式电路设计时,一个硬件系统的实现过程是从选择具体的元器件开始的。
这些传统数字系统的设计主要基于标准逻辑器件,如TIL系列、CMOS系列,采用“bottom→up”(自底向上)的方法构成系统。
这种“试凑法”设计无固定套路可寻,主要凭借设计者的经验,所设计的数字系统虽然不乏构思巧妙者,但往往要用很多标准器件。
随着集成电路发展,自底向上的设计方法已逐步被现代的自顶向下的设计方法所取代。
所谓自顶向下的设计,就是设计者首先从整体上规划整个系统的功能和性能,然后对系统进行划分,分解为规模较小、功能较为简单的局部模块,并确立它们之间的相互关系,这种划分过程可以不断地进行下去,直到划分得到的单元可以映射到物理实现。
自顶向下的设计方法流程图如下:
图3-1自顶向下的设计方法流程图
频率计是能够测量和显示信号频率的电路。
所谓频率,就是周期性信号在单位时间(1s)内变化的次数。
数字频率计是直接用十进制数字来显示被测信号频率的一种测量装置。
常用的测频方法有两种,一种是测周期法,一种是测频率法。
测周期法需要有基准时钟频率Fs,在待测信号一个周期Tx内,记录基准系统时钟频率的周期数Ns,则被测频率可表示为:
(3-1)
测频率法就是在一定时间间隔Tw(该时间定义为闸门时间)内,测得这个周期性信号的重复交换次数为Nx,则其频率可表示为:
(3-2)
这两种方法的计数值会产生正负一个字的误差,并且被测精度与计数器中记录的数值Nx有关,为保证测试精度,一般对于低频信号采用测周期法,对于高频信号采用测频率法。
3.1.1直接测频法原理
直接测频法是在给定的闸门时间内,通过测量一定时间内通过的周期信号进行重复计数,再利用一定的转换方法计算出被测信号的频率。
被测信号的频率和闸门时间的设置都会对测量精度有影响。
直接测频法控制波形图如下:
图3-2直接测频法时序控制波形图
直接测频法的一般思路是:
在精确规定计数允许周期T内,计数器对被测信号的周期(脉冲)数进行计数,计数允许周期T的长度决定了被测信号频率的范围。
较长的计数允许周期T对低频信号而言有利于改善测量精度,但对于高频信号来说,则会产生溢出;较短的计数允许周期T对低频信号的测量,虽然精度降低,但能测量的最大频率较高,且不会溢出。
因此本设计为提高测频精度,加入4个量程档位。
1档为0Hz~9999Hz,2档为10Hz~99.99KHz,3档为100Hz~999.9KHz,4档为1000Hz~9.999MHz,并且具有超量程提示功能,在超出目前量程档次时报警。
3.1.2等精度测频法原理
等精度测频法是在计数器测频法的基础上发展来的,频率为fx的被测信号经过通道滤波、放大、整形后输入到同步门控制电路和闸门1,晶体振荡器的输出信号作为标准输入到闸门2.被测信号在同步控制门的作用下,产生一个与被测信号同步的闸门信号。
在同步门打开时通过同步门分别输入到事件计数器和时间计数器的信号输入端,计数器开始计数。
同步门关闭时信号不能通过主门,计数器停止计数,单片机发出命令读入计数器的数值,并进行数据处理,将处理后的结果送显示。
图3-3等精度测频法时序控制波形图
此种测频可获得较高的测量精度,测频范围是0Hz~40MHz,测频范围广。
并且具有超量程报警功能。
3.2频率计的设计方案
本设计的核心部件是CPLD芯片,所有信号包括基准频率信号,被测信号均送到CPLD芯片中。
3.