基于内嵌Cortex-M3内核FPGA的等精度频率计设计111_第1页
基于内嵌Cortex-M3内核FPGA的等精度频率计设计111_第2页
基于内嵌Cortex-M3内核FPGA的等精度频率计设计111_第3页
基于内嵌Cortex-M3内核FPGA的等精度频率计设计111_第4页
基于内嵌Cortex-M3内核FPGA的等精度频率计设计111_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、基于内嵌Cortex-M3内核FPGA的等精度频率计设计王立华1,周松江1,2,高世皓1,3,张恒1(1山东科技大学电子通信与物理学院,山东 青岛 266590;2北京邮电大学信息光子学与光通信研究院,北京,100876;3北京邮电大学泛网无线通信教育部重点实验室,北京,100876)摘要:为了提高频率计的测量精度和系统性能,解决在传统的频率计中无法实现高低频率等精度测量的情况,本文采用京微雅格公司的M7系列FPGA,设计了一种基于SOPC技术的等精度多功能频率计。该频率计以内嵌Cortex-M3内核的FPGA芯片为控制核心,通过对FPGA模块和Cortex-M3内核部分的设计,并借助AHB接

2、口的FIFO实现FPGA与Cortex-M3内核之间的数据通信,完成了1Hz50MHz范围内等精度频率计的设计。通过ModelSim软件仿真和硬件实测表明,该频率计可以完成等精度频率和占空比的测量功能,具有精度高、实时性好等特点。关键词:频率计;等精度;SOPC;FPGA;AHB;Cortex-M3中图分类号:TM935.13文献标识码: A1 引言频率是电子领域中最基本的参数,传统的测频方法有直接测量法、周期测量法和分频测量法等,这些方法往往只适用于测量一段频率,而无法实现高低频率等精度的要求。在技术上,传统的频率计大都采用单元电路或单片机进行设计,使得频率计存在结构复杂、稳定性差且测量范围

3、小等缺点1-4。基于此,本文以京微雅格公司的M7系列FPGA为设计载体,利用SOPC技术和等精度测量原理,在一片内嵌Cortex-M3内核的FPGA芯片上完成频率计的设计。系统充分发挥FPGA的高速数据处理能力,完成对待测信号的测量计数;利用Cortex-M3的数据运算与人机交互能力,完成对测量数据的计算与显示工作。该系统可以实现频率测量和占空比测量功能,具有测量精确、稳定性高、调试方便等特点5-7。2 系统工作原理与结构2.1 等精度测量原理等精度测量法的测量原理如图1所示,其最大的特点是实际闸门时间并不是一个固定值,而是一个与被测信号有关的值,且刚好为被测信号周期的整数倍。在启动测量之后,

4、首先给出一个预置闸门时间,然后等待被测信号下一个上升沿的到来。当被测信号的上升沿到达后,将预置闸门时间信号与被测信号进行同步,同时用两个计数器分别对被测信号和标准信号进行计数。当预置闸门时间结束后,被测信号的下一个上升沿到达时两个计数器停止计数。此时会得到两个计数值,然后结合标准信号的频率值,即可得到被测信号的频率8-10。图1 等精度测频法测频原理图假设在一次测量中,实际闸门时间为T,被测信号计数器和标准信号计数器的计数值分别为Na和Nb,标准信号的频率为f0,根据测量原理可计算出被测信号的频率为:f=NaNbf0 (1)式(1)中f为被测信号频率的测量值,若信号的实际频率为f,那么测量的误

5、差为:=|f-f|f100% (2)若忽略标准信号的频率误差,并根据式(1),可得被测信号实际频率的表达式为:f=NaNbNbf0 (3)联立式(1)、(2)、(3)可得:=NbNb100%1Nb=1Tf0 (4)由此可知,采用等精度测量法测量频率时,所选择的闸门时间越长,标准信号的频率越高,频率测量的误差就会越小11-14。假设标准信号的频率为100MHz,闸门时间为1s,那么其精度可达到10-8。另外,占空比的测量方式描述如下:在对闸门时间内标准信号进行计数的同时,还需要对在闸门时间内被测信号高电平时间段的标准信号进行计数15。设两个计数器的计数值分别为Nb和Nc,那么可得到被测信号的占空

6、比为16:D=NcNb100% (5)2.2 系统总体结构频率计系统的总体结构图如图2所示。本系统选用京微雅格公司M7系列的FPGA芯片CME-M7A12N0F484C7,该芯片集成了主流的ARM Cortex-M3内核和高性能FPGA逻辑单元,FPGA逻辑性能高达200MHz,而ARM Cortex-M3内核最大频率可达300MHz。利用AHB(Advanced High performance Bus)总线连接FPGA、ARM Cortex-M3内核和各个外设,实现了高速数据传输。图2 系统总体结构图在图2所示的系统中,锁相环IP核部分用来产生各类时钟信号,AHB接口的FIFO IP核作为

7、FPGA与Cortex-M3内核之间通信的中介。而具有人机交互优势的Cortex-M3内核通过GPIO来输入外部信号以及控制LCD12864进行显示。同时数据通过UART传输至电脑端的上位机软件,用于系统设计与调试。2.3 系统工作原理在图2所示系统中,时钟信号(clk)进入锁相环电路后产生多个高频时钟信号用于各个FPGA模块和Cortex-M3内核工作。被测信号(signal)输入至频率占空比一体化测量模块中进行测量并产生测量数据(Na、Nb和Nc)和数据有效信号(valid),然后利用FPGA写FIFO控制模块将测量数据按照时序要求写入到AHB接口的FIFO中,在每次写完数据之后产生一个写

8、完成信号(w_done_f),并通过一个IO口输出。系统的Cortex-M3内核中有一个32位的GPIO,其中有一位与写完成信号(w_done_f)相连。当Cortex-M3检测到写完成信号后,利用AHB系统总线读取FIFO中的数据,然后对读取的数据进行运算得到被测信号的频率值和占空比值,利用UART将数据传输至电脑端的上位机,并通过GPIO来控制外部LCD12864显示器进行显示。3 FPGA模块设计图2所示系统中的FPGA部分主要用于完成频率和占空比的测量工作,其一体化设计结构图如图3所示, 主要由五个部分构成,分别是预置闸门时间产生模块、同步电路、计数器模块、有效信号产生模块和FIFO写

9、控制模块。在图3中,clk_50M为时钟信号输入端,rst为复位信号输入端,signal为被测信号输入端,clk_S为标准信号输入端,Na、Nb和Nc为三个计数器的计数值,valid为数据有效信号,wen为FIFO写使能信号输出端,wdata为FIFO写数据输出端,w_done_f为写完成信号输出端。图3 测频、测占空比一体化设计结构图3.1 预置闸门时间产生模块预置闸门时间产生模块内部是一个分频电路,将输入的时钟信号(clk_in)分频产生频率为2Hz的时钟信号,通过时钟输出端(clk_out)输出,并将其高电平时间段作为预置闸门时间,其时间长度正好为1s。3.2 同步电路图3中的同步电路是

10、一个D触发器。在该系统中,为了测量的准确性,需要保证实际闸门时间为被测信号周期的整数倍,因此本系统利用D触发器的同步功能,将被测信号作为同步电路的时钟输入端,预置闸门时间信号作为同步电路的D输入端,这样其输出即为与被测信号同步的实际闸门时间。另外,为了能够测量信号的占空比,系统采用门电路的方式,将实际闸门时间信号与被测信号相“与”(AND I),其输出作为被测信号的计数信号,同时将其与标准时钟信号相“与”(AND II),得到闸门时间内被测信号高电平时间段标准信号的计数信号。系统中两个非门(NOT I与NOT II)起到微延时的作用,使系统工作更加稳定,测量更加准确,其本身对信号的逻辑关系没有

11、任何影响。3.3 计数器模块图3系统中有三个计数器模块,其工作原理描述如下:当计数使能端(en)上升沿到达时,计数器开始对由clk端输入的信号进行计数,而计数使能端(en)下降沿到达后停止计数,同时将计数值锁存并通过count_num端输出,然后将计数器内部计数值清零,以用于下一次计数。在该系统中,需要对闸门时间内各个信号的个数进行计数,所以将实际闸门时间信号(同步电路的输出信号)作为三个计数器的计数使能信号。三个计数器中,计数器I用于对被测信号进行计数,计数器II用于对被测信号高电平时间段的标准信号进行计数,计数器III用于对标准信号进行计数。根据测量原理,假设闸门时间内三个计数器的计数值分

12、别为Na、Nc和Nb,标准信号的频率为f0,那么可得被测信号的频率为:f=NaNbf0 (6)占空比为:D=NcNb100% (7)3.4 有效信号产生模块图3中,有效信号产生模块是在每次测量完成产生新的数据之后,将其输出端(valid)置高。该模块利用实际闸门时间信号来产生输出信号,若实际闸门时间信号为高,此时正处于测量过程中,该模块的输出(valid)为低;当实际闸门时间信号变为低之后,数据测量完成,此时将模块的输出(valid)置为高电平。利用该信号可以控制FIFO写控制模块每次将有效的数据写进FIFO。3.5 FIFO写控制模块FIFO写控制模块的输入信号有时钟信号(clk)、复位信号

13、(rst_n)、三个测量数据(Na、Nb和Nc)和数据有效信号(valid),模块的输出信号为FIFO写使能信号(wen)、FIFO写数据信号(wdata)和写完成信号(w_done_f)。该模块就是根据FIFO写数据的时序,在数据有效(valid为高)之后将测量所得的数据依次写进FIFO中进行缓存,在写完之后将写完成信号(w_done_f)置高。如果检测到数据有效信号(valid)为低,则将写完成信号(w_done_f)置低。4 系统软件设计本文所设计的频率计是利用FPGA内嵌的Cortex-M3内核完成数据的接收、处理和显示工作,在Keil开发平台下利用C语言对系统软件进行设计。系统软件的

14、程序流程图如图4所示。系统开始运行后,首先进行系统初始化,包括初始化串口、初始化GPIO和初始化LCD12864等。之后系统就进入了主循环,首先检测写完成信号是否有效,如果无效则一直循环检测,当写完成信号有效之后则停止检测,按照顺序依次读取FIFO地址下的三个数据,然后按照公式计算出被测信号的频率值和占空比值。接下来系统控制串口将数据传输至电脑,并利用GPIO控制外部LCD12864对测量结果进行显示。当上述工作全部完成之后,再次检测写完成信号,如果其仍然有效,则一直循环检测此信号,直到其无效为止,然后回到主循环开始处,执行下一次循环。图4 系统软件程序流程图5 实验结果5.1 FPGA模块仿

15、真根据等精度测量的原理和FPGA模块结构设计,利用Verilog硬件描述语言对测频、测占空比一体化设计结构进行设计,并利用ModelSim软件对其整体进行功能仿真。如图5和图6所示为频率计的整体仿真结果,其中测试信号的频率是5Hz,占空比为80%。从图5中可以看出预置闸门时间、被测信号和实际闸门时间等信号的时序与等精度测量原理图相一致,同时测量所得的三个计数值准确,与测试信号的频率、占空比相符。从图6中可以看出,FIFO写控制模块按照时序要求将测量所得的三个数据依次输出至FIFO中,同时在写完成之后将写完成标志置高。图5 频率计整体仿真结果图6 FIFO写控制模块仿真结果5.2 硬件实现与测试

16、利用Keil软件完成Cortex-M3内核软件的设计工作,并将其产生的HEX文件导入京微雅格的EDA设计工具Primace中,与所设计的FPGA模块一并生成比特流数据,并将其下载至M7开发板中,按照设计结构将外部引脚进行连接,即完成了频率计系统的硬件实现。该频率计利用LCD12864对测试结果进行显示,采用自动量程的方式,无需人工调整。利用本文所设计的频率计对测试信号的频率和占空比进行测试,然后对结果进行分析,如图7所示为测试图。图7 系统测试图表1是本频率计的一组测试数据,通过对被测信号的频率、占空比和测试所得的频率值和占空比值相比较可知,在所给的测量范围之内,频率测量误差均小于10-4,占

17、空比测量误差的绝对值均小于10-2。测量结果的误差分布在同一个数量级,并没有因为频率值的变化而变化,从而达到了等精度测量的目的。表1 频率计系统实验测试数据频率测量占空比测量实际频率值测试频率值实际频率值实际占空比值测试占空比值1Hz0.9999Hz1Hz10%9.99%1.2345Hz1.2345Hz1Hz90%90.01%12.345Hz12.345Hz1KHz20%20.02%12.351Hz12.351Hz1KHz80%79.99%122.54Hz122.54Hz1.25MHz30%29.12%1.1363MHz1.1364Hz1.25MHz90%90.26%6.25MHz6.2499

18、MHz6.25MHz10%9.88%12.5MHz12.499MHz6.25MHz90%89.67%25MHz25.001MHz10MHz20%19.25%50MHz49.999MHz10MHz80%79.38%6 结束语本文以京微雅格公司的M7系列FPGA为设计载体,利用SOPC技术和等精度测量原理,在一片内嵌Cortex-M3内核的FPGA芯片上完成了频率计的设计,可以实现频率测量和占空比测量功能。利用Verilog硬件描述语言完成FPGA模块的设计,并利用ModelSim软件对其进行仿真验证。通过Keil软件完成Cortex-M3内核的软件设计,利用Primace工具进行分析、综合,并最

19、终下载到芯片中,完成系统的硬件实现。通过实际测试,系统可以很好地完成频率测量与占空比测量功能,并达到了等精度测量的目的。参考文献1 张博,曹学沿,房亮. 基于VHDL的简易数字频率计的设计J. 传感器世界,2013(5):29-342 陈尚志,胡荣强,胡合松. 基于FPGA自适应数字频率计的设计J. 中国测试技术,2007,33(2):141-1443 曹浩彤,刘艳. 基于430单片机的简易频率计设计J. 微型机与应用,2014,33(21):92-944 谢尚港,王佳豪,黄继业. 基于FPGA移相倍频方式的频率计设计与实现J. 自动化与仪器仪表,2016(4):29-315 NING Zeh

20、ong, XU Dawang, DONG Zhanyong. Frequency measurement technique based on frequency conversionJ. Journal of Measurement Science and Instrumentation, 2013, 4(2): 146-1496 郝统关,程明. 基于FPGA Nios II的等精度频率计设计J. 电测与仪表,2009,46(518):56-587 黎山峰,杨雷,孙建军. 基于Nios的FPGA频率计设计与实现J. 仪表技术与传感器,2016(8):105-108+1128 黄俊,余水宝.

21、基于STC12C5A60S2的高频高精度频率计的设计J. 微型机与应用,2012,31(17):22-249 曹作宝,包晓敏,彭霄. 基于NIOS II的多功能数字频率计的设计J. 工业控制计算机,2009(10):74-7510 DU BaoQiang, WANG YanFeng, CUI GuangZhao, et al. High-precision time and frequency measurement method combining time-space conversion and different frequency phase detectionJ. Science

22、China(Physics, Mechanics & Astronomy), 2013, 56(11): 2110-211511 Fang Yiyuan, Chen Xuejun. Design of Equal Precision Frequency Meter Based on FPGAJ. Engineering, 2012, 4 (10): 696-70012 王慧. 基于FPGA高速高精度频率测量系统的实现J. 传感器世界,2006(1):27-2913 李鑫彪,王笑怡. 基于FPGA的频率测量仪设计J. 微处理机,2014(10):5-714 井新宇. 基于SOPC的FPGA Ni

23、os II嵌入式等精度频率计设计J. 实验室研究与探索,2012,31(6):217-22015 许可行,刘延飞,羊帆. 基于多周期同步测量的频率计设计J. 国外电子测量技术,2016(9):76-80.16 谢尚港, 王佳豪, 黄继业. 基于FPGA移相倍频方式的频率计设计与实现 J. 自动化与仪器仪表, 2016, 04): 29-31.Design of Equal Precision Frequency Meter Based on FPGA with Embedded Cortex-M3 CoreWANG Lihua1, ZHOU Song-jiang1,2, GAO Shihao1

24、,3, ZHANG Heng1(1 School of Electronic Communication & Physics, Shandong University of Science & Technology, Qingdao, China; 2 Institute of Information Photonics and Optical Communication, Beijing University of Posts and Telecommunications, Beijing, China; 3 Key Laboratory of Universal Wireless Communications, Ministry of Education, Beijing University of Posts and Telecommunications, Beijing, China;)Abstract: In order to solve the case of the traditional frequency meter cannot achieve equal precision in high or low frequency measurement, improve the precision an

温馨提示

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

评论

0/150

提交评论