FPGA和单片机多功能等精度频率计设计方案_第1页
FPGA和单片机多功能等精度频率计设计方案_第2页
免费预览已结束,剩余19页可下载查看

下载本文档

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

文档简介

1、 作者: PanHongliang 封面 仅供个人学习 基于 FPGA 和单片机的多功能等精度频率计设计 摘要 基于传统测频原理的频率计的测量精度将随着被测信号频率的下降而 降低,在实用中有很大的局限性,而等精度频率计不但有较高的测量 精度,而且在整个测频区域内保持恒定的测试精度。运用等精度测量 原理,结合单片机技术设计了一种数字频率计,由于采用了屏蔽驱动 电路及数字均值滤波等技术措施,因而能在较宽定的频率范围和幅度 范围内对频率,周期,脉宽,占空比等参数进行测量,并可通过调整 闸门时间预置测量精度。选取的这种综合测量法作为数字频率计的测 量算法,提出了基于 FPGA 的数字频率计的设计方案。

2、给出了该设计 方案的实际测量效果,证明该设计方案切实可行,能达到较高的频率 测量精度。 关键词等精度测量,单片机,频率计,闸门时间, FPGA ABSTRACT Along 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

3、 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 numera

4、l 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

5、 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. H

6、as produced this design proposal actual survey effect, proved this design proposal is practical and feasible, can achieve the high frequency measurement precision Keywords Precision survey, microcontroller, frequency meter, strobe time, field programmable gate array 1 绪论 测量频率是电子测量技术中最常见的测量之一。不少物理量的测

7、量 , 如时 间、速度等都涉及到或本身可转化为频率的测量。目前 , 市场上有各种多功能、 高精度、高频率的数字频率计 , 但价格不菲。而在实际工程中 , 并不是对所有信 号的频率测量都要求达到非常高的精度。 目前, 有三种常用的数字频率的测量方法 : 直接测量法 (以下称 M 法) 、周 期测量法(以下称 T 法)和综合测量法(以下称 M /T 法)。M 法是在给定的闸门 时间内测量被测信号的脉冲个数 , 进行换算得出被测信号的频率。 T 法是通过测 量被测信号一个周期时间计时信号的脉冲个数 , 然后换算出被测信号的频率。这 两种测量法的精度都与被测信号有关 , 因而它们属于非等精度测量法。而

8、 M /T 法它通过测量被测信号数个周期的时间 , 然后换算得出被测信号的频率 , 克服了 测量精度对被测信号的依赖性。 M /T 法的核心思想是通过闸门信号与被测信号 同步,将闸门时间T控制为被测信号周期长度的整数倍。测量时 ,先打开预置闸 门, 当检测到被测信号脉冲沿到达时 , 标准信号时钟开始计数。预置闸门关闭时 标准信号并不立即停止计数 , 而是等检测到被测信号脉冲沿到达时才停止 , 完成 被测信号整数周期的测量。测量的实际闸门时间与预置闸门时间可能不完全相同 但最大差值不超过被测信号的一个周期。2 系统设计方案 2.1 系统设计方案的选择 根据频率计的设计要求,我们可将整个电路系统划

9、分为几个模块,频率测量 模块,周期测量模块,脉宽测量模块,和占空比测量模块。标准频率发生电路采 用高频率稳定度和高精度的晶镇作为标准频率发生器。 如图所示。 各模块的实现 均有几种不同的设计方案。 图 2.1 频率计组成模块框图 2.1.1 频率测量模块 直接测频法:把被测频率信号经脉冲整形电路处理后加到闸门的一个出入 端,只有在闸门开通时间 T (以秒计)内,被计数的脉冲送到十进制计数器进行 计数;设计数器的值为 N,则可得到被测信号频率为 f=N/T,经分析,本测量在 低频率的相对测量误差较大,即在低频段不能满足本设计的要求。 组合测频法:这种方法可以在一定程度上弥补方法( 1)中的不足,

10、但是 难以确定最佳分测点,且电路实现较复杂。 倍频法:是指把频率测量范围分成多个频段,使用倍频技术,根据频段设 置倍频系数,将经整形的低频信号进行倍频后在进行测量,对高频段则直接进行 测量。倍频法较难实现。 等精度测频法:其实现方式可用图 2.2 来说明。图中,预置门控信号是宽 度为TPR 的一个脉冲,CNT1 和 CNT2 是两个可控计数器。标准频率信号从 CNT1 的时钟输出端 CLK 输入,其频率为 fs,经整形后的被测信号从 CNT2 的时钟输入 端 CLK 输入,设其实际频率为 fx ;当预置门控信号为高时,经整形后的被测信 号的上升沿通过 D 触发器的 Q 端同时启动计数器 CNT

11、1 和 CNT2 CNT1 和 CNT2 分 别对被测信号(频率为 fs )和标准频率信号(频率为 fx )同时计数。当预置门 信号为低时,随后而至的被测信号的上升沿将两个计数器同时关闭。设在一次预 置门时间 Tpr 内对被测信号的计数值为 Nx,对标准信号的计数值为 Ns 则下式 成立: fx/Nx=fs/Ns 由此推得: fx=fs*Nx/Ns 图22等精度测频法原理框图 若所测频率值为 fx,其真实值为 fxe,标准频率为 fs,一次测量中,由于 fx 计数的起停时间都是该信号的上跳沿触发的,因此在 Tpr 时间内对 fx 的计数 Nx 无误差,在此时间内的计数 Ns 最多相差一个脉冲,

12、即 fx/Nx=fs/Ns,则下式 成立:fxe /Nx=fs/Ns+ et 可分别推得 fx=fs*Nx/Ns fxe =fs*Nx/Ns+ et 根据相对误差的公式有: fxe/fxe=fxe -fx/fxe 经整理可得到: fxe/fxe= et/Ns 因厶 et 1,故厶 fxe/fxe 1/Ns Ns=Tpr*fs 根据以上分析,我们可知等精度测频法具有三个特点: 1,相对测量误差与 被测频率的高低无关;2,增大 Tpr 或 fs 可以增大 Ns,减少测量误差,提高测 量精度;3,测量精度与预置门宽度和标准频率有关,与被测信号的频率无关, 在预置门和常规测频闸门时间相同而被测信号频率

13、不同的情况下,等精度测量法 的测量精度不变; 经过综合考虑,结合设计需求,选用第种方案,即用等精度测频法来 实现本设计频率测量。 2.1.2 周期测量模块 直接周期测量法:用被测信号经放大整形后形成的方波信号直接控制计数 门控电路,使主门开放时间等于信号周期 Tx,时标为 Ts的脉冲在主门开放时间 进入计数器。设在 Tx 期间计数值为 N,可以根据以下公式来算得被测信号周 期: Tx=N*Ts 经误差分析,可得结论:用该测量法测量时,被测信号的频率越 高,测量误差越大。 等精度周期测量法:该方法在测量电路和测量精度上与等精度测量完 全相同,只是在进行计算时公式不同,在周期 1/T 代换频率 f

14、 即可,其计算 公式为 Tx=Ts*Ns/Nx从降低电路的复杂度及提高精度(特别是高频)上考虑,本 设计拟采用方法测量被测信号的周期。 2.1.3 脉宽测量模块 在进行脉冲宽度测量时,首先经信号处理电路进行处理,限制只有信号的 50%幅度及其以上部分才能输入数字测量部分。脉冲边沿被处理得非常陡峭,然 后送入测量计数器进行测量。 测量电路在检测到脉冲信号的上升沿时打开计数器,在下降沿是关闭计数器,设脉冲宽 度为 Twx ,计算公式为: Twx=Nx/fs 。 3 系统总体设计方案 等精度数字频率计涉及到的计算包括加,减,乘,除,耗用的资源比较大, 用一般中小规模 CPLD/FPGA5 片难以实现

15、。因此,我们选择单片机和 CPLD/FPGA 的结合来实现。电路系统原理框图如图所示,其中单片机完成整个测量电路的测 试控制,数据处理和显示输出; CPLD/FPGA 完成各种测试功能;键盘信号由 AT89C51 单片机进行处理,它从 CPLD/FPGA 读回计数数据并进行运算,向显示电 路输出测量结果;显示器电路采用七段 LED 动态显示,由 8 个芯片 74LS164 分别 驱动数码管。 系统的基本工作方式如下: P0 是单片机与 FPGA 勺数据传送通信口, P1 口用于键盘扫描,实现各测试 功能的转换;P2 口为双向控制口。 P3 口为 LED 的串行显示控制口;系统设置 5 个功能键

16、:占空比,脉宽,周期,频率,和复位。 7 个 LED 数码管组成测量数据显示器,另一个独立的数码管用于状态显 示。 BCLK 为测频标准频率为 50MHz 信号输入端,由晶体震荡源电路提供。 待测信号经放大整形后输入 CPLD/FPGA 勺 TCL 4 CPLD/FPGA 测频专用模块的 VHDL 程序设计 4.1 测频模块逻辑结构 利用 VHDL 程序设计的测频模块逻辑结构如图所示, 其中有关的接口信号规 定如下: TP( P2.7): TF=0 时等精度测频;TF=1 时测脉宽; CLR/TRIG(P2.6):当 TF=0 时系统全清零功能;当 TF=1 时 CLRTRIG 的 上跳沿将启

17、动 CNT2,进行脉宽测试计数; ENDD (P2.4):脉宽计数结束状态信号,ENDD=数结束; CHOICE( P3.2):自校 / 测频选择,CHOICE=1 测频;CHOICE=(自校; START(P2.5):当 TF=0 时,作为预置门闸,门宽可通过键盘由单片机 控制,START=1 时预置门开;当 TF=1 时,START 有第二功能,此时,当 START=0 时测负脉宽,当 START=1 时测正脉宽。利用此功能可分别获得脉宽和占空比数 据。 EEDN( P2.3):等精度测频计数结束状态信号,EEND=0 寸计数结束。 SELP2.2 (P2.2,P2.1,P2.0):计数值

18、读出选通控制;当 SEL2.0= “000”,“ 001”,“010” . “111 ”时,将 CNT1 CNT2 的计数值分 8 次,每 次读出 8 位,并传达到单片机的 P0 口。 图 4.1 测频模块逻辑图 4.2 各模块功能和工作步骤如下: 4.2.1 测频/测周期的实现 被测信号脉冲从 CONTR 模块的 FIN 端输入,标准频率信号从 CONTRL 勺 FSD 端输入,CONTRL 勺 CLR 是此模块电路的工作初始化信号输入端。在进行频率或 周期测量时,其工作步骤如下: 令 TF=0,选择等精度测频,然后再 CONTR 的 CLR 端加一正脉冲信号以完 成测试电路状态的初始化。

19、由预置门控信号将 CONTR 的 START 端置高电平,预置门开始定时,此时 由被测信号的上沿打开计数器 CNT1 进行计数,同时使标准频率信号进入计数器 CNT2。 预置门定时结束信号把 CONTRL 勺 START 端置为低电平(由单片机来完 成),在被测信号的下一次脉冲的上沿到来时, CNT1 停止计数,同时关断 CNT2 对 FS 的计数。 计数结束后,CONTR 的 EEND 端将输出低电平来指示测量计数结束,单片 机得到此信号后,即可利用 ADRC( P2.2),ADRB( P2.1),ADRA( P2.0)分别 读回 CNT1 和 CNT2 的计数值,并根据精度测量公式进行运算

20、,计算出被测信号 的频率或周期值。 4.2.2 控制部件设计 女口图所示,当 D 触发器的输入端 START 为高电平时,若 FIN 端来一个上升 沿,贝 U Q 端变为高电平,导通 FIN-CLK1 和 FSD-CLK2 同时 EEND 被置为高电平 作为标志; 当 D 触发器的输入端 START 为低电平时, 若 FIN 端输入一个脉冲上 沿, 则 FIN-CLK1与 FSD-CLK2 勺信号通道被切断。 图 4.2 测频与测周期控制部分电路 计数部件设计 图中的计数器 CNT1/CNT 是 32 位二进制计数器,通过 DSEL 模块的控制,单 片机可分 4 次将其 32 位数据全部读数。

21、 4.2.3 脉冲宽度测量和占空比测量模块设计 根据上述脉宽测量原理,设计如图(CONTRL 所示的电路原理示意图。该信 号的上沿和下沿信号对应于未经处理时的被测信号 50%幅度时的上沿和下沿 .被 测信号从FIN端输入,CLR为初始化信号vSTART为工作使能信号.CONTRL2莫块的 PUL端与 GATE 的输入端 PUL 连接. 图 4.3 脉冲宽度测量原理图 测量脉冲宽度的工作步骤如下 : 向 CONTR 的 CLR 端送一个脉冲以便进行电路的工作状态初始化. 将 GATE的 CNL端置高电平,表示开始脉冲宽度测量,这时 CNT2的输入信号为 FSD. 在被测脉冲的上沿到来时,CONT

22、RL2的 PUL端输出高电平,标准频率信号进入 计数器 CNT2. 在被测脉冲的下沿到来时,CONTRL2 勺 PUL 端输出低电平,计数器 CNT2 被关断. 由单片机读出计数器 CNT2 的结果,并通过上述测量原理公式计算出脉冲宽度. CONTRL 子模块的主要特点是:电路的设计保证了只有 CONTRL 被初始化后才能 工作,否则PUL输出始终为零.只有在先检测到上沿后 PUL才为高电平,然后在检 测到下沿时,PUL 输出为低电平:ENDD 俞出高电平以便通知单片机测量计数已经结 束:如果先检测到下沿,PUL 并无变化。在检测到上沿并紧接一个下沿后,CONTRL2 不再发生变化直到下一个初

23、始化信号到来 占空比的测量方法是通过测量脉冲宽 度记录 CNT2 的计数值 N1,然后将输入信号反相,再测量脉冲宽度,没得 CNT2 计数 值 N2 则可以计算出:占空比=N1/ (N1+N2 *100% 4.2.4 电路显示模块 系统硬件电路中, 单片机 MCU 与 FPGA 进行数据交换占用了 P0 口、 P1 口和 P3 口,因此数据显示电路的设计采用静态显示的方式,显示电路由 8 个共阳极 七段数码管和 8片 1 位串入 8 位并出的 74LS164 芯片组成。 图 4.4 显示电路图 这种显示方式不仅占用单片机端口少,而且充分利用了单片机的资源,容易 掌握其编码规律,简化了软件编程,

24、在实验过程中,也体现出较高的可靠性。数 据显示电路如图 4.4 所示。 74LS164 是一种 8 位高速串入/并出的移位寄存器,随着时钟信号的高低变 化,串行数据通过一个 2 输入与门同步的送入,使用独立于时钟的主控复位端让 寄存器的输出端变为低电平,并且采用肖特基钳位电路以达到高速运行的目的。 并且还具有以下的特点:典型的 35MH 羽位频率;异步主控复位;门控串 行输入;同步数据传输;采用钳位二极管限制高速的终端;静电放电值大 于 3500V。 在本系统中,74LS164 的连接方式为:74LS164 的输出 QLQ7 分别接 LED 数 码管的 dp、g、f、e、d、c、b、a,并且

25、Q7 连接下一个 74LS164 的 A, B 端,时 钟 CLK 连接单片机的 TXD 端,第一片芯片的 AB 端连接单片机的 RXD 端, 74LS164 芯片的主控复位端接咼电平 VCC 在这种状态下,数码管的编码如下表所示。 4.2.5 数码管的编码表 显示数码 段 码 显示数码 段 码 0 OcOh 8 80h 1 0f9h 9 90h 2 0a4h A 88h 3 0b0h B 83h 4 99h C 0c6h 5 92h D 0a1h 6 82h E 86h 7 0f8h F 8eh 5 单片机控制与运算程序的设计 5.1 AT89C51RC 单片机简介 AT89C5IRC 是在

26、 AT89C52 基础上开发的新型高档单片机。 它的主要特性是: 片内含有 32 KB 的 FIash 程序存储器,擦写周期为 1000 次。 片内数据存储器内含 512 字节的 RAM; 具有可编程 32 线 I/O 口( PO, P1, P2 和 P3 口); 具有 3 个可编程定时器 T0, T1 和 T2; 中断系统是具有 8 个中断源、 6 个中断矢量、 2 级中断优先权的中断结构; 具有一个全双工 UART 串行口; 低功耗工作方式为空闲模式和掉电模式; 具有双数据指针 DPTRO 和 DPTR1 具有 3 级程序锁定位; 具有硬件看门狗定时器 WD;T AT89C51RC:作电源

27、为 4.0 5.5V (AT89LV51R 为 2.7 5.5V); AT89C51R 最高工作频率为 33MHZ(AT89LV51R 为 12MHZ; 具有断电标志 POF 与 AT89C52 相比,AT89C5IRC 具有如下特点: 程序存储器由 8 KB 增加到 32 KB; 片内数据存储器由 256 字节增加到 512 字节; 数据指针由 1 个增加到 2 个; 增加了看门狗定时器,CPU 在执行程序过程中,由于瞬时的干扰使程序陷 入死循环环状态,WDT(Watchdog Timer)是使 CPU 罢脱这种困境而自动恢复的 一种方法; 退出掉电方式由单纯硬件复位方式增加到硬件复位和中断

28、两种方式; 新增加了断电标志 POF 89C51RC 勺内部框图 图 5.1 89C51RC 的内部框图 引脚排列及功能 AT89C51RC 有 3 种封装形式:PDIP. PLCC 和 TQFP PDIP 封装的引脚排 列如图所示。 P3.0 RXD (串行输入口) 图 5.2 AT89C51RC 引脚图 1 I/O口线 P0 口 一一 8 位、漏极开路的双向 1 / 0 口。 当使用片外存储器及外扩 I /0 口时,P0 口作为低字节地址/数据复 用线。在编程时,P0 口可用于接收指令代码宇节;在程序校验时, P0 口可输出 指令字节(这时需要加外部上拉电阻)。 P0 口也可作通用 I/O

29、 口使用.但需加上拉电阻.变为准双向口。当作 为普通输入时,应将 输出锁存器置 1. P0 口可驱动 8 个 TTL 负载. P1 口 8 位、准双向 I /0 口,具有内部上拉电阻。 P1 口是为用户准备的 1 /0 双向口。在编程和校验时,可用做输入低 8 位 地址。用做输入时,应先将输出锁存器置 1. P1 口可驱动 4 个 TTL 负载。 P1.0 P1.1 替代功能 引脚 替代功能 说 明 P1.0 T2 定时器 2 的外部事件输入端;可 编脉冲输出端 P1.1 T2EX 定时器 2 的捕捉/重装触发器输 入端定时器 2 的计数方向控制端 P2 口 8 位、准双向 1 /0 口. 具

30、有内部上位电阻. 当使用片外存储器或外扩1/0 口时.P2 口输出高8位地址。 在编程 /校验时.P2 口可接收高字节地址和某些控制信号。 P2 口也可作普通 I /0 口使用。用做输入时,应先将输出锁存器置 1. P2 口可驱动 4 个 TTL 负载。 P3 口 8 位、准双向 1 /0 口,具有内部上拉电阻。 P3 口可作为普通 1/0 口。用做输入时,应先将输出锁存器置 1 .在 编程/校验时.P3 口接收某些控制信号。它可驱动 4 个 TTL 负载。 P3 口还提供各种替代功能。 P3 口替代功能 P3.1 TXD(串行输出口) P3.2 (外部中断 0) P3.3 (外部中断 1)

31、P3.4 T0 (记时器 0 外部输入) P3.5 T1 (记时器 1 外部输入) P3.6 (外部数据存储器写选通) P3.7 (外部数据存储器读选通) 2 控制信号线 RS 复位输入信号,高电平有效。在振荡器稳定工作时,在 RST 脚施加 两个机器周期(即 24 个晶振周期)以上的高电平,将器件复位。 / VPP - 外部程序存惜器访问允许信号 EA ( External Access En able )。 当信号接地时,对 ROM 的读操作限定在外部程序存储器,地址为 0000HH FFFFH 当接地时,对 ROM 勺读操作从内部程序存储器开始,并可延续至外部程 序存储器。 在编程时,该

32、引脚可接编程电压(AT89C51 的 VPP 为 5V 或 12V; AT89LV51 的VPP 为 12 V)。在编程校验时,该引脚可接 VCC 片外程序存储器读选通信号用 PSEN(Program Store Enable),低电平 有效。 在片外程序存储器取指期间,当有效时,程序存储器的内容被送至 PO 口 (数据总线);在访问外部 RAM 时,无效。 AIE/ 低字节地址锁存信号 AlE (Address latch Enable )。 在系统扩展时,AlE 的下降沿将 P0 口输出的低 8 位地址锁存在外接的地址 锁存器中,以实现低字节地址和数据的分时传送。此外, ALE 端连续输出

33、正脉 冲.频率为晶振频率的 1/6,可用做外部定时脉冲使用。但要注意,每次访问 外 RAM寸要丢失一个 ALE 脉冲。在编程期间,该引脚输入编程脉冲()。 3.电原线 VCC 电源电压输入。 GND 接地。 4.外部晶振引线 XTAL 片内振荡器反相放大器和时钟发生线路的输入端。使用片内振荡 器时,连接外部石英晶体和微调电容。 XTAL2 片内振荡器反相放大器的输出端。当使用片内振荡器时,夕卜 接石英晶体 和微调电容。 当使用外部振荡器时,引脚 XTAL1 接收外振荡器信号,XTAIL2 悬空。 AT89C5IRC 有两种低功耗节电模式:空闲模式和掉电模式。 1 空闲模式 应用软件使 PCON

34、 中的 IDL = I,系统便可进入空闲模式由于 PCON 不可位 寻址,进入空闲模式可采用如下指令: MOV A , PCON SETB ACC , 0 ;IDL=I MOV PCON , A 系统进入空闲模式后,CPU 处于休眠状态振荡器和片内外围单元(中断 系统、定时器、I /O 口、串行口)仍然有效片内 RAMffi SFR 中的内容保留不 变。 退出空闲模式有两种方法:任何一个有效的中断和便件复位退出空闲模 式后, IDL 由片内硬件自动清 0。 2掉电模式 执行一条指令,使 PD=1,系统便进入掉电模式。进入掉电模式后,振荡 器停止工作掉电模式下片内 RAM 和 SPR 中的内容保

35、持不变. 退出掉电模式有两种方法:硬件复位和允许的外部低电平中断( INT0 和 INT1)。硬件复位过程不改变片内 RAM 的内容,但要重新设量 SFR 的内容仅 当 VCC 恢复到正常操作值,且振荡器达到稳定后,复位有效. 复位退出掉电模式时,系统首先从断点处恢复执行程序,直到复位控制逻 辑有效。这个过程长达 2 个机器周期。 在复位有效之前, 片内有硬件控制电路 防止写入片内 RAM即在复位过渡期间片内 RAM 内容受到保护,但并不保护 SFR 的内容。因此,在进入掉电模式指令(使 PD=I 的指令)的后面,不要紧随写入 1/0 端口或写入片外 RAM 的指令。 主要单片机控制与运算程序

36、流程图: 图 5.3 测周期子程序流程图 图 5.4 主程序流程图 图 5.5 显示子程序流程图 图 5.6 频率,周期计数子程序流程图 图 5.7 测频率子程序流程图 5.2 软件调试系统 支持 CPLD 和 FPGA 设计的软件有很多种,这里我使用由 ALTERA 公司开发的 MAX+PLUSII 工具软件,该软件方便易用,功能全面,能满足用户各种各样的设 计需要,概括起来 MAX+PLUSI 开发系统具有如下几个特点。 1结构无关 MAX+PLUSII 支持 ALTERA 公司的 CLASSIC ACEX1K MAX3000 MAX5000 MAX7000 MAX9000 FLEX600

37、0 FLEX8000 和 FLEX10K 等系列可编程逻辑器件, 门数为 600250 000 门,提供了业界真正与结构无关的可编程逻辑设计环境。 MAX+PLUSI I 的编译器还提供了强大的逻辑综合与优化功能以减轻用户的设计负 担。 2集成化的界面 MAX+PLUSII 提供了设计输入,设计处理和仿真校验等全集成化的开发工 具,可以加快动态调试,缩短开发周期。 3模块组合式设计工具 设计者可从各种设计输入,设计处理和设计校验选项中进行选择,从而使 设计环境用户化。需要时,还可以保留初始的工具,并增添新的性能。由于 MAX+PLUSI 支持各种器件系列,设计者用此工具即可支持新结构。 4 支

38、持多种 HDL 语言 MAX+PLUSII 支持多种流行的 HDL 描述语言,包括 VHDL VERILOG HDI 和 AHDL。 5良好的开放性和数据互换性 MAX+PLUSII 可与其他工业标准的设计输入,综合与校验工具连接。它与 EDA 工具的接口符合 EDIF200 和 209 标准,并提供了参数化的模块库(LPM 。 设计者可以使用 ALTERA 或其他标准的 EDA 设计输入工具去建立逻辑设计,使用 MAX+PLUSII COMPLIE 对设计进行编译和综合,然后进行仿真,也可使用其他 EDA 工具来仿真。 6.基于 MAX+PLUSI 的设计 使用 MAX+PLUSI 软件进行

39、设计和开发,主要包括以下几个步骤: 设计输入:可 以采用原理图输入,HDL 语言描述,EDIF 网表输入及波形输入等 几种方式。 编译:先根据设计要求设定编译参数和编译策略,如器件的选择,逻辑综合方 式的选择等;然后根据设定的参数和策略对设计工程进行网表提取,逻辑综合 和器件适配,并产生报告文件,延时信息文件及编程文件,供分析,仿真和编 程使用。 1. 仿真:仿真包括功能仿真,时序仿真和定时分析,可以利用软件的仿真 功能来验证设计工程的逻辑功能是否正确。 2. 编程与验证:用经过仿真确认后的编程文件通过编程电缆配置 PLD 加入 实际激励,检查是否完成预定功能。 在设计过程中,如果出现错误,则

40、需要重新回到设计输入阶段,改正错误或调 整电路后重复上述过程。 5.3 系统的硬件验证 单元电路的调试 FPGA/CPLD 测频专用电路的调试: 使用 MAX+plus II 10.0, 计算机, GW48-CK ED 实验开发系统等软件和设备,对 FPGA/CPL 测控电路进行 VHDLg 序的调试,有关仿真以及编程下载,硬件测试等。 统的联合调试 在各个单元电路调试好后即可进行系统联调。 统的硬件验证 系统联合调试成功后, 可将单片机程序通过编程器固化到单片机中并插入 EDA 实验开发系统中的单片机插座上,将 VHDL 设计经过综合适配后的网表对 CPLD/FPGA1 行编程下载,输入相关

41、的信号,并进行有关性能指标的测试,直 到满足系统的设计要求为止。 本设计的具体硬件验证说明如下: 本系统的显示电路共设置了 8 个数码管,前 7 个为数字显示,另一个是测 量状态显示。 (1) 当显示为 P. 时,是复位状态,此时数码管全熄 点,则第二个小数点表示 MHz。 当显示为 P 时,是周期测量状态,单位卩 so 当显示为 A 时,是脉宽测量状态,单位卩 so 当显示为 B 时,是占空比测量状态,单位 % 5.4 设计技巧分析 (1) 在系统总体设计方面,充分利用单片机和 测控的主体分配给 FPGA/CPL,D 既可满足频测对速度方面的要求和多 I/O 口的 要求,同时利用单片机具有良

42、好的人机接口和控制运算的功能,可以较简单地 实现键盘和显示控制以及数据处理运算。 (2) 在频率测量方面,由于采用了等精度测频法,使该系统具有以下特 点:相对测量误差与被测频率的高低无关;增大 Tpr 或 fs 可以增大 Ns, 减少测量误差, 提高测量精度; 测量精度与预置门宽度和标准频率有关, 与 被测信号的频率无关,预置门和常规测频闸门时间相同而被测信号频率不同的 情况下, 等精度测量法的测量精度不变。 (3) 在显示方面,首先采用串行动态显示,节约了 I/O 口,简化了驱动电 路的设计。 5.5 系统扩展思路 (1) 设计并制作系统工作的外围电路:系统用方波信号源、直流工作电 源。(2

43、)系统联合调试成功后,可将单片机程序通过编程器固化到单片机中, 将 VHDL 设计经过综合适配后的网表对 CPLD/FPGAS 行编程下载,将整个系统的 外围电路设计制作印刷电路板。 6 FPGA 简介 FPGA 简介 FPGA 是英文 Field Programmable Gate Array 的缩写,即现场可编程门阵 列,它是在 PAL GAL EPLD 等可编程器件的基础上进一步发展的产物。它是作 为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电 路的不足,又克服了原有可编程器件门电路数有限的缺点。 (2) 当显示为 F 时,是频率测量状态,单位 Hz,如果前面出

44、现两个小数 FPGA/CPLD 各自的优势, 将 FPGA 采用了逻辑单元阵列 LCA( Logic Cell Array )这样一个新概念,内 部包括可配置逻辑模块 CLB(Configurable Logic Block )、输出输入模块 IOB (Input Output Block )和内部连线(Interconnect )三个部分。FPGA 的基本 特点主要有: 1) 采用 FPGA 设计 ASIC 电路,用户不需要投片生产,就能得到合用的芯片。 2) FPGA 可做其它全定制或半定制 ASIC 电路的中试样片。 3) FPGA 内部有丰富的触发器和 I /0 引脚。 4) FPGA

45、 是 ASIC 电路中设计周期最短、开发费用最低、风险最小的器件之 一。 5) FPGA 采用高速 CHMO 工艺,功耗低,可以与 CMOBTTL 电平兼容。 可以说,FPGA 芯片是小批量系统提高系统集成度、可 *性的最佳选择之 一。 目前 FPGA 的品种很多,有 XILINX 的 XC 系列、TI 公司的 TPC 系列、 ALTERA公司的 FIEX 系列等。 FPGA 是由存放在片内 RAM 中的程序来设置其工作状态的,因此,工作时需要 对片内的 RAM 进行编程。用户可以根据不同的配置模式,采用不同的编程方 式。 加电时, FPGA 芯片将 EPROM 中数据读入片内编程 RAM 中

46、, 配置完成后, FPGA进入工作状态。掉电后,FPGA 恢复成白片,内部逻辑关系消失,因此, FPGA 能够反复使用。FPGA 的编程无须专用的 FPGA 编程器,只须用通用的 EPROMPROM 编程器即可。 当需要修改 FPGA 功能时, 只需换一片 EPROM 卩可。 这样,同一片 FPGA 不同的编程数据,可以产生不同的电路功能。因此, FPGA 的使用非常灵活。 FPGA 有多种配置模式:并行主模式为一片 FPGA 加一片 EPROM 的方式;主 从模式可以支持一片 PROMS程多片 FPGA 串行模式可以采用串行 PROMS程 FPGA 外设模式可以将 FPGA 乍为微处理器的外

47、设,由微处理器对其编程。 FPGA-现场可编程门阵列技术是二十年前出现,而在近几年快速发展的可 编程逻辑器件技术。这种基于 EDA 技术的芯片正在成为电子系统设计的主流。 大规模可编程逻辑器件 FPGA 是当今应用最广泛的可编程专用集成电路 (ASIC)。设计人员利用它可以在办公室或实验室里设计出所需的专用集成电 路,从而大大缩短了产品上市时间,降低了开发成本。此外, FPGA 还具有静态 可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编 程来修改。因此,FPGA 技术的应用前景非常广阔。 PLD 是可编程逻辑器件(Programable Logic Device )的简称

48、,FPGA 是现 场可编程门阵列(Field Programable Gate Array) 的简称,两者的功能基本相 同,只是实现原理略有不同,所以我们有时可以忽略这两者的区别,统称为可 编程逻辑器件或 PLD/FPGA PLD 是电子设计领域中最具活力和发展前途的一项 技术,它的影响丝毫不亚于 70 年代单片机的发明和使用。PLD 能做什么呢?可 以毫不夸张的讲,PLD能完成任何数字器件的功能,上至高性能 CPU 下至简单 的 74 电路,都可以用 PLD 来实现。PLD 如同一张白纸或是一堆积木,工程师可 以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。通 过软件仿真,

49、我们可以事先验证设计的正确性。在 PCB 完成以后,还可以利用 PLD 的在线修改能力,随时修改设计而不必改动硬件电路。使用 PLD 来开发数 字电路,可以大大缩短设计时间,减少 PCB 面积,提高系统可靠性。PLD 的这 些优点使得 PLD 技术在 90 年代以后得到飞速的发展,同时也大大推动了 EDA 软 件和硬件描述语言(HDL)的进步。 结论 通过对等精度数字频率计的学习和掌握,对本专业的知识有了更好的认 识。运用单片机 AT89C51 和 FPGA 勺结合,制作完成了频率计。在实验过程中, 自制了显示电路和按键等,力求精度更高,我们进行了多组数据的分析和总 结,最终得到了相对满意的效果。但由于在编写程序的过程中,对数据的设置 处理精度不高,最后显示得结果没有小数位的显示, 而对于低频的显示结果误 差就相对较大。 如果能有更准确地显示结果,本设计效果更佳。 在

温馨提示

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

评论

0/150

提交评论