張衛(wèi)寧
(山東大學(xué)信息科學(xué)與工程學(xué)院,山東濟(jì)南 250100)
隨著數(shù)字信號(hào)處理器技術(shù)的應(yīng)用日趨深入,國內(nèi)許多高等院校開設(shè)了“DSP原理與應(yīng)用”課程,迫切需要這方面的教材和參考書籍。為此,我們結(jié)合多年的授課講稿、教學(xué)及科研經(jīng)驗(yàn),并汲取其他院校相關(guān)教材的優(yōu)點(diǎn)[1-3],編寫出版了《DSP原理與應(yīng)用教程》[4]。該教材至今已經(jīng)再版4次,并被20多所院校用作教材,獲得了良好的教學(xué)效果。本文就該教材的編寫總結(jié)了一些體會(huì)供參考。
編寫好一本教材,我們第一個(gè)體會(huì)便是端正編寫教材的指導(dǎo)思想,做好編寫前的準(zhǔn)備工作。為此我們做了如下工作。
(1)根據(jù)“DSP原理與應(yīng)用”課程的培養(yǎng)目標(biāo),首先確定本教材的教學(xué)適用對(duì)象和范圍,使書本的內(nèi)容更有針對(duì)性。本書定位為電子信息、通信、計(jì)算機(jī)、集成電路、自動(dòng)化和光電等專業(yè)高年級(jí)本科生和研究生的教材,也可作為自學(xué)參考書或供從事DSP應(yīng)用的工程技術(shù)人員參考。
(2)“DSP原理與應(yīng)用”課程涵蓋的知識(shí)面寬,外文參考資料也多。但一本教材的篇幅畢竟有限,應(yīng)該如何解決篇幅少和內(nèi)容多的矛盾。我們確定了本教材的基本理論和內(nèi)容,然后又細(xì)分為必須的、重要的、擴(kuò)展的、參考的和自學(xué)的等幾個(gè)部分。經(jīng)過精簡(jiǎn)、歸納、優(yōu)化和取舍,確定出本教材的結(jié)構(gòu)體系并落實(shí)在教材目錄上。
(3)根據(jù)本教材的定位,確定編寫風(fēng)格。在編寫中力求內(nèi)容全面,多分析,多總結(jié)。通過例題、設(shè)計(jì)實(shí)例、習(xí)題和思考題,使讀者易于接受,便于理解。在編寫中盡量采用啟發(fā)式和討論式的方法,要避免變成為DSP使用手冊(cè)或產(chǎn)品說明書。
(1)在第2章介紹DSP的CPU內(nèi)核及硬件結(jié)構(gòu)時(shí),結(jié)合有關(guān)匯編指令講解。例如,講介乘加器時(shí)結(jié)合MAC指令;介紹比較、選擇和存儲(chǔ)單元時(shí)結(jié)合CMPS指令;指數(shù)編碼器則結(jié)合EXP指令講介等。
通過分析例題中匯編指令在硬件平臺(tái)上的執(zhí)行情況和信號(hào)的流向,使讀者形象地了解指令與硬件平臺(tái)之間的關(guān)系,了解指令在CPU中的工作原理,從而使他們加深對(duì)CPU硬件和指令功能的理解,為靈活應(yīng)用打下基礎(chǔ)。
(2)通過對(duì)DSP匯編指令集的學(xué)習(xí),讓讀者認(rèn)識(shí)到:指令的并行操作、超標(biāo)量操作、流水線及重復(fù)機(jī)制操作等,都是DSP中出現(xiàn)的代表了當(dāng)前嵌入式微處理器發(fā)展的新技術(shù)和新方向。
(3)通過深入分析公共目標(biāo)文件格式(COFF)的結(jié)構(gòu)特點(diǎn),引導(dǎo)學(xué)生區(qū)分匯編器偽指令與連接器偽指令的不同用途,討論存儲(chǔ)器模型與命令文件之間的關(guān)系,搞清楚共享文件(包括頭文件、中斷向量文件、GEL文件、庫文件等)的用途及編寫調(diào)用方法,學(xué)會(huì)搭構(gòu)DSP程序框架。
(4)增加了C54x高級(jí)C語言程序設(shè)計(jì)的內(nèi)容。在第5章重點(diǎn)討論了匯編程序和高級(jí)C程序之間的接口技術(shù),包括混合編程中的寄存器約定、函數(shù)調(diào)用規(guī)則和標(biāo)識(shí)符約定及C54x C代碼優(yōu)化等方面的內(nèi)容。
(5)加強(qiáng)了DSP綜合應(yīng)用系統(tǒng)設(shè)計(jì)的研究,在第9章詳細(xì)討論了DSP最小系統(tǒng)設(shè)計(jì)、C54x外部總線結(jié)構(gòu)、存儲(chǔ)器擴(kuò)展、A/D、D/A與DSP的接口技術(shù)以及Bootloader功能的實(shí)現(xiàn)等硬件設(shè)計(jì)的內(nèi)容,給出了C54x系統(tǒng)設(shè)計(jì)實(shí)例。
在教學(xué)的學(xué)時(shí)少內(nèi)容多的情況下,將教材中那些與實(shí)踐緊密結(jié)合的內(nèi)容放在實(shí)驗(yàn)課上講授,可以取得事半功倍的教學(xué)效果。
例如教材第4章DSP定點(diǎn)算法設(shè)計(jì)的內(nèi)容可以通過實(shí)驗(yàn)三:定點(diǎn)定標(biāo)運(yùn)算來講解和學(xué)習(xí)。又如,我們將實(shí)驗(yàn)十:片內(nèi)定時(shí)器實(shí)驗(yàn)中的程序?qū)戇M(jìn)了教材第7章定時(shí)器的例題中,讓讀者通過實(shí)驗(yàn)來學(xué)習(xí)C54x的片內(nèi)定時(shí)器。我們?cè)诮滩牡腁/D、D/A與DSP的接口技術(shù)中,詳細(xì)介紹了音頻CODEC芯片TLV320AIC23B,這是為實(shí)驗(yàn)十二:同步串口與A/D轉(zhuǎn)換和實(shí)驗(yàn)十三:基于DSP的數(shù)字音頻處理系統(tǒng)而準(zhǔn)備的。
通過開展驗(yàn)證型和自主型實(shí)驗(yàn)和教材中的完全匯編、混合編程及C語言編程的內(nèi)容相結(jié)合,將教材中的軟件仿真和硬件實(shí)驗(yàn)相結(jié)合,將多種開發(fā)方法產(chǎn)生的執(zhí)行效果進(jìn)行對(duì)照。
我們力求在有限篇幅內(nèi)抓住典型問題,講清思路和方法,啟發(fā)讀者去分析思考,從而更好的理解基本概念。例如在討論匯編分支程序設(shè)計(jì)時(shí),分別使用三種不同方法去設(shè)計(jì)同一個(gè)程序,列出對(duì)應(yīng)的三個(gè)程序清單,然后指出:“以上三種方法采用了不同的指令和轉(zhuǎn)移條件。其中,方法三的程序最簡(jiǎn)捷,執(zhí)行時(shí)間最短。由此可見,在匯編程序設(shè)計(jì)中,選擇合適的指令和實(shí)現(xiàn)方式,會(huì)使程序得以極大優(yōu)化”。這樣抓住幾個(gè)典型例子去啟發(fā)學(xué)生的思路,能夠收到很好的認(rèn)知效果。
為使讀者更易于接受和理解教材的主要內(nèi)容,我們?cè)诰帉懡滩臅r(shí)列舉了大量例題和習(xí)題。這些例題及習(xí)題與基本的主要內(nèi)容結(jié)合十分緊密,針對(duì)性比較強(qiáng),對(duì)培養(yǎng)學(xué)生的獨(dú)立思考能力、舉一反三及分析問題的能力很有益處。
[1] 張雄偉,陳亮,徐光輝,DSP芯片的原理與開發(fā)應(yīng)用.第三版[M],北京;電子工業(yè)出版社,2003
[2] 彭啟棕,李玉柏,管慶,DSP技術(shù)的發(fā)展與應(yīng)用[M],北京;高等教育出版社,2002
[3] 鄒彥,唐冬,寧志剛,DSP原理與應(yīng)用[M],北京:電子工業(yè)出版社,2005
[4] 張衛(wèi)寧、栗華、馬昕,DSP原理與應(yīng)用教程[M],北京;科學(xué)出版社,2008