论文部分内容阅读
摘要:“数字电路逻辑设计”是电气信息类专业的核心课程,使用信息技术改造该课程,对于提高教学质量、培养学生工程实践能力至关重要。此文结合企业中工程类设计的项目,从培养工科学生工程应用能力的目标出发,提出课程改革的必要性,给出了一个综合设计项目实施的例子,提出了对“数字电路逻辑设计”课程实施教改的方法,对教改工作做了有益的探索。
关键词:数字电路逻辑设计;教学改革;综合设计项目
作者简介:梁向红(1964-),女,安徽巢湖人,常州大学信息科学与工程学院,副教授;何宝祥(1962-),男,江苏苏州人,常州大学信息科学与工程学院,副教授。(江苏 常州 213164)
基金项目:本文系教育部“EDA工具提升电子信息类基础课程”(项目编号:教高司函[2009]59)的研究成果。
中图分类号:G642.3 文献标识码:A 文章编号:1007-0079(2011)10-0069-02
常州大学是以培养工程类人才为主的学校,我们的学生将来可能成为研发工程师,设计工程师,生产工程师,他们会成为工程人才的中坚力量,在推动经济和社会发展中起着重要作用。[1]我们深刻地认识和掌握工程教育的特点和规律,努力遵循工程教育教育的特点和规律,落实到教学工作中就是要顺应教与学的规律,即从实践到认识,从感性认识到理性认识,再从认识到实践。在教学过程中要使学生真正掌握所学知识,就要采用“做中学”的方法,尽可能借助“项目”来组织教学,要让学生亲自经历从研发到工程项目运行的全过程,通过各种典型项目熟悉和掌握课程内容。这种学习方法还有一个优点,就是在教学过程中,学生是认识活动的主体,教师是学生认识活动中的组织者和引导者。学生的主动学习是主体地位的体现。教师的主导作用和学生的主体作用相结合,能够更有效地完成规定的教学任务,最终实现高校培养社会需求人才的目标。[2]
一、工程类项目设计
随着电子技术的快速发展,出现了很多新的设计方法和大量新的器件,特别是大规模逻辑器件的应用,为数字电子系统的设计带来了极大的灵活性。由于大规模逻辑器件可以通过软件编程而对自身的硬件结构和工作方式进行重构,使得硬件设计可以如同软件设计那样方便快捷,这对数字逻辑电路课程的教学提出了新的要求。本项目设计的原则是在保证理论完整的基础上,注重实用性和新颖性,侧重数字逻辑电路的功能和应用,重点介绍了大规模可编程逻辑器件FPGA和EDA的设计方法。[3]
近年来高校学生素质有了变化,学生的知识基础有了差别,为了更有针对性,我们在教学中采取分层教学,基础一般的,侧重理论知识的学习和基本项目操作能力的训练;基础较好学有余力的,参与综合设计型实践操作能力的训练,在这些教学和实验过程中,使学生身临一个职业活动的场景,不断反复地强化对学科基础知识的掌握,提高动手能力,培养相关素质和能力。目的是让将来从事电子产品设计的学生掌握灵活运用所学的相关基础和专业理论、现代电子设计技术进行工程设计的方法。作为例子,本文推荐一个工程类项目:基于FPGA开发系统进行多功能信号发生器的设计。
设计中按照EDA“自顶向下”的新设计理念,针对信号发生器的性能指标的改进要求,基于大规模逻辑器件FPGA开发系统进行多功能信号发生器的设计,使它具有频率稳定性高、可靠性高、输出波形稳定等优点,先对整个系统进行功能划分,关键电路用一片FPGA实现,然后采用硬件描述语言VHDL完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件。通过实验,可以深入地了解可编程逻辑器件的结构原理、电路的分析及设计方法、调试技巧和VHDL程序运用的方法。
由于设计的主要仿真和调试过程是在高层次上完成,这有利于早期发现结构设计上的错误,避免设计工作的浪费,提高了设计的一次成功率。为了阐明这种设计的有效性,下面对该项目的原理和整个设计过程及使用的软件、硬件工具给出主要的说明。
1.信号发生器工作原理及顶层图设计
多功能波形发生器运用DDS(Direct Digital Synthesis,直接数字合成)技术,从相位概念出发,直接对参考信号进行抽样,得到不同的相位,通过数模转换产生对应的电压幅度,最后通过低通滤波输出所需波形。[4]
在设计波形的产生模块时,通过频率控制字和相位控制字的组合,产生波形ROM(只读存储器)的所需地址,并寻址输出所需波形(正弦波、阶梯等)。对于波形(正弦波、三角波、阶梯波)输出,设计了一个控制模块,达到了既可以输出独立波形,也可以输出任意两种波形线性叠加输出的效果;对于方波的输出,实现了占空比可调功能。该设计的软件环境是在Quartus II 7.2平台,采用VHDL语言完成如图1波形发生器的顶层图设计,它是基于FPGA芯片内部的电路图,整个系统由4部分,6个模块组成,分别是相位累加器(加法器ADDER32和寄存器REG32)、波形数据ROM(设计了两个ROM,一个用来存放正弦波形数据SIN-ROM,一个用来存放其他任意波形的数据,如阶梯波或其它波形)、脉冲(占空比可调Pulse,不采用DDS方法)和输出控制OutP。
这个模块可以共享和复用,使设计具有可重用性和可移植性,提高了一些复杂设计的效率。[5]
2.软件设计及仿真
使用VHDL进行硬件的设计,可以实现一块电路板、一枚芯片或整个电子系统,即一個与门电路、一个微处理器或一个数字电子系统的功能。
(1)波形发生器的软件设计。以系统的输出模块为例介绍各个模块的设计方法,如输出控制模块,既可以单独输出需要的波形,也可以输出任意两种波形线性叠加。
下面先给出实体定义部分语句:
ENTITY outp IS
PORT( reset:IN STD_LOGIC;
clk :IN STD_LOGIC;
sel :IN STD_LOGIC_VECTOR(2 DOWNTO 0);
sin_in:IN STD_LOGIC_VECTOR(9 DOWNTO 0);
other_in:IN STD_LOGIC_VECTOR(9 DOWNTO 0);
pulse_in :IN STD_LOGIC_VECTOR(9 DOWNTO 0);
wave_out :OUT STD_LOGIC_VECTOR(9 DOWNTO 0));
END ENTITY outp;
从实体中可以看出,输入sel可以选择输出波形。
(2)正弦波仿真及频率的分析计算。Quartus II的仿真工具在完成编译后需要将设计配置到目标器件中,测试输出波形。[6]首先新建一个“Vector Waveform File”文件,选择菜单Edit-Insert-Node or Bus,将程序实体中的输入和输出信号加入此文件。然后选择Quartus II仿真功能,屏幕上跳出Simulator Tool,在Simulator mode里选择Timing,然后点击Start,开始时序仿真。下面对波形发生器系统进行时序仿真,给出正弦波的例子,如图2。
Quartus II的仿真工具能够使用模拟信号的格式输出波形,这样得出的数据就可以在屏幕上直接以实际波形表现出来,便于判断结果,十分直观、方便。在仿真出的波形图上可以选中一段波形,并显示出这段波形的起始和终止时间,这样再将两个时间值相减,便得到了波形的周期值。[7]下面给出计算:
输入频率控制字为3FF,设定clk周期为10ns,则:
所以求出的周期T≈0.64μs。通过对同一波形的不同段周期读图可以得出几个周期值,如0.64μs,0.65μs,考虑目测可能存在误差,将两者取平均值,结果为0.645μs。通过上述仿真,可以看出各个模块的功能符合设计要求。
在硬件上的实现是选用实验室的GW48-CK型EDA实验装置并下载配置信息,系统由程序编译通过后,下载至Altera公司的FLEX10K系列EPF10K10LC84的FPGA芯片上,选择相应的引脚锁定和模式,开发板上有数模转换芯片的插口,并提供了DAC0832芯片。利用D/A芯片和其他的一些辅助的外围器件将信号输出,在外接示波器上看到所选信号的正弦波形。
二、设计项目实施效果
在项目实施过程中,教师在分析设计及操作中给予了学生必要的指点,实验项目即是工程型,颇有趣味,通过实验教学,学生们在实验仪器中看到自己设计的波形。从学生充满了兴奋和喜悦之情的脸上,可以看出此项目的设计取得了较好的教学效果,不但使学生深刻地理解和掌握了所学的多门课程的知识,还培养了分析、解决问题的能力,锻炼了动手能力。这种项目设计可以使学生深入地了解可编程逻辑器件的结构原理、电路的设计方法、调试技巧和VHDL程序设计方法,培养学生的动手能力及学习的积极性,[8]从而掌握“数字逻辑电路设计”课程的教学内容。
通过此类项目的设计我们总结出以下经验:(1)此综合设计型实验对克服传统的数字电路实验教学中分模块实验内容多,系统性实验内容少的问题进行了探索。(2)整个实验完成了用软件的方式设计电子系统到实现硬件系统的过程。多功能波形发生器系统的结果表明,仪器仪表工业中的信号发生器可以利用此文中介绍的技术和ASIC芯片设计实现,它可以极大地简化系统结构、节省芯片面积、降低仪器的发热量和信號干扰,提高系统的可靠性,给调试维修带来方便。使硬件设计“软件化”,更新了传统的电路设计和调试方法,缩短了开发周期,特别是其设计仿真和定时分析使得设计更可靠,确保系统逻辑正确性。(3)综合设计实验可以打破传统教学以老师课堂讲授为主的教学理念和教学模式,探索讲课和实验、研究相结合的边学边实践的教学方式,加强学生理论与实践相结合的意识;开创以学生为主体的自主式、实践式、研究式的新型教学模式。(4)此类项目提倡完全由学生自己动手设计,着眼于培养学生的学习积极性和创新精神。其内容综合了模拟电路、数字电路、EDA等各学科的知识,对学生的知识基础要求较高,有一定的难度,形成一个设计系统需要投入较多的精力和业余时间。随着电子技术的飞速发展,“数字逻辑电路设计”课程的教学和实验内容需要适时根据社会的需求而不断更新,从而进一步实施教学改革,达到培养高质量工程类人才的目的。
三、结束语
把教师的责任心体现在对教学效果实事求是的判断和对提高教学质量的不懈追求上,使用EDA工具改进“数字电路逻辑设计”课程教学方法,提高其教学质量,符合教育部面向21世纪现代化人才培养的课程教学改革精神,改变了以往电子技术课程理论讲得多,实践少,灌输式教学的状况,是对课程教学改革的积极探索。
参考文献:
[1]李伯聪.工程创新是创新的主战场[J].中国科技论坛,2006,(2):33-34.
[2]王正洪,蒋建明.在Visual Basic 教学中培养学生能力[J].教育,2008,(8):34-35.
[3]朱正伟.数字电路逻辑设计[M].北京:清华大学出版社,2006.
[4]张汉福.高性能DDS信号发生器的设计研究[D].无锡:江南大学,2007.
[5]梁向红.智能函数发生器的VHDL设计与仿真[J].江苏工业学院学报,2008,20(1):67-69.
[6]黄智伟.FPGA系统设计与实践[M].北京:电子工业出版社,2005.
[7]郑亚民,董晓舟.可编程逻辑器件开发软件QuartusII[M].北京:国防工业出版社,2006.
[8]卢勇威.基于FPGA的EDA创新实验探讨[J].实验室研究与探索,
2006,25(6):684-691.
(责任编辑:刘辉)
关键词:数字电路逻辑设计;教学改革;综合设计项目
作者简介:梁向红(1964-),女,安徽巢湖人,常州大学信息科学与工程学院,副教授;何宝祥(1962-),男,江苏苏州人,常州大学信息科学与工程学院,副教授。(江苏 常州 213164)
基金项目:本文系教育部“EDA工具提升电子信息类基础课程”(项目编号:教高司函[2009]59)的研究成果。
中图分类号:G642.3 文献标识码:A 文章编号:1007-0079(2011)10-0069-02
常州大学是以培养工程类人才为主的学校,我们的学生将来可能成为研发工程师,设计工程师,生产工程师,他们会成为工程人才的中坚力量,在推动经济和社会发展中起着重要作用。[1]我们深刻地认识和掌握工程教育的特点和规律,努力遵循工程教育教育的特点和规律,落实到教学工作中就是要顺应教与学的规律,即从实践到认识,从感性认识到理性认识,再从认识到实践。在教学过程中要使学生真正掌握所学知识,就要采用“做中学”的方法,尽可能借助“项目”来组织教学,要让学生亲自经历从研发到工程项目运行的全过程,通过各种典型项目熟悉和掌握课程内容。这种学习方法还有一个优点,就是在教学过程中,学生是认识活动的主体,教师是学生认识活动中的组织者和引导者。学生的主动学习是主体地位的体现。教师的主导作用和学生的主体作用相结合,能够更有效地完成规定的教学任务,最终实现高校培养社会需求人才的目标。[2]
一、工程类项目设计
随着电子技术的快速发展,出现了很多新的设计方法和大量新的器件,特别是大规模逻辑器件的应用,为数字电子系统的设计带来了极大的灵活性。由于大规模逻辑器件可以通过软件编程而对自身的硬件结构和工作方式进行重构,使得硬件设计可以如同软件设计那样方便快捷,这对数字逻辑电路课程的教学提出了新的要求。本项目设计的原则是在保证理论完整的基础上,注重实用性和新颖性,侧重数字逻辑电路的功能和应用,重点介绍了大规模可编程逻辑器件FPGA和EDA的设计方法。[3]
近年来高校学生素质有了变化,学生的知识基础有了差别,为了更有针对性,我们在教学中采取分层教学,基础一般的,侧重理论知识的学习和基本项目操作能力的训练;基础较好学有余力的,参与综合设计型实践操作能力的训练,在这些教学和实验过程中,使学生身临一个职业活动的场景,不断反复地强化对学科基础知识的掌握,提高动手能力,培养相关素质和能力。目的是让将来从事电子产品设计的学生掌握灵活运用所学的相关基础和专业理论、现代电子设计技术进行工程设计的方法。作为例子,本文推荐一个工程类项目:基于FPGA开发系统进行多功能信号发生器的设计。
设计中按照EDA“自顶向下”的新设计理念,针对信号发生器的性能指标的改进要求,基于大规模逻辑器件FPGA开发系统进行多功能信号发生器的设计,使它具有频率稳定性高、可靠性高、输出波形稳定等优点,先对整个系统进行功能划分,关键电路用一片FPGA实现,然后采用硬件描述语言VHDL完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件。通过实验,可以深入地了解可编程逻辑器件的结构原理、电路的分析及设计方法、调试技巧和VHDL程序运用的方法。
由于设计的主要仿真和调试过程是在高层次上完成,这有利于早期发现结构设计上的错误,避免设计工作的浪费,提高了设计的一次成功率。为了阐明这种设计的有效性,下面对该项目的原理和整个设计过程及使用的软件、硬件工具给出主要的说明。
1.信号发生器工作原理及顶层图设计
多功能波形发生器运用DDS(Direct Digital Synthesis,直接数字合成)技术,从相位概念出发,直接对参考信号进行抽样,得到不同的相位,通过数模转换产生对应的电压幅度,最后通过低通滤波输出所需波形。[4]
在设计波形的产生模块时,通过频率控制字和相位控制字的组合,产生波形ROM(只读存储器)的所需地址,并寻址输出所需波形(正弦波、阶梯等)。对于波形(正弦波、三角波、阶梯波)输出,设计了一个控制模块,达到了既可以输出独立波形,也可以输出任意两种波形线性叠加输出的效果;对于方波的输出,实现了占空比可调功能。该设计的软件环境是在Quartus II 7.2平台,采用VHDL语言完成如图1波形发生器的顶层图设计,它是基于FPGA芯片内部的电路图,整个系统由4部分,6个模块组成,分别是相位累加器(加法器ADDER32和寄存器REG32)、波形数据ROM(设计了两个ROM,一个用来存放正弦波形数据SIN-ROM,一个用来存放其他任意波形的数据,如阶梯波或其它波形)、脉冲(占空比可调Pulse,不采用DDS方法)和输出控制OutP。
这个模块可以共享和复用,使设计具有可重用性和可移植性,提高了一些复杂设计的效率。[5]
2.软件设计及仿真
使用VHDL进行硬件的设计,可以实现一块电路板、一枚芯片或整个电子系统,即一個与门电路、一个微处理器或一个数字电子系统的功能。
(1)波形发生器的软件设计。以系统的输出模块为例介绍各个模块的设计方法,如输出控制模块,既可以单独输出需要的波形,也可以输出任意两种波形线性叠加。
下面先给出实体定义部分语句:
ENTITY outp IS
PORT( reset:IN STD_LOGIC;
clk :IN STD_LOGIC;
sel :IN STD_LOGIC_VECTOR(2 DOWNTO 0);
sin_in:IN STD_LOGIC_VECTOR(9 DOWNTO 0);
other_in:IN STD_LOGIC_VECTOR(9 DOWNTO 0);
pulse_in :IN STD_LOGIC_VECTOR(9 DOWNTO 0);
wave_out :OUT STD_LOGIC_VECTOR(9 DOWNTO 0));
END ENTITY outp;
从实体中可以看出,输入sel可以选择输出波形。
(2)正弦波仿真及频率的分析计算。Quartus II的仿真工具在完成编译后需要将设计配置到目标器件中,测试输出波形。[6]首先新建一个“Vector Waveform File”文件,选择菜单Edit-Insert-Node or Bus,将程序实体中的输入和输出信号加入此文件。然后选择Quartus II仿真功能,屏幕上跳出Simulator Tool,在Simulator mode里选择Timing,然后点击Start,开始时序仿真。下面对波形发生器系统进行时序仿真,给出正弦波的例子,如图2。
Quartus II的仿真工具能够使用模拟信号的格式输出波形,这样得出的数据就可以在屏幕上直接以实际波形表现出来,便于判断结果,十分直观、方便。在仿真出的波形图上可以选中一段波形,并显示出这段波形的起始和终止时间,这样再将两个时间值相减,便得到了波形的周期值。[7]下面给出计算:
输入频率控制字为3FF,设定clk周期为10ns,则:
所以求出的周期T≈0.64μs。通过对同一波形的不同段周期读图可以得出几个周期值,如0.64μs,0.65μs,考虑目测可能存在误差,将两者取平均值,结果为0.645μs。通过上述仿真,可以看出各个模块的功能符合设计要求。
在硬件上的实现是选用实验室的GW48-CK型EDA实验装置并下载配置信息,系统由程序编译通过后,下载至Altera公司的FLEX10K系列EPF10K10LC84的FPGA芯片上,选择相应的引脚锁定和模式,开发板上有数模转换芯片的插口,并提供了DAC0832芯片。利用D/A芯片和其他的一些辅助的外围器件将信号输出,在外接示波器上看到所选信号的正弦波形。
二、设计项目实施效果
在项目实施过程中,教师在分析设计及操作中给予了学生必要的指点,实验项目即是工程型,颇有趣味,通过实验教学,学生们在实验仪器中看到自己设计的波形。从学生充满了兴奋和喜悦之情的脸上,可以看出此项目的设计取得了较好的教学效果,不但使学生深刻地理解和掌握了所学的多门课程的知识,还培养了分析、解决问题的能力,锻炼了动手能力。这种项目设计可以使学生深入地了解可编程逻辑器件的结构原理、电路的设计方法、调试技巧和VHDL程序设计方法,培养学生的动手能力及学习的积极性,[8]从而掌握“数字逻辑电路设计”课程的教学内容。
通过此类项目的设计我们总结出以下经验:(1)此综合设计型实验对克服传统的数字电路实验教学中分模块实验内容多,系统性实验内容少的问题进行了探索。(2)整个实验完成了用软件的方式设计电子系统到实现硬件系统的过程。多功能波形发生器系统的结果表明,仪器仪表工业中的信号发生器可以利用此文中介绍的技术和ASIC芯片设计实现,它可以极大地简化系统结构、节省芯片面积、降低仪器的发热量和信號干扰,提高系统的可靠性,给调试维修带来方便。使硬件设计“软件化”,更新了传统的电路设计和调试方法,缩短了开发周期,特别是其设计仿真和定时分析使得设计更可靠,确保系统逻辑正确性。(3)综合设计实验可以打破传统教学以老师课堂讲授为主的教学理念和教学模式,探索讲课和实验、研究相结合的边学边实践的教学方式,加强学生理论与实践相结合的意识;开创以学生为主体的自主式、实践式、研究式的新型教学模式。(4)此类项目提倡完全由学生自己动手设计,着眼于培养学生的学习积极性和创新精神。其内容综合了模拟电路、数字电路、EDA等各学科的知识,对学生的知识基础要求较高,有一定的难度,形成一个设计系统需要投入较多的精力和业余时间。随着电子技术的飞速发展,“数字逻辑电路设计”课程的教学和实验内容需要适时根据社会的需求而不断更新,从而进一步实施教学改革,达到培养高质量工程类人才的目的。
三、结束语
把教师的责任心体现在对教学效果实事求是的判断和对提高教学质量的不懈追求上,使用EDA工具改进“数字电路逻辑设计”课程教学方法,提高其教学质量,符合教育部面向21世纪现代化人才培养的课程教学改革精神,改变了以往电子技术课程理论讲得多,实践少,灌输式教学的状况,是对课程教学改革的积极探索。
参考文献:
[1]李伯聪.工程创新是创新的主战场[J].中国科技论坛,2006,(2):33-34.
[2]王正洪,蒋建明.在Visual Basic 教学中培养学生能力[J].教育,2008,(8):34-35.
[3]朱正伟.数字电路逻辑设计[M].北京:清华大学出版社,2006.
[4]张汉福.高性能DDS信号发生器的设计研究[D].无锡:江南大学,2007.
[5]梁向红.智能函数发生器的VHDL设计与仿真[J].江苏工业学院学报,2008,20(1):67-69.
[6]黄智伟.FPGA系统设计与实践[M].北京:电子工业出版社,2005.
[7]郑亚民,董晓舟.可编程逻辑器件开发软件QuartusII[M].北京:国防工业出版社,2006.
[8]卢勇威.基于FPGA的EDA创新实验探讨[J].实验室研究与探索,
2006,25(6):684-691.
(责任编辑:刘辉)