?

基于綜合案例的高校DSP課程教學改革研究

2016-11-11 02:57陳恩慶宋豫全張亮王忠勇
河南科技 2016年11期
關鍵詞:串口編程語音

陳恩慶 宋豫全 張亮 王忠勇

(鄭州大學信息工程學院,河南 鄭州 450001)

基于綜合案例的高校DSP課程教學改革研究

陳恩慶宋豫全張亮王忠勇

(鄭州大學信息工程學院,河南鄭州450001)

針對高校DSP課程教學中存在的一些問題,提出一種基于綜合性案例的DSP教學和實驗內容改革方案,給出一個具體的DSP綜合性應用案例,即以DSP為核心實現的基于語音識別的智能家居控制系統案例,并給出以實現此案例為目標的DSP教學和實驗內容具體設置安排。分析和實踐結果表明,此案例和教學實驗設計方案可以獲得較好的效果。

DSP;案例教學;課程改革

DSP(Digital Signal Processors)芯片又稱為數字信號處理器,是主要用來完成數字信號處理的方法與技術的通用或專用芯片。隨著信息技術和DSP芯片的發展,采用DSP芯片實現數字信號處理成為當前的發展趨勢,在通信、電子信息、自動控制、儀器儀表等領域獲得了越來越廣泛的應用,DSP技術已成為工科電類專業本科生和研究生必須掌握的一門實用技術。因此,很多高校都針對工科電類高年級本科生或研究生開設了《DSP原理及應用》或類似課程。該課程是一門綜合性和實踐性很強的課程,目的是使學生掌握DSP開發應用技術,并將數字信號處理、自動控制原理等所學理論知識應用于工程實際,提高學生理論聯系實際的能力和實踐創新能力,并且以此為基礎對其他嵌入芯片的開發有所了解。在信息技術飛速發展的今天,掌握好DSP技術對于學生在IT領域的繼續發展顯得尤為重要。然而,由于課時數、學生人數、實驗條件等諸多因素的限制,目前很多DSP課程的教學過程中都不同程度地存在一些重原理輕編程、重講述輕實驗等問題。因此,需要不斷創新DSP課程的教學內容和教學方法,充分調動學生的積極性和創造性,提供更多動手實踐機會,使學生通過學習達到能夠編程開發的目的[1-3]。

本文提出設計一個具體的DSP綜合性應用案例,并將此具體案例貫穿于DSP課程教學和實驗過程,探索用解決具體案例所需知識和編程技能為主線進行教學的新方式,從而使學生實現“做中學”和“所學即所用”的目的。然后,結合現有實驗設備介紹一個具體DSP綜合性案例的設計,并給出將具體案例貫穿于DSP課程教學和實驗環節的方法。

1 DSP綜合性應用案例設計

由于DSP芯片應用的廣泛性,DSP生產廠商眾多,并且同一個DSP廠商生產的DSP芯片型號針對不同應用需求而型號繁多。因此,DSP課程教學中對DSP芯片的選擇余地很大。但是,各種型號的DSP芯片從硬件架構和軟件開發流程上都有相通之處,因此各高校往往結合自身設備情況和專業特點選取某一型號DSP芯片為例進行教學,同時也兼顧對其他型號DSP芯片類似功能的介紹。下面以目前鄭州大學DSP教學中使用的TI公司TMS320F2812芯片為基礎給出一個復雜度不高、適合初學者入門,同時又涵蓋F2812芯片主要功能模塊的綜合性應用案例。

本案例為一個以F2812DSP芯片為核心的智能家居語音控制系統。目前,語音識別技術已經逐漸成熟[4,5],已經有很多開源的識別系統,并且一些公司開放了其應用接口。國內免費開放的平臺就包括百度開放平臺和科大訊飛語音開放平臺。本案例系統依托云端的科大訊飛語音識別平臺,通過DSP芯片控制本地語音的采集與處理,并通過DSP管理的WiFi模塊連入互聯網將本地語音傳輸至云端識別平臺,最后根據返回的識別結果控制電機等本地執行機構實現智能家居的控制功能。下面分別具體介紹系統軟硬件設計。

1.1系統硬件整體構成

系統以F2812DSP芯片為控制核心,本地硬件包括F2812核心處理板、語音采集模塊、WiFi傳輸模塊、外設執行模塊和本地端服務器,如圖1所示。

圖1 系統硬件構成

1.2語音采集模塊設計

在語音采集部分,采用Micphone模塊來完成語音能量信號向模擬電信號的轉化,然后再通過TLV320AIC23AD轉換芯片將電信號采樣量化為數字信號。TLV320AIC23為TI推出的一款高性能語音音頻處理芯片,該芯片的物理接口可分為數字接口和模擬接口[6]。數字接口包括控制接口和數據接口??刂平涌趥鬏敺绞桨↖2C和SPI串行接口模式,數據接口可與DSP芯片的McBSPs接口無縫連接。根據科大訊飛語音開放平臺的數據接口標準的要求,需要將AIC23的輸出數據配置為8kHz采樣率,16bits分辨率的PCM編碼數據,通過SPI方式進行控制信號的傳輸,通過DSP模式進行數據的傳輸。

控制信號包括用于數據傳輸的SDIN,用于傳輸時鐘信號的SCLK和用于鎖存數據字進入芯片的CS,硬件上分別對應芯片的23號、24號、21號引腳??蓪⑦@三路接口分別接到DSP的相應引腳用于控制信號傳輸。每一個控制數據字長為16位,其中高7位為芯片內部寄存器地址位,低9位為控制數據位。每一次進行AIC23的配置只修改需要傳入相應的控制字即可。為了方便指令的傳輸,在程序中采用GPIO模擬構建了一個SPI模式的指令傳輸函數,在函數內自動構建地址和指令數據的16位組合數值并進行傳輸工作。

IC23的音頻數據傳輸接口模式采用DSP模式,該模式與TI的McBSP接口能夠完美兼容。該模式中,AIC23的LRCIN和LRCOUT連接到McBSP的幀同步控制接口,幀同步控制接口的下降沿信號觸發數據傳輸。其數據傳輸幀構成為:左聲道數據在前,右聲道數據緊隨其后,組成一個雙字的數據幀,其時序圖如圖2所示。

圖2 TLV320AIC23的數據的時序圖

本文中選擇的傳輸數據字長為16位,故在上述時序圖中的n值為16。每一次幀同步信號會先后傳輸左右聲道的32位數據。

1.3串口轉WiFi模塊設計

為了將采集到的語音數據傳給本地服務器,采用現成的串行口轉WiFi透傳模塊,只需通過DSP芯片將語音數據發送給串口,再配置好WiFi模塊就能夠實時地將語音數據通過TCP協議傳輸出去,然后在本地服務器上通過TCP協議實現接收。

本文中采用的是USR-WIFI232-A串口轉WiFi模塊。其模塊本身支持2種模式,即無線接入點和作為無線終端模式。作為無線接入點,其可以作為一個WiFi熱點由其他設備進行連接,而作為無線終端模式可以去連接路由器等其他熱點發送設備實現聯網。將其設為無線終端模式,連接路由器然后訪問同一個局域網下的本地服務器。其數據傳輸流順序為:下位機串口到模塊串口,模塊串口到模塊WiFi,模塊WiFi到本地局域網。

1.4控制功能實現

為了實現電機等設備的控制功能,本系統中使用F2812芯片事件管理器產生一路PWM波輸出作為控制信號。DSP芯片相應功能模塊的主要配置過程如下:①通過配置SysCtrlRegs開啟事件管理器A的系統內部高速時鐘的配置,即置位PCLKCR的EVAENCLK位,即開啟了EVA的高速外設時鐘;②進行事件管理器的配置,即配置寄存器EvaRegs,因為選擇為高速外設時鐘作為PWM的計數時鐘,此時計數時鐘頻率等于系統高速時鐘頻率SYSCLK/2,為75MHz;③配置時間管理器,使T1CNT=0,初始化計數寄存器為0;④配置T1PR=7 499,則整個周期數為7 500,則其時鐘周期為0.1ms;⑤在T1CON中選擇連續遞增模式,不分頻,采用內部時鐘,并使能時鐘;⑥配置ACTRA的CMP1ACT=1,設置PWM2接口為高態有效模式;⑦配置COMCONA的CENABLE位為1,使能比較;FCOMPOE=1,使能比較輸出,即輸出PWM波信號。

此外,需要注意的是,在初始化過程中需配置CMPR1為0,不輸出PWM波。在調用過程中通過修改CMPR1的數值來修改電機速度。

2 基于綜合案例的教學和實驗設計

為了在有限課時內更好地使學生掌握DSP芯片結構和原理,熟悉DSP編程開發流程和技巧,結合上述具體設計案例,對DSP課程教學和實驗內容進行了設計,具體如下。

2.1課堂教學內容設計

為了用盡可能少的課時將DSP芯片結構、工作原理及基本編程開發流程介紹給學生,將整體課堂教學內容劃分成兩大部分,即硬件結構原理和軟件開發流程。

硬件結構原理部分,大致使用10個左右的課時簡要介紹和DSP芯片開發密切相關的芯片基本結構、CPU寄存器、中斷管理機制、存儲器分配機制等內容。同時,根據實現本設計案例的需要,著重介紹片內外設部分的McBSPs模塊、SCI模塊和事件管理器模塊。

在軟件開發流程部分,使用6個左右的課時介紹DSP芯片的集成開發環境CCS,程序編譯、調試的基本流程和一個基本的C語言實現的DSP基礎例程。對于一個DSP工程來說,既可以用C語言實現,也可以用匯編語言實現,或是兩者混合編程。由于采用匯編語言指令較多且十分繁瑣,而且目前實際工程中使用較少,因此過多匯編語言介紹反而不利于學生的理解和實際開發能力的快速提高。因此,直接介紹C語言編程方法,不僅可以增強軟件的可讀性,提高軟件開發速度,而且使學生在短時間內可以上手編程,從而提高學習效率,也提高學習積極性。

2.2課程實驗內容設計

DSP課程實驗環節是使學生深入理解DSP芯片各部分結構和工作原理,提高編程開發能力的關鍵。為了使學生能最終實現本設計案例的功能,并充分考慮不同學生的能力水平和學習期望的差異,在課程實驗內容設計上采用分層的設計方案。既保證大多數學生具有基本的DSP編程開發能力,又著重培養一部分有愿望且有能力和潛力的學生成為具有較強DSP實際開發能力的嵌入式軟件工程師。實驗具體分為以下3個層次。

2.2.1基礎實驗。包括熟悉CCS開發環境、程序編譯流程和調試工具,用C語言實現一個基本的用定時器和GPIO端口控制的LED燈閃爍功能。通過實驗培養學生基本的DSP編程能力。

2.2.2模塊實驗。根據DSP各模塊編程開發的特點和實現綜合性案例的需要,分層次地逐步提高學生DSP編程能力,為實現綜合案例的各模塊功能做好準備。實驗包括McBSPs控制串口通信實驗、GPIO模擬串口控制實驗、事件管理器控制電機實驗。通過這些實驗使學生深入理解DSP各模塊工作原理并鞏固提高DSP編程應用能力。

2.2.3綜合案例實驗。要求5名左右學生一組,根據自身興趣和能力選擇實現本綜合案例的部分功能或全部功能,或者自選相應課題進行基于DSP的嵌入式系統設計與實現。綜合性案例實驗既可以培養學生DSP編程開發的綜合應用能力,又可以培養其團隊合作精神。最終由任課和實驗老師分組驗收實驗程序和成果。

3 結語

DSP技術是伴隨著計算機與信息技術不斷發展的技術,其課程教學方法也應不斷創新發展。本文針對高校DSP課程教學和實驗環節中課時少、內容多、學習難度大、不易激發學生學習熱情等問題,設計綜合性DSP應用案例,提出以實現綜合性案例為目標設計教學內容和實驗環節,強調簡要介紹芯片原理并著重加強C語言編程訓練,使學生在有限課時內既掌握DSP基本原理,又以明確的應用目標為牽引充分鍛煉編程開發能力,獲得了較好的效果。

[1]茅劍.DSP課程教學方法改革研究[J].計算機教育,2014(24):39-42.

[2]裴榮,卜雄洙,牛國柱,等.基于工程的DSP課程實驗設計研究[J].實驗技術與管理,2011(8):96-99.

[3]于冬梅,韓曉新,朱成喜.“DSP技術與應用”課程中實驗教學改革研究[J].江蘇理工學院學報,2015(2):116-120.

[4]邢銘生,朱浩,王宏斌.語音識別技術綜述[J].科協論壇,2010(3):62-63.

[5]董桂官,劉云,徐楠.智能電視中文語音識別測試研究[J].電聲技術,2014(11):57-59.

[6]丁祥,萬旺根.音頻編解碼器TLV320AIC23及其與DSP接口設計[J].單片機與嵌入式系統應用,2002(6):35-37.

Research on Teaching Reform of DSP Course in Universities Based on Comprehensive Example

Chen EnqingSong YuquanZhang LiangWang Zhongyong
(School of Information Engineering,Zhengzhou University,Zhengzhou Henan 450001)

According to the problem in the teaching of DSP course in colleges and universities,a scheme of teaching and experiment reform was proposed.A comprehensive practical example,the intelligent home control systems based on speech recognition using DSP,was designed in this paper.In addition,the detailed schedule of teaching and experiment in order to realize the practical example was given.The analysis and practical results showed that the proposed comprehensive example and teaching scheme could achieve favorable effect.

DSP;case teaching method;course reform

G642

A

1003-5168(2016)06-0021-03

2016-05-05

陳恩慶(1977-),男,博士,副教授,研究方向:信號處理理論與應用、計算機視覺與人工智能等。

猜你喜歡
串口編程語音
編程,是一種態度
元征X-431實測:奔馳發動機編程
淺談AB PLC串口跟RFID傳感器的通訊應用
編程小能手
紡織機上誕生的編程
魔力語音
基于MATLAB的語音信號處理
基于MQ3與MP3的價廉物美的酒駕語音提醒器
對方正在輸入……
數字電源內部數據傳輸的串口通信方法實現
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合