APP下载

DSP技术课程教学要点及教学方法探讨

2017-04-13肖永江张兴娇马文科柯月琴

实验技术与管理 2017年4期
关键词:中断指令编程

肖永江, 张兴娇, 马文科, 柯月琴

(萍乡学院 机电学院, 江西 萍乡 337000)

DSP技术课程教学要点及教学方法探讨

肖永江, 张兴娇, 马文科, 柯月琴

(萍乡学院 机电学院, 江西 萍乡 337000)

根据DSP技术课程的特点,针对教学过程中存在的实际问题,探索和提出了以DSP芯片的结构特点为理论教学要点、重视实践教学环节、创新考核机制的教改思路和方法,有效地提升了课程的教学效果,达到培养应用型人才的目的。

DSP技术课程; 教学要点; 教学方法

“DSP技术”课程是电气信息类专业的一门专业方向课程。作为新升本的应用型普通高校,如何在应用电子技术专科教学基础上,基于不同的学情,使本科生通过学习快速掌握DSP的关键技术并具备一定的开发应用能力,是DSP技术课程教师面临的一个课题。DSP技术以单片机、微机原理、数字信号处理等课程为基础,软硬件结合,涵盖的知识面宽、综合性强,要求学生掌握DSP芯片的结构、指令系统和开发过程,具有初步利用CCS、Matlab等开发工具实现DSP芯片编程的能力[1]。课程包含38节理论和16节实验2个环节。

1 理论教学重点分析DSP芯片结构

DSP芯片的种类繁多,目前国内各大高校普遍采用TI公司的TMS320C5000系列DSP作为授课对象。而实验室的目标系统为北京瑞泰创新的图像、语音及网络应用系统,采用TI的达芬奇系列DSP TMS320DM642。TMS320DM642具有极强的处理能力,以32bit C64x 为核心、采用第二代VLIW结构,其处理性能最高可达5 760 MIPS,主要应用于机器视觉、医学成像、网络视频监控、无线通信等高速DSP应用领域。TMS320DM642硬件结构复杂、开发难度大,学生不易上手。为了破解DSP技术课程内容抽象的难题,从以下6个方面做了相应的分析探讨[2]。

1.1 通过绪论认知和把握课程

课程的第一课很重要,须使学生尽快建立对课程的学习兴趣。介绍完课程性质、内容、学习方法和考核方法之后,用丰富、直观的图片介绍DSP子系统的几种实现方法,如计算机编程软件、通用DSP芯片、专用DSP芯片以及FPGA,形成了解。从实时DSP系统的构成框图引申出一个DSP应用系统的设计思路,从总体方案设计、软件设计、硬件设计到系统集成,而其总体方案设计最重要,需要明确设计任务,根据系统输入信号的频率进行技术指标的确定,运用Matlab等仿真工具评估DSP算法。通过比较TI公司C5000、C6000和TMS320C2000三大系列DSP结构特点的不同,介绍DSP芯片的发展史。从不断推陈出新的DSP芯片中选择合适的平台是设计DSP应用系统非常重要的环节,在MIPS、MFLOPS、MAC等运算速度指标基础上,拓展到芯片选型的其他因素,如硬件资源、运算精度、价格、功耗和开发工具。

在DSP的初步学习中,CCS软件的Turorial例程和Help技术可以帮助学生快速进阶。DSP技术的学习不局限在教材和实验指导书,学生可通过TI官方网站、国内第三方厂家和技术论坛查找DSP软、硬件技术资源。

1.2 DSP总线结构及流水线的学习,理解是关键

DSP芯片的任务是完成大量的高度重复的数据操作。芯片在设计上采用哈佛总线结构、多功能单元以及流水线,从空间上提高算法的并行运行程度,缩短实时计算的运行时间。所以TMS320C6000系列CPU结构[3-4]必须作为教学的重点、难点[5],其内容是指令、编程的基础,不能因为其抽象、晦涩而一带而过。

首先,结合TMS320DM642的器件手册[6],了解其性能特点。为了理解C6000 DSP的哈佛总线结构,不直接去对比冯·诺依曼结构的CPU是怎样的,而是以一般的可编程处理器基本结构为对象,基于程序存储器中的指令是如何被指令控制单元和算数逻辑单元解释并执行的,学习程序在算术运算类、转移类和数据存取类等3种情况下的分步执行过程。这样在后面介绍C6000系列DSP VLIW结构的时候,功能单元以及数据通路等相关术语的出现也就不突兀,例如基于程序快速运行的目的,哈佛结构的C6000 CPU为何程序存储器在CPU的上方、数据存储器在CPU的下方,也就理所当然啦。

为了提高程序执行效率,C6000 DSP的流水线结构将指令控制单元分成取指、译码和执行3个阶段。程序存储器位于取指机构的上方。把流水线结构想象成一个漏斗,程序存储器中的指令就在CPU时钟驱动下,每次8条32位的指令,从上至下,依次进入流水线。在漏斗的下方将流水线的指令分配到8个功能单元执行,从而每次最多可以有8条指令并行运算。功能单元的下方通过数据通路连接到寄存器和数据存储器,用以寻址数据。纵向来看,C6000 DSP CPU的每个机构都在忙碌,忙于指令的执行。以一段按非流水结构编写的求点积的汇编程序为例子,分析其在流水线结构CPU中执行所产生的问题,从而使学生进一步建立流水线结构的概念。

1.3 指令系统的学习须掌握要领、蜻蜓点水

C6000的汇编语言编程难度大、效率低、可移植性差。在这一节,主要的教学目的是让学生认识C6000的6大类汇编指令[7],可以进行简单汇编程序的编程,如对代码长度有严格要求的中断服务跳转程序。所以在内容安排上,将资源对C6000公共指令集的限制进行删减。

借助CCS软件反汇编窗口的直观画面,列举一个32位加法指令为例子,介绍各个功能单元的汇编指令及其机器码的映射关系,使学生理解程序指令是以何种形式存储的以及了解CCS编译软件的作用。C6000DSP指令全部采用寄存器间接寻址方式,联系C语言中的指针结构,详尽介绍LDBLDHLDWLDDW指令例子的执行情况,突出重点,对其他的指令仅做简单说明。

1.4 软件编程重视开发工具介绍和COFF文件格式

以TI官方的Volume1例程[8]为例,首先学习C6000的软件开发流程和一个C程序的基本结构,让学生对CCS软件有一定的感性认识。而CCS软件的Rebuild All命令其实包括了对工程文件的很多隐藏处理过程,这是必须要知道并且介入和控制的。然后再基于COFF文件格式的特点,辅以.map文件做说明,重点介绍软件的编译、汇编、链接过程,让学生知道每个步骤发生了什么;同时基于目标系统的存储器资源,学习CMD命令文件的编写。

教学中以学生在校能够进行初步的工程开发为目的,够用为准,对C6000 C语言编程的优化问题、线性汇编语言、DSP/BIOS实时操作系统等内容做出删减,待以后实践和工作中再慢慢深入。

1.5 类比学习中断系统

中断系统是C6000 DSP等微处理器的重要组成部分,使得其具有应对外界异步事件的处理能力,是不可或缺的。在DSP芯片中断系统的教学中,和80C51单片机形成对比,建立联系,让学生在一定程度上不至于陌生。譬如,DSP芯片有16个中断源,而80C51单片机有6个中断源。DSP芯片的外部RESET引脚为低电平有效,且必须保持10个时钟周期以上,复位后程序从0x00000000地址执行;而80C51单片机的复位信号高电平有效,必须保持2个时钟周期以上,复位后程序从0x0000地址执行。同时,2者的中断源都以复位的优先级最高,优先级依次降低,都包括外部中断、定时器中断和串口中断;每个中断源都有相应的中断服务程序入口;中断的控制也都包括一个名称为IER的中断允许寄存器。

1.6 片上外部设备的学习做到触类旁通

授人以鱼不如授人以渔。C6000 DSP芯片功能强大,含有丰富的外部设备,如EMIF接口、McBSP、HPI接口、EDMA、PCI接口等。其每一种外设的正确使用都需要掌握其硬件结构、阅读芯片器件手册的相应章节、查阅相关的应用笔记以及学习相关的应用实例。受课时限制,同时根据实验设备的硬件资源情况,在教学中以EMIF接口为重点对象,以上述方法讲述如何扩展外部Sdram和Flash[9-10],同时辅以Sdram读写测试实验。

2 高度重视课内实践环节

任何硬件平台的学习都必须重视实践环节。课程中坚持理论与实践教学的同步进行,做到边学边做、边学边练,有利于学生对课堂新知识的及时掌握,有利于学生综合实践能力的培养。

DSP技术实验课的讲授需要教师不仅有扎实的理论功底,还要有丰富的工程实践经验。借鉴多年的企业DSP软件工程师的任职经历,在前面5年累积下来的应用电子技术专科专业DSP技术的授课基础上,基于新的本科生学情,在教学计划中节选6个实验,包括Volume1例程、汇编程序编程、定时器中断、SDRAM读写测试、FIR和FFT等。实验内容从软件的学习、指令学习、外设的使用到算法的实现,从验证性实验到综合性实验[11],难度逐步提升。

考虑DSP技术的实验过程中需要接触新的编程软件,不采用“教师示范、学生模仿”的形式[12],实验不做演示,仅给出实验步骤和要求,让学生主动去探索以及发现问题,教师仅充当答疑者的角色,避免学生依葫芦画瓢,让学生做一次实验能记忆犹新,掌握实验内涵。实验中发现该方法能有效激发学生学习的兴趣,培养了学生解决问题的能力。

DSP技术的实践能力培养不能局限在一个学期的课内实验环节,需要有延续机制。把其拓展到开放实验室的活动、课程设计、毕业设计等环节;同时也把其渗透到教师的相关课题研究中,使其和实际应用关联,不纸上谈兵,可显著提高学生的就业能力水平。

3 考核机制需要不断完善

课程的考核能看出学生对DSP技术的掌握程度。理论部分采用闭卷的卷面方式考核,主要涉及DSP技术的相关概念,占总成绩的70%;而实验部分的考核分3部分,分为每次实验的考勤、学生实验过程表现和实验报告撰写。鉴于课程的特殊性,实验报告选用电子文档格式。为了避免实验报告的抄袭,要求实验过程的数据截图都必须有学号作为水印,从而可以客观判断学生的表现。

4 结语

针对DSP技术课程的理论教学要点、实践环节以及考核方法做了详细讨论,也取得了一定的教学效果。但是,DSP技术课程涉及的平台、工具和知识不断更新,作为应用型本科高校,需要不断进行教学改革研究,以适应DSP工程技术人才的培养需要。

References)

[1] 曹阳,赵明富,黄丽雯,等.基于应用型人才培养的DSP技术课程教学改革与实践探讨[J]. 电脑知识与技术,2012,8(4):951-952.

[2] 陈小元.电气控制类DSP课程教学要点及教学方探讨[J].丽水学院学报,2015,37(2):87-90.

[3] 李方慧.TMS320C6000 系列DSPs原理与应用[M].北京:电子工业出版社,2003.

[4] 美国德州仪器公司.TMS320C6000系列DSP的CPU与外设 [M].卞红雨,译.北京:清华大学出版社,2007.

[5] 张卫宁.DSP原理与应用的教学要点及方法探讨[J].实验技术与管理,2007,24(6):19-24.

[6] TI.TMS320DM642 Datasheet[Z].2002

[7] 于凤芹.TMS320C6000 DSP结构原理与硬件设计[M].北京:北京航空航天大学出版社, 2008.

[8] 董言治,娄树理,刘松涛.TMS320C6000系列DSP系统结构原理与应用教程[M].北京:清华大学出版社,2014.

[9] TI.TMS320C6000 EMIF to External Flash Memory[Z].2002.

[10] TI.TMS320C6000 EMIF-to-External SDRAM Interface[Z].2002.

[11] 刘卫东.《DSP原理与应用》实验教学改革研究[J].实验科学与技术,2012,10(1):84-86.

[12] 于冬梅,韩晓新,朱成喜.“DSP技术及应用”课程中实验教学改革研究[J].江苏理工学院学报,2015,21(1):116-120.

Exploration on teaching key points and methods for DSP technological courses

Xiao Yongjiang, Zhang Xingjiao, Ma Wenke, Ke Yueqin

(School of Mechanical and Electronic Engineering, PingxiangUniversity, Pingxiang 337000, China)

According to the characteristics of DSP technological course, aiming at the actual problems existing in the teaching process,this paper explores and proposes the structure of DSP chip as the theoretical teaching points, and pays attention to practical teaching, innovative ideas and methods of assessment mechanism, which can effectively enhance the teaching effect of the course, to achieve the purpose of training applied talents.

DSP technological course; teaching key points; teaching method

10.16791/j.cnki.sjg.2017.04.052

2016-11-12 修改日期:2017-01-04

2014年江西省高校教改项目(JXJG-14-22-10)

肖永江(1981—),男,江西萍乡,硕士,讲师,研究方向为电路设计及信号处理.

E-mail:xiaoyj617@163.com

G642.0

B

1002-4956(2017)4-0205-02

猜你喜欢

中断指令编程
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
ARINC661显控指令快速验证方法
跟踪导练(二)(5)
千里移防,卫勤保障不中断
杀毒软件中指令虚拟机的脆弱性分析
中断与跳转操作对指令串的影响
一种基于滑窗的余度指令判别算法