基于FPGA 平台的数字电子技术实验开发

2023-03-25 09:24:18浩*,韩术,何
科教导刊 2023年4期
关键词:逻辑电路触发器分析仪

曾 浩*,韩 术,何 伟

(重庆大学电工电子基础实验教学示范中心 重庆 400044)

对于电子信息类本科人才培养,“数字电子技术”课程的基本要求是通过对常用电子器件、数字电路及其系统的分析和设计的学习,使学生获得数字电子技术方面的基本知识、基本理论和基本技能,为深入学习数字电子技术及其在专业中的应用打好基础[1]。“数字电子技术”课程实验环节,一直是实现课程目标的重要教学手段。然而,传统的实验通常采用实验箱完成,这样的教学手段存在明显不足,不符合现代工程教育理念[2-4]。目前工程上采用FPGA作为数字电路实现的主要手段[5],所以,选择FPGA 平台作为实验操作的硬件载体,开发与课程教学目标相符合的相关实验,是目前“数字电子技术”课程实验需要解决的问题。

1 实验硬件平台开发

随着FPGA 芯片技术的发展,中小规模的FPGA 平台成本并不高,基本可以控制在1000 元以下,对于数字电子技术实验室建设来说,并不困难。一个基本的数字电子技术硬件平台,核心模块包括FPGA 芯片、AD/DA 信号采集和输出、存储器、时钟源、电源,也包括诸如显示、按键、总线扩展接口等辅助功能的模块,它们的整体结构和连接关系如图1 所示。遗憾的是,为了增强通用性,市场提供的这些FPGA 开发板往往并不包括AD/DA 部分,因而,硬件平台自制扩展AD/DA 通常是实验室需要自行研制的工作。

图1 硬件平台总体框图

扩展板的AD/DA 相关参数可以根据实验内容选择。在数字电子技术实验课程中,AD/DA相关内容的实验教学目的往往是学习AD/DA 的基本使用方法,而不是追求高的性能[6]。课程组自行研制的AD/DA 扩展板选择ADI 公司9280 和9708,它们都是并行接口,使用简单。ADC 的分辨率为8 位,最高采样率达到32MSPS;DAC与之对应,分辨率也为8 位,最高转换率为125MSPS。为了简化模拟电路设计,ADC 之前的模拟电路没有设置抗混叠滤波,但为了消除DAC 输出各次谐波,DAC 输出采用了RC 类型的无源低通滤波器,其通带截止频率为10MHz。

2 实验内容设置

2.1 概述

“数字电子技术”的实验课程内容,应该与课程理论教学密切结合,根据培养方案设计,总共可以是16 或者32 学时。一方面,要通过实验教学,使得学生掌握FPGA 使用的基本技能,另一方面也要求学生理解理论教学中教授的各种基本数字电路的应用和设计方法。对于电子信息类本科学生,“数字电子技术”课程主要内容包括了组合逻辑电路、触发器、时序逻辑电路、存储器、可编程逻辑器件、脉冲整形电路、ADC 和DAC。显然,除了可编程逻辑器件,其他部分都可以作为一个独立单元,设置相应的实验内容。实验内容与理论知识对应关系如表1 所示。该实验内容设置,一方面涵盖了理论教学的主要内容,另一方面,通过实验内容的精心设计,各个实验间具有继承性,后续实验往往需要使用前期实验掌握的技能。

表1 实验内容与理论知识对应关系

2.2 EDA 软硬件开发环境

为了使学生能够应用图1 所示硬件平台,首先要对平台基本结构进行介绍。由于平台中的电源输入、下载线接口、时钟与FPGA 关系这些基本接口是建立正常硬件开发环境必需的内容,所以在第一次实验中应该进行介绍,使得学生能够正确搭建硬件平台。ADC 和DAC 虽然也是重要的硬件组成部分,但由于第一次实验时,理论教学内容尚未对其进行讲述,此时可以不进行介绍。

此次实验的重点内容还是EDA 软件开发环境的建立和基本使用方法学习。不同的FPGA 厂家有着各自不同的EDA 开发软件,其中Quartus 和Vivado 是两款主要的产品,具体使用哪一个取决于硬件平台采用何种FPGA。虽然不同的开发软件细节不同,但整体使用方法是完全相同的。

软件开发环境的使用包括很多必要的步骤。可以通过一个最为简单的逻辑运算实现的例程,使学生经历从建立工程到通过下载线下载程序的完整过程。在教学过程中,建立工程和源文件、完成编译是教学重点,但难点却是实现逻辑仿真、下载线硬件配置的方法。另外,管脚约束和逻辑分析仪的使用由于其复杂性,可以在后续实验中学习。

2.3 组合逻辑电路设计

组合逻辑电路设计实验的目的,一方面是理解常用组合逻辑电路功能,比如逻辑门、译码器、数据选择器等,另一方面则是进一步熟悉FPGA 的软件开发环境。

在这个实验中,设计一个两输入多输出的逻辑电路,输入为两个播键开关,输出接一个7 段数码管。电路设计要实现的功能就是根据播键开关输入4 种状态,分别在数码管上显示4 个不同的数字。电路设计中的一个难点就是显示译码电路设计需要考虑硬件平台显示电路设计,即显示译码电路是在FPGA 内部还是在FPGA 外部。同时,由于显示分为静态和动态两种,显示的数字采用2 个数码管更为合适。

学生通过该实验,一方面可以掌握显示电路的设计方法,另一方面也可以掌握FPGA 管脚分配方法,也就是管脚配置文件或者叫物理约束文件建立方法。还有,考虑大多数高校在培养方案设置中把数字电子技术和EDA 技术作为两个课程,FPGA的硬件编程语言通常是在EDA课程中学习而不是数字电子技术课程,所以,学生实验中源文件采用原理图文件格式更为合适。

2.4 D 触发器应用设计

触发器是设计时序逻辑电路的基本器件,通过实验理解触发器的逻辑功能是一个必要的教学内容。触发器功能相对简单,但通过巧妙设计,也可以实现一些实用的逻辑功能。实验可以选择一个D 触发器,实现对输入时钟信号的二分频。

电路输入是一个固定频率的方波时钟,输出为两个管脚,一个是输入时钟经过非门的输出,另一个则是输入时钟经过D 触发器分频后的输出。为了增加可观测性,通过双通道示波器对输出的两个信号同时进行观察,验证是否实现了二分频作用。为了增加趣味性,在完成基本功能后,可以对D触发器支路进行各种调整,比如采用两个D触发器串联,实现对输入时钟的四分频;通过连接D 触发器输出,观察输出时钟的极性。

2.5 基于计数器的分频电路

时序逻辑电路可以实现很多功能,其中计数器是典型的时序逻辑电路。实验采用集成计数器74160 或者74161来实现分频功能。通过置位法、复位法均可以实现任意进制计数,学生可以在实验中对不同的计数方法进行验证。由于具有了2.3 和2.4 所述实验的基础,学生可以把计数器计数值通过数码管进行显示,也可以通过示波器直接对电路分频输出信号进行观察。

验证设计电路功能的另一个方法就是使用逻辑分析仪。通过计数器实验,要求学生掌握对数据的在线观测方法,即逻辑分析仪的使用方法,是本次实验的另一个重要目的。教学过程中,教师首先要对逻辑分析仪的原理进行说明,特别强调参考时钟的作用。学生在掌握逻辑分析仪原理的基础上,就能够理解逻辑分析仪使用过程中各个参数设置的含义,从而灵活应用。

2.6 按键去抖动电路

根据数字电子技术课程教学大纲,脉冲单元电路是独立的一章,涉及施密特触发器、单稳态触发器、多谐振荡器、555 电路。但这些器件在实现原理上,需要依靠外围阻容器件,所以并不能完全靠FPGA 实现,无法在本实验硬件平台上完成。事实上,脉冲单元电路最为重要的作用是对数字信号的整形,因而,设计一个按键去抖动电路,可以帮助学生理解脉冲整形的实际工程意义。

按键去抖动电路有不同的实现方法,采用单稳态触发器较为简单,也可以采用D 触发器等其他基本触发器。

在观测去抖动效果时分两个步骤:第一步,把一个机械按键作为电路输入,按键输入信号连接一个计数器的时钟,计数器的计数值作为输出,用FPGA 片外数码管显示,显然,数码管显示的数字就是按键产生脉冲的数量。第二步,在按键输入和计数器之间接入去抖动电路。通过两个步骤下数码管计数值的变化,可以让学生清楚观测到去抖动电路的效果。

2.7 正弦查找表的建立和应用

虽然在理论课程大纲中存储器所占学时远不及组合逻辑和时序逻辑电路的内容,但存储器却是数字电子设备中非常重要的组成部分,所以,针对存储器的实验环节必不可少。FPGA 具有建立片内存储器的功能,既支持ROM也支持RAM。实验内容是建立一个基于ROM 的正弦查找表,然后通过时序逻辑电路读取该查找表,并用逻辑分析仪工具进行观察。

实验首先要求学生采用MATLAB 等辅助工具,建立具有一定bit 宽度的定点正弦数据,该数据为一个完整的正弦周期,数据长度决定于采样率和正弦频率。然后把该正弦数据按照FPGA 数据文件格式要求,生成一个可以加载进ROM 的数据文件。接着就是建立工程和源文件,源文件中包括了ROM 正弦查找表,也包括了根据时钟CLK循环读取正弦查找表的时序电路,用于产生地址数据。为了循环读取ROM,采用一个计数器产生ROM 的地址数据。最后,为了观察读取数据是否正确,采用逻辑分析仪观察,并以图形方式显示。显然,读取ROM 数据的时钟频率,会影响逻辑分析仪中显示正弦波的频率。

该实验内容不仅仅让学生掌握了存储器的基本使用方法,对于计数器、逻辑分析仪、外部输入时钟等前期实验涉及的知识和技能也起到了进一步巩固的作用。

2.8 数据采集方法

在现代的信号处理中,把模拟信号转换为数字信号,往往是实现系统功能的首要步骤。而且随着信号处理带宽的增加,ADC工艺越来越复杂,使用方法也越来越复杂,涉及各种工作寄存器配置、高速数据接收、多ADC 间信号同步等复杂问题。为此,让学生掌握简单的ADC 使用方法,能够为学生奠定良好基础。

实验首先需要在基本硬件平台上,加上前文提到的独立设计的信号采集输出子板。9280 型号的ADC 虽然不需要进行复杂配置,但采样时钟控制、数据接收需要学生设计合理的逻辑电路来完成。实验除了基本软件编程要求,输入信号建议采用外部信号源而不是板上晶振,这一步骤有利于学生掌握信号源仪器使用方法。观察数据则是通过逻辑分析仪,对ADC 输出数据以图形方式显示,从而可以直观确定ADC 采样数据是否正确。作为提高要求,可以让学生学习片内PLL改变时钟频率的方法,从而控制采样率。

2.9 波形发生器设计

在信号处理中,DAC 的使用和ADC 的使用往往是同时需要完成的工作。与ADC 实验相同,DAC 实验也需要前文所述的扩展板。通过DAC 转换时钟和接口数据操作,设计一个信号发生器,输出一定形式的模拟信号,使学生掌握DAC 的基本使用方法。

为了与前期实验相结合,DAC的数据来源可以有两种选择,一是采用基于ROM 的正弦查找表,二是采用ADC采样获得的数据。这样的设计可以提升作为最后一次实验的综合性。当然,信号波形可以是正弦,也可以是其他任意波形。DAC 的转换时钟频率可以通过计数器分频功能降低,也可以通过PLL 倍频功能提高。DAC 输出可以通过示波器进行观察,并可以通过逻辑分析仪观察波形进行对比。

由于该实验涉及信号源、示波器这些仪器的使用,也涉及时钟、ROM、计数器、逻辑分析仪等基本模块的使用,能够大大检验学生综合设计和调试数字电路的能力。

3 建设效果

重庆大学“数字电子技术”课程2020年在教育部“双万计划”中被评为首批国家级一流课程,其实验内容建设由重庆大学国家级电工电子基础实验教学示范中心完成,是一流课程建设的重要组成部分。采用前文介绍的实验平台和实验内容,已经在电子信息类本科学生中开展了连续3 届学生的教学实践检验。从高年级学生发展情况可以看出,“数字电子技术”实验课程改革显著提升了学生的实践能力、创新意识,提升了学生对于专业的学习兴趣。首先,通过实验,学生对数字电路的知识体系有了较为清晰的认识,不仅掌握了组合逻辑和时序逻辑电路的设计方法,也认识到了存储器、可编程逻辑器件、ADC 和DAC 这些基本数字电路器件的重要作用。其次,学生掌握了FPGA这一电子信息技术领域重要实现工具的使用方法,为后续EDA 课程、数字信号处理、通信原理等课程奠定了良好基础,特别有效支撑了这些课程的课程设计环节。另外,学生利用FPGA 使用技能,在电子设计竞赛、互联网+大赛、大学生创新训练计划、电子综合设计、毕业设计等等综合性的设计活动中,表现优异,成果也更加丰富。

4 总结

基于FPGA 平台的“数字电子技术”实验课程平台开发,为相应的实验内容开发提供了良好的硬件基础。合理的实验内容开发,有效提升了学生对数字电路理论知识的全面掌握,为后续课程学习奠定了良好基础。课程建设方法投资小,容易掌握,具有良好的可复制性。

猜你喜欢
逻辑电路触发器分析仪
Sievers分析仪(苏伊士)
流程工业(2022年3期)2022-06-23 09:41:06
一种用于深空探测的Chirp变换频谱分析仪设计与实现
数字电子时钟逻辑电路的教学设计与仿真
电子制作(2019年20期)2019-12-04 03:51:28
主从JK触发器逻辑功能分析
电子世界(2017年22期)2017-12-02 03:03:45
使用触发器,强化安全性
基于软件技术的组合逻辑电路模型分析与实现研究
短区间自动闭塞车站接近区段逻辑电路设计
Endress+Hauser 光学分析仪WA系列
福禄克 电池分析仪Fluke 500系列
浅谈时序逻辑电路
科技视界(2013年3期)2013-08-15 00:54:11