錢 堃,房 芳
(東南大學(xué)自動(dòng)化學(xué)院,江蘇南京 210096)
數(shù)字信號(hào)處理器DSP是目前測控、通信、語音/圖像處理和消費(fèi)電子等領(lǐng)域中應(yīng)用廣泛、發(fā)展迅速的一項(xiàng)前沿技術(shù)。DSP教學(xué)對(duì)于培養(yǎng)電子信息與電氣類專業(yè)學(xué)生的自主創(chuàng)新能力具有重要意義[1-4]。
我校開設(shè)的32學(xué)時(shí)的“DSP技術(shù)及課程設(shè)計(jì)”,包括18學(xué)時(shí)的理論教學(xué)和14學(xué)時(shí)的實(shí)驗(yàn)教學(xué)與課程綜合設(shè)計(jì)。課程的教學(xué)內(nèi)容是:嵌入式DSP處理器的硬件結(jié)構(gòu)、片內(nèi)外設(shè)資源、通信接口和CCS集成開發(fā)環(huán)境與軟件開發(fā)等,要求學(xué)生掌握嵌入式測控系統(tǒng)設(shè)計(jì)開發(fā)的一般方法。
我校從“數(shù)字邏輯電路設(shè)計(jì)”、“微機(jī)系統(tǒng)與接口”、“單片機(jī)技術(shù)”到“DSP技術(shù)及課程設(shè)計(jì)”這一系列課程的漸進(jìn)式教學(xué),可以反映對(duì)學(xué)生軟硬件設(shè)計(jì)水平和工程實(shí)踐能力的深入培養(yǎng)。
我們?yōu)榱烁蠂HDSP器件技術(shù)的快速發(fā)展,沒有沿用老款24xx系列與281x系列DSP,而選用了最新F28335芯片。講課著重從運(yùn)動(dòng)控制的應(yīng)用角度結(jié)合科研需求進(jìn)行教學(xué)實(shí)踐,強(qiáng)化DSP類課程學(xué)以致用的教學(xué)目的。
本課程選用了TI公司最近推出的一款2000系列浮點(diǎn) DSP TMS320F28335芯片。該芯片與TMS320F2808和TMS320F2812等2000系列傳統(tǒng)DSP相比,各方面性能都有所提高,平均性能提升50%左右,芯片具有150MHz的高速處理能力,配備了32位浮點(diǎn)處理單元,6個(gè)DMA通道支持ADC、MCBSP和EMIF,有多達(dá)18路的 PWM輸出,12位16通道ADC[5]。它與定點(diǎn)C28x軟件兼容,尤其適于測控領(lǐng)域控制精度高、速度快和集成度高的要求。
對(duì)于DSP的編程方式,我們在介紹了代碼設(shè)計(jì)套件CCS開發(fā)環(huán)境的基礎(chǔ)上,選用以C/C++為主、匯編為輔的混合編程方式,即主程序采用C語言框架,對(duì)實(shí)時(shí)性要求較高的代碼段采用匯編語言編程。這種方式兼顧了上層應(yīng)用軟件編程的簡潔性和低層控制軟件的高效性,容易被學(xué)生掌握。
由于學(xué)生已系統(tǒng)地學(xué)習(xí)或了解過微機(jī)原理、單片機(jī)等相關(guān)知識(shí),對(duì)比式教學(xué)法能夠在短時(shí)間內(nèi)引導(dǎo)學(xué)生高效率地學(xué)習(xí)掌握DSP處理器的特點(diǎn)及開發(fā)方法。
學(xué)生通過比較DSP與Intel X86架構(gòu)微處理器、51系列單片機(jī)在體系結(jié)構(gòu)、片內(nèi)資源、存儲(chǔ)器和I/O接口等方面的特點(diǎn),能夠抓住DSP架構(gòu)的如下核心特點(diǎn)。DSP具有較高的時(shí)鐘頻率,采用改進(jìn)的哈佛結(jié)構(gòu)實(shí)現(xiàn)程序與數(shù)據(jù)的并行處理,擁有一套特殊的指令集實(shí)現(xiàn)復(fù)雜算法,集成了豐富的片內(nèi)資源及接口。學(xué)生通過比較X86的馮·諾依曼結(jié)構(gòu)、單片機(jī)的哈佛結(jié)構(gòu)以及DSP的改進(jìn)哈佛結(jié)構(gòu),可清楚理解微處理器架構(gòu)和指令對(duì)程序、數(shù)據(jù)操作方式的區(qū)別,也加深了在“微機(jī)原理”課程中學(xué)習(xí)的知識(shí)概念。
筆者針對(duì)2000系列DSP特點(diǎn),以運(yùn)動(dòng)控制為應(yīng)用目標(biāo)重構(gòu)了授課內(nèi)容。即在介紹DSP背景知識(shí)及架構(gòu)特點(diǎn)的基礎(chǔ)上,首先介紹定時(shí)器計(jì)數(shù)器與中斷控制系統(tǒng),從基本輸入輸出的角度介紹GPIO及其在數(shù)字量接口中應(yīng)用,介紹SPI、SCI兩種串行接口;隨后介紹事件管理器、ECAP、PWM模塊及其在運(yùn)動(dòng)控制中的應(yīng)用,A/D、D/A模塊及其在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用;最后補(bǔ)充介紹eCAN模塊。
我們在授課過程中,注意對(duì)具有相似性的串行外設(shè)接口SPI與串行外設(shè)接口SCI進(jìn)行比較,從中分析串行同步/異步通信的差異;另外,對(duì)較為基礎(chǔ)的GPIO與I/O(開關(guān)、液晶屏接口)實(shí)驗(yàn)進(jìn)行壓縮,對(duì)難點(diǎn)所在的事件管理器等部分適當(dāng)?shù)卦黾訉?shí)驗(yàn)課時(shí),為課程設(shè)計(jì)打好基礎(chǔ)。我們在授課與實(shí)驗(yàn)環(huán)節(jié)中,始終貫穿對(duì)CCS開發(fā)環(huán)境、編程語言特點(diǎn)、軟件調(diào)試流程和結(jié)果觀測方法等的介紹,循序漸進(jìn)地加強(qiáng)學(xué)生的實(shí)踐開發(fā)能力。
課程設(shè)計(jì)實(shí)驗(yàn)的內(nèi)容是利用F28335核心板與ICETEK-MOTOR-E運(yùn)動(dòng)控制板,設(shè)計(jì)直流無刷電機(jī)的調(diào)速控制系統(tǒng)。為讓學(xué)生漸進(jìn)地學(xué)習(xí)掌握F28335 DSP運(yùn)動(dòng)控制基本方法,我們安排了若干單元實(shí)驗(yàn):①基于霍爾傳感器的運(yùn)動(dòng)狀態(tài)捕獲,即研究總結(jié)電機(jī)正/反轉(zhuǎn)情況下霍爾傳感器捕獲端口狀態(tài)的變化規(guī)律;②直流無刷電機(jī)驅(qū)動(dòng)控制,即在利用TI公司bldc庫的基礎(chǔ)上,學(xué)習(xí)掌握PWM波形發(fā)生與電機(jī)轉(zhuǎn)速控制基本方法;③半開發(fā)式課程設(shè)計(jì),學(xué)生可選擇利用GPIO擴(kuò)展小鍵盤或A/D接口擴(kuò)展電位器,對(duì)直流無刷電機(jī)進(jìn)行轉(zhuǎn)速設(shè)置和調(diào)節(jié),并利用點(diǎn)陣液晶屏顯示轉(zhuǎn)速、方向等狀態(tài)信息。
筆者所在的智能機(jī)器人實(shí)驗(yàn)室自主研發(fā)了如圖1所示的SBOT輪式服務(wù)機(jī)器人控制系統(tǒng),原有基于ARM處理器的里程計(jì)控制板卡存在里程計(jì)模塊輸出跳變、更新周期慢等問題。為解決此問題,考慮到部分學(xué)生在課程學(xué)習(xí)上進(jìn)一步的需要,組織他們參與課題科研,設(shè)計(jì)新的里程計(jì)定位單元。具體要求是采用雙緩沖濾波機(jī)制,有效地濾除底輪碼盤返回的突變值,保證里程計(jì)輸出的正確性,采用定時(shí)器中斷、CAN中斷的方式縮短更新周期。
圖1 SBOT服務(wù)機(jī)器人
新設(shè)計(jì)的里程計(jì)結(jié)構(gòu)如圖2所示。里程計(jì)定位單元采用TMS320F28335核心開發(fā)板,DSP處理器系統(tǒng)主頻為150MHz,較之于原系統(tǒng)70MHz主頻的S3C440BOX有大幅提高,為縮短里程計(jì)的更新周期創(chuàng)造了條件。而且,F(xiàn)28335自帶CAN控制器能使接口電路設(shè)計(jì)較為簡單,有利于降低了設(shè)計(jì)的復(fù)雜性、提高系統(tǒng)的穩(wěn)定性。系統(tǒng)主要包括CAN總線通訊模塊、電源模塊、系統(tǒng)時(shí)鐘與復(fù)位模塊、JTAG調(diào)試模塊以及光電采集模塊。
圖2 里程計(jì)定位單元結(jié)構(gòu)圖
實(shí)驗(yàn)室課題組在學(xué)生參與設(shè)計(jì)的新方案基礎(chǔ)上,開發(fā)了改進(jìn)的機(jī)器人里程計(jì)定位單元,并在SBOT機(jī)器人上測試,驗(yàn)證了機(jī)器人在室內(nèi)環(huán)境下長距離運(yùn)動(dòng)定位的準(zhǔn)確性和可靠性。
本文從TI 2000系列DSP運(yùn)動(dòng)控制的應(yīng)用出發(fā),遵循自動(dòng)化專業(yè)處理器一類課程教學(xué)的創(chuàng)新性、漸進(jìn)性、開發(fā)性和實(shí)踐性原則,對(duì)教學(xué)、實(shí)踐及實(shí)踐的內(nèi)容和方法進(jìn)行了研究論述。在實(shí)踐教學(xué)中,采用半開放式課程設(shè)計(jì)與科研驅(qū)動(dòng)的應(yīng)用設(shè)計(jì)相結(jié)合,取得了良好的教學(xué)效果。不同層次的學(xué)生可自由選擇適合的內(nèi)容:普通學(xué)生通過半開放式課程設(shè)計(jì),結(jié)合 DSP運(yùn)動(dòng)控制綜合實(shí)驗(yàn)箱完成基于TMS320F28335的直流無刷電機(jī)調(diào)速系統(tǒng)設(shè)計(jì),并在系統(tǒng)的人機(jī)交互接口等方面有所發(fā)揮;能力較強(qiáng)的學(xué)生參與了移動(dòng)機(jī)器人里程計(jì)運(yùn)動(dòng)控制單元的科研實(shí)踐。學(xué)生普遍反映收獲很大,學(xué)習(xí)興趣明顯提高,創(chuàng)新能力增強(qiáng)。
[1] 張雪英,李鴻燕,張小玫,“DSP原理及應(yīng)用”實(shí)踐教學(xué)模式研究[J],南京:電氣電子教學(xué)學(xué)報(bào),2009,31,SUPP,96-98.
[2] 管慶等.“數(shù)字信號(hào)處理”與“DSP技術(shù)”課程的關(guān)系[J],南京:電氣電子教學(xué)學(xué)報(bào),2008,30(6),86-88.
[3] 張衛(wèi)寧.DSP原理與應(yīng)用的教學(xué)要點(diǎn)及方法探討[J],北京:實(shí)驗(yàn)技術(shù)與管理,2007,24(6):19-20+24.
[4] 李正周等,基于DSP的波形發(fā)生器的課程設(shè)計(jì)分析[J],南京:電氣電子教學(xué)學(xué)報(bào),2011,33(3):61-63.
[5] 王忠勇,陳恩慶.DSP原理與應(yīng)用技術(shù)[M].北京:電子工業(yè)出版社,2009.1.