肖永江, 張興嬌, 馬文科, 柯月琴
(萍鄉(xiāng)學(xué)院 機電學(xué)院, 江西 萍鄉(xiāng) 337000)
DSP技術(shù)課程教學(xué)要點及教學(xué)方法探討
肖永江, 張興嬌, 馬文科, 柯月琴
(萍鄉(xiāng)學(xué)院 機電學(xué)院, 江西 萍鄉(xiāng) 337000)
根據(jù)DSP技術(shù)課程的特點,針對教學(xué)過程中存在的實際問題,探索和提出了以DSP芯片的結(jié)構(gòu)特點為理論教學(xué)要點、重視實踐教學(xué)環(huán)節(jié)、創(chuàng)新考核機制的教改思路和方法,有效地提升了課程的教學(xué)效果,達到培養(yǎng)應(yīng)用型人才的目的。
DSP技術(shù)課程; 教學(xué)要點; 教學(xué)方法
“DSP技術(shù)”課程是電氣信息類專業(yè)的一門專業(yè)方向課程。作為新升本的應(yīng)用型普通高校,如何在應(yīng)用電子技術(shù)??平虒W(xué)基礎(chǔ)上,基于不同的學(xué)情,使本科生通過學(xué)習(xí)快速掌握DSP的關(guān)鍵技術(shù)并具備一定的開發(fā)應(yīng)用能力,是DSP技術(shù)課程教師面臨的一個課題。DSP技術(shù)以單片機、微機原理、數(shù)字信號處理等課程為基礎(chǔ),軟硬件結(jié)合,涵蓋的知識面寬、綜合性強,要求學(xué)生掌握DSP芯片的結(jié)構(gòu)、指令系統(tǒng)和開發(fā)過程,具有初步利用CCS、Matlab等開發(fā)工具實現(xiàn)DSP芯片編程的能力[1]。課程包含38節(jié)理論和16節(jié)實驗2個環(huán)節(jié)。
DSP芯片的種類繁多,目前國內(nèi)各大高校普遍采用TI公司的TMS320C5000系列DSP作為授課對象。而實驗室的目標(biāo)系統(tǒng)為北京瑞泰創(chuàng)新的圖像、語音及網(wǎng)絡(luò)應(yīng)用系統(tǒng),采用TI的達芬奇系列DSP TMS320DM642。TMS320DM642具有極強的處理能力,以32bit C64x 為核心、采用第二代VLIW結(jié)構(gòu),其處理性能最高可達5 760 MIPS,主要應(yīng)用于機器視覺、醫(yī)學(xué)成像、網(wǎng)絡(luò)視頻監(jiān)控、無線通信等高速DSP應(yīng)用領(lǐng)域。TMS320DM642硬件結(jié)構(gòu)復(fù)雜、開發(fā)難度大,學(xué)生不易上手。為了破解DSP技術(shù)課程內(nèi)容抽象的難題,從以下6個方面做了相應(yīng)的分析探討[2]。
1.1 通過緒論認知和把握課程
課程的第一課很重要,須使學(xué)生盡快建立對課程的學(xué)習(xí)興趣。介紹完課程性質(zhì)、內(nèi)容、學(xué)習(xí)方法和考核方法之后,用豐富、直觀的圖片介紹DSP子系統(tǒng)的幾種實現(xiàn)方法,如計算機編程軟件、通用DSP芯片、專用DSP芯片以及FPGA,形成了解。從實時DSP系統(tǒng)的構(gòu)成框圖引申出一個DSP應(yīng)用系統(tǒng)的設(shè)計思路,從總體方案設(shè)計、軟件設(shè)計、硬件設(shè)計到系統(tǒng)集成,而其總體方案設(shè)計最重要,需要明確設(shè)計任務(wù),根據(jù)系統(tǒng)輸入信號的頻率進行技術(shù)指標(biāo)的確定,運用Matlab等仿真工具評估DSP算法。通過比較TI公司C5000、C6000和TMS320C2000三大系列DSP結(jié)構(gòu)特點的不同,介紹DSP芯片的發(fā)展史。從不斷推陳出新的DSP芯片中選擇合適的平臺是設(shè)計DSP應(yīng)用系統(tǒng)非常重要的環(huán)節(jié),在MIPS、MFLOPS、MAC等運算速度指標(biāo)基礎(chǔ)上,拓展到芯片選型的其他因素,如硬件資源、運算精度、價格、功耗和開發(fā)工具。
在DSP的初步學(xué)習(xí)中,CCS軟件的Turorial例程和Help技術(shù)可以幫助學(xué)生快速進階。DSP技術(shù)的學(xué)習(xí)不局限在教材和實驗指導(dǎo)書,學(xué)生可通過TI官方網(wǎng)站、國內(nèi)第三方廠家和技術(shù)論壇查找DSP軟、硬件技術(shù)資源。
1.2 DSP總線結(jié)構(gòu)及流水線的學(xué)習(xí),理解是關(guān)鍵
DSP芯片的任務(wù)是完成大量的高度重復(fù)的數(shù)據(jù)操作。芯片在設(shè)計上采用哈佛總線結(jié)構(gòu)、多功能單元以及流水線,從空間上提高算法的并行運行程度,縮短實時計算的運行時間。所以TMS320C6000系列CPU結(jié)構(gòu)[3-4]必須作為教學(xué)的重點、難點[5],其內(nèi)容是指令、編程的基礎(chǔ),不能因為其抽象、晦澀而一帶而過。
首先,結(jié)合TMS320DM642的器件手冊[6],了解其性能特點。為了理解C6000 DSP的哈佛總線結(jié)構(gòu),不直接去對比馮·諾依曼結(jié)構(gòu)的CPU是怎樣的,而是以一般的可編程處理器基本結(jié)構(gòu)為對象,基于程序存儲器中的指令是如何被指令控制單元和算數(shù)邏輯單元解釋并執(zhí)行的,學(xué)習(xí)程序在算術(shù)運算類、轉(zhuǎn)移類和數(shù)據(jù)存取類等3種情況下的分步執(zhí)行過程。這樣在后面介紹C6000系列DSP VLIW結(jié)構(gòu)的時候,功能單元以及數(shù)據(jù)通路等相關(guān)術(shù)語的出現(xiàn)也就不突兀,例如基于程序快速運行的目的,哈佛結(jié)構(gòu)的C6000 CPU為何程序存儲器在CPU的上方、數(shù)據(jù)存儲器在CPU的下方,也就理所當(dāng)然啦。
為了提高程序執(zhí)行效率,C6000 DSP的流水線結(jié)構(gòu)將指令控制單元分成取指、譯碼和執(zhí)行3個階段。程序存儲器位于取指機構(gòu)的上方。把流水線結(jié)構(gòu)想象成一個漏斗,程序存儲器中的指令就在CPU時鐘驅(qū)動下,每次8條32位的指令,從上至下,依次進入流水線。在漏斗的下方將流水線的指令分配到8個功能單元執(zhí)行,從而每次最多可以有8條指令并行運算。功能單元的下方通過數(shù)據(jù)通路連接到寄存器和數(shù)據(jù)存儲器,用以尋址數(shù)據(jù)??v向來看,C6000 DSP CPU的每個機構(gòu)都在忙碌,忙于指令的執(zhí)行。以一段按非流水結(jié)構(gòu)編寫的求點積的匯編程序為例子,分析其在流水線結(jié)構(gòu)CPU中執(zhí)行所產(chǎn)生的問題,從而使學(xué)生進一步建立流水線結(jié)構(gòu)的概念。
1.3 指令系統(tǒng)的學(xué)習(xí)須掌握要領(lǐng)、蜻蜓點水
C6000的匯編語言編程難度大、效率低、可移植性差。在這一節(jié),主要的教學(xué)目的是讓學(xué)生認識C6000的6大類匯編指令[7],可以進行簡單匯編程序的編程,如對代碼長度有嚴格要求的中斷服務(wù)跳轉(zhuǎn)程序。所以在內(nèi)容安排上,將資源對C6000公共指令集的限制進行刪減。
借助CCS軟件反匯編窗口的直觀畫面,列舉一個32位加法指令為例子,介紹各個功能單元的匯編指令及其機器碼的映射關(guān)系,使學(xué)生理解程序指令是以何種形式存儲的以及了解CCS編譯軟件的作用。C6000DSP指令全部采用寄存器間接尋址方式,聯(lián)系C語言中的指針結(jié)構(gòu),詳盡介紹LDBLDHLDWLDDW指令例子的執(zhí)行情況,突出重點,對其他的指令僅做簡單說明。
1.4 軟件編程重視開發(fā)工具介紹和COFF文件格式
以TI官方的Volume1例程[8]為例,首先學(xué)習(xí)C6000的軟件開發(fā)流程和一個C程序的基本結(jié)構(gòu),讓學(xué)生對CCS軟件有一定的感性認識。而CCS軟件的Rebuild All命令其實包括了對工程文件的很多隱藏處理過程,這是必須要知道并且介入和控制的。然后再基于COFF文件格式的特點,輔以.map文件做說明,重點介紹軟件的編譯、匯編、鏈接過程,讓學(xué)生知道每個步驟發(fā)生了什么;同時基于目標(biāo)系統(tǒng)的存儲器資源,學(xué)習(xí)CMD命令文件的編寫。
教學(xué)中以學(xué)生在校能夠進行初步的工程開發(fā)為目的,夠用為準,對C6000 C語言編程的優(yōu)化問題、線性匯編語言、DSP/BIOS實時操作系統(tǒng)等內(nèi)容做出刪減,待以后實踐和工作中再慢慢深入。
1.5 類比學(xué)習(xí)中斷系統(tǒng)
中斷系統(tǒng)是C6000 DSP等微處理器的重要組成部分,使得其具有應(yīng)對外界異步事件的處理能力,是不可或缺的。在DSP芯片中斷系統(tǒng)的教學(xué)中,和80C51單片機形成對比,建立聯(lián)系,讓學(xué)生在一定程度上不至于陌生。譬如,DSP芯片有16個中斷源,而80C51單片機有6個中斷源。DSP芯片的外部RESET引腳為低電平有效,且必須保持10個時鐘周期以上,復(fù)位后程序從0x00000000地址執(zhí)行;而80C51單片機的復(fù)位信號高電平有效,必須保持2個時鐘周期以上,復(fù)位后程序從0x0000地址執(zhí)行。同時,2者的中斷源都以復(fù)位的優(yōu)先級最高,優(yōu)先級依次降低,都包括外部中斷、定時器中斷和串口中斷;每個中斷源都有相應(yīng)的中斷服務(wù)程序入口;中斷的控制也都包括一個名稱為IER的中斷允許寄存器。
1.6 片上外部設(shè)備的學(xué)習(xí)做到觸類旁通
授人以魚不如授人以漁。C6000 DSP芯片功能強大,含有豐富的外部設(shè)備,如EMIF接口、McBSP、HPI接口、EDMA、PCI接口等。其每一種外設(shè)的正確使用都需要掌握其硬件結(jié)構(gòu)、閱讀芯片器件手冊的相應(yīng)章節(jié)、查閱相關(guān)的應(yīng)用筆記以及學(xué)習(xí)相關(guān)的應(yīng)用實例。受課時限制,同時根據(jù)實驗設(shè)備的硬件資源情況,在教學(xué)中以EMIF接口為重點對象,以上述方法講述如何擴展外部Sdram和Flash[9-10],同時輔以Sdram讀寫測試實驗。
任何硬件平臺的學(xué)習(xí)都必須重視實踐環(huán)節(jié)。課程中堅持理論與實踐教學(xué)的同步進行,做到邊學(xué)邊做、邊學(xué)邊練,有利于學(xué)生對課堂新知識的及時掌握,有利于學(xué)生綜合實踐能力的培養(yǎng)。
DSP技術(shù)實驗課的講授需要教師不僅有扎實的理論功底,還要有豐富的工程實踐經(jīng)驗。借鑒多年的企業(yè)DSP軟件工程師的任職經(jīng)歷,在前面5年累積下來的應(yīng)用電子技術(shù)專科專業(yè)DSP技術(shù)的授課基礎(chǔ)上,基于新的本科生學(xué)情,在教學(xué)計劃中節(jié)選6個實驗,包括Volume1例程、匯編程序編程、定時器中斷、SDRAM讀寫測試、FIR和FFT等。實驗內(nèi)容從軟件的學(xué)習(xí)、指令學(xué)習(xí)、外設(shè)的使用到算法的實現(xiàn),從驗證性實驗到綜合性實驗[11],難度逐步提升。
考慮DSP技術(shù)的實驗過程中需要接觸新的編程軟件,不采用“教師示范、學(xué)生模仿”的形式[12],實驗不做演示,僅給出實驗步驟和要求,讓學(xué)生主動去探索以及發(fā)現(xiàn)問題,教師僅充當(dāng)答疑者的角色,避免學(xué)生依葫蘆畫瓢,讓學(xué)生做一次實驗?zāi)苡洃洩q新,掌握實驗內(nèi)涵。實驗中發(fā)現(xiàn)該方法能有效激發(fā)學(xué)生學(xué)習(xí)的興趣,培養(yǎng)了學(xué)生解決問題的能力。
DSP技術(shù)的實踐能力培養(yǎng)不能局限在一個學(xué)期的課內(nèi)實驗環(huán)節(jié),需要有延續(xù)機制。把其拓展到開放實驗室的活動、課程設(shè)計、畢業(yè)設(shè)計等環(huán)節(jié);同時也把其滲透到教師的相關(guān)課題研究中,使其和實際應(yīng)用關(guān)聯(lián),不紙上談兵,可顯著提高學(xué)生的就業(yè)能力水平。
課程的考核能看出學(xué)生對DSP技術(shù)的掌握程度。理論部分采用閉卷的卷面方式考核,主要涉及DSP技術(shù)的相關(guān)概念,占總成績的70%;而實驗部分的考核分3部分,分為每次實驗的考勤、學(xué)生實驗過程表現(xiàn)和實驗報告撰寫。鑒于課程的特殊性,實驗報告選用電子文檔格式。為了避免實驗報告的抄襲,要求實驗過程的數(shù)據(jù)截圖都必須有學(xué)號作為水印,從而可以客觀判斷學(xué)生的表現(xiàn)。
針對DSP技術(shù)課程的理論教學(xué)要點、實踐環(huán)節(jié)以及考核方法做了詳細討論,也取得了一定的教學(xué)效果。但是,DSP技術(shù)課程涉及的平臺、工具和知識不斷更新,作為應(yīng)用型本科高校,需要不斷進行教學(xué)改革研究,以適應(yīng)DSP工程技術(shù)人才的培養(yǎng)需要。
References)
[1] 曹陽,趙明富,黃麗雯,等.基于應(yīng)用型人才培養(yǎng)的DSP技術(shù)課程教學(xué)改革與實踐探討[J]. 電腦知識與技術(shù),2012,8(4):951-952.
[2] 陳小元.電氣控制類DSP課程教學(xué)要點及教學(xué)方探討[J].麗水學(xué)院學(xué)報,2015,37(2):87-90.
[3] 李方慧.TMS320C6000 系列DSPs原理與應(yīng)用[M].北京:電子工業(yè)出版社,2003.
[4] 美國德州儀器公司.TMS320C6000系列DSP的CPU與外設(shè) [M].卞紅雨,譯.北京:清華大學(xué)出版社,2007.
[5] 張衛(wèi)寧.DSP原理與應(yīng)用的教學(xué)要點及方法探討[J].實驗技術(shù)與管理,2007,24(6):19-24.
[6] TI.TMS320DM642 Datasheet[Z].2002
[7] 于鳳芹.TMS320C6000 DSP結(jié)構(gòu)原理與硬件設(shè)計[M].北京:北京航空航天大學(xué)出版社, 2008.
[8] 董言治,婁樹理,劉松濤.TMS320C6000系列DSP系統(tǒng)結(jié)構(gòu)原理與應(yīng)用教程[M].北京:清華大學(xué)出版社,2014.
[9] TI.TMS320C6000 EMIF to External Flash Memory[Z].2002.
[10] TI.TMS320C6000 EMIF-to-External SDRAM Interface[Z].2002.
[11] 劉衛(wèi)東.《DSP原理與應(yīng)用》實驗教學(xué)改革研究[J].實驗科學(xué)與技術(shù),2012,10(1):84-86.
[12] 于冬梅,韓曉新,朱成喜.“DSP技術(shù)及應(yīng)用”課程中實驗教學(xué)改革研究[J].江蘇理工學(xué)院學(xué)報,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—),男,江西萍鄉(xiāng),碩士,講師,研究方向為電路設(shè)計及信號處理.
E-mail:xiaoyj617@163.com
G642.0
B
1002-4956(2017)4-0205-02