基于FPGA的多功能频率测试仪_第1页
基于FPGA的多功能频率测试仪_第2页
基于FPGA的多功能频率测试仪_第3页
基于FPGA的多功能频率测试仪_第4页
基于FPGA的多功能频率测试仪_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、基于 FPGA 的简易数字频率计设计摘 要 本设计是基于 FPGA 的一个简易数字频率计,利用 Verilog 硬件描述语言设计实现了频率计内部功能模块,采用了等精度测量的方法,并结合 NIOS 软核 CPU 嵌入 FPGA,构成SOPC 系统,利用 NIOS 软核对数据浮点运算处理,管理人机交换界面实时显示,跟传统FPGA+单片机的多芯片系统方案相比更加灵活,系统体积小和功耗小等优势,具备软硬件在系统可编程的功能。本设计测量频率的方法采用的是等精度测量法,相比直接测频法和测周法有精度更高的特点。前端信号输入调理采用宽带放大器 AD811 对微弱信号进行放大,经过比较器整形调理后,FPGA 进

2、行采用测量,系统实时性好,精度高。 关键词:等精度 频率计 FPGA NIOS Verilog The D Design O Of S Simple D Digital F Frequency M Meter B Base O On FPGAABSTRACTABSTRACT The design is based on FPGA digital frequency of a simple plan, use Verilog hardware design realized the frequency of internal function module, the accuracy of th

3、e measurement method, etc NIOS and FPGA, soft nuclear CPU embedded systems, using the SOPC constitute NIOS soft check data management man-machine floating point calculations, exchange, with real-time display interface chip traditional FPGA + MCU solutions, system is much more flexible than small vol

4、ume and low consumption, have advantages of hardware and software systems in programmable functions.This design method of measuring frequency by measuring method is compared with direct frequency measurement method, and the measuring accuracy of ZhouFaYou characteristics. Front-end signal input by A

5、D811 amplifier to recuperate broadband amplification, weak signal by comparator plastic, after using measurements on FPGA, system of good real-time, high precision. Key words: Equal precision Frequency counter FPGA NIOS Verilog 目 录摘 要IABSTRACT II1 概 述12 系统方案分析及比较选择 32.1 方案构想 32.2 方案比较及选用依据: 43 工作原理及

6、其系统框图53.1 计数式直接测频法53.2 计数式直接测周期63.3 等精度测量原理 74 硬件系统实现1041 硬件系统原理图10411 放大电路的选择10412 整形电路1342 FPGA 控制电路 154.2.1 FPGA 芯片选型154.2.2 FPGA 最小系统搭建164.3 FPGA 内部模块194.3.1 系统总体框图 194.3.2 同步预置模块 204.3.3 频率计数模块、时间计数模块 214.3.4 数据输出模块,计数器清零模块215 软件系统实现2351 主程序框图 2352 NIOS II 软核2353NIOS 外部接口与内部介绍24531 nios 软核原理框图2

7、4532 nios 软核外部接口246 遇到问题,分析问题,解决问题2561 输入阻抗问题2562 放大器选择问题257 电路抗干扰措施268 系统指标测试279 结束语28参考文献 29附录 1:FPGA 硬件描述语言代码 30附录 2:NIOS C 语言程序代码33谢 辞 40 1 概述 随着微电子技术和计算机技术的迅速发展,特别是单片微机和片上可编程系统的出现和发展,使传统的电子测量仪器在原理、功能、精度及自动化水平等方面都发生了巨大的变化,形成一种完全突破传统概念的新一代测量仪器。频率计广泛采用了高速集成电路和大规模集成电路,使仪器在小型化、耗电、可靠性等方面都发生了重大的变化。传统的

8、频率计测量误差较大,等精度频率计以其测量准确、精度高、方便等优势将得到广泛的应用。频率计是电子计数器的一种,在电子技术领域内,频率与电压一样,也是一个基本参数。目前,随着电子技术、微电子技术、数字技术、计算机科学的发展,电子计数器已经大量采用大规模、超大规模集成电路,尤其是与微处理器相结合,实现了程控化和智能化,频率计不断得到发展和完善。尤其是近代以来,随着电子工业的飞速发展,EDA 技术的问世,新型的频率计具有测量精度高、速度快、自动化程度高、直接数字显示、操作简便等特点。在此基础上附加参数转换电路,可以完成多参数、多功能测量,应用前景非常广阔。 传统的测频方法有直接测频法和测周法,在一定的

9、闸门时间内计数,门控信号和被测信号不同步,计数值会产生一个脉冲的误差。等精度测频法采用门控信号和被测信号同步,消除对被测信号计数产生的一个脉冲的误差。等精度频率测量方法消除了量化误差,可以在整个测试频段内保持高精度不变,其精度不会因被测信号频率的高低而发生变化。采用 FPGA 作为控制核心的等精度频率计,可以充分利用 FPGA 高速数据采集技术较容易实现等精度测频。通过 FPGA 对同步门的控制,使被测信号和标准信号在闸门时间内同步测量,为了提高精度,将电子计数功能转为测周期,采用多周期同步测量技术,实现等精度测量。随着电子设计技术的飞速发展,专用集成电路 ASIC、用户现场可编程门阵列(FP

10、GA)及复杂可编程逻辑器件(CPLD)的复杂度越来越高,数字通信、工业自动化控制等领域所用的数字电路及系统的复杂程度也越来越高。设计这样复杂的电路及系统也不再是简单的个人劳动,而需要综合许多专家的经验和知识才能够完成。硬件描述语言 Verilog 顺应这种潮流,迅速发展,目前已得到广泛的应用。FPGA 的结构灵活,其逻辑单元、可编程内部连线和 IO 单元都可以由用户编程,可以实现任何逻辑功能,满足各种设计需求。其速度快,功耗低,通用性强,特别适用于复杂系统的设计。使用 FPGA 还可以实现动态配置、在线系统重构(可以在系统运行的不同时刻,按需要改变电路的功能,使系统具备多种空间相关或时间相关的

11、任务)及硬件软化、软件硬化等功能。在大多数的研制过程中,人们习惯把 FPGA 技术跟 MCU 技术相结合的方式来完成设计。FPGA 有速度快,灵活等特点,速度快的优势来源于 FPGA 的硬逻辑方式。由于 FPGA 的逻辑功能全部用硬件电路实现,故所有的延迟只来源于门电路,而一般门电路的延迟都在ns 级别。但与 MCU 相比,FPGA 实现的功能较为简单。你无法想象用硬件电路可以实现一个 windows 操作系统。所以人更习惯把 FPGA 在绝大多数系统中充当配角,比如,为系统的主控 MCU 扩展某种接口等等。现在,FPGA 有向 MCU 发展的趋势。当然,最终 FPGA 不会变成 MCU,最终

12、 FPGA 会发扬其优点,成为比 MCU 更为强大的东西。目前有些 FPGA 已带有模拟 IO,很多 FPGA 可嵌入 8051,ARM 等软核,尽管现在由于成本等因素,这类应用并不多,但是这个发展路线不会错。一些厂商已经考虑把软核变成硬核,也就是在 FPGA 中嵌入 MCU,一旦类似的产品出现,实现 systerm on one chip 便变得非常容易。本设计采用的就是目前相对成熟的 NIOS 软核嵌入到 FPGA 中实现 SPOC。2 系统方案分析及比较选择2.1 方案构想方案一:方案一:系统测频部分采用中小规模数字集成电路,用机械式功能转换开关换档,完成测频率功能。该方案的特点是中小规

13、模集成数字电路应用技术成熟,能可靠的完成频率计的基本功能,但由于系统功能要求较高,所以电路过于复杂。而且多量程换档开关使用不便。此方案对输入信号作分频整形处理后,再与 1 秒脉宽带信号共同输入与非门,其输出作为计数脉冲,由计数器计数,然后锁存、译码输出到数码管显示。原理框图如图 2-1 所示。 图 21 中小规模数字集成电路方案框图 方案二:方案二:采用 MCS-51 系列单片机,将欲测量的输入信号(1Hz10MHz)进行限幅、放大、整形和分频处理,利用单片机进行频率、周期的测量和计算处理,运算结果并行输出到数码显示。如图 22 所示,显然此种方案由于采用单片机技术,利用定时器计时一段时间,在

14、通过计数器在这段时间内计数,实现用计数法测量频率。图 2-2 基于单片机方案框图 方案三:方案三:采用 FPGA+ nios 软核 cpu 组合,外围信号输入电路经放大整形调理,fpga 采集模块负责输入信号的采集,nios 负责对采集信号的运算及人机界面的控制,如图 2-3 所示,为了进一步提高测量频率的精度和实时性,采用等精度测量频率,用 FPGA 可以容易实现等精度频率的测量。 图 2-3 基于 FPGA 方案框图 2.2 方案比较及选用依据:显然方案二要比方案一简洁、新颖,但从系统设计的指标要求上看,要实现频率的测量范围 1Hz10MHz,但由于使用的是计数法测量频率,在频率较低时会产

15、生较大的误差,方案三利用 FPGA 高速的信号采集处理能力,采用等精度测量频率,在整个频率范围测量内都能达到相同的精度,不随频率变化而变化测,因此选用方案三作为具体实施的方案。3 工作原理及其系统框图常见的测量原理有三种计数式直接测频法、计数式直接测周法、等精度测量法。3.13.1 计数式直接测频法 计数式直接测频的原理方框图如图 3-1 所示。 图 3-1 直接测频法原理图 其中主门具有与门的逻辑功能,主门的一个输入端送人的是频率为 fx 的窄脉冲。它是由被测信号经放大整形后得到的,主门的另一个输入端送入的是来自门控闸门信号时间 Ts。因为门控是受时基控制,所以 Ts 既准确有稳定。设计时通

16、过晶振和分频器的配合,可以获得 0.1s、1s、10s 等闸门时间,由于主门的与功能,其输出端只有在闸门信号 Ts有效期间才有频率 fx 的窄脉冲输出,并送到计数器去计数,计数值为 N=Ts/Tx=Ts*fx,它与被测信号的频率 fx 成正比,由此可得 fx=N/Ts (3.1)由上式可知,当闸门时间 Ts 为 1s 时,N 值即为被测信号的频率。计数式直接测频方法由于主门的开启时间与被测信号之间不同步,而使计数器值 N 带有1 量化误差,且当被测信号频率越低时,该量化误差的影响越大,若再考虑由晶体振荡器引起的闸门时间误差,则对式(3.1)进行误差的累积与合成运算后,可得到计数式直接测频误差的

17、计算公式如下: (3.2)上式右边第一项为量化误差的相对值,其中Nx=1,第二项为闸门时间的相对误差,数值上等于晶体振荡器基准频率的相对不确定度fc/fc。分析表明,在 fx 一定时,闸门时间 Ts 选得越长,测量准确度越高,而当 Ts 选定后,fx 越高,由于1 误差对测试结果的影响减小,测量准确度越高。但是随着1 误差影响的减小,闸门时间自身的准确度对测量结果的影响不可忽略,这时可认为fc/fc是计数式直接测频率准确度的极限。 3.23.2 计数式直接测周期计数式直接测周期周期测量基本原理图如图 32 所示: 图 32 直接测周法原理图 与计数式直接测频原理方框图相比,其中门控改由输入信号

18、放大、整形和分频后的脉冲控制,所以闸门时间的宽度就等于 K 倍被测信号的周期 KTx,而主门的另一个输入端有晶体振荡器和分频器产生周期为 T0 的时标脉冲信号。由于主门的与功能,它只在 kTx期间有时标脉冲信号输出,并由计数器计数,其值为 N。不难看出,被测信号的周期为: Tx=NT0/K (3.3)与计数式测频类似,由于 Tx 和 T0 之间也不是同步的,所以计数值 N 也带有1 量化误差;此外,由于晶振的不确定度,时标的周期 T0 也存在误差;最后,由于被测输入信号中噪声的影响,使经放大整形后的脉冲周期 Tx 中还引入一种触发误差。对式(3.3)进行误差累积和合成的运算,可以得到测周期误差

19、的计算公式如下: (3.4)上式右边第一项为量化误差的相对值,其中计数误差Nx=1;第一项为时标的相对误差;第三项为触发误差,其中 R 为被测信号 Vx 与噪声 Vn 比,可有公式R=20lg(Vx/Vn)计算(单位 dB)。要降低触发误差,就必须增大信噪比 R,并采用多周期测量,还可以在整型电路中采用具有滞回特性的施密特电路来减小噪声的影响。分析表明,在倍率 K 和时标 T0 固定是,与测频率相反,测量周期的误差随被测信号的频率升高而增大;此外,由于有限的信噪比,是触发误差成为影响测量周期准确度的主要因素,采用多周期测量可以有效的降低触发误差的影响。 3.33.3 等精度测量原理等精度测量原

20、理 与直接测量法相比,等精度测量法的优点是,可在整个测频范围内获得同样高的测试精度和分辨率,图 3-3(a)所示,其工作原理时间波形图如 3-3(b)所示。 图 33(a) 等精度原理图 fx 为输入信号频率,fc 为时钟脉冲的频率。A、B 两个计数器(分别为时间计数器和时间计数器)在同一闸门时间 T 内分别对 fx 和 fc 进行计数。计数器 A 的计数值Na=fxT,计数器 B 的计数值为 Nb=fcT。由于 Na/fx=Nb/fc=T,则被测频率 fx 和周期 Tx 分别为 (3.5) (3.6)式(3.5)中 T=Nb/fc,为时钟的周期。 图 3-3(a)中的同步电路(D 触发器)的

21、作用在于使计数闸门信号与被测信号同步,实现同步开门,并且开门时间 T 准确地等于被测信号周期的整数倍,故式(3.5)、式(3.6)中的计数值 Na 没有1 量化误差,计数值 Nb 虽然有1 量化误差,但由于 fc 很高,Nb1,所以 Nb 的1 量化误差的相对值为(1/Nb)很小,且该误差与被测频率 fx无关,因此在整个测频范围内,倒数计数器能够实现等精度的测量。该测试方法需要的除法运算功能,由于有加入 NIOS 微处理器所以不难实现。 图 3-3(b) 等精度原理波形图图 3-3(a)中的预置闸门脉冲相当于普通计数器的闸门时间脉冲,通常有10s,1s,0.1s 等值,在倒数计数器中该阀门被同

22、步化闸门 T 取代,从而使 A 计数器消除了1 量化误差,这正是它能够获得很高的等精度测量效果的关键所在,但同步化闸门 T也是未知量,所以需要增加另一个计数器 B 来测量 T 的宽度,通过其计数值 Nb 来计算出T 的宽度,再根据频率的定义,由公式 fx=Na/T 就能计算出被测信号的频率。其中 Na 为计数器 A 的计数值,若将 T=Nb/fc 代入次式,就可得到与式(3.5)、(3.6)一样的结果。考虑计数值 Nb 中的1 量化误差、时钟 fc 的不确定度和同步门 T 的触发误差时,根据式(3.5)、(3.6)可推导出测量误差计算公式如下: (3.7)式(3.7)中 R=20lg(Ux/U

23、n),为输入被测信号的信噪比,k 为多周期倍率。与式(3.2)式(3.4)相比较,式(3.7)中没有对被测信号计数引起的1 量化误差,只有Nb 计数器在同步门 T 期间的1 计数误差 Tc,而且与被测信号的频率无关,即在整个测量段上是等精度的。假定输入通道放大器的制作工艺较高,它所产生的噪声可以忽略,这时触发误差仅由被测信号本身质量来决定,在评价测量方法时只应考虑内因,而不考虑外因,也即不考虑式(3.7)中第三项。以典型数据为例,频率基准的不确定度c/fc通常为 1010-7-710-9-9,假设时钟频率为 10Mhz,则 TC 等于 0.1us,若闸门选为1s,则 Nb 的1 计数误差 Tc

24、/T 仅为 1010-7-7.由此可见,这时等精度测量的精度在整个频段上均可达 1010-7-7量级。 4 硬件系统实现4 41 1 硬件系统原理图硬件系统原理图图 4-1 硬件电路原理图当被测信号进入频率计系统,需先经过宽带放大器,在经过比较器输出 TTL 电平。输入通道对 200mV5V、频率从 1Hz 到 10MHz 的信号进行放大和整形,成为 TTL 电平的标准数字信号。 4 41 11 1 放大电路的选择放大电路的选择本系统在设计放大电路比较多种方案来实现,通过不断改进来达到系统要求的性能。对放大电路的要求是把 0.5V3V 的信号转换为 TTL 电平,频带宽度为 1hz10Mhz,

25、所以放大电路应具有较大的输入阻抗、较小的输入电流、较强的抗干扰能力,并有很宽的通频带(1Hz10MHz)和输出幅值达到 TTL 电平幅值。有以下几种方案。 (1 1)高频三极管)高频三极管 三极管是一种控制元件,主要用来控制电流的大小,以共发射极接法为例(信号从基极输入,从集电极输出,发射极接地),当基极电压 UB有一个微小的变化时,基极电流 IB也会随之有一小的变化,受基极电流 IB的控制,集电极电流 IC会有一个很大的变化,基极电流 IB 越大,集电极电流 IC也越大,反之,基极电流越小,集电极电流也越小,即基极电流控制集电极电流的变化。但是集电极电流的变化比基极电流的变化大得多,这就是三

26、极管的放大作用。IC 的变化量与 IB变化量之比叫做三极管的放大倍数(=IC/IB, 表示变化量。)。 采用单级高频三极管:采用单级高频三极管: 如图 4-2 所示,三极管工作在放大信号时,首先要进入导通状态,即要先建立合适的静态工作点,否则放大信号会出现失真。 在三极管的集电极与电源之间接一个电阻,可将电流放大转换成电压放大:当基极电压 UB升高时,IB变大,IC也变大,IC 在集电极电阻 RC的压降也越大,所以三极管集电极电压 UC会降低,且 UB 越高,UC 就越低,UC=UB。 图 4-2 单级三极管放大电路 该电路参数达到在 100Hz 到 1.5MHz 频段中电压增益 20DB。而

27、更高频段三极管放大倍数锐减,显然一级的三极管放大电路增益带宽积满足不了要求。 采用多级晶体三极管采用多级晶体三极管 :使用射极输出器作为输入级,以提高输入阻抗。中、后级作为放大级,级与级之间电容耦合,前后级静态工作点相互独立,互不影响。使用截止频率为 1000MHz 的三极管9018 做放大级,由于放大器本身特性受到结电容影响,在高频时放大倍数下降,为补偿高频段放大倍数的下降,采用了 RC 高频补偿电路。实验情况如下图 43 所示。在图中,由于低频不能通过 103,而通过 220uF,信号被衰减,而在数百千赫兹以上的高频带,由于电容电抗减小,所以信号不衰减。这就达到了降低低频增益、使频率特性均

28、匀的目的。 图 4-3 三级三极管放大电路 本电路经过多次调试,参数仍不能达到题目的要求,且外围电路比较复杂,各偏置电阻受各三极管质量参次不齐需逐个调试,因而分立元件不予考虑,下面使用集成电路进行实验。 (2 2)采用集成运算放大器)采用集成运算放大器运算放大器是集成器件,集成电路中大量使用有源器件组成的有源负载,以获得大电阻,提高放大电路的放大倍数;将其组成电流源,以获得稳定的偏置电流。所以一般集成运放的放大倍数与分立元件的放大倍数相比大得多。而且其相对精度好,故对称性能好,特别适宜制作对称性要求高的电路。AD811 是一款宽带放大器,在增益为 10 的情况下,频带宽带可达到 10M 以上,

29、可以轻松满足系统的要求。 图 4-5 增益-带宽图 4-4 AD811 电路图4 41 12 2 整形电路整形电路(1 1)施密特整形电路)施密特整形电路施密特整形电路具有回滞比较特性,利用多级反相器对放大后的波形进行施密特整形,使输出变为脉冲波形。由于 CMOS 门电路有一个固定的阀值电平,对于信号脉冲中低于阀值电平的部分,门电路的输入端不予响应。利用门电路的这一特点,常将其直接用于对脉冲的整形。在实际电子电路中,集成门电路是其中应用最多的电路之一。如图 46 所示。 图 4-6 74HC04 原理图 它的用途除了作控制门之外,还用来组成时钟脉冲发生器。由于一块集成门电路中往往包含几个独立的

30、门电路,在组成一些电路的主要结构之后总有一些多余的部分。可以利用这些多余的部分来作脉冲的整形、反相以及放大等用途。对于某些要求较高的电路,直接用门电路整形,有时还不能满足要求,而是将门电路组成一个施密特触发器,利用施密特触发器的滞后特性,使脉冲的整形符合电路的要求。 图 4-7 74HC04 串联 本系统使用 74HC04 六反相器,采用串联三个配合前置放大电路输出的反相位,使整形信号保持不失真状态。而由于采用了 HC 型号,输出转换时间 tTHL / tTLH仅为 7ns,能够满足系统要求。 (2 2)采用比较器)采用比较器集成电压比较器比集成运放的开环增益低,失调电压大,共模抑制比小;但其

31、响应速度快,传输延迟时间短,而且可将模拟信号转换成二值信号,即只有高电平和低电平两种状态的离散信号,不需外加限幅电路就可直接驱动 TTL、CMOS 等集成数字电路。如图 48 所示。 图 48 比较器电路原理 所以采用比较器可以简单地地完成设计。采用高速比较器 MAX901 可以处理高达10MHz 的输入信号。MAX901 有低输入失调电压和电压范围灵活等特点,响应时间最大仅7ns,输出电平可与 TTL 电平相配合,且在后置电路中不需整形电路,大大简化了电路设计。综合考虑使用比较器作为整形电路。4 42 2 FPGAFPGA 控制电路控制电路4.2.14.2.1 FPGAFPGA 芯片选型芯片

32、选型FPGA 系统是整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器,本设计使用 Altera 公司生产的 Cyclone II 系列的 EP2C5Q208 作为控制核心。如下图 4-9所示。 图 4-9 EP2C5 引脚图 在 Altera 大获成功的第一代 Cyclone 器件系列基础之上,Cyclone II FPGA 从根本上针对低成本进行设计,为成本敏感的大批量应用提供用户定制特性。Cyclone II FPGA以低于 ASIC 的成本实现了高性能和低功耗。 Cyclone II FPGA 由使用方便的免费 Quartus II 网络版设计软件、多种知识产权(IP)和硬

33、件开发套件提供支持,可以迅速实现低成本 FPGA 方案开发。Cyclone II 器件提供针对低成本应用的用户定制 FPGA 特性,其密度分布范围广,含有丰富的存储器和嵌入式乘法器,并提供多种封装选择。Cyclone II 器件还支持低成本应用中常见的各种外部存储器接口和 I/O 协议。Cyclone II 接口和协议应用。Altera Cyclone II 采用全铜层、低 K 值、1.2 伏SRAM 工艺设计,裸片尺寸被尽可能最小的优化。采用 300 毫米晶圆,以 TSMC 成功的 90nm工艺技术为基础,Cyclone II 器件提供了 4,608 到 68,416 个逻辑单元(LE),并

34、具有一整套最佳的功能,包括嵌入式 18 比特 x18 比特乘法器、专用外部存储器接口电路、4kbit 嵌入式存储器块、锁相环(PLL)和高速差分 I/O 能力。本设计所选 FPGA 型号 EP2C5,参数如表 4-1 所示表 4-1Cyclone II FPGA 简介器件EP2C5EP2C8EP2C20 EP2C35 EP2C50EP2C70逻辑单元4,6088,25618,75233,21650,52868,416M4K RAM 块(4 k 比特 + 512 校验比特)263652105129250总比特数119,808 165,888 239,616 483,840 594,432 1,1

35、52,000嵌入式 18x18 乘法器1318263586150PLLs224444最多用户 I/O 管脚142182315475450622差分通道5877132205193262 4.2.24.2.2 FPGAFPGA 最小系统搭建最小系统搭建(1 1) 电源模块电源模块 图 4-10 电源模块 3.3V 电源直接由 5V 输入电源经 LM1085 稳压芯片并经滤波得到,用于给 FPGA 所以IO 口、外围存储电路、串行配置器件、复位电路等供电,1.2V 电源由 LM1117-1.2 稳压并经滤波得到,给 FPGA 内核已经 FPGA 里面集成的 PLL 供电。(2 2)存储电路)存储电路

36、aSDRAM 存储器 SDRAM 通常用于需要大量存储并且有成本要求的系统,SDRAM 比较便宜,但需要实现刷新操作、行列管理、不同延时和命令序列等逻辑。Nios II SDRAM 控制器完成了SDRAM 的所有逻辑,可实现 Avalon 总线接口、透明的 SDRAM 初始化处理,刷新和其他SDRAM 需要的操作,SDRAM 与 FPGA 相连,SDRAM 控制器(IP 核)允许 Nios II 处理器将SDRAM 器件作为大容量线性可寻址存储器使用,因此用户只需要通过简单的操作就可以像使用 SRAM 一样使用 SDARM。本设计使用的是 32M 的 K4S561632H。电路图如图 4-11

37、 所示。 图 4-11 SDRAM 模块b串行配置存储器 EPCS Cyclone 系列 FPGA 基于 SRAM 查找表,在器件上电时配置数据必须重新加载,因此必须使用掉电保持的器件来保存配置数据,然后在 FPGA 上电时将配置数据加载到 FPGA中。 Altera 串行配置器件是具有串行接口的 Flash 器件,可存储 Cyclone、Cyclone II以及 Stratix II 系列器件的配置数据,并在上电或者重新配置时将配置数据装入 FPGA器件。本设计选用的是 EPCS4,拥有 4M 的存储空间足以满足中小型设计的要求,电路如图 4-12 所示。 图 4-12 EPCS、配置电路(

38、3)配置电路 a主动配置(ASP)在脱机运行情况下,采用串行配置器件 EPCS 进行主动配置 AS,主动串行配置模式(AS)是将配置数据存储在串行配置器件 EPCS 中,在每次系统上电时 FPGA 会自动使用 EPCS 中的配置数据进行配置,在脱机运行之前,要实现将配置数据通过编程器写入 EPCS 中,ASP 电路图如图bJATG 配置调试时,使用运行在计算机上的 quartus ii 软件,用过 JATG 电缆连接到 JATG 接口直接下载数据到 FPGA,用户随时可以进行 JATG 模式的配置,但要注意 JTAG 模式是直接对FPGA 中 SRAM 单元编程掉电后丢失,因此重新上电要重新下

39、载。电路图如图 (4)其他电路a显示电路人机界面采用的是 12864LCD 液晶,人机界面亲和力好b晶振电路 晶振选用的是有源晶振 50Mhz,电路图如图 4-13 所示。 图 4-13 晶振电路 4.4.3 3 FPGAFPGA 内部模块内部模块4.3.14.3.1 系统总体框图系统总体框图如图 4-14,FPGA 系统内部设计由同步预置阀门、频率计数器、时间计数器、PLL、NIOS 软核组成。波形原理图如图 4-15 所示。 图 4-14 系统框图 图 4-15 波形原理图图4.3.24.3.2 同步预置模块同步预置模块本设计取样为自触发,周期为 1s,即每个 1s 从信号输入端口读取脉冲

40、,阀门时间也是 1s,Verilog 程序如下:always(posedge clk or negedge reset)beginif(!reset) cnt=0;elseif(cnt=26d100) /为仿真方便假设计数 100 为 1s,实际程序为 50000000;begincnt=0;clk_1hz=clk_1hz;endelse cnt=cnt+1b1;end always(posedge f_in or negedge reset) / posedge f_in 同步化闸门脉冲 beginif(!reset) u=0;else if(clk_1hz) u=1; /u=1 时启动预设

41、闸门else u=0;end 4.3.34.3.3 频率计数模块、时间计数模块频率计数模块、时间计数模块always(posedge f_in or negedge reset) /同步 f_in 上升沿 beginif(!reset)beginfcounter=0;endelseif(u)fcounter=fcounter+1b1; /当 u=1 允许计数,且 f_in 上升沿触发else if(clear) fcounter=0;end always(posedge clk or negedge reset ) begin if(!reset) begin tcounter=0; end

42、else if(u) tcounter=tcounter+1b1; /当 u=1 允许计数,时间计数器计数else if(clear) tcounter=0;end 4.3.44.3.4 数据输出模块,计数器清零模块数据输出模块,计数器清零模块always(negedge u or negedge reset)beginif(!reset) begin fout=0; tout=0; endelse if(!u)begin fout=fcounter;tout=tcounter; endend reg clear_buff; always(posedge clk or negedge rese

43、t)beginif(!reset)beginclear=0;clear_buff=0; endelse if(!u) begin clear_buff=1b1; /clear buff 延时一个 clk 输出清零命令 clear=clear_buff; end else begin clear_buff=0; clear=0; end end 系统仿真图如图 4-16 所示 图 4-16 仿真波形图 5 5 软件系统实现软件系统实现5 51 1 主程序框图主程序框图 图 5-1 软件流程图本设计的主要工作已经在 FPGA 里完成,NIOS 只是读取 FPGA 发送过来的两个数据,一个是频率计数

44、器的值,一个是时间计数器的值,然后再通过计算得出信号的频率。 5 52 2 NiosNios IIII 软核软核现今,可将 SOPC 视为是基于 FPGA 解决方案的 SOC,与 ASIC 的 SOC 解决方案相比,SOPC 系统及其开发技术具有更多特色,也有多种途径可构成 SOPC 方案。NIOS 系列软核是目前最有代表性的处理器,用户可随意配置和构建 32 位嵌入式处理器,采用 Avalon 总线结构通信接口,包含有 JTAG 调试内核,还可以通过 SOPC builder 对 Nios ii 及其外围进行构建,是该嵌入式系统在硬件结构、功能特点、资源占用等方面全面满足用户系统设计的要求。

45、NIOS II 核在同一个 FPGA 中植入的数量没有限制,只要 FPGA 资源足够即可。NIOS II 系列 32 位 RISC 嵌入式处理器具有超过 200DMIP 的性能,在低成本 FPGA中实现成本只有 35 美分。由于处理器是软核形式,所以具有很大的灵活性,可以在多种系统配置中选择满足成本和功能的要求。NIOS II 包括三种内核:快速的(nios ii/f)、经济的(nios ii/e)、标准的(nios ii/s)内核。每种软核可以根据需要由 quartus 软件 SOPC Builder 创建,任意添加自己需要的外设 IP 核,使用非常方便。 5 53 3NIOSNIOS 外部

46、接口与内部介绍外部接口与内部介绍5 53 31 1 niosnios 软核原理框图软核原理框图 如图 5-2 所示 图 5-2 CPU 软核 5 53 32 2 niosnios 软核外部接口软核外部接口In_port_to_the_fin31.0: 频率计数器值输入端口。In_port_to_the_tin31.0:时间计数器值输入端口。Out_put_from_the_en:12864 en 端口输出。Out_put_from_the_lcd_date7.0:12864 数据端口输出。Out_put_from_the_rs:液晶 12864 RS 输出端口。Out_put_from_the

47、_rw:液晶 12864 RW 输出端口。Zs 开头的端口为 SDRAM 端口,NIOS ii 已经把 SDRAM 控制设置为自动控制,所以只需要在端口连接好即可6 6 遇到问题,分析问题,解决问题遇到问题,分析问题,解决问题 6 61 1 输入阻抗问题输入阻抗问题遇到问题遇到问题:当不同幅值不同频率的信号通过两级 9018 晶体管共射放大电路时,信号幅值严重衰减。 分析问题:分析问题:这情况经实验发现主要是信源一般带载能力不强,如此一来必然出现信号的衰减。 解决问题:解决问题:在输入头上采用结型场效应管作为输入阻抗变换,提高系统的输入阻抗,以降低其对信号源内阻的要求,其输入阻抗为 1M。 6

48、 62 2 放大器选择问题放大器选择问题 遇到问题:遇到问题:依照芯片 datesheet 说明选择放大器,参数都满足要求,但是出来的效果就很差。 分析问题:分析问题:此问题经不断研究发现是由于我们的实验条件跟厂商的实验条件差太多,实验的仪器跟硬件电路的工艺也相差很大,用万用板做的硬件电路会引进较多的误差。 解决问题:解决问题:选择放大器芯片时要适当的留有余量,万用板应尽量少用,有条件可以开PCB 或用覆铜板来减少干扰的引入。 7 7 电路抗干扰措施电路抗干扰措施电路在设计之初,便考虑到抗干扰措施,从元器件布局到安装,均遵循电磁兼容理论,并结合学习和实验中积累的经验,设置了以下几项抗干扰措施:

49、 1.数字地和模拟地严格划分,并于电源模块滤波前一点落地。 2.各单元供电在线路板上多处加装去耦滤波电容以旁路电网干扰,对高低频干扰信号具有很强的抑制能力。 3.选用器件全部为 CMOS 集成电路,噪声容限大,抗干扰能力强。 4.由于输入信号的变化可能很大,在大信号时能满足要求,而在小信号时则很容易受到干扰。所以电路设计时采用大面积接地,输入引线采用高频监控电缆,以消除外界的电磁场干扰。 5.在电路中采用施密特触发器,提高门限,以消除大部分杂波,保证了信号的纯真度。 6.采用 32 位浮点运算确保测试数据在处理时不严重失真。 8 8 系统指标测试系统指标测试测试条件:测试条件: 室温,实验室环

50、境,被测系统预热 5 分钟。设计与测试使用的仪器:设计与测试使用的仪器: UT-2000 型数字储存示波器 J2462-1 型低频函数信号发生器 8202A 型功率函数发生器 SG-5110 型高频正弦信号发生器 HC-F1300 型高精度频率计 PC 机,586,dx80,512ddr400 内存 操作系统:Windows Xp Sp2 DT9203 型数字万用表指标测试指标测试频率测试频率测试 用函数发生器产生 1Hz 到 10MHz 的信号,用标准频率计测得标准频率;再用设计的频率计测出频率,求出误差。表 9-1标准输入频率标准输入频率 / / HzHz本仪器测量值本仪器测量值 / /

51、HzHz本仪器测量误差本仪器测量误差110.00%550.00%10100.00%50500.00%1001000.00%5005000.00%1,00010000.00%5,00050010.00%10,000100020.00%50,00050,1000.001%100,00099,9990.0001%600,000600,0000.00%1,000,0001,000,0000.00%6,000,0005,999,8720.002%10,000,0009,999,7440.0002%9 9 结束语结束语通过这次毕业设计学习到很多东西,更加巩固了所学的一些知识,对 FPGA 的一些知识有了更

52、加一步的认识,对电路抗干扰有了进一步的了解,对电路的设计有了些许的经验。由于所掌握的专业技术知识有限,课题设计及样机制作仅限于基本阶段,离专业计量工程仪器还有不少距离。例如系统的电路原理设计,样机工艺设计及制作,控制程序设计,信号处理,测量精度等方面都存在这样或那样的问题,使得性能样机未能做到尽善尽美。这一切都将有待在今后的学习研究中进一步努力。 参考文献参考文献1 夏宇闻,2008,Verilog 数字系统设计教程M,北京航空航天大学出版社。2 蔡伟纲,2007,Nios II 软件架构解析M,西安电子科技大学出版社。3 周立功,2006,SOPC 嵌入式系统基础教程M,北京航空航天大学出版

53、社。4 ALTERA 公司, Cyclone-EP2C5 使用手册EB/OL。5 周树南、张伯颐,2006,电路与电子学基础M,科学出版社。6 马义忠、常蓬彬、马浚,2005,数字逻辑与数字系统M,高等教育出版社。7 黄智伟 ,2006,全国大学生电子设计竞赛系统设计M,北京航空航天大学出版社。8 李凤霞,2004,C 语言程序设计教程M,北京理工大学出版社。9 吴继华,2006,设计与验证 Verilog HDLM,人民邮电出版社。10 张洪润,2009,FPGA/CPLD 应用设计 200 例M,北京航空航天大学出版社。 附附 录录 1 1FPGAFPGA 硬件描述语言代码:硬件描述语言代

54、码:module frequency(clk,reset,f_in,fout,tout); input clk,reset,f_in;output31:0 fout,tout;reg31:0 fout,tout;reg u, clear, clk_1hz;reg31:0 tcounter; /time counterreg31:0 fcounter; /frequncy counterreg26:0 cnt;always(posedge clk or negedge reset)beginif(!reset) cnt=0;elseif(cnt=26d50000000)begincnt=0;clk_1hz=clk_1hz;endelse cnt=cnt+1b1;end always(posedge f_in or negedge reset)beginif(!reset) u=0;else if(clk_1hz) u=1;else u=

温馨提示

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

评论

0/150

提交评论