等精度频率计的设计
等精度测频法的频率计设计
摘要摘要频率测量是电子学测量中最为基本的测量之一。
频率计主要是由信号输入和放大电路、单片机模块、分频模块及显示电路模块组成。
AT89C52单片机是频率计的控制核心,来完成它待测信号的计数,译码,显示以及对分频比的控制。
利用它内部的定时/计数器完成待测信号频率的测量。
在整个设计过程中,所制作的频率计采用外部分频,实现1Hz-1kHz的频率测量及1ms-100ms的脉宽测量,而且可以实现量程自动切换流程。
以AT89C52单片机为核心,通过单片机内部定时/计数器的门控时间,方便对频率计的测量。
其待测频率值使用LCD液晶显示器显示,并可以自动切换量程。
本次采用单片机技术设计一种数字显示的频率计,具有测量准确度高,响应速度快,体积小等优点。
关键词:频率计,单片机,LCD液晶显示器。
I西安交通大学城市学院本科生毕业设计(论文)I IABSTRACTABSTRACTFrequency measurement is one of the most basic measurement electronics measurement. Frequency counter is dominated by the signal input and the amplifier circuit, microcontroller module, frequency module and the display circuit module. AT89C52 microcontroller is to control the core frequency meter to complete its measured signal counting, decoding, display and control divider ratio. Use its internal timer / counter to complete the test signal frequency measurements.Throughout the design process, by making use of external parts of the frequency meter frequency to achieve frequency measurement and pulse width measurement 1ms-100ms of 1Hz-1kHz, and can realize automatic range switching processes. To AT89C52 microcontroller as the core, through the internal microcontroller timer / counter gate time, easy measurement of the frequency meter. Its measured frequency value using the LCD display, and can automatically switch range. The use of microcomputer technology to design a digital display of frequency meter, have a measurement of high accuracy, fast response, small size and so on.KEYWORDS: Frequency meter, Single chip, LCD display.III西安交通大学城市学院本科生毕业设计(论文)I V目录目录1 绪论 (1)1.1 数字频率计简介 (1)1.2 单片机系统的研究现状 (2)1.3 频率计的研究现状 (2)1.4设计的技术要求和主要内容 (3)2 等精度频率计的原理与应用 (5)2.1 等精度频率计测量的原理 (5)2.2 脉冲宽度的测量方法 (6)2.3 等精度频率计的误差分析 (6)2.4 本章小结 (8)3 硬件电路设计 (9)3.1单片机周边电路 (9)3.2 51单片机及AT89C52介绍 (9)3.2.1 单片机简介 (9)3.2.2 AT89C52简介 (10)3.2.3 管脚说明 (11)3.2.4 AT89C52主要性能 (13)3.3 各部分电路图及电路工作原理分析 (13)3.3.1 时钟脉冲电路 (13)3.3.2 同步门逻辑控制电路 (14)3.3.3 LCD显示电路 (15)3.3.4 复位电路 (17)4 软件设计 (19)4.1 KEIL51软件简介 (19)4.2 软件的模块化设计及各部说明 (19)4.2.1 定时中断模块 (19)4.2.2 测量模块 (20)4.2.3 显示模块 (20)V西安交通大学城市学院本科生毕业设计(论文)V I 4.2.4 软件流程图 (20)5 系统仿真与调试 (21)5.1 Proteus软件简介 (21)5.2 Proteus的电路仿真 (22)5.3误差分析 (24)总结 (27)致谢 (29)参考文献 (31)附录 (33)1 程序 (33)2 附图 (41)3 外文翻译 (44)绪论1 绪论1.1 数字频率计简介数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。
等精度频率计
等精度频率计设计作者:dx0801wl班级:电信0801指导老师:冯杰一.内容摘要本系统在硬件上主要由80c51单片机、Altera 公司的Cyclone 系列的EDA芯片EP1C6Q240C8以及液晶12864构成。
软件上利用功能强大的EDA开发工具quartersⅡ,直接将频率计电路程序烧入EDA芯片中。
单片机在本系统中的作用,主要是完成数据的处理和液晶显示的控制。
EDA芯片用于频率测量,并输出32位的2进制数据。
单片机获取32位二进制频率数据后,在内部将其转化为10位的十进制数据。
最后控制液晶12864,显示测量的频率。
频率显示的范围是1HZ至1MHZ。
本频率计突出性能主要有两个:一、测频全域内相对误差恒定不变,相对误差仅与晶振有关。
二、闸门信号的精度对本频率计的测量没有影响。
二.工作原理1、系统框图图一、系统框图频率计电路通过软件quarter s Ⅱ写入EDA 芯片内部,该芯片完成了信号频率的测量。
EDA 输出的数据是32位的二进制数据,经过单片机处理转换为10位的十进制数。
最后,单片机控制液晶12864,将信号的频率显示出来。
2、频率计电路的系统框图图二、频率计电路的系统框图本频率计工作原理:使用两个计数器,在一次预置闸门时间 EN 中,一个计数器对被测输入信号 Fx 计数,计数值为Nx ;同时另一个计数器对标准高频率信号 FS 计数,计数值为 Ns ,则下式成立:将上式进行变换可得被测信号频率的表达式:在电路中,为了实现上方等式。
首先,分别采用32位二进制计数器,对标准高频率信号 FS 和待测信号Fx 进行计数。
然后将两路计数结果分别锁存,准备用以计算。
若标准高频率信号 FS 的频率为1Mhz 。
先将10000000与待测信号Fx 计数结果Nx 通过乘法器相乘。
再将乘法器输出结果通过除法器,除以标准高频率信号 FS 的计数结果Ns ,得到待测信号的频率Fx 。
最后输出计数结果。
NsFs Nx Fx //=NxNs Fs Fx ⋅=)/(三、设计内容、方法及步骤本系统的设计模块主要包括:1、在quarter sⅡ完成频率计电路的设计。
基于VHDL的等精度频率计设计—毕业设计论文
摘要基于传统测频原理的频率计的测量精度将随被测信号频率的下降而降低,在实用中有较大的局限性,本设计采用单片机AT89C51作为主要的控制单元,用来完成电路的信号测试控制、数据运算处理、键盘扫描和控制数码管显示等功能,待测信号经过LM358放大后又经过74HC14形成系统需要的矩形波,然后送入复杂可编程逻辑器件(CPLD),最后由可编程逻辑器件CPLD进行各种时序控制及计数测频功能,并用8位8段LED进行显示。
关键词单片机可编程逻辑器件频率计AbstractBased on the traditional principle of measuring the frequency of the frequency of measurement accuracy will be tested with thefrequency and reduce the decline in the more practical limitations.SCM AT89C51 use this design as the main control unit, the signals used to complete the circuit test control, data processing, keyboard scanning and digital control of the show, and other functions, under test signal LM358 Larger then after a 74 HC14 system needs Rectangular waves, and then into the complex programmable logic devices (CPLD), programmable logic devices by the end CPLD various control and timing count frequency measurement functions, and with eight 8 of the LED display.Keywords: SCMC CPLD Cymometer目录1 引言 (1)1.1课题分析 (1)1.2等精度频率计在国内外发展概况 (1)1.3M AX+P LUS II简介及VHDL语言简介 (3)1.4课题要求 (6)2 等精度频率计的方案选择及原理分析 (7)2.1等精度频率计测频原理 (7)2.2系统原理框图 (9)2.3周期测量 (9)2.4脉冲宽度测量 (10)2.5周期脉冲信号占空比的测量 (10)3 等精度频率计硬件设计 (11)3.1键盘控制模块 (11)3.2显示模块 (12)3.3主控模块 (13)3.4信号输入放大和整形模块 (16)3.5音频输出电路 (17)3.6CPLD功能模块描述 (18)4 等精度频率计软件设计方案 (19)4.1VHDL语言 (19)4.2VHDL软件设计方案 (21)4.3所需VHDL文件及波形仿真结果 (22)4.4单片机的汇编语言编程 (24)5 电路系统调试 (28)6 结论 (29)致谢 (33)附录一:元器件清单 (34)附录二:程序清单 (36)附录三:原理图 (36)1 引言1.1 课题分析在现代电子系统中,数字系统所占的比例越来越大。
等精度频率计设计
等精度频率计。
测频模块的片外输入采作者:林军招弟任战涛指导老师:杰(黄冈师学院物理科学于技术学院林军招弟任战涛黄冈438000)摘机和FPGA构成的最小系统为核心,以89C52单片机作为控制中心,汇编语言编程。
FPGA 主芯片是Altera 公司的Cyclone 系列的EP1C6Q240C8,VHDL语言编程,设双向口,等精度测频模块,键盘编码扫描模块等。
测频模块的片外输入采作者:林军招弟任战涛指导老师:杰(黄冈师学院物理科学于技术学院林军招弟任战涛黄冈438000)摘要:本设计以单片机和FPGA构成的最小系统为核心,以89C52单片机作为控制中心,汇编语言编程。
FPGA 主芯片是Altera 公司的Cyclone 系列的EP1C6Q240C8,VHDL语言编程,设双向口,等精度测频模块,键盘编码扫描模块等。
测频模块的片外输入采作者:林军招弟任战涛指导老师:杰(黄冈师学院物理科学于技术学院林军招弟任战涛黄冈438000)摘要:本设计以单片机和FPGA构成的最小系统为核心,以89C52单片机作为控制中心,汇编语言编程。
FPGA 主芯片是Altera 公司的Cyclone 系列的EP1C6Q240C8,VHDL语言编程,设双向口,等精度测频模块,键盘编码扫描模块等。
测频模块的片外输入采作者:林军招弟任战涛指导老师:杰(黄冈师学院物理科学于技术学院林军招弟任战涛黄冈438000)摘要:本设计以单片机和FPGA构成的最小系统为核心,以89C52单片机作为控制中心,汇编语言编程。
FPGA 主芯片是Altera 公司的Cyclone 系列的EP1C6Q240C8,VHDL语言编程,设双向口,等精度测频模块,键盘编码扫描模块等。
测频模块的片外输入采用带宽运放OPA637放大,并使用TL3116 和LM311构建迟滞比较器整形为方波信号送入FPGA由可编程逻辑组建的测频单元运算;显示采用TC6963C控制液晶显示模块;等精度测量法。
等精度数字频率计的设计
等精度数字频率计的设计李艳秋摘要基于传统测频原理的频率计的测量精度将随着被测信号频率的下降而降低,在实用中有很大的局限性,而等精度频率计不但有较高的测量精度,而且在整个测频区域内保持恒定的测试精度。
运用等精度测量原理,结合单片机技术设计了一种数字频率计,由于采用了屏蔽驱动电路及数字均值滤波等技术措施,因而能在较宽定的频率范围和幅度范围内对频率,周期,脉宽,占空比等参数进行测量,并可通过调整闸门时间预置测量精度。
选取的这种综合测量法作为数字频率计的测量算法,提出了基于FPGA 的数字频率计的设计方案。
给出了该设计方案的实际测量效果,证明该设计方案切实可行,能达到较高的频率测量精度。
关键词等精度测量,单片机,频率计,闸门时间,FPGAⅡABSTRACTAlong with is measured based on the traditional frequency measurement principle frequency meter measuring accuracy the signalling frequency the drop but to reduce, in is practical has the very big limitation, but and so on the precision frequency meter not only has teaches the high measuring accuracy, moreover maintains the constant test precision in the entire frequency measurement region. Using and so on the precision survey principle, unified the monolithic integrated circuit technical design one kind of numeral frequency meter, because has used the shield actuation electric circuit and technical measure and so on digital average value filter, thus could in compared in the frequency range and the scope scope which the width decided to the frequency, the cycle, the pulse width, occupied parameter and so on spatial ratio carries on the survey, and might through the adjustment strobe time initialization measuring accuracy. Selection this kind of synthesis measured the mensuration took the digital frequency meter the survey algorithm, proposed based on the FPGA digital frequency meter design proposal. Has produced this design proposal actual survey effect, proved this design proposal is practical and feasible, can achieve the high frequency measurement precisionKeywords Precision survey, microcontroller, frequency meter, strobe time,field programmable gate arrayⅡ目录目录摘要 (I)ABSTRACT··························································································I II1 绪论 (1)2 系统设计方案 (2)2.1系统设计方案的选择 (2)2.1.1 频率测量模块 (2)2.1.2 周期测量模块 (4)2.1.3 脉宽测量模块 (4)2.1.4 占空比测量模块 (4)3 系统总体设计方案 (5)4 CPLD/FPGA测频专用模块的VHDL程序设计 (6)4.1 测频模块逻辑结构 (6)4.2 各模块功能和工作步骤如下: (6)4.2.1 测频/测周期的实现 (7)4.2.2 控制部件设计 (7)4.2.3 脉冲宽度测量和占空比测量模块设计 (7)4.2.4 电路显示模块 (8)4.2.5 数码管的编码表 (10)5 单片机控制与运算程序的设计 (11)5.1 AT89C51RC单片机简介 (11)5.2 软件调试系统 (19)5.3具体试验过程 (20)5.3.1 第一次测试 (20)5.3.2 第二次计算 (22)5.4 系统调试的方法 (23)5.4.1 调试的软/硬件 (23)5.4.2 系统的仿真结果 (23)5.5 设计技巧分析 (25)5.6 系统扩展思路 (25)6 VHDL程序语言和FPGA简介 (26)6.1 vhdl程序语言介绍: (26)6.2 FPGA 简介 (28)6.3 VHDL 在FPGA中的运用 (29)攀枝花学院本科毕业设计(论文)目录结论 (32)附录A:单片机程序和VHDL程序 (33)参考文献 (56)致谢 (57)IV1 绪论1 绪论测量频率是电子测量技术中最常见的测量之一。
(完整版)基于FPGA的等精度频率计的设计与实现毕业论文
第一章课题研究概述1.1课题研究的目的和意义在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。
测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。
目前常用的测频方案有三种:方案一:完全按定义式F=N/T进行测量。
被测信号Fx经放大整形形成时标ГX,晶振经分频形成时基TR。
用时基TR开闸门,累计时标ГX的个数,则有公式可得Fx=1/ГX=N/TR。
此方案为传统的测频方案,其测量精度将随被测信号频率的下降而降低。
方案二:对被信号的周期进行测量,再利用F=1/T(频率=1/周期)可得频率。
测周期时,晶振FR经分频形成时标ГX,被测信号经放在整形形成时基TX控制闸门。
闸门输出的计数脉冲N=ГX/TR,则TX=NГX。
但当被测信号的周期较短时,会使精度大大下降。
方案三:等精度测频,按定义式F=N/T进行测量,但闸门时间随被测信号的频率变化而变化。
如图1所示,被测信号Fx经放大整形形成时标ГX,将时标ГX经编程处理后形成时基TR。
用时基TR开闸门,累计时标ГX的个数,则有公式可得Fx=1/ГX=N/TR。
此方案闸门时间随被测信号的频率变化而变化,其测量精度将不会随着被测信号频率的下降而降。
本次实验设计中采用的是第三种测频方案。
等精度频率计是数字电路中的一个典型应用,其总体设计方案有两种:方案一:采用数字逻辑电路制作,用IC拼凑焊接实现。
其特点是直接用现成的IC组合而成,简单方便,但由于使用的器件较多,连线复杂,体积大,功耗大,焊点和线路较多将使成品稳定度与精确度大打折扣,而且会产生比较大的延时,造成测量误差、可靠性差。
方案二:采用可编程逻辑器件(CPLD)制作。
随着现场可编程门阵列FPGA的广泛应用,以EDA工具作为开发手段,运用VHDL等硬件描述语言语言,将使整个系统大大简化,提高了系统的整体性能和可靠性。
MHz等精度频率计设计基于VerilogHDL
姓名:郑中权班级:电子1班 数电课设报告江苏科技大学2017/10/12100MHz等精度频率计设计(基于Verilog HDL)一、设计要求:提供一个幅值为10mV ~ 1 V,频率为 1 ~ 100MHz的正弦信号,需测试以下指标:1.频率:测频范围 1Hz ~ 100MHz,测频精度为测频全域内相对误差恒为百万分之一。
2.占空比:测试精度 1% ~ 99%3.相位差:测试两个同频率的信号之间的相位差,测试范围 0 ~ 360二、设计分析使用FPGA数字信号处理方法,首先需要将正弦信号转换成可读取的数字方波信号,再经过FPGA设计计算得出所需测量值。
三、模电部分首先选择比较器,对于 100 MHz 信号,比较器灵敏度需要达到5ns内,TI公司的LTV3501灵敏度为4.5ns,符合要求由TLV3501数据手册得知:当频率低于 50MHz 的时候,正弦波的峰峰值需大于20mV,频率高于50MHz时,峰峰值需大于 1V。
然后需要选择放大器,当正弦波幅值为 10mV时,放大倍数需大于35。
方法通过二级放大,一级用OPA847放大20倍,二级用OPA675放大8倍,得到总放大倍数160的正弦波。
经转换后的输出电压符合TTL电平要求,可以被识别出0和1。
四、数电部分开发板:Cyclone IV E: EP4CE6E22C8板载时钟为 50MHz,带4个按键和一个复位键(按键按下为0,抬起为1),四个七段数码管(共阳),FPGA的引脚可由杜邦线引出。
设计思路:测量频率:输入一个100MHz的基准频率,由计数器CNT1来计算基准频率的上升沿个数,即周期数。
输入一个被测信号,它由计数器CNT2来测量周期数。
两个信号在同一个使能信号EN(使能信号时间为1~2s)下开始计数,计数完后,存储计数结果,由(CNT1 * 10)可以算出具体的计数时间(单位ns),再由((CNT1 * 10ns)/CNT2 )*10^9可算得被测信号频率,单位Hz。
等精度频率计
精度频率计的设计一摘要本设计是基于MCS-51单片机的等精度频率计。
输入信号为峰峰值5v的正弦信号,频率测量范围10HZ~100MHZ ,频率测量精度为0.1%。
采用1602液晶显示器显示测量结果。
信号源由PROTEUS 的虚拟信号发生器产生。
二关键词频率计等精度单片机分频三设计原理与总体方案测量一个信号的频率有两种方法:第一种是计数法,用基准信号去测量被测信号的高电平持续的时间,然后转换成被测信号的频率。
第二种是计时法,计算在基准信号高电平期间通过的被测信号个数。
根据设计要求测量10HZ~100MHZ的正弦信号,首先要将正弦信号通过过零比较转换成方波信号,然后变成测量方波信号。
如果用第一种方法,当信号频率超过1KHZ的时候测量精度将超出测量极度要求,所以当被测信号的频率高于1KHZ的时候需要将被测信号进行分频处理。
如果被测信号频率很高需要将被测信号进行多次分频直到达到设计的精度要求。
根据设计要求用单片机的内部T0产生基准信号,由INTO输入被测信号,通过定时方式计算被测信号的高电平持续时间。
通过单片机计算得出结果,最后有1062液晶显示器显示测量结果。
等精度频率计的系统设计框架如下图1所示。
图1 等精度频率计系统设计框图四芯片以及电路介绍硬件电路主要分为信号转换电路、分频电路、数据选择电路、单片机系统和显示电路五部分。
电平转换电路:要将正弦信号转换成方波信号可以用过零比较电路实现。
正弦信号通过LM833N与零电平比较,电压大于零的时候输出LM833N的正电源+5V,电压小于零的时候输出负电源0V。
具体电路如图2所示。
图2信号转换电路分频电路:分频电路采用十进制的计数器74HC4017来分频,当被测信号脉冲个数达到10个时74HC4017产生溢出,C0端输出频率为输入频率的1/10,达到十分频的作用。
如果当频率很高是需要多次分频只需将多片74HC4017级联就可以了。
74HC4017时序图如图3所示,系统分频电路如图4所示。
100MHz等精度频率计设计(基于某VerilogHDL)
某某:X中权学号:152210303127班级:电子1班数电课设报告100MHz等精度频率计设计〔基于Verilog HDL〕一、设计要求:提供一个幅值为10mV ~ 1 V,频率为 1 ~ 100MHz的正弦信号,需测试以下指标:1.频率:测频X围 1Hz ~ 100MHz,测频精度为测频全域内相对误差恒为百万分之一。
2.占空比:测试精度 1% ~ 99%3.相位差:测试两个同频率的信号之间的相位差,测试X围 0 ~ 360 某某科技大学2017/10/12二、设计分析使用FPGA数字信号处理方法,首先需要将正弦信号转换成可读取的数字方波信号,再经过FPGA 设计计算得出所需测量值。
三、模电局部首先选择比拟器,对于 100 MHz 信号,比拟器灵敏度需要达到5ns内,TI公司的LTV3501灵敏度为4.5ns,符合要求由TLV3501数据手册得知:当频率低于 50MHz 的时候,正弦波的峰峰值需大于 20mV,频率高于50MHz时,峰峰值需大于 1V。
然后需要选择放大器,当正弦波幅值为 10mV时,放大倍数需大于35。
方法通过二级放大,一级用OPA847放大20倍,二级用OPA675放大8倍,得到总放大倍数160的正弦波。
经转换后的输出电压符合TTL电平要求,可以被识别出0和1。
四、数电局部开发板:Cyclone IV E: EP4CE6E22C8板载时钟为 50MHz,带4个按键和一个复位键〔按键按下为0,抬起为1〕,四个七段数码管〔共阳〕,FPGA的引脚可由杜邦线引出。
设计思路:测量频率:输入一个100MHz的基准频率,由计数器T1来计算基准频率的上升沿个数,即周期数。
输入一个被测信号,它由计数器T2来测量周期数。
两个信号在同一个使能信号EN〔使能信号时间为1~2s〕下开始计数,计数完后,存储计数结果,由〔T1 * 10〕可以算出具体的计数时间〔单位ns〕,再由(〔T1 * 10ns〕/T2 )*10^9可算得被测信号频率,单位Hz。
基于FPGA的等精度频率计的设计
基于FPGA的等精度频率计的设计随着科学技术的发展,频率计作为一种重要的测量仪器,在许多领域都得到了广泛的应用。
而基于FPGA的等精度频率计以其高速、高精度等特点,成为了当今科研和工程实践中的重要工具。
FPGA(Field Programmable Gate Array)是一种可编程的现场逻辑门阵列,具有高度可靠性、可编程性和高性能的特点。
在设计基于FPGA的等精度频率计时,我们可以利用FPGA的计数器、控制器和输入输出端口等资源来实现频率测量功能。
首先,我们需要设计一个数值控制计数器,用于计数输入信号的脉冲数。
这个计数器可以是一个简单的二进制计数器,也可以是一个分频器。
在设计计数器时,需要考虑输入信号的频率范围、计数器的位宽和计数器的溢出处理等问题。
通过控制计数器的计数周期,我们可以实现不同精度的频率测量。
其次,我们需要设计一个定时器,用于测量计数器计数的时间。
定时器可以利用FPGA内部的时钟资源来实现,通过控制定时器的计时周期和测量精度,我们可以得出频率计算的结果。
为了提高测量精度,我们可以使用多级定时器进行测量,并通过加权平均等方法来处理测量结果。
然后,我们需要设计一个参数配置模块,用于设置频率计的参数。
通过参数配置模块,用户可以设置计数器的位宽、定时器的计时周期和测量精度等参数,从而灵活地适应不同的测量需求。
最后,我们需要设计一个显示模块,用于显示频率计算结果。
通过显示模块,用户可以直观地了解输入信号的频率和测量精度。
显示模块可以利用FPGA内部的LED显示灯、LCD显示屏或者数码管等硬件资源来实现。
除了基本的频率计功能,我们还可以考虑一些增强功能的设计。
例如,可以添加一个触发器,用于检测输入信号的上升沿或下降沿,并通过触发器的输出信号来控制频率计的启动和停止。
此外,还可以添加一个存储器,用于记录多次测量结果,并通过数据接口将结果传输给上位机或其他设备。
总结起来,基于FPGA的等精度频率计的设计需要充分利用FPGA的计数器、控制器和输入输出端口等资源,通过设计数值控制计数器、定时器、参数配置模块和显示模块等功能模块,实现高速、高精度的频率测量。
等精度频率计
TG ,
fX
NX NS
fS
df X fX
d ln
fX
d ln
NX
d ln
NS
d ln
fS
dN X NX
dN S NS
df S fS
f X N X N S f S
fX
NX
NS
fS
上式表明频率测量的相对误差由三项组成,前面两项是量化
误差,也称为计数误差,后面一项是标准频率的误差。由于电路
dis_LCD((unsigned long int)num/100%10+0x30,0x08); dis_LCD((unsigned long int)num/10%10+0x30,0x09); //dis_LCD((unsigned long int)num%10+0x30,0x0a); print("MHz",0x0b); } else if((numb>=100000)&&(numb<1000000)) { num=num*100; dis_LCD((unsigned long int)num/10000000+0x30,0x02); dis_LCD((unsigned long int)num/1000000%10+0x30,0x03); dis_LCD((unsigned long int)num/100000%10+0x30,0x04); print(".",0x05); dis_LCD((unsigned long int)num/10000%10+0x30,0x06); dis_LCD((unsigned long int)num/1000%10+0x30,0x07); dis_LCD((unsigned long int)num/100%10+0x30,0x08); dis_LCD((unsigned long int)num/10%10+0x30,0x09); //dis_LCD((unsigned long int)num%10+0x30,0x0a); print("kHz",0x0b); } else if((numb>=10000)&&(numb<100000)) { num=num*1000; dis_LCD((unsigned long int)num/10000000+0x30,0x02); dis_LCD((unsigned long int)num/1000000%10+0x30,0x03); print(".",0x04); dis_LCD((unsigned long int)num/100000%10+0x30,0x05); dis_LCD((unsigned long int)num/10000%10+0x30,0x06); dis_LCD((unsigned long int)num/1000%10+0x30,0x07); dis_LCD((unsigned long int)num/100%10+0x30,0x08); dis_LCD((unsigned long int)num/10%10+0x30,0x09); //dis_LCD((unsigned long int)num%10+0x30,0x0a); print("kHz",0x0b); } else if((numb>=1000)&&(numb<10000)) { num=num*10000; dis_LCD((unsigned long int)num/10000000+0x30,0x02); print(".",0x03); dis_LCD((unsigned long int)num/1000000%10+0x30,0x04); dis_LCD((unsigned long int)num/100000%10+0x30,0x05); dis_LCD((unsigned long int)num/10000%10+0x30,0x06); dis_LCD((unsigned long int)num/1000%10+0x30,0x07); dis_LCD((unsigned long int)num/100%10+0x30,0x08); dis_LCD((unsigned long int)num/10%10+0x30,0x09);
等精度频率计设计
等精度频率计设计一、设计原理:测试频率的基本方法包括直接测频法和测周法。
其中直接测频法是产生一个标准宽度(例如1s)的时基信号,然后在这个信号时间范围内打开闸门对被测频率信号进行计数。
此方法的弱点之一是高精度的标准时基信号不容易获得;其二这种方法对于高频信号有保证,但对于低频信号由于计数周期有限测试精度较低。
测周法是用被测信号作为闸门信号、对标准脉冲信号进行计数,显然这种方法适合测量低频信号的频率。
等精度测频法的核心思想是用两个计数器分别对标准脉冲和被测脉冲在相同时间内进行计数,计数时间严格同步于被频脉冲。
这种方法的最大优点是测试的精度和被测信号的频率无关,因而可以做到等精度测量。
其测试原理所示:二、等精度测频误差分析:设在一次实际的闸门时间τ以内记得被测信号和标准信号的计数值分别为N x和N s,标准信号的频率为Fs,则被测信号的频率为:若被测信号的实际频率为Fxe ,则测量误差为:由于实际闸门完全同步于被测脉冲,因此t=N x T x(其中为被测信号的周期)。
而对T s的计数则最多相差1。
所以被测信号真实的频率可以表示为:由以上各式可以得到:误差与被测频率无关,因而称为等精度测频。
三、系统框图:四、系统组成:(1)FPGA测频电路:是测频的核心电路模块,由FPGA器件组成。
(2)单片机电路模块:用于控制FPGA的测频操作和读取测频数据,并做出相应处理。
(3)数码显示模块:用8个数码显示测试结果,并采用串行静态显示方法五、FPGA模块:顶层文件波形仿真六、单片机模块:七、心得:附录一:FPGA程序LIBRARY IEEE;--D_FF程序USE IEEE.STD_LOGIC_1164.ALL;ENTITY D_FF ISPORT ( CLK,D,CLR : IN STD_LOGIC;Q : OUT STD_LOGIC);END D_FF;ARCHITECTURE behav OF D_FF ISBEGINPROCESS (CLK,CLR)V ARIABLE Q1:STD_LOGIC;BEGINIF CLR='1' THEN Q1:='0';ELSIF CLK'EVENT AND CLK='1' THENQ1:=D;END IF;Q<=Q1;END PROCESS;END behav;LIBRARY IEEE;--BZH程序USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY BZH ISPORT ( BENA,BCLK,CLR : IN STD_LOGIC;BZQ : OUT STD_LOGIC_VECTOR(31 DOWNTO 0)); END BZH;ARCHITECTURE behav OF BZH ISBEGINPROCESS (BCLK,CLR,BENA)V ARIABLE BZQ1:STD_LOGIC_VECTOR(31 DOWNTO 0);BEGINIF CLR='1' THEN BZQ1:=(OTHERS =>'0');ELSIF BCLK'EVENT AND BCLK='1' THENIF BENA='1' THENBZQ1:=BZQ1+1;END IF;END IF;BZQ<=BZQ1;END PROCESS;END behav;LIBRARY IEEE;--TF 程序USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TF ISPORT ( ENA,TCLK,CLR : IN STD_LOGIC;TSQ : OUT STD_LOGIC_VECTOR(31 DOWNTO 0)); END TF;ARCHITECTURE behav OF TF ISBEGINPROCESS (TCLK,CLR,ENA)V ARIABLE TSQ1:STD_LOGIC_VECTOR(31 DOWNTO 0);BEGINIF CLR='1' THEN TSQ1:=(OTHERS =>'0');ELSIF TCLK'EVENT AND TCLK='1' THENIF ENA='1' THENTSQ1:=TSQ1+1;END IF;END IF;TSQ<=TSQ1;END PROCESS;END behav;LIBRARY IEEE;--MUX64_8 程序USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY MUX64_8 ISPORT ( SEL : IN STD_LOGIC_VECTOR(2 DOWNTO 0);BZQ : IN STD_LOGIC_VECTOR(31 DOWNTO 0);TSQ : IN STD_LOGIC_VECTOR(31 DOWNTO 0);DATA : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END MUX64_8;ARCHITECTURE behav OF MUX64_8 ISBEGINDATA <= BZQ(7 DOWNTO 0) WHEN SEL="000" ELSE BZQ(15 DOWNTO 8) WHEN SEL="001" ELSEBZQ(23 DOWNTO 16) WHEN SEL="010" ELSEBZQ(31 DOWNTO 24) WHEN SEL="011" ELSETSQ(7 DOWNTO 0) WHEN SEL="100" ELSETSQ(15 DOWNTO 8) WHEN SEL="101" ELSETSQ(23 DOWNTO 16) WHEN SEL="110" ELSETSQ(31 DOWNTO 24);END behav;附录二:单片机程序#include <reg51.h>sbit clr=P2^3;sbit cl=P2^4;sbit start=P2^5;unsigned long fx,fs=199981300,save;unsigned char code led_tab[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0x01,0x00};//LED数码管显示0123456789.共阴反向送数void delay(unsigned char z);void send(unsigned char m);void display(unsigned long n);struct p2_control{unsigned sel:3;}dat;void main(){unsigned long nx=0,ns=0,input=0;while(1){cl=0;clr=0; //初始化clr=1;delay(1);clr=0; //清零cl=1;delay(2000);cl=0; //产生闸门信号clif (start!=0){for(dat.sel=0;dat.sel<8;dat.sel++){P2=dat.sel;delay(1);input=P0;switch(dat.sel){case 0 : ns=ns+input;break;case 1 : ns=ns+(input<<8);break;case 2 : ns=ns+(input<<16);break;case 3 : ns=ns+(input<<24);break;case 4 : nx=nx+(input);break;case 5 : nx=nx+(input<<8);break;case 6 : nx=nx+(input<<16);break;case 7 : nx=nx+(input<<24);break;}}}fx=(nx/ns)*fs;// while(fx==save);// save=fx;display(fx);}}void delay(unsigned char z) //1ms延迟{unsigned int x,y;for(x=z;x>0;x--)for(y=124;y>0;y--);}void display(unsigned long n) //显示,单位为Hz {int c;for(c=0;c<8;c++) //去余辉{send(11);}send(n/10000000);n=n%10000000;send(n/1000000); n=n%1000000;send(n/100000); n=n%100000;send(n/10000); n=n%10000;send(n/1000); n=n%1000;send(n/100); n=n%100;send(n/10); n=n%10;send(n);}void send(unsigned char m) //发送位数{TI=0;SBUF=led_tab[m];while(TI==0);delay(1);}。
等精度频率计课程设计
等精度频率计课程设计一、课程目标知识目标:1. 学生能理解等精度频率计的基本原理,掌握频率、周期及其相互关系。
2. 学生能够运用已学过的电子元件知识,识别并说明等精度频率计中的关键电子元件及其作用。
3. 学生能够掌握等精度频率计的测量步骤和方法,并进行简单的数据处理。
技能目标:1. 学生能够通过小组合作,动手搭建简单的等精度频率计电路。
2. 学生能够运用等精度频率计进行实验测量,准确读取并记录数据。
3. 学生能够通过实验数据分析,解决实际问题,提升解决问题的能力。
情感态度价值观目标:1. 学生通过等精度频率计的学习,培养对物理科学的兴趣,提高探究精神和创新意识。
2. 学生在小组合作中,学会相互尊重、沟通协作,培养团队合作精神。
3. 学生通过实验认识到精确测量在实际应用中的重要性,培养严谨的科学态度和良好的实验习惯。
课程性质:本课程为电子技术及应用学科的教学内容,结合学生年级特点,注重理论知识与实践操作的相结合。
学生特点:学生处于高中阶段,具有一定的物理知识和电子元件基础,对实验操作感兴趣,但需进一步引导和培养实验技能。
教学要求:教师应注重理论与实践相结合,引导学生通过小组合作、实验探究等形式,提高学生的实践能力和创新能力。
在教学过程中,关注学生的个体差异,鼓励学生积极参与,使每位学生都能在课程中取得实际的学习成果。
通过课程目标的实现,为后续相关课程的学习打下坚实基础。
二、教学内容本课程教学内容主要围绕等精度频率计的原理、电路搭建、测量方法及数据处理等方面展开。
1. 理论知识:- 频率、周期概念及其关系- 等精度频率计的工作原理- 关键电子元件(如晶体振荡器、计数器、时钟等)的作用2. 实践操作:- 搭建等精度频率计电路- 实验操作步骤及注意事项- 数据的采集、处理与分析3. 教学大纲:- 第一章:等精度频率计基本原理1.1 频率与周期的关系1.2 等精度频率计的工作原理- 第二章:关键电子元件2.1 晶体振荡器的特性与应用2.2 计数器与时钟的作用- 第三章:实验操作与数据处理3.1 电路搭建与调试3.2 实验步骤与注意事项3.3 数据采集、处理与分析4. 教学进度安排:- 理论知识学习:2课时- 实践操作与实验:4课时- 数据处理与分析:2课时教学内容根据课程目标进行科学组织和系统安排,确保学生能够循序渐进地掌握等精度频率计的相关知识。
等精度频率计的设计
1.软件条件Microsoft windows XPMAX+plusⅡ10.02.软件简介MAX+plusⅡ简介:MAX+plus2(Multiple array matrix and programmable logic user system)是一个完全集成化、易学易用的可编程逻辑设计环境,它可以在多种平台上运行,其图形界面丰富,加上完整的、可即时访问的在线文档,使设计人员可以轻松地掌握软件的使用。
MAX+plus2开发系统有很多特点:(1)界面开放MAX+plus2是Altera 公司的EDA软件,但它可以与其它工业标准的设计输入、综合与校验工具相连接,设计人员可以使用Altera或标准EDA工具设计输入工具来建立逻辑设计,用MAX+plus2 编译器(Compiler)对Altera器件设计进行编译,并使用Altera或其它EDA校验工具进行器件或板级仿真。
目前,MAX+plus2支持与Candence、Exemplarlogic、Metor Graphics、Synopsys、Synplicity、Viewlogic 等公司所提供的EDA 工具接口。
(2)与结构无关MAX+plus2系统的核心Compiler 支持Altera公司的FLEX10K、FLEX8000、FLEX6000、MAX9000、MAX7000、MAX5000 和Classic 可遍程逻辑器件系列,提供了与结构无关的可编程逻辑环境。
MAX+plus2的编译器还提供了强大的逻辑综合与优化功能,使用户可以容易地把设计集成到器件中。
(3)丰富的设计库MAX+plus2 提供丰富的库单元供设计者调用,其中包括74 系列的全部器件和其它多种逻辑功能部件,调用库元件进行设计,可以大大减轻设计人员的工作量,缩短设计周期。
(4)模块化工具设计人员可以从各种设计输入、处理和校验选项中进行选择,从而使MAX+plus2可以满足不同用户的需求,根据需要,还可以添加新功能。
基于FPGA的等精度频率计的设计
基于FPGA的等精度频率计的设计一、引言频率计是一种广泛应用于电子领域的仪器设备,用于测量信号的频率。
常见的频率计有软件频率计和硬件频率计两种。
软件频率计主要基于计算机软件,通过采集到的信号数据来计算频率。
硬件频率计则是基于专用的硬件电路,直接对信号进行采样和处理,具有实时性强、准确度高的优点。
本文将基于FPGA设计一种等精度频率计,旨在实现高精度、高稳定性的频率测量。
二、设计原理本设计采用基于FPGA的硬件频率计方案,其主要原理是通过对输入信号的时间计数,并结合固定参考值,计算出信号的频率。
具体流程如下:1.信号输入:将待测量的信号输入至FPGA芯片,输入信号的幅度应符合输入电平范围。
2.信号计数:利用FPGA芯片内部的计数器,对输入信号进行计数,并记录计数器的数值。
计数器的值与输入信号的频率成反比,即计数器值越大,信号频率越低。
3.定时器触发:通过定时器产生一个固定的参考信号,用于触发计数器的复位操作。
定时器的频率应足够高,以保证计数器能够实时精确计数。
4.数据处理:计数器值与定时器触发的时间周期共同决定了输入信号的频率。
通过计算参考值与计数器值的比例,可以得到准确的频率值。
5.结果输出:将计算得到的频率值输出至显示屏或其他外部设备,以便用户进行查看。
三、设计方案1.FPGA选型:选择一款适合频率计设计的FPGA芯片,要求其具有较高的计数能力、较大的存储空间和丰富的外设接口。
2.输入电路设计:设计一个合适的输入电路,将待测信号进行电平调整和滤波处理,以确保输入信号的稳定性和合适的幅度范围。
3.计数器设计:利用FPGA内部的计数器模块,进行计数操作。
根据需要选择适当的计数器位宽,以满足待测频率范围的要求。
4.定时器设计:通过FPGA内部的时钟源和计时器模块,设计一个精确的定时器,用于触发计数器的复位操作。
定时器的频率要足够高,以保证计数的准确性。
5.数据处理设计:利用FPGA内部的算数逻辑单元(ALU)对计数器值进行处理,计算得到准确的频率值。
「基于单片机的等精度频率计设计」
「基于单片机的等精度频率计设计」频率计是一种能够测量信号频率的仪器,广泛应用于电子测量、通信、自动化控制等领域。
本文将介绍一种基于单片机的等精度频率计的设计。
首先,我们需要了解什么是频率计。
频率指的是在单位时间内所发生的周期性事件的次数,通常用赫兹(Hz)来表示。
频率计的作用就是测量信号的频率,并将其显示出来。
对于常见的数字信号,频率计可以通过测量信号的周期来计算频率,或者直接通过测量信号的脉冲宽度来计算频率。
基于单片机的等精度频率计设计,可以使用一种称为计数器的集成电路来实现。
计数器是一种能够实现计数功能的电子元件,可以根据输入信号的边沿触发来进行计数。
在本设计中,我们将使用单片机的GPIO口作为输入信号,通过对GPIO口状态的检测来实现计数。
设计步骤如下:1.选择单片机型号:根据实际需求选择一款适合的单片机,可以考虑因素包括计算能力、I/O口数量等。
2.电路设计:将输入信号接到单片机的GPIO口,并添加适当的电阻与电容进行滤波,以确保输入信号的稳定性和可靠性。
3.软件设计:编写单片机的程序代码,实现对GPIO口状态的检测和计数功能。
可以使用中断来响应GPIO状态变化,并在中断服务程序中进行计数。
4.频率计算:根据计数器的数值和计数的时间间隔,可以计算出频率。
频率的计算公式为:频率=计数器数值/计数时间间隔5.显示输出:设计一个合适的显示界面,将测得的频率显示出来。
可以通过七段数码管、液晶显示屏或者串口输出等方式来实现。
6.精度优化:根据实际需求,可以进一步进行精度优化。
例如,可以使用定时器来精确测量计数时间间隔,或者使用滤波算法对输入信号进行额外处理。
总之,基于单片机的等精度频率计设计可以通过选择合适的单片机、设计适当的电路以及编写合理的软件程序来实现。
通过该设计,我们可以轻松地测量各种信号的频率,并将结果准确地显示出来,为电子测量、通信、自动化控制等领域提供了便利和支持。
等精度频率计的设计
等精度频率计的设计一、实验原理基于传统测频原理的频率计的测量精度将随被测信号频率的下降而降低,即测量精度随被测信号的频率的变化而变化,在实用中有较大局限性,而等精度频率计不但具有较高的测量精度,且在整个频率区域能保持恒定的测试精度。
设计项目可达到的指标如下:频率测试功能:测频范围0.1Hz~100Hz。
测频精度:测频全域相对误差恒为百万分之一。
脉宽测试功能:测试范围:0.1us~1s,测试精度1%~99%。
占空比测试功能:测试(显示)精度1%~99%。
相位测试功能:测试范围0~360度,测试精度0.2度。
主系统组成等精度频率计的主系统由六个部分组成:信号整形电路。
用于对待测信号进行放大和整形,以便作为PLD器件的输入信号。
测频电路。
是测频的核心模块,可以由FPGA器件担任。
100MHz的标准频率信号源(可通过PLL倍频所得)进入FPGA.。
单片机电路模块。
用于控制FPGA的测频操作和读取测频数据,并作出相应数据处理。
安排单片机的P0口读取测试数据,P2口向FPGA发控制命令。
键盘模块。
可以用5个键执行测试控制,一个是复位键,其余是命令键。
数码显示模块。
可以用7个数码管显示测试结果,最高可表示百万分之一的精度。
考虑到提高单片机IO口的利用率,降低编程复杂性,提高单片机的计算速度以及降低数码显示器对主系统的干扰,可以采用串行静态显示或液晶显示方式。
主系统组成测频原理等精度测频原理为:“预置门控信号”CL由单片机发出,可以证明,在1秒至0.1秒间的选择范围内,CL的时间宽度对测频精度几乎没有影响,在此设其T。
BZH和TF模块是两个可控的32位高速计数器,BENA和ENA分别是宽度为p它们的计算允许信号端,高电平有效。
标准频率信号从BZH 的时钟输入端BCLK 输入,设其频率为s F ;经整形后的被测信号从与BZH 相似的32位计数器TF 的时钟输入端TCLK 输入,设其真实频率值为xe F ,被测频率为x F 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
等精度频率计的设计摘要:伴随着集成电路(IC)技术的发展,电子设计自动化(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域。
电子设计自动化是一种实现电系统或电子产品自动化设计的技术,它与电子技术、微电子技术的发展密切相关,它吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,促进了工程发展。
数字频率计是一种基本的测量仪器。
它被广泛应用与航天、电子、测控等领域。
采用等精度频率测量方法具有测量精度保持恒定,不随所测信号的变化而变化的特点。
本文首先综述了EDA技术的发展概况,FPGA/CPLD开发的涵义、优缺点,VHDL语言的历史及其优点,概述了EDA软件平台QUARTUSⅡ;然后介绍了频率测量的一般原理,利用等精度测量原理,通过FPGA运用VHDL 编程,利用FPGA(现场可编程门阵列)芯片设计了一个8位数字式等精度频率计,该频率计的测量范围为0-100MHZ,利用QUARTUS Ⅱ集成开发环境进行编辑、综合、波形仿真,并下载到CPLD器件中,经实际电路测试,仿真和实验结果表明,该频率计有较高的实用性和可靠性。
关键词:电子设计自动化;VHDL语言;频率测量;数字频率计1. 前言21世纪人类将全面进入信息化社会,对微电子信息技术和微电子VLSI基础技术将不断提出更高的发展要求,微电子技术仍将继续是21世纪若干年代中最为重要的和最有活力的高科技领域之一。
而集成电路(IC)技术在微电子领域占有重要的地位。
伴随着IC技术的发展,电子设计自动化(Electronic Design Automation, EDA)己经逐渐成为重要设计手段,其广泛应用于模拟与数字电路系统等许多领域。
EDA是指以计算机大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关开发软件,自动完成用软件方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术[1]。
VHDL(超高速集成电路硬件描述语言)是由美国国防部开发的一种快速设计电路的工具,目前已经成为IEEE(The Institute of Electrical and Electronics Engineers)的一种工业标准硬件描述语言。
相比传统的电路系统的设计方法,VHDL具有多层次描述系统硬件功能的能力,支持自顶向下(Top_Down)和基于库(LibraryBased)的设计的特点,因此设计者可以不必了解硬件结构。
从系统设计入手,在顶层进行系统方框图的划分和结构设计,在方框图一级用VHDL对电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的CPLD器件中去,从而实现可编程的专用集成电路(ASIC)的设计。
数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差,可靠性差。
随着复杂可编程逻辑器件(CPLD)的广泛应用,以EDA工具作为开发手段,运用VHDL语言。
将使整个系统大大简化。
提高整体的性能和可靠性。
数字频率计是通信设备、音、视频等科研生产领域不可缺少的测量仪器。
采用VHDL编程设计实现的数字频率计,除被测信号的整形部分、键输入部分和数码显示部分外,其余全部在一片FPGA 芯片上实现。
整个系统非常精简,且具有灵活的现场可更改性。
本文用VHDL在CPLD器件上实现一种8 位数字频率计测频系统,能够用十进制数码显示被测信号的频率,不仅能够测量正弦波、方波和三角波等信号的频率,而且能对其他多种频率信号进行测量。
具有体积小、可靠性高、功耗低的特点。
1 电子设计自动化(EDA)发展概述1.1什么是电子设计自动化(EDA )在电子设计技术领域,可编程逻辑器件(如PLD, GAL)的应用,已有了很好的普及。
这些器件为数字系统的设计带来极大的灵活性。
由于这类器件可以通过软件编程而对其硬件的结构和工作方式进行重构,使得硬件的设计可以如同软件设计那样方便快捷。
这一切极大地改变了传统的数字系统设计方法、设计过程、乃至设计观念。
纵观可编程逻辑器件的发展史,它在结构原理、集成规模、下载方式、逻辑设计手段等方面的每一次进步都为现代电子设计技术的革命与发展提供了不可或缺的强大动力。
随着可编程逻辑器件集成规模不断扩大,自身功能的不断完善和计算机辅助设计技术的提高,在现代电子系统设计领域中的EDA便应运而生了。
电子设计自动化(EDA)是一种实现电子系统或电子产品自动化设计的技术,它与电子技术、微电子技术的发展密切相关,吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,是20世纪90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CA T(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。
EDA技术就是以计算机为工具,在EDA软件平台上,根据硬件描述语言HDL完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局线、仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
设计者的工作仅限于利用软件的方式来完成对系统硬件功能的描述,在EDA工具的帮助下和应用相应的FPGA/CPLD器件,就可以得到最后的设计结果。
尽管目标系统是硬件,但整个设计和修改过程如同完成软件设计一样方便和高效。
当然,这里的所谓EDA主要是指数字系统的自动化设计,因为这一领域的软硬件方面的技术已比较成熟,应用的普及程度也比较大。
而仿真电子系统的EDA正在进入实用,其初期的EDA工具不一定需要硬件描述语言。
此外,从应用的广度和深度来说,由于电子信息领域的全面数字化,基于EDA的数字系统的设计技术具有更大的应用市场和更紧迫的需求性。
1.2 EDA的发展历史EDA技术的发展始于70年代,至今经历了三个阶段。
电子线路的CAD(计算机辅助计)是EDA 发展的初级阶段,是高级EDA系统的重要组成部分。
它利用计算机的图形编辑、分析和存储等能力,协助工程师设计电子系统的电路图、印制电路板和集成电路板图;采用二维图形编辑与分析,主要解决电子线路设计后期的大量重复性工作,可以减少设计人员的繁琐重复劳动,但自动化程度低,需要人工干预整个设计过程。
这类专用软件大多以微机为工作平台,易于学用,设计中小规模电子系统可靠有效,现仍有很多这类专用软件被广泛应用于工程设计。
80年代初期,EDA技术开始设计过程的分析,推出了以仿真(逻辑模拟、定时分析和故障仿真)和自动布局与布线为核心的EDA产品,这一阶段的EDA已把三维图形技术、窗口技术、计算机操作系统、网络数据交换、数据库与进程管理等一系列计算机学科的最新成果引入电子设计,形成了CAE—计算机辅助工程。
也就是所谓的EDA技术中级阶段。
其主要特征是具备了自动布局布线和电路的计算机仿真、分析和验证功能。
其作用已不仅仅是辅助设计,而且可以代替人进行某种思维。
CAE这种以原理图为基础的EDA系统,虽然直观,且易于理解,但对复杂的电子设计很难达到要求,也不宜于设计的优化。
所以,90年代出现了以自动综合器和硬件描述语言为基础,全面支持电子设计自动化的ESDA(电子系统设计自动化),即高级EDA阶段、也就是目前常说的EDA。
过去传统的电子系统电子产品的设计方法是采用自底而上(Bottom_Up)的程序,设计者先对系统结构分块,直接进行电路级的设计。
这种设计方式使设计者不能预测下一阶段的问题,而且每一阶段是否存在问题,往往在系统整机调试时才确定,也很难通过局部电路的调整使整个系统达到既定的功能和指针,不能保证设计一举成功。
EDA技术高级阶段采用一种新的设计概念:自顶而下(Top_Down)的设计程序和并行工程(Concurrent engineering )的设计方法,设计者的精力主要集中在所要电子产品的准确定义上,EDA系统去完成电子产品的系统级至物理级的设计。
此阶段EDA技术的主要特征是支持高级语言对系统进行描述,高层次综合(High Level Synthesis )理论得到了巨大的发展,可进行系统级的仿真和综合。
图1.1给出了上述三个阶段的示意图。
图1.1 EDA发展阶段示意图1.3 基于EDA的FPGA/ CPLD开发我国的电子设计技术发展到今天,将面临一次更大意义的突破,即FPGA/CPLD ( Field Programmable Gate Array,现场可编程门阵列/Complex Programmable Logic Device,复杂可编程逻辑器件)在EDA基础上的广泛应用。
从某种意义上说,新的电子系统运转的物理机制又将回到原来的纯数字电路结构,但却是一种更高层次的循环,它在更高层次上容纳了过去数字技术的优秀部分,对(Micro Chip Unit ) MCU系统是一种扬弃,在电子设计的技术操作和系统构成的整体上发生了质的飞跃。
如果说MCU在逻辑的实现上是无限的话,那么FPGA/CPLD不但包括了MCU这一特点,而且可以触及硅片电路线度的物理极限,并兼有串、并行工作方式,高速、高可靠性以及宽口径适用性等诸多方面的特点。
不但如此,随着EDA技术的发展和FPGA/CPLD在深亚微米领域的进军,它们与MCU, MPU, DSP, A/D, D/A, RAM和ROM等独立器件间的物理与功能界限已日趋模糊。
特别是软/硬IP芯核(知识产权芯核;Intelligence Property Core,一种已注册产权的电路设计)产业的迅猛发展,嵌入式通用及标准FPGA器件的呼之欲出,片上系统(SOC)已经近在咫尺。
FPGA/CPLD以其不可替代的地位及伴随而来的极具知识经济特征的IP芯核产业的崛起,正越来越受到业内人士的密切关注。
1.3.1FPGA/CPLD简介FPGA和CPLD都是高密度现场可编程逻辑芯片,都能够将大量的逻辑功能集成于一个单片集成电路中,其集成度已发展到现在的几百万门。
复杂可编程逻辑器件CPLD是由PAL ( Programmable Array Logic,可编程数组逻辑)或GAL ( Generic Array Logic,通用数组逻辑)发展而来的。
它采用全局金属互连导线,因而具有较大的延时可预测性,易于控制时序逻辑;但功耗比较大。
现场可编程门阵列(FPGA)是由掩膜可编程门阵列(MPGA)和可编程逻辑器件二者演变而来的,并将它们的特性结合在一起,因此FPGA既有门阵列的高逻辑密度和通用性,又有可编程逻辑器件的用户可编程特性。
FPGA通常由布线资源分隔的可编程逻辑单元(或宏单元)构成数组,又由可编程I/O单元围绕数组构成整个芯片。