基于FPGA,的数字扫频系统SOC设计与验证

邵志成,彭文慧,肖扬腾,王璐,张海鹏

(上饶师范学院物理与电子信息学院/江西省电动汽车部件智能化工程技术研究中心,江西 上饶 334001)

数字扫频系统可以广泛应用于为数值逻辑电路提供电源和时钟源,也可为数字系统和数模混合系统〔包括基于RTD(共振隧穿器件)的MVL(多值逻辑)电路与系统〕提供时钟源或者脉冲信号源,可用于变频调速、数字ICs(集成电路)能耗管理、数字ICs动态特性测试、检测电池性能、动态扫描驱动数字化显示终端、动态扫描驱动LD/LED 发光装置、同步与调速数字化传感、数据传输,还可以为LTE通信系统清频降噪,为电子、通信、计算机系统测试提供激励源[1-7]。与传统扫频仪专用于测量模拟电路的频率特性相比[4-6],数字扫频系统的应用范围大大拓宽。传统的数字扫频仪大多采用MCU(微控制器)、PLL(锁相环)与DDS(直接数字频率合成器)技术相结合,实现数字信号控制变频正弦波输出[3,4,6]。

与传统数字扫频仪相比,本文中所阐述的数字扫频系统设计在功能上存在本质的区别,所实现的功能为手动/自动离散数字扫频方波脉冲输出。因此,在硬件结构实现上,数字扫频系统设计无需MCU 和DDS,只需含有片内PLL宏模块配置的FPGA(现场可编程门陈列)器件,具有结构简单、成本低、小型化、轻量化和嵌入式等特点。

本数字扫频系统设计的主要目的有:首先,为基于GaN 基RTD 的MVL电路提供工作和测试用调频脉冲电源和时钟信号源;其次,提供兼顾工业产品缺陷超声与兆声检测应用的可调频数字脉冲信号源,如光学镜片或半导体晶片的微小瑕疵检测等;再次,促进数字ICs与系统设计专业人才培养,提升产业工程技术人员的科技创新能力。

1.1 数字扫频系统功能要求

要求所设计的数字扫频系统SOC(System On a Chip)能够实现对200MHz、100MHz、80MHz、40MHz、20MHz、10MHz、8 MHz、4 MHz、2 MHz、1MHz、800k Hz、400k Hz、200k Hz、100k Hz、80k Hz和40k Hz等频点方波脉冲的手动及或自动双向扫描输出。

1.2 系统设计约束条件

采用基于仅配置了两个PLL单元,且受PLL单元可编程倍频比和分频比内在约束,仅能够提供系统设计所需的少量频点输出的Cyclone IV E speed 8 EP4CE6E22C8 FPGA 器件的HY-601型FPGA 开发板。该芯片具有92个可编程I/O 口(其中核心验证版已占用11个,剩余可用81个)、3.3V TTL(晶体管晶体管逻辑)I/O 电平、5.0V DC 电源供电和可上拉5.0V TTL I/O 电平,板上50MHz时钟源,支持最高频率1GHz数字I/O,提供片上互补1GHz数字I/O 引脚。

数字扫频系统整体功能比较复杂,直接进行逻辑设计比较困难。那么,怎样才能将复杂的系统设计简化呢? 这是复杂系统设计的难点所在,解决方法就是采用模块化设计。具体步骤是:结合设计约束条件,根据要实现的系统总体功能,按照局部功能的相对独立性和完整性,对整个扫频系统进行子系统/模块层次化划分,并进行接口定义——即确定各个模块/子系统之间的互连关系。

首先,要在FPGA 芯片中实现比板上石英晶振提供的时钟频率更高的频点,必须依靠PLL 宏模块倍频,而单纯依靠两个PLL宏模块单元级联不足以实现所有上述频点数字方波脉冲输出,想要获得功能要求的所有输出频点,需要进行二进制分频模组级联配合。因此,需要利用两个PLL 宏模块单元级联倍频和分频产生一级主频点(800 MHz、80MHz、8 MHz、800k Hz和80k Hz)。每个主频点需要一个二进制分频模块产生对应二级频点,共需要5个,每个单独作为一个模块使用,构成一组,称为二进制分频模组。该功能单元可以实现完整的数字倍频分频功能,包含两个宏模块和一个由5个相同模块构成的模组,并可划分为数字倍频分频子系统。

其次,要求能够实现自动/手动两种扫频模式,能够对所产生的16个频点进行可逆连续扫描选择。该功能需要自动/手动控制模块、循环计数扫描模块和输出频点选择模块三个模块有机结合才能实现,可划分为手动/自动双向扫描控制子系统。

最后,要求能够给出所选输出频点的频率值,即实现输出方波的频率值测量与输出,这需要频率计控制模块、多位16进制计数器模块、多位16进制数锁存器模块、频率测量算法模块等多个模块有机结合才可实现,并划分为频率计子系统。

综上,数字扫频系统原理框图如图1所示。按照功能相对独立性和完整性,整个数字扫频系统划分为三个子系统,分别为数字倍频分频子系统、手动/自动扫描控制子系统和频率计子系统。

图1 数字扫频系统原理框图

采用Quartus II进行数字集成系统设计与验证,在模块和子系统设计与验证过程中,要求激励波形文件名必须与对应模块/子系统的实体名一致,系统级编译和仿真才能正常进行。模块化设计遵循层次化设计规则,要求系统、子系统/模块层次对应的路径层次一致。对于当前常用的PC机和笔记本电脑,如果仿真时间设置过长,仿真结果数据量过大,输出结果图形化转化时间过长,就会严重影响仿真时效,一般根据当前功能模块或系统层次的时钟频率、输入信号完整性、输出结果完整性需求计算仿真时间上限并略留余量,最高一般不超过100μs。在完成每个模块/子系统验证且正确无误后,创建出对应的芯片符号。

解决了复杂系统设计的难点并明确了每个子系统和模块的逻辑功能后,接下来的重点任务之一是简便快捷地设计实现各个模块和子系统。一种较好的方法是:利用马克思主义的普遍联系观点,根据每个模块和子系统的功能要求,从已有的工作积累中找到逻辑功能本质相近或者相同的功能单元,通过修改原设计令其符合当前设计要求。如果在已有工作积累中没有找到所需目标,则按照正常的自底向上的数字电路设计方法和步骤,自主设计模块和构建子系统。

3.1 数字倍频分频子系统设计与验证

数字倍频分频子系统设计由两个PLL 宏模块单元级联设计倍频和分频模组,产生一级主频点(800 MHz、80MHz、8 MHz、800k Hz和80k Hz),以及一个由5个4位二进制分频模块组成的并行二进制分频模组。下面分PLL倍频分频模组和二进制分频器模块两部分论述。

3.1.1 PLL倍频分频模组设计与验证

PLL倍频分频模组采用宏模块设计方法设计(如图2所示)。图2中,两个PLL 宏模块分别为pllmd0和pllmd1,ck50M 为开发板上晶振时钟信号输入端,reset为复位端,ck800M ~ck80k这5个输出端依次分别对应上述五个频点,ck8M 同时作为pllmd1的输入时钟信号。在PLL 宏模块设计过程中,要求每个模块输入时钟频率的设置必须与实际要求输入时钟频率一致,否则无果。图3为其仿真验证结果,由图3可见,所实现的倍频分频功能正确。

图2 PLL数字倍频分频模组原理图

图3 PLL数字倍频分频模组验证结果

3.1.2 4 位二进制分频器模块设计与验证

4位二进制分频器模块cnt4b的验证结果如图4所示,其中,clr为复位控制端,en为使能控制端,clk为时钟输入,co为计数溢出输出,q[3:0]为计数分频结果输出。由图4可见。cnt4b的验证结果正确。

图4 4位二进制分频器模块验证结果

3.2 手动/自动双向扫描控制子系统设计与验证

手动/自动双向扫描控制子系统由自动/手动控制模块、循环计数扫描模块和输出频点选择模块三个模块按逻辑关系互连构成,下面分别论述。

3.2.1 自动/手动扫描切换控制模块验证

带使能控制的自动/手动扫描切换控制模块automan的功能本质上与数字选择器的逻辑相同,所需选择的模式有两种,故以2选1数据选择器设计实现,其验证结果如图5所示,其中,en为使能信号,a为选择地址输入信号,c[1:0]为模式输入信号,y为输出信号。由图5可见,当a=0时,y输出模式c0的信号,反之输出模式c1的信号,结果正确且完整。

图5 自动/手动扫描切换控制模块验证结果

3.2.2 循环计数扫描模块设计与验证

双向扫频功能与可逆循环计数器功能本质相同,故该模块采用模16的可逆循环计数器设计实现,其验证结果如图6所示,其中,clk为时钟信号,clr为复位信号,en为使能信号,s为扫描方向控制信号,ld为置数控制信号,data对应d[3:0]为置数输入数据,q[3:0]为计数输出信号,co为加计数溢出信号,bb为减计数溢出信号,结果正确且完整。

图6 可逆循环计数扫描模块设计与验证结果

3.2.3 输出频点选择模块设计与验证

输出频点选择功能与数据选择器逻辑功能本质相同,所需选择频点数为16个,故16路频点选择模块采用16选1数据选择器基于广义译码原理和多路选择分支代码结构设计实现,其设计与验证结果如图7所示,其中,c[15:0]为16路输入频点,a[3:0]为选择地址输入端,en为使能控制端,y为输出端。由图7(b)可见,结果正确且完整。

图7 输出频点选择模块设计与验证结果

3.3 频率计子系统的设计与验证

频率计子系统的功能进一步划分为频率计控制信号发生子模块freqtestctl、8位16进制计数器子模块hexcnt32、8位16进制锁存器子模块reg4x8latch和频率算法子模块freqinterpre,按接口定义互连得到其子系统原理图如图8所示。

图8 频率计子系统原理图

3.3.1 频率计控制子模块

频率计控制子模块的主要功能是确定待测数字信号fclk频率测量的时间长度,并在测量时间开始和结束时进行对应的复位(rst)、使能(en)和置数(ld)控制。这里采用待测信号fclk及其二分频信号的或逻辑设计实现复位控制,采用待测信号fclk的互补二分频逻辑设计实现使能和置数控制。

3.3.2 8 位16进制计数器子模块

8位16 进制计数器子模块的标准时钟clk采用器件能够支持的最高频率,即F=1GHz,用于记录测量时间内标准时钟周期数n,所以系统能够测量的频率上限亦同。这里之所以采用8位16进制计数器子模块,是因为FPGA 中的数学运算基于二进制逻辑实现,频率算法子模块也是如此,这样可以简化子系统设计并得到正确测量结果、缩短设计周期和降低子系统功耗等。

3.3.3 8 位锁存器子模块

8位锁存器子模块用于记录并保持测量时间结束时8位16进制计数器子模块的计数输出结果。8位16进制计数器子模块和32位锁存器子模块采用4位二进制锁存器模块Verilog HDL程序代码扩展位宽设计实现。

3.3.4 频率算法模块

频率算法模块的标准时钟clk频率为1GHz,待测信号频率的整数部分s和余数部分y与标准时钟频率F满足如下关系:

频率计子系统的所有子模块验证比较冗长,不再赘述,此处直接给出频率计子系统的系统级验证结果,如图9(a)、(b)所示。图9(a)为校准验证,待测脉冲信号fclk频率固定为5MHz,校准测量结果也为5MHz,表明频率测量功能准确无误。图9(b)为随机频率待测信号fclk验证,其中,s输出为频率测量值的整数部分,y输出为频率测量值的余数部分,q[31:0]为中间观测端输出,即n的值。例如:n=’h70时,利用算法表达式(1)和(2)分别验证得到s=’d8929571、y=’d48,表明随机频率待测信号测量结果正确。

图9 频率计子系统验证

在完成数字扫频系统的子系统和模块设计与验证,并创建对应芯片符号后,将各层子模块、模块/子系统目录下对应的每组设计文件拷贝粘贴到顶层系统目录下,然后在顶层系统目录下创建顶层系统项目及空白原理图文件,接着按照图10创建顶层系统电路原理图(其中的PLL 倍频分频模块直接用图4)并进行编译,然后删除顶层系统目录下除了PLL宏模块及顶层项目设计文件以外的所有文件。图10中,输入输出引脚功能如表1所示。根据表1中的输入引脚功能和控制与输入逻辑要求创建激励波形文件,并进行顶层系统级仿真,验证结果如图11所示。

表1 数字扫频系统输入输出引脚功能

图11 数字扫频系统顶层验证

由图11可见,基于低PLL宏模块配置FPGA 器件所设计的手/自一体数字扫频系统实现了给定16个频点方波脉冲的手动/自动一体化可逆循环扫描输出功能,对应fq的输出结果:Scd=0为降频扫描输出,a_mkey=0为自动扫描输出(对应内部计数时钟y);并能够输出所选方波脉冲的频率值,fi的输出结果对应频点频率测量值整数部分,fd的输出结果对应其余数部分。当扫描频率较高时,在频点切换时刻附近频率测量值可能出现误差,建议实际测量时使用较低的扫描频率,确保扫描一次一个频点的信号出现一个完整周期以上,即可解决该问题。

本文面向教学应用、产业科技创新培训应用以及数字ICs与系统、工业产品质量数字化检测等应用,首先阐述了数字ICs与系统SOC工程项目的设计开发方法和步骤,然后参照该设计开发方法和步骤,采用组合设计方法与模块化设计方法相结合的方法,基于Quartus II软件平台,描述了基于低PLL 宏模块配置FPGA 器件的手/自一体数字扫频系统的工程化设计开发与验证。研究结果表明:一方面,通过调研了解并结合产业实际应用需求,据此选择数字ICs与系统设计开发项目,参照数字ICs与系统工程项目的设计开发方法和步骤,组织团队投身项目的工程化设计开发实践,对于具有一定电子相关专业基础的专业技术人才来说,能够有效引导他们联系和运用所学的同时,更进一步领悟数字ICs与系统的工程化设计思想,掌握和巩固其工程化设计开发方法和步骤,体会和把握“采用合理的设计方法可以大大简化复杂系统的设计开发”要旨,提升数字ICs与系统产业科技创新能力;另一方面,所设计开发的数字扫频系统成功实现了项目总体要求限定的“手/自一体双向可逆循环频点扫描方波脉冲输出及输出方波脉冲频率值测量”的系统功能。

该手/自一体数字扫频系统主要面向纯数字应用或者数模混合系统应用提供可离散变频的方波脉冲源,在本质上与传统的面向模拟电路与系统频率特性测试的扫频系统[3,4,6]不同,因此,硬件结构上无需MCU,DDS,片外L、C和其他模拟单元电路。由于受所选FPGA 器件频率性能限制,本研究所设计的手/自一体数字扫频系统的上限频率最高只能达到1GHz,如要满足面向数字通信系统的应用[5]和医学影像应用[7],则需要选用性能更高的FPGA 器件,但设计开发的方法和步骤大同小异。

猜你喜欢 频率计扫频倍频 正弦扫频速率对结构响应的影响分析航天器环境工程(2020年3期)2020-11-04基于微波倍频源太赫兹频段雷达散射截面测量雷达学报(2018年1期)2018-04-04宽带高速扫频信号源的高精度功率控制设计电子测试(2017年12期)2017-12-18带电等效阻抗扫频测试的互感器绕组及外绝缘隐患快速识别新技术的应用研究电子制作(2017年8期)2017-06-05一种线性扫频干扰信号的参数估计方法通信技术(2016年12期)2016-12-28基于LBO晶体三倍频的激光实验系统的研究大庆师范学院学报(2015年3期)2015-12-24脉冲单频Nd∶YVO4激光器及其倍频输出特性研究中国光学(2015年5期)2015-12-09无晶振输出频率计的自动检定装置研究电测与仪表(2014年16期)2014-04-22基于等精度测量原理频率计的设计与实现浙江科技学院学报(2014年6期)2014-02-28基于51单片机的数字频率计设计河南科技(2014年3期)2014-02-27

推荐访问:验证 数字 设计