- 相关推荐
DSP原理及应用课程的层次递进体系教学方法研究
DSP原理及应用课程的层次递进体系教学方法研究
陈朝阳,李小魁,李娜
(河南工程学院电气信息工程学院,河南郑州451191)
摘要:数字信号处理器(Digital Signal Processor,DSP)是用于通信、电子、自动控制及仪器仪表领域的数字信号处理中的主要处理芯片,其高速并行运算和丰富的指令造成其结构复杂,编程工具功能多,掌握难度大。本文探讨在DSP教学中,采用体系教学方法,从与学生掌握的前修课程相衔接开始,分多个层次,理论与实践并重推进教学进度,以2周的DSP课程设计作为DSP体系教学的验收环节,在教学实践中吸引了学生的学习兴趣,提升了学生的DSP应用技能。
关键词:DSP;体系教学;层次递进教学
作者简介:陈朝阳(1968-),男,河南孟州人,博士,高级工程师,研究方向:通信新技术。
DSP是指数字信号处理器(Digital Signal Processor)。其强大的乘法及乘累加运算和并行处理能力,使其在通信设备、电子信息、自动控制和仪器仪表领域的地位越来越重要。社会对掌握DSP技术的专业工程技术人才有强烈需求,DSP原理及应用课程是高等院校电气、电子和通信专业的本科重要课程。我校的电子科学与技术专业和通信工程专业都开设了DSP技术课程。为了培养高能力的DSP技术人才,适应建设应用技术型大学的要求,我们立足于充分利用现有资源,在前修课程中为DSP技术课程相关的内容作好铺垫,在DSP课程授课结束后,紧接着安排DSP技术课程设计,形成DSP技术课程体系。本文总结我们在DSP课程体系方面的探索成果。
一、DSP原理及应用课程特点和教学方法现状
DSP原理及应用课程是一门以数字信号处理理论和算法为基础的实践性较强的课程。这门课程的前修课程应当包括:计算机原理基础、C语言编程、嵌入式ARM技术及应用、数字信号处理等。如果说,MATLAB等仿真工具可以应用于像信号与系统、通信原理、数字信号处理等理论课程的学习,使理论被形象地呈现出来,DSP原理及应用则让理论在工程中的实际应用得以实现。MATLAB可以作为一种简捷、易用的编程语言来学习,DSP则不能仅仅被当作一种通用处理器来学习,因为那样会让学生困惑:已经有了单片机处理器、ARM处理器和通用的8086系列处理器,为什么还需要DSP呢?可是,DSP原理及应用教材往往将这门课程看得相当独立,像单片机技术、微机原理或嵌入式ARM技术一样,将DSP看作一种处理器,从硬件结构开始讲起,接着讲汇编指令集,再接着讲C语言编程,然后讲集成编程环境、外设和应用。
按教学顺序安排的教学内容包括:DSP芯片的概念及其发展历史;DSP芯片的硬件结构,包括总体结构、封装和引脚功能、CPU结构、寄存器、存储空间和I/O空间、堆栈操作、中断和复位;寻址方式和汇编指令系统;汇编语言编程,包括目标文件格式、汇编器、汇编伪指令、汇编语言源文件的书写格式、链接器;集成开发环境(CCS),包括CCS的基本操作、工程项目的调试;C语言程序设计,包括DSPC语言编程基础、DSPC编译器的使用、C代码优化、C和汇编语言混合编程;应用程序设计,包括定标与溢出处理、基础算术运算、FIR滤波器和IIR滤波器、快速傅里叶变换;片上外设,包括时钟发生器、通用定时器、通用IO口、外部存储器接口、多通道缓冲串口、模数转换器、看门狗定时器;硬件扩展,包括外部程序存储器扩展、外部数据存储器扩展。
将DSP外围电路提前到DSP芯片结构单元中,虽然考虑了学生对处理器的硬件原理相对容易接受的实际情况,但带来的问题是不容易解释DSP外设寄存器的地址和寻址、配置,并且没有突出DSP的高速并行计算和高速乘加计算的特征。
DSP芯片结构设计满足并行处理和高速乘加运算的要求,以适应数字信号处理的线性算法处理要求,但也造成了DSP芯片结构复杂、指令十分丰富,从而需要进行混合编程和编程优化,特别是适应现代先进的项目工程理念,要求按工程单位组织程序文件,这些都给学生掌握和理解DSP造成了困难。按部就班的教学模式往往不能取得满意的效果,因此提出了改革DSP原理及应用课程教学的建议,但是没有提到和前修课程形成体系教学,也没有提到和前修课程的知识和技能相衔接的问题,因此没有涉及DSP原理及应用课程本身的教学内容顺序调整的问题。
二、层次递进的体系教学方法
鉴于DSP原理及应用课程的掌握难度系数较大,需要充分利用前修课程和后续课程设计等实践教学环节,做到前有铺垫、中有层次、后有强化。前有铺垫是指在前修的信号与系统、数字信号处理课程及通信原理课程中,强调数字信号处理理论算法(如卷积、数字滤波)和数字调制解调、编译码等算法可用DSP处理器实时实现。中有层次是指在DSP原理及应用课程的授课过程中,应注意学习的客观规律性,将整个课程的授课内容进行层次划分:第一层次主要是与前修课程,如数字信号处理理论、通信原理理论等的衔接,并注意讨论单片机和ARM处理器不能做到实时性,通用处理器一般没有硬件实现的乘法,以突出DSP芯片的独特特色;以CCS(集成编程环境)下的C语言编程开始教学,辅以CCS的使用,FIR滤波器、卷积等数字信号处理算法在DSP上用C语言实现等课内实验,突出DSP做数字信号处理的主要功能;第二层次内容集中于DSP芯片的结构、寻址方式、外设、指令系统及汇编语言编程;第三层次内容包括C语言和汇编语言混合编程、程序优化、应用程序设计和C55X的硬件扩展等内容。DSP原理及应用课程结束后,紧接着有两周或更长时间的DSP课程设计对学生所掌握的DSP知识和技能进行强化。这样,把数字信号处理课程、专业基础理论课程、C语言编程课程及DSP课程设计等都纳入DSP的体系教学中。各层次理论教学内容和实践教学内容的学时分配如表1所示。
(一)第一层次的理论教学内容和实践教学内容
第一层次教学内容要尽量衔接学生所拥有的基础知识。一般在学习DSP原理及应用课程时,学生已经学习了计算机原理基础、数字电路和C语言编程课程,学习过数字信号处理和通信原理、信号与系统等专业基础课程,而对处理器内部结构和汇编语言还是比较陌生的。因此,第一层次的理论教学内容应该安排:DSP数字信号处理器的基本概念、DSP集成开发环境CCS及其基本操作、DSP C/C++语言编程基础,用两个C语言为基础的DSP编程实验结束第一层次的教学。
第一层次的教学内容主要让学生了解DSP的概念和特点,通过C语言程序在DSP上运行,让学生抓住DSP是一种处理器这一共性,并通过DSP运行,如FIR滤波的数字信号处理C语言程序,让学生找到学习DSP的切入点。
(二)第二层次的理论教学内容和实践教学内容
第二层次的教学目的是让学生逐渐领会DSP的特色:并行处理的流水线结构、快速的硬件乘法。因此,第二层次的教学内容应该安排:DSP芯片的总体结构,包括DSP处理器的特点、多内部总线、中央处理单元、存储空间结构;片上外设,包括时钟发生器、通用定时器、外部存储器接口等,并安排相应的外设实验;接着讲授寻址方式和汇编指令系统、通用目标格式文件和段的概念、汇编伪指令、汇编语言源程序的格式、汇编语言编程实验;然后用汇编语言编程实验结束第二层次的教学内容。
汇编语言在状态寄存器各标志位的应用方面很简洁,比如溢出的判断是C语言所不容易实现的。但是第二层次的教学内容要让学生体会到汇编语言对于DSP处理实时性复杂算法的必要性和汇编语言的高效性。
(三)第三层次的理论教学内容和实践教学内容
第三层次的教学内容在第一层次和第二层次教学内容的基础上,让学生的知识得以融会贯通,将所学的DSP知识升华,形成体系性的技能,为今后职业生涯中的应用奠定基础。安排的教学内容包括:C语言与汇编语言的混合编程,包括寄存器规则、函数结构和调用规则、C语言和汇编语言的接口等内容;应用程序设计,包括定标与溢出处理、基础算术运算、FIR和IIR滤波器的混合语言编程;DSP硬件扩展,包括基本电路中的电源电路、调试接口电路、复位电路、时钟电路等的设计,外部程序存储器的扩展、外部数据存储器的扩展、DSP与A/D和D/A转换器的接口等内容;安排C语言和汇编语言混合编程实验,比如FFT快速傅里叶变换的DSP实现、自适应系统辨识的DSP实现等综合性实验。
三、后续强化教学实践环节的展望
在紧接着DSP原理及应用课程的DSP应用课程设计中,安排DSP应用系统的硬件设计、安排了各种应用实验,从外设的相关实验,到数字图像信号处理、通信与语音信号采集与分析等综合性实验。也拿出通信教研室和电子教研室的相关科研项目,如“WLAN系统中的智能天线定位系统”等供学生探讨与研究。
DSP原理及应用课程采用了层次化的体系教学方法,由于遵循了教育规律,由易入难、由浅入深,把较难的学习掌握系数分摊到各个层次的教学中,避免了一开始就把学生吓住,从而变为循序渐进、螺旋式上升、持续匀速提升知识技能的学习,明显提高了学生的学习积极性,也取得了良好的学习效果。
参考文献:
[1]赵洪亮,卜凡亮,等。TMS320C55x DSP应用系统设计[M].第2版。北京航空航天大学出版社,2010.
[2]谢海霞,孙志雄。DSP技术课程教学方法研究与实践[J].电子设计工程,2012,40(8):10-14.
【DSP原理及应用课程的层次递进体系教学方法研究】相关文章:
论“小结”——《化工原理》教学方法研究08-19
水污染控制工程课程教学方法研究08-15
初中法制教育分层递进教学方法实验08-17
TigerSHARC DSP在信号处理系统中的应用04-12
DSP TMS320F206复位问题研究04-12
电解原理及其应用08-17
校园网在研究型课程中的应用研究与实践08-09