赵翠芹+黄星寿
摘要:从教学中存在的问题出发,提出《数字电路》课程教学改革举措:更新教学内容,积极推进数字电路与自动化技术的有效衔接和兼容;采纳以点带面和触类旁通的教学方法,寻找规律,提高教学质量;以项目式教学为主导,拓展和丰富课堂教学内容,做好后续课程接续工作。本着应用型人才培养的目标,优化学时安排,切实推进《数字电路》课程教学改革。
关键词:《数字电路》课程;物联网工程;课程教学改革
DOIDOI:10.11907/rjdk.171037
中图分类号:G434
文献标识码:A 文章编号:1672-7800(2017)006-0214-03
0 引言
目前,数字电子技术完全遵守摩尔定律,向着低功耗、智能化和集成化方向发展。CPU从8088的几兆核磁的频率跃进到10Ghz的门槛;TTL电平从5V过渡到0.6V的核心电压[1-2];74系列器件组合的“板上系统”进入到FPGA的SOPC“片上系统”,SOC系统的尺寸集成度达到10nm,并且台积电的10nm技术将会应用在“iPhone 8”、华为Mate9等高端智能机中;2015年六一儿童节,Intel 以重金167亿美元购买Alter公司,Alter是生产FPGA的第二大产商[3];2016年9月Xilinx收购Auviz Systems,Xilinx是FPGA最大的厂商[4];中资背景的基金Canyon Bridge在2016年11月4日以13亿美元的价格收购FPGA第三厂商Lattice[5]。可以预见,FPGA技术将会在并行计算方面得到广泛应用,而《数字电路》课程的内容是FPGA技术的基础。因此,《数字电路》作为物联网工程专业的核心课程之一,倍受重视。从《数字电路》课程教学中存在的问题和应用型人才培养的需要出发,从教学内容、教学手段、教学方法上对《数字电路》的课程教学提出一些改革举措。
1 《数字电路》课程教学中存在的问题
数字电子技术在向智能化、集成化发展的过程中,其在物联网中的应用也日益广泛。“万物互联”时代,数字电路愈显重要。它是嵌入式课程体系的基石,例如单片机原理及应用、计算机组成原理、STM32、A8网关嵌入式原理及应用、物联网通信技术等,都能找到电子技术的影子。《数字电路》课程在物联网专业领域赢获高度重视,同时也对这门课的教学内容、教学手段和教学方法提出了史无前例的挑战[6]。
自2008年以来,笔者一直承担着《数字电路》课程的教学任务。基于多年专业知识系统的学习和教学经验的积累,总结出《数字电路》课程教学中存在的一些问题:一是教材内容陈旧,其与自动化技术很难兼容、衔接;二是知识点盘根错节,令人眼花缭乱,缺乏一种融会贯通的思路;三是在教学安排上,理论教学占比太大,实践操作环节欠缺。如果想做好嵌入式课程体系的传承性、延续性和奠基性工作,就必须对《数字电路》课程进行教学改革。
2 《数字电路》课程教学改革举措
2.1 积极拓展教学内容,实现数字电路与自动化技术的有效衔接和兼容
《数字电路》课程教学中存在很多与自动化技术不能有效兼容的问题。其中,逻辑函数的化简与自动化技术在内容兼容和衔接方面就存在许多障碍。逻辑函数的化简所涉及的公式繁多,与普通代数公式容易混淆,化簡过程中需要一定的技巧,这些确实是一块较难掌握的内容。事实上,化简的工作完全可以采用自动化软件来处理。例如Multisim仿真软件的使用,该软件已经提供了一个虚拟逻辑转换器,能够完成真值表、逻辑表达式和逻辑电路三者之间的相互转换功能[7]。
《数字电路》课程的知识点较为琐碎、零散,规律性不是很强,但是经过仔细研究,发现还是有规律可循的,主要包括组合逻辑电路和时序逻辑电路。组合逻辑电路的设计和分析过程中,最核心的部分就是如何构造真值表,需要明确实现一个功能需要输入变量数和输出变量数,并且给出什么情况取1,什么情况取0,然后根据逻辑功能给出真值表。如出一辙的还有同步时序电路的设计与分析,该部分的重点就是构造状态图。有了真值表和状态图之后,就可以通过数字系统自动化设计软件完成对应的电路设计和测试。由此不难发现,对于组合逻辑电路,首先用Verilog HDL语言对输入输出端口进行申明,用wire或reg进行数据类型说明,接着在数据流描述语句中用assign语句实现相应功能,或行为级描述中用结构的过程always用case和endcase语句来描述真值表。对于时序逻辑电路,用Parameter语句定义电路的状态,用always语句描述时钟控制的状态转换以及电路的次态逻辑。借助自动化技术完全可以做到利用极少数的语句实现关键部件设计,解决HDL语言教学费时费力的问题,从而使学生学习的焦点聚集在真值表和状态图的重点知识上,更注重系统设计和能力培养。
2.2 采纳以点带面和触类旁通的教学方法,寻找规律,提高教学质量
数字逻辑器件不计其数,不可能所有的器件都要在课堂上学习。就是教材中的少量器件,很多学生面对其功能表和逻辑图往往也是一头雾水,看不明白,渐渐对学习失去了信心。实际上按常理也是有规律可循的。需要了解器件端口的有效电平、优先级顺序、同步还是异步等问题。以74161器件为例来进行讨论,其功能表截图如图1所示,逻辑结构如图2所示。
首先,研究该器件的有效电平。从图1的功能表截图可以看出,清零端CR和置数端PE这两个变量是非变量,则表示低电平有效,其它输入输出变量为原变量,高电平有效;从逻辑图中可以看出CR和PE端口前面加小圆圈“。”表示低电平有效。图1的第一行表示清零有效,输出统统为零;第二行表示清零无效,置数有效时,把输入的数据送到输出端;第三行和第四行表示,清零和置数无效、计数使能端CET和CEP只要其中一个无效,电路出于保持状态;最后一行表示清零和置数都无效、CET和CEP都有效时,电路处于计数状态。
其次,功能表中输入端口含有无关项,必然要考虑端口的优先级顺序。图1功能表截图的第一行表明,只要清零端CR有效,封锁了其它的输入端,说明清零端的优先级最高;第二行表示清零端CR无效,置数端PE有效,封锁了其它输入端,说明PE的优先级仅次于CR,其它情况以此类推。
最后,研究端口的同步和异步功能。从图1中功能表截图中第一行和第二行的对比分析可以看出,清零端不需要等待时钟脉冲的边沿到达,直接清零,所以清零端是异步的,可以给它起名为“异步清零端”;置数端需要等待时钟边沿的触发作用到达才把输入的数据送到输出,置数端是同步的,可以称之为同步置数端。
掌握74LVC161的逻辑功能之后,其它如74LS192、74LS160、74LS162、74LS163等器件也很容易做到触类旁通,达到用最少的课时掌握尽可能多的器件知识。
2.3 丰富课堂教学内容,做好后续课程接续工作
数字电路中的一些简单概念,在后续课程中需经常用到。格雷码就是其中应用较为广泛的一种编码,其特点是相邻码组之间只有1位不一样,具有循环相接特性。在卡诺图化简过程中,卡诺图边界上的码就是格雷码;在通信原理课程中,2PSK、QPSK、MPSK和正交幅度调制QAM的星座映射图都是按照格雷码的编码规律来映射的。教材中直接给出了4位格雷码,不容易记,“授人以渔”要比“授人以鱼”重要,要教会学生如何去编写格雷码。格雷码的编码比较简单,可以先编写1个格雷码,然后由1位扩展到2位。例如一位格雷码是0和1,2位格雷码就是在1位格雷码的基础上找一面镜子,利用镜像对称特性,镜子前面和后面的编码顺序逆序排列,然后再在镜子前面编码的最高位设置为0,镜子后面的最高位为1,即可得到2位格雷码是00、01、11、10,以此类推。
异或运算也是一个典型的逻辑运算,其特点是输入不一样时,输出为1,否则为零,即AA=0,AA=1。为了更好地理解异或运算,可以让学生记住一些结论性的知识,比如说遇到0保持,遇到1反转,A0=A,A1=A。在《通信原理》课程中的2DPSK中,相对码到绝对码之间的变换就是简单的异或运算。了解异或运算的特点后,就很容易根据发送码元和参考波形画出后续的码元波形。
还有一个经常出现的怪异现象,在填卡诺图时,经常出现0和1的个数相等且相互交替的情况。遇到这样的化简,多数学生都难以理解,找不到相邻的最小项,很难给出一个简洁的表达式。往往出现这类情况的不是同或就是异或,课堂上教师可以带着学生去做这一类的推导,找出其中的规律。
异或运算的另一个运用主要是奇偶校验,奇校验就是输入的编码中有奇数个1时,输出为1,否则为零。偶校验刚好相反。这在《通信原理》课程中的差错控制编码和《计算机组成原理》课程中的存储器校验中应用比较广泛。根据奇偶校验关系,很容易找出监督位和信息位之间的线性关系,通常也叫线性分组码,包括奇偶校验码、汉明码和循环冗余校验码等。牢固掌握数字电路中的一些基本概念,有助于后续课程的学习。
2.4 以项目式教学为主导,延伸课堂教学内容
《数字电路》是许多后续课程的基础课。教学内容要做好传承性、延续性和奠基性的工作,对课程内容进行适当延伸。实验平台选用红色飓风的FPGA开发板,器件选择Altera公司的EP1C6Q240C8,硬件开发环境选用Quartus ii软件、编程语言选择Verilog HDL语言。阶梯性地选择一些小实验,从点亮一个LED小灯开始,逐步实现跑马灯、任意进制的计数器设计、按键动态扫描、数码管扫描等试验,通过这些实验更好地掌握Quartus ii软件和Verilog HDL语言。
此外,还可以借助Qsys、SOPC Builder插件和Nios II软件来实现相关的综合设计项目。Qsys系统包括Nios II 的处理器、SPI、UART等外设,Qsys系统的IP内核也是多样的,包括PIO IP核、SDRAM IP核、EPCS IP核、DMA IP核、IP核、UART IP核等。在Nios II的软核处理过程中,需要处理好数据总线、地址总线和控制总线,以及揣摩外设的寻址方式和读写时序[7]。在Nios II软件中用学生比较熟悉的C语言编程实现相应的逻辑功能。这种跨平台和系统化的模式有助于提升学生参与项目的积极性。并且,这些内容对单片机、计算机组成原理、FPGA嵌入式系统开发等后续课程的延续性非常有用。
3 结语
数字电子技术的内容是纷繁复杂的,它不是一门孤立的课程,而是后续嵌入式课程的根基。该课程内容的讲授需要兼顾后续課程的连贯性,包括基础知识的衔接、实验内容的过渡、设计项目的可延伸性,以及对创新能力培养的铺垫等,尽可能为后续嵌入式课程打下坚实基础。
参考文献:
[1]孙虹.数字电子技术基础课程教学探讨[J].成才之路,2012(3):72.
[2]潘松,陈龙.数字电子技术基础[M].第2版.北京:科学出版社,2015.
[3]微媒体.欧盟无条件批准英特尔167亿美元收购Altera交易[EB/OL].http://www.vmeti.com/case/125172.html.
[4]21IC中国电子网.Xilinx收购Auviz Systems进军人工智能[EB/OL].http://www.21ic.com/news/mcu/201609/686662.htm.
[5]雷锋网.解析:13亿美元的莱迪思半导体拟收购案背后,仅仅是对FPGA技术的渴望?[EB/OL].http://www.leiphone.com/news/201611/OkcKx0oQMXgPtbR3.html.
[6]张辉杰,土登次仁.利用multisim软件进行逻辑函数的化简与变换[J].西藏科技,2010(10):79-80.
[7]吴厚航.勇敢的芯伴你玩转Nios II[M].北京:清华大学出版社,2016.
(责任编辑:孙 娟)