数字电子技术课程中FPGA 技术教学内容的改革

2015-11-28 03:07李兆光
山西电子技术 2015年2期
关键词:电机电路数字

李兆光

(中北大学信息与通信工程学院国家级电工电子实验教学示范中心,山西 太原 030051)

我校的通信工程专业是全国高等学校的特色专业。我校通信工程专业培养具备通信技术、通信系统和通信网等方面的知识,具有较强的创新意识、自学能力和工程实践能力,能在通信领域中从事研究、设计、制造、运营及在国民经济各部门和国防工业中从事开发、应用通信技术与设备的高级工程技术人才。数字电子技术基础课是一门对于通信专业学生很重要的技术基础课,它对学生后续专业课的学习起到了直接的决定性作用。因此,数字电子技术的教学内容的选择在受课时限制的前提下,主要考虑为后续专业课程服务,其次考虑学科的需要。

另外,信息技术的迅猛发展、应用领域的不断拓宽以及学科交叉的广泛深入且综合程度的不断提高,都给教学带来了前所未有的挑战。而数字电子技术课的教学内容应该紧密联系现代电子技术的发展,注重适应市场经济的需求,且教学内容和教学手段都应为各专业服务,而要实现这一目的就可以借助FPGA 技术这一工具。

1 FPGA 技术

通信工程专业的学生在学习专业课的时候,极少有机会参加实际工程设计,往往感到学校学到的理论知识很难与实际工程产品联系起来。教科书上多是讲解原理性的内容,在实际产品设计时,如何将这些理论及公式用具体的电路或硬件平台实现出来,仍然是一个巨大的难关。学生虽然可以采用MATLAB 等软件对通信工程专业的基本理论和算法,进行直观地验证其正确性,并查看仿真结果,但这类软件的仿真毕竟只停留在算法或模型的仿真上,与真正的工程设计及实现是两个完全不同的概念,FPGA 技术很好地解决了这一问题。FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL 等可编程器件的基础上发展起来的产物。FPGA 技术本身就是基于工程应用的技术,其仿真技术可以很好地仿真产品实际的工作情况,尤其是时序仿真技术,在计算机上通过了时序仿真的程序设计,几乎不再需要修改就可以直接应用到工程中。这种设计、验证、仿真的一体化方式可以极好地将理论与工程实际结合起来[1]。

2 数字电子技术课程的具体改革

2.1 课堂教学中加入硬件描述语言的讲解

首先对数字电子技术课程进行教学内容的改革。把数字电子技术课程分成两门课(《数字逻辑电路》和《数字电子电路》)进行学习。在《数字逻辑电路》这门课中仍主要讨论组合电路和时序逻辑电路的分析和设计,使学生学习数字电子技术方面的基本知识。《数字电子电路》部分除了讲解门电路的基本工作原理、脉冲信号的产生与整形、半导体存储器及A/D、D/A 的基础,还加入10 个学时左右的FPGA 技术内容的讲解。在FPGA 技术的教学内容上,简要介绍FPGA的基本概念、发展历程、硬件描述语言和开发环境。这里面重点说一下硬件描述语言的讲解的注意事项。

硬件描述语言HDL 是FPGA 技术的重要组成部分,硬件描述语言主要用于编写设计文件,在可编程逻辑器件PLD中建立电路模型。VHDL 和Verilog HDL 是目前两种最常用的硬件描述语言。这两种硬件描述语言都采用了一般计算机高级语言的语言形式和描述风格。由于大多数院校的学生在学习“数字电子技术”课程之前都开设了C 语言课程,学生具有一定的C 语言编程能力。所以,在理论课教学中,要强调的不是语言的规范和格式,而是它不同于其他高级编程语言的几个重要特征,下面分别介绍。

指导学生用并行和延时的概念来编写HDL 语句。硬件描述语言HDL 是用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式,因而必然存在一些硬件特征如并行和延时等。以图为例来说明,在图1 中,三个传输门在电路传输过程中具有同时传输的特点,我们把这称之为并行传输电路;同时在实际中,所有的门电路都有传输延时。因而,在描述图1 所示的电路时,用VHDL 语言中的并行赋值语句来体现各个门电路的并行特点,用信号赋值语句来体现传输延时,如图2 所示[3]。

图1 并行传输电路图

图2 并行传输语言描述

指导学生编写具有记忆功能的程序。时序电路具有记忆功能,可以保存历史数据,因而硬件描述语言也有相应的语句,即用进程语句来表示记忆功能,仅以下面这段程序加以说明。从这段程序可以看出,它执行的功能是在时钟脉冲CLK 上升沿的作用下,电路可以记住y(t)、y(t-1)和y(t-2)时刻的值。其仿真图如图3 所示。从图3 中可以得到,e 表示y 当前时刻的值,即y(t),如14;e1 表示y 前一时刻的值,即y(t-1),如13;e2 表示y 再前时刻的值,即y(t-2),如12,这样在电路的输出端通过取得e、e1 和e2 三个值就可以获得y(t)、y(t-1)和y(t-2)的值。

图3 用进程语句来表示记忆的功能仿真图

指导学生用硬件电路的思想来编写HDL,不要编写出在实际中是不存在的电路。如果编写出这样的电路,程序在编译过程中是不可综合的。举例说明,实际中,边沿触发器仅仅在时钟脉冲沿的时候发生变化,在其他时刻保持不变。如果编写出如下所示的程序,在进行编译的过程中是无法通过的。除了以上几点需要注重外,还应该对重点句型如进程、信号和状态机等进行讲解。

2.2 在实践中引入FPGA 技术

在实践教学过程中利用多媒体教学环境,以具体实例详细介绍了一款可编程逻辑器件的开发软件及开发过程,包括设计文件的输入、编译、仿真及下载测试,使学生了解FPGA技术开发的过程。QuartusⅡ软件是Altera 公司为开发其可编程逻辑器件而推出的专业软件,是一款验证兼创新性软

件[2]。

在实践教学中,教师可以以QuartusⅡ软件为例来讲解FPGA 的设计过程。例如,在讲解时序逻辑电路设计的时候,可以给出以下设计题目。

试设计一个两台电机控制电路,要求在按钮k 按下后,第1 台电机运行6s 后,第2 台电机开始运行,当第2 台电机运行8 s 后,两台电机同时停止运行[3]。该电机控制电路的原理框图如图4 所示。其中k 为启动按钮、M1 为电机1 控制信号、M2 为电机2 控制信号、D[7..0]为定时器预置时间信号、td 为定时器时间到信号、t 为预置/定时控制信号[2]。

图4 电机控制电路的原理框图

根据题意,可以引导学生抽象得到该题目的状态及状态转换图。s 0 为初始状态,定时器预置时间为6 s,电机M1、M2 停止运行,当按钮k=0 时,转移到状态s1;s1 状态时,电机1 运行,电机2 停止,定时器定时到6 s 后,转移到状态s2;s2 状态时,电机1 运行,电机2 停止,定时器预置时间8 s,转移到状态s3;s3 时,电机1 运行,电机2 运行,定时器定时到8 s 后,转移到状态s0。引导学生设计完状态及状态转换图后,可以直接在软件上创建工程、创建文件、文本输入及编译和仿真。在软件上得到该控制电路的时序仿真图如图5 所示。由仿真图5 可以看出,该电机控制电路实现题目要求的逻辑功能。为了进一步验证其正确性,通过下载测试可以观察其运行工程。

图5 电机控制电路的仿真图

从以上的例子可以看出,通过仿真波形可以直观观察到电路内部的工作时序和竞争冒险等现象。选用具有可编程器件PLD 作为下载设计目标文件的硬件平台,便于学生进行下载调试和直观观察,达到了验证其设计的正确性的目的。

2.3 FPGA 技术的引入

引入FPGA 技术要和本专业相联系,更好地实现为专业服务的目的。

数字电子技术作为一门专业基础课,其基础理论知识以及分析方法和设计将为后续的专业课奠定一个良好的理论基础。在引入FPGA 技术时,通过引入与本专业相关的实例,更好地实现专业基础课为专业服务的目的。

2011 年全国电子设计大赛E 题,要求设计一个简易数字信号传输性能分析仪,该题目中有一部分要求设计一个伪随机信号发生器用来模拟信道噪声,伪随机序列是如同式1所示的M 序列。

M 序列是目前广泛应用的一种伪随机序列,其在通信领域有着广泛的应用,如扩频通信、卫星通信的码分多址、数字数据的加密、同步、误码率测量等领域。教师给出这个题目后,引导学生查阅M 序列相关的理论知识,然后根据M 序列的原理编写如下代码,然后在软件上得到该M 序列的时序仿真图如图6 所示。

图6 M 序列的时序仿真图

实践表明,通过讲解和本专业相结合的设计实例,可以使学生通过设计对专业知识有深入的理解。另外,该设计题目整体难度适中,具有一定的趣味性,可以进行硬件的验证,加深学生对FPGA 技术和专业课程的理解和认识。

3 结束语

数字电子技术基础课是一门对于通信工程专业很重要的技术基础课。通过把FPGA 技术引入到数字电子技术课程中,为学生提供了实践创新平台,有利于激发学生的创新意识,提高学生的工程能力,也更好地实现了数字电子技术课为专业课服务的目的。

[1]艾明晶.基于自动设计方法的数字逻辑课程改革研究与实践[J].实验技术与管理,2012,28(2):151-155.

[2]夏路易.基于EDA 的电子技术课程设计[M].北京:电子工业出版社,2009.

[3]张丕状,李兆光.基于VHDL 的CPLD/FPGA 开发与应用[M].北京:国防工业出版社,2009.

猜你喜欢
电机电路数字
电路的保护
泵用电机水润滑轴承选择与应用
关于电机滚动轴承的选择与计算
瞻望电机的更新换代
解读电路
巧用立创EDA软件和Altium Designer软件设计电路
基于MATLAB模拟混沌电路
答数字
电机隐忧
数字看G20