




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、精選文檔一、課題爭辯的目的和意義: 在信號與信息處理中,提取有用信息需要對信號進行濾波。借助DSP數(shù)字信號處理器的高速運算力量,可以實時地對信號進行數(shù)字濾波。本設計要求利用DSP的DMA方式進行信號采集和信號輸出,同時對外部輸入的信號進行數(shù)字濾波。 把握利用DSP 實現(xiàn)信號實時FIR 濾波設計可使同學更加透徹的理解信號的采集方法和濾波方法。學會利用Matlab 對信號進行FIR 濾波,把握Matlab 的信號仿真。同時通過對DSP 信號處理器及A/D、D/A 轉換器以及DMA 的編程,可以培育同學C 語言編程力量以及使用DSP 硬件平臺實現(xiàn)數(shù)字信號處理算法的力量。二、課題爭辯主要內(nèi)容:1.基本
2、部分:(1) 把握利用濾波器設計FIR濾波器的方法,并提取濾波器參數(shù)。(2) 把握利用Matlab的信號處理工具箱的使用,以及利用Matlab對信號進行濾波。(3) 設計數(shù)字濾波算法,或調(diào)用DSPLIB中的濾波函數(shù),實現(xiàn)對信號的濾波。(4) 利用C語言對A/D、D/A進行初始化。(5) 利用C語言對DMA進行初始化。(6) 編寫DMA中斷服務程序,實現(xiàn)信號的實時濾波。(7) 利用CCS信號分析工具分析信號的頻譜成分,確定濾波器的參數(shù)2.發(fā)揮部分:(1)比較加不同窗和階數(shù)時濾波器的濾波效果。(2)測試所設計濾波器的幅頻特性和相頻特性,并與MATLIB下的設計結果進行比較。(3)在試驗板的Line
3、 in輸入端接入正弦信號,分左右聲道分別采集,并分別濾波。三、要求完成的任務:(1)利用Matlab設計FIR濾波器,并對信號進行濾波。(2)把握CCS的安裝、設置,工程的建立、工程設置、編譯運行和調(diào)試方法。(3)編寫C語言程序實現(xiàn)設計要求,并在CCS集成開發(fā)環(huán)境下調(diào)試通過,實現(xiàn)設計所要求。的各項功能。(4)利用信號發(fā)生器產(chǎn)生輸入信號,經(jīng)DSP運算后正確地在示波器上顯示。(5)按要求撰寫課程設計報告。四、爭辯方法及技術途徑:利用DSP實現(xiàn)對模擬信號濾波的框圖 外部模擬信號先進行A/D轉換,利用MCBSP的接收寄存器接收數(shù)據(jù)。利用CCS的頻譜分析工具對輸入信號進行頻譜分析;依據(jù)頻譜成分確定濾波器
4、參數(shù),然后利用Matlab設計FIR濾波器,將參數(shù)提取出來,存放到DSP存儲區(qū)中。調(diào)用DSPLIB中的FIR濾波函數(shù),對信號進行濾波。濾波后的數(shù)據(jù)利用DMA方式送到D/A轉換器轉換為模擬信號。 本設計可以分為兩部分:(1) 信號仿真(a)首先利用Matlab的fdatool工具箱設計濾波器,在sptool工具箱進行信號分析與濾波。(b)利用CCS進行信號濾波算法的仿真,即利用simulator進行仿真。調(diào)用DSPLIB庫中的fir()濾波函數(shù)實現(xiàn)信號FIR濾波,或自行編寫FIR濾波程序實現(xiàn)信號FIR濾波。(2) 利用Emulator,即DSP硬件板、接受DMA方式實現(xiàn)信號采集與傳輸,結合FIR
5、濾波算法,實現(xiàn)實時FIR濾波。五、試驗背景:1.課題爭辯的現(xiàn)狀: 凡是有力量進行信號處理的裝置都可以稱為濾波器。在近代電信設備和各類把握系統(tǒng)中,濾波器應用極為廣泛;在全部的電子部件中,使用最多,技術最為簡單的要算濾波器了。濾波器的優(yōu)劣直接打算產(chǎn)品的優(yōu)劣,器的爭辯和生產(chǎn)歷來為各國所重視。 1917年美國和德國科學家分別創(chuàng)造了LC濾波器,次年導致了美國第一個多路復用系統(tǒng)的消滅。20世紀50年月無源濾波器日趨成熟。自60年月起由于計算機技術、集成工藝和材料工業(yè)的進展,濾波器進展上了一個新臺階,并且朝著低功耗、高精度、小體積、多功能、穩(wěn)定牢靠和價廉方向努力,其中小體積、多功能、高精度、穩(wěn)定牢靠成為70
6、年月以后的主攻方向。導致RC有源濾波器、數(shù)字濾波器、開關電容濾波器和電荷轉移器等各種濾波器的飛速進展,到70年月后期,上述幾種濾波器的單片集成已被研制出來并得到應用。80年月,致力于各類新型濾波器的爭辯,努力提高性能并漸漸擴大應用范圍。90年月至現(xiàn)在主要致力于把各類濾波器應用于各類產(chǎn)品的開發(fā)和研制。當然,對濾波器本身的爭辯仍在不斷進行。 我國廣泛使用濾波器是50年月后期的事,當時主要用于話路濾波和報路濾波。經(jīng)過半個世紀的進展,我國濾波器在研制、生產(chǎn)和應用等方面已納入國際進展步伐,但由于缺少特地研制機構,集成工藝和材料工業(yè)跟不上來,使得我國很多新型濾波器的研制應用與國際進展有一段距離。我國現(xiàn)有濾
7、波器的種類和所掩蓋的頻率己基本上滿足現(xiàn)有各種電信設備。從整體而言,我國有源濾波器進展比無源濾波器緩慢,尚未大量生產(chǎn)和應用。從下面的生產(chǎn)應用比例可以看出我國各類濾波器的應用狀況:LC濾波器占50%;晶體濾波器占20%:機械濾波器占15%;陶瓷和聲表面濾波器各占1%;其余各類濾波器共占13%。從這些應用比例來看,我國電子產(chǎn)品要想實現(xiàn)大規(guī)模集成,濾波器集成化仍舊是個重要課題。 在上一個世紀中,電濾波器的進展經(jīng)受了從無源到有源和從模擬到數(shù)字兩個過程。高精度無源濾波器從設計到制造都是難度格外高的技術。有源濾波器雖然很大地改進了濾波器的性能,也降低了一些制造工藝的難度,但從其性能的大幅度改進,與其它信號處
8、理技術的結合,實現(xiàn)的手段之便捷,還是要數(shù)數(shù)字濾波器后來居上。隨著電子工業(yè)的進展,對濾波器的性能要求越來越高,功能也越來越多,并且要求它們向集成方向進展。我國濾波器研制和生產(chǎn)與上述要求相差甚遠,為縮短這個差距,電子工程和科技人員負有重大的歷史責任陰。所以,對濾波器的爭辯和生產(chǎn)歷來為各國所重視。2.國內(nèi)外相關領域的爭辯:20世紀60年月以來,隨著計算機和信息技術的飛速進展,數(shù)字信號處理技術應運而生,并得到了迅猛的進展。當時還沒有DSP,數(shù)字信號處理只能依靠MPU來完成。但MPU(微處理器)的速度無法滿足高速實時的要求。因此數(shù)字信號處理技術多是停留在理論上,得不到廣泛的應用,但這為DSP的誕生打下了
9、基礎。70年月至80年月初是DSP進展的其次階段。70年月初,有人提出了DSP的理論和算法基礎。但是直到1978,世界上第一個世界上第一枚DSP才誕生,它是由1978AMI公司發(fā)布的S2811。1979年美國Intel公司發(fā)布的商用可編程器件2920是DSP芯片的一個主要里程碑;1980年NEC公司推出的PD7720是第一個具有乘法器的商用DSP芯片。美國德州儀器公司Texas Instruments也于1982年推出了其第一代DSP芯片TMS32010及其系列產(chǎn)品,它們都是基于NMOS工藝。此時的DSP運行速度較以前的MPU有了較大的提高,但由于制造工藝所限,體積和功耗都比較大,內(nèi)部資源較少
10、,且價格昂貴。80年月中期直到現(xiàn)在是DSP得到了蓬勃進展并廣泛應用的時期。80年月中期,隨著大規(guī)模集成電路技術尤其是CMOS技術的進展,基于CMOS工藝的DSP應運而生,體積功耗都大大削減,而存儲容量和運算速度都得到成倍提高,成為語音處理、圖像硬件處理技術的基礎;80年月后期,DSP運算速度進一步提高,應用范圍逐步擴大到通信、計算機領域。90年月直到現(xiàn)在,DSP進展最快,此時的DSP集成度極高,體積、功耗進一步削減,內(nèi)部資源更是成倍增加,而價格卻進一步下降。此時,DSP芯片不僅在通信、計算機領域大顯身手,而且已擴大到人們的學習、工作和生活的各個方面。生產(chǎn)DSP 器件的公司也不斷壯大,目前,市場
11、占有率前四名依次為:Texas Instruments、 Lucent 、Analog Device、Motorola。在全部生產(chǎn)DSP的公司中,TI可謂一枝獨秀,它是世界上最大的DSP供應商,TI系列的DSP也是公認的最成功的DSP。其DSP市場份額占全世界份額近50%。其產(chǎn)品掩蓋了高、中、低端幾乎所以市場,廣泛應用于各種領域。自從在1982年成功推出了其第一代DSP TMS32010及其系列產(chǎn)品TMS32011、TMS320C10/C14/C15等,TI相繼推出了其次代DSP TMS32020、TMS320C25/C26/C28,第三代DSP TMS320C30/C31/C32,第四代DS
12、P TMS320C40/C44,第五代DSP TMS3205X/C54X/C55X及目前速度最快的第六代DSP TMS320C62X/C67X等等。DSP器件應用面從起初的局限于軍工,航空航天等軍事領域,擴展到今日的諸多電子行業(yè)及消費類電子產(chǎn)品中。在TI公司的 DSP 產(chǎn)品中C1X、C2X、C2XX、C5XX、C54X、C62X等系列是定點運算指令系統(tǒng)的DSP;C3X、C4X、C67X等系列是浮點運算指令系統(tǒng)的DSP;AV7100、AV7110等系列是用于視頻、音頻領域的專用數(shù)字壓縮產(chǎn)品。六、試驗原理:1.DSP:一個典型的 DSP 系統(tǒng)如下圖所示:該圖是一個用DSP做信號處理的典型框圖。由于
13、DSP是用來對數(shù)字信號進行處理的,所以首先必需將輸入的模擬信號變換為數(shù)字信號。于是先對輸入模擬信號進行調(diào)整,輸出的模擬信號經(jīng)過A/D變換后變成DSP可以處理的數(shù)字信號,DSP依據(jù)實際需要對其進行相應的處理,如FFT、卷積等;處理得到的結果仍舊是數(shù)字信號,可以直接通過相應通信接口將它傳輸出去,或者對它進行D/A變換將其轉換為模擬采樣值,最終再經(jīng)過內(nèi)插和平滑濾波就得到了連續(xù)的模擬波形模擬信號。當然,圖中的有些環(huán)節(jié)并不是必需的。如A/D轉換,假如輸入的是數(shù)字信號,就可以直接交給DSP進行運算。由于數(shù)字信號處理系統(tǒng)是以數(shù)字信號處理理論為基礎,所以具有數(shù)字信號處理的全部優(yōu)點:(1)接口便利 DSP 系統(tǒng)
14、與其它以數(shù)字技術為基礎的系統(tǒng)或設備都是相互兼容的,比模擬系統(tǒng)與這些系統(tǒng)接口要簡潔的多。(2)編程便利 DSP 系統(tǒng)中的可編程DSP芯片可以使設計人員在開發(fā)過程中機敏便利的進行修改和升級,可以將C語言與匯編語言結合使用。(3)具有高速性 DSP系統(tǒng)的運行較高,最新的DSP芯片運行速度高達10GMIPS以上。(4)穩(wěn)定性好DSP 系統(tǒng)以數(shù)字處理為基礎, 受四周環(huán)境,如噪聲、溫度等的影響小、牢靠性高;(5)精度高 例如16位數(shù)字系統(tǒng)可以達到10-5的精度;(6)可重復性好 模擬系統(tǒng)的性能受元件參數(shù)性能變化影響大,而數(shù)字系統(tǒng)基本不受影響,更便于測試、調(diào)試和大規(guī)模生產(chǎn)。(7)集成便利 DSP系統(tǒng)中的數(shù)字
15、部件有高度的規(guī)范性,便于大規(guī)模生產(chǎn)。當然DSP也存在肯定的缺點。例如,對于一些簡潔的信號處理任務,如與模擬交換線的電話接口,若接受DSP則使成本增加。另外,DSP 系統(tǒng)中的高速時鐘通常在幾十兆赫,可能帶來高頻干擾和電磁泄漏等問題, 而且DSP 的功率消耗在系統(tǒng)中也是較大的。此外,DSP技術進展得很快,數(shù)學學問要求多,開發(fā)和調(diào)試工具還很不完善。雖然DSP系統(tǒng)還存在一些缺點,但是隨著近兩年來 DSP 技術突飛猛進的進展,成本的下降,很多問題都得到了緩解。其突出的優(yōu)點已經(jīng)使其在通信、語音、圖像、雷達、生物醫(yī)學、工業(yè)把握、儀器儀表等很多領域得到越來越廣泛的應用。2.DMA技術: 直接存儲器訪問(Dir
16、ect Memory Access,簡稱DMA)是C55x DSP格外重要的片上外設,DMA把握器可以在不影響CPU的狀況下完成數(shù)據(jù)的傳輸,因此數(shù)據(jù)傳輸速度快,在要求信號實時采集和處理的系統(tǒng)中常接受DMA方式進行信號采集與傳輸。TMS320C5502有6個可獨立編程的DMA通道,每個DMA通道受各自的5個16位寄存器把握:源地址寄存器DMSRC、目的地址寄存器DMDST、單元計數(shù)寄存器DMCTR、同步大事和幀計數(shù)寄存器DMSFC、發(fā)送模式把握寄存器DMMCR。此外,DMA的6個通道還受通道優(yōu)先級和使能把握寄存器DMPREC把握。 DMA是指一種高速的數(shù)據(jù)傳輸操作,允許在外部設備和存儲器之間直接
17、讀寫數(shù)據(jù),既不通過CPU,也不需要CPU干預。整個數(shù)據(jù)傳輸操作在一個稱為“DMA把握器”的把握下進行。CPU除了在數(shù)據(jù)傳輸開頭和結束時做一點處理外,在傳輸過程中還可以進行其他的工作。這樣,在大部分時間里,CPU和輸入輸出都處于并行操作,因此使整個計算機系統(tǒng)的效率大大提高。DMA是全部現(xiàn)代電腦的重要特色,它允許不同速度的硬件裝置來溝通,而不需要依于 CPU 的大量中斷負載,否則,CPU 需要從來源把每一片段的資料復制到暫存器,然后把它們再次寫回到新的地方,在這個時間中,CPU對于其他的工作來說就無法使用。DMA傳輸將數(shù)據(jù)從一個地址空間復制到另外一個地址空間,當CPU初始化這個傳輸動作,傳輸動作本
18、身是由DMA把握器來實行和完成。典型的例子就是移動一個外部內(nèi)存的區(qū)塊到芯片內(nèi)部更快的內(nèi)存區(qū)。像是這樣的操作并沒有讓處理器工作拖延,反而可以被重新排程去處理其他的工作。DMA 傳輸對于高效能嵌入式系統(tǒng)算法和網(wǎng)絡是很重要的。一個設備接口試圖通過總線直接向另一個設備發(fā)送數(shù)據(jù)(一般是大批量的數(shù)據(jù)), 它會先向CPU發(fā)送DMA懇求信號。外設通過DMA的一種特地接口電路DMA把握器(DMAC),向CPU提出接管總線把握權的總線懇求,CPU收到該信號后,在當前的總線周期結束后,會按DMA信號的優(yōu)先級和提出DMA懇求的先后挨次響應DMA信號。CPU對某個設備接口響應DMA懇求時,會讓出總線把握權。于是在DMA
19、把握器的管理下,外設和存儲器直接進行數(shù)據(jù)交換,而不需CPU干預。數(shù)據(jù)傳送完畢后,設備接口會向CPU發(fā)送DMA結束信號,交還總線把握權。實現(xiàn)DMA傳送的基本操作如下:1、外設可通過DMA把握器向CPU發(fā)出DMA懇求;2、CPU響應DMA懇求,系統(tǒng)轉變?yōu)镈MA工作方式,并把總線把握權交給DMA把握器;3、由DMA把握器發(fā)送存儲器地址,并打算傳送數(shù)據(jù)塊的長度;4、執(zhí)行DMA傳送;5、DMA操作結束,并把總線把握權交還CPU。DMA方式主要適用于一些高速的I/O設備。這些設備傳輸字節(jié)或字的速度格外快。對于這類高速I/O設備,假如用輸入輸出指令或接受中斷的方法來傳輸字節(jié)信息,會大量占用CPU的時間,同時
20、也簡潔造成數(shù)據(jù)的丟失。而DMA方式能使I/O設備直接和存儲器進行成批數(shù)據(jù)的快速傳送。3.FIR低通濾波器:假設數(shù)字濾波器的頻率響應函數(shù)H用下式表示:幅頻特性表示信號通過該濾波器后各頻率成分振幅衰減狀況,而相頻特性反映各頻率成分通過濾波器后在時間上的延時狀況。一般選頻濾波器的技術要求由幅頻特性給出,其相頻特性是確定的,所以在設計過程中,對相頻特性一般不作要求。在低通濾波器的幅頻特性中,Wp和Ws分別稱為通帶邊界頻率和阻帶截止頻率。從Wp到Ws稱為過渡帶,過渡帶上的頻響一半是單調(diào)下降的。當沖擊響應滿足下列條件時,F(xiàn)IR濾波器具有對稱結構,為線性相位濾波器:這種對稱性,可使得乘法器數(shù)量減半:對n價濾
21、波器,當n為偶數(shù)時,乘法器的個數(shù)為n/2個;當n為奇數(shù)時,乘法器的個數(shù)為(n+1)/2個。在電路實現(xiàn)中,乘法器占用的規(guī)律單元數(shù)較多。乘法器的增加,意味著電路成本增加,另外對電路的工作速度也有影響。在DSP的應用中,可以應用Matlab的濾波器設計工具箱fdatool工具箱生成需要的FIR濾波器,在生成C文件,提取出相應的濾波數(shù)據(jù),應用CCS來調(diào)用這些數(shù)據(jù),從而應用DSP產(chǎn)生信號的濾波效果,這樣就實現(xiàn)了FIR的低通濾波效果。在信號處理中,濾波占有格外重要的地位。數(shù)字濾波是數(shù)字信號處理的基本方法。數(shù)字濾波與模擬濾波相比有很多優(yōu)點,它除了可避開模擬濾波器固有的電壓漂移、溫度漂移和噪聲等問題外,還能滿
22、足濾波器對幅度和相位的嚴格要求。低通有限沖激響應濾波器(低通FIR濾波器)有其獨特的優(yōu)點,由于FIR系統(tǒng)只有零點,因此,系統(tǒng)總是穩(wěn)定的,而且簡潔實現(xiàn)線性相位和允許實現(xiàn)多通道濾波器。DSP(數(shù)字信號處理器)與一般的微處理器相比有很大的區(qū)分,它所特有的系統(tǒng)結構、指令集合、數(shù)據(jù)流程方式為解決簡單的數(shù)字信號處理問題供應了便利,本文選用TMS320C54X作為DSP處理芯片,通過對其編程來實現(xiàn)FIR濾波器。對數(shù)字濾波器而言,從實現(xiàn)方法上,有FIR濾波器和無限沖激響應(IIR)濾波器之分。由于FIR濾波器只有零點,因此這一類系統(tǒng)不像IIR系統(tǒng)那樣易取得比較好的通帶與阻帶衰減特性。但是FIR系統(tǒng)有自己突出的
23、優(yōu)點:系統(tǒng)總是穩(wěn)定的;易實現(xiàn)線性相位;允許設計多通帶(阻帶)濾波器。其中后兩項是IIR系統(tǒng)不易實現(xiàn)的。設a i(i=0,1,2,N-1)為濾波器的沖激響應,輸入信號為x(n),則FIR濾波器的輸入輸出關系為: FIR濾波器的結構如下圖所示:4. 乒乓操作: 輸入數(shù)據(jù)流通過“輸入數(shù)據(jù)選擇單元”將數(shù)據(jù)流等時安排到兩個數(shù)據(jù)緩沖區(qū),數(shù)據(jù)緩沖模塊可以為任何存儲模塊,比較常用的存儲單元為雙口 RAM(DPRAM)、單口RAM(SPRAM)、FIFO等。在第一個緩沖周期,將輸入的數(shù)據(jù)流緩存到“數(shù)據(jù)緩沖模
24、塊1”;在第2個緩沖周期,通過“輸入數(shù)據(jù)選擇單元”的切換,將輸入的數(shù)據(jù)流緩存到“數(shù)據(jù)緩沖模塊2”,同時將“數(shù)據(jù)緩沖模塊1”緩存的第1個周期數(shù)據(jù)通過“輸出數(shù)據(jù)選擇單元”的選擇,送到 “數(shù)據(jù)流運算處理模塊”進行運算處理;在第3個緩沖周期通過“輸入數(shù)據(jù)選擇單元”的再次切換,將輸入的數(shù)據(jù)流緩存到“數(shù)據(jù)緩沖模塊1”,同時將“數(shù)據(jù)緩沖模塊2”緩存的第2個周期的數(shù)據(jù)通過“輸出數(shù)據(jù)選擇單元”切換,送到“數(shù)據(jù)流運算處理模塊”進行運算處理。如此循環(huán)。 通過“輸入數(shù)據(jù)選擇單元”和“輸出數(shù)據(jù)選擇單元”按節(jié)拍、相互協(xié)作的切換,將經(jīng)過緩沖的數(shù)據(jù)流沒有停頓地送到“數(shù)據(jù)流運算處理模塊”進行運算與處理。把乒乓操作模塊當做一個整
25、體,站在這個模塊的兩端看數(shù)據(jù),輸入數(shù)據(jù)流和輸出數(shù)據(jù)流都是連續(xù)不斷的,沒有任何停頓,因此格外適合對數(shù)據(jù)流進行流水線式處 理。所以乒乓操作經(jīng)常應用于流水線式算法,完成數(shù)據(jù)的無縫緩沖與處理。 通過乒乓操作實現(xiàn)低速模塊處理高速數(shù)據(jù)的實質(zhì)是:通過DPRAM這種緩存單元實現(xiàn)了數(shù)據(jù)流的串并轉換,并行用“數(shù)據(jù)預處理模塊1”和“數(shù)據(jù)預處理模塊2”處理分流的數(shù)據(jù),是面積與速度互換原則的體現(xiàn)。7、 試驗流程:1.首先利用Matlab的fdatool工具箱設計濾波器,在sptool工具箱進行信號分析與濾波:Matlab編程,產(chǎn)生題所要求的數(shù)字信號k=0:255;%取256點數(shù)據(jù)a=sin(2*pi*k*2000/32
26、000);b=sin(2*pi*k*2000/32000)+ sin(2*pi*k*12000/32000);2.利用CCS進行工程打開、編譯鏈接、裝載、運行:3. 利用信號發(fā)生器產(chǎn)生輸入信號,經(jīng)DSP運算后正確地在示波器上顯示:4. 變量觀看、圖形觀看:輸入時域、頻域:輸出時域、頻域:噪聲時域、頻域:5. 比較加不同窗和階數(shù)時濾波器的濾波效果:HammingHannBlackman七、試驗程序:/* 利用DSP實現(xiàn)實時信號FIR濾波 */ /*main_dma4.c*/#include <stdio.h>#include <csl_mcbsp.h>#include &
27、lt;csl_dma.h>#include <csl_irq.h>#include <csl.h>#include <csl_chip.h>#include <csl_i2c.h>#include <csl_pll.h>#include <csl_emif.h>#include <csl_emifBhal.h>#include "5502_FLASH.h"#include "E2PROM_Function.h"#include "CODEC.h"
28、#include <math.h>#include <tms320.h>#include <dsplib.h>#include "fir.h"/-Global data definition-/* Constants for the buffered ping-pong transfer */#define BUFFSIZE 96#define PING 0#define PONG 1/* * Data buffer declarations - the program uses four logical buffers of size
29、* BUFFSIZE, one ping and one pong buffer on both receive and transmit sides. */#pragma DATA_SECTION (gBufferXmtPing, "buffer_sect");Int16 gBufferXmtPingBUFFSIZE; / Transmit PING buffer#pragma DATA_SECTION (gBufferXmtPong, "buffer_sect");Int16 gBufferXmtPongBUFFSIZE; / Transmit PO
30、NG buffer#pragma DATA_SECTION (gBufferRcvPing, "buffer_sect");Int16 gBufferRcvPingBUFFSIZE; / Receive PING buffer#pragma DATA_SECTION (gBufferRcvPong, "buffer_sect");Int16 gBufferRcvPongBUFFSIZE; / Receive PONG bufferDATA *dbptr = &db0;DATA *dbptrx = &dbx0;/*-*/ Config Mc
31、BSP: Use McBSP to send and receive the data between DSP and AIC23B/*-*/MCBSP_Config Mcbsp1Config = MCBSP_SPCR1_RMK( MCBSP_SPCR1_DLB_OFF, / DLB = 0 MCBSP_SPCR1_RJUST_LZF, / RJUST = 0,right justify the data and zero fill the MSBs MCBSP_SPCR1_CLKSTP_DISABLE, / CLKSTP = 0 MCBSP_SPCR1_DXENA_ON, / DXENA =
32、 1,DX delay enabler on 0, / Reserved = 0 MCBSP_SPCR1_RINTM_RRDY, / RINTM = 0 MCBSP_SPCR1_RSYNCERR_NO, / RSYNCER = 0 / MCBSP_SPCR1_RFULL_NO, / RFULL = 0 / MCBSP_SPCR1_RRDY_NO, / RRDY = 0 MCBSP_SPCR1_RRST_DISABLE / RRST = 0; Disable receiver ), MCBSP_SPCR2_RMK( MCBSP_SPCR2_FREE_NO, / FREE = 0 MCBSP_SP
33、CR2_SOFT_NO, / SOFT = 0 MCBSP_SPCR2_FRST_FSG, / FRST = 1 ; Enable the frame-sync logic MCBSP_SPCR2_GRST_CLKG, / GRST = 1 ; The sample rate generator is take out of its reset state MCBSP_SPCR2_XINTM_XRDY, / XINTM = 0 MCBSP_SPCR2_XSYNCERR_NO, / XSYNCER =0 / MCBSP_SPCR2_XEMPTY_NO, / XEMPTY = 0 / MCBSP_
34、SPCR2_XRDY_NO, / XRDY = 0 MCBSP_SPCR2_XRST_DISABLE / XRST = 0 Disable transimitter ), / 單數(shù)據(jù)相,接受數(shù)據(jù)長度為16位,每相2個數(shù)據(jù) MCBSP_RCR1_RMK( MCBSP_RCR1_RFRLEN1_OF(1), / RFRLEN1 = 1 MCBSP_RCR1_RWDLEN1_16BIT / RWDLEN1 = 2 ), MCBSP_RCR2_RMK( MCBSP_RCR2_RPHASE_SINGLE, / RPHASE = 0 MCBSP_RCR2_RFRLEN2_OF(0), / RFRLEN2
35、= 0 MCBSP_RCR2_RWDLEN2_8BIT, / RWDLEN2 = 0 MCBSP_RCR2_RCOMPAND_MSB, / RCOMPAND = 0 No companding,any size data, MSB received first MCBSP_RCR2_RFIG_YES, / RFIG = 1 Frame-sync ignore MCBSP_RCR2_RDATDLY_1BIT / RDATDLY = 1 1-bit data delay ), MCBSP_XCR1_RMK( MCBSP_XCR1_XFRLEN1_OF(1), / XFRLEN1 = 1 MCBSP
36、_XCR1_XWDLEN1_16BIT / XWDLEN1 = 2 ), MCBSP_XCR2_RMK( MCBSP_XCR2_XPHASE_SINGLE, / XPHASE = 0 MCBSP_XCR2_XFRLEN2_OF(0), / XFRLEN2 = 0 MCBSP_XCR2_XWDLEN2_8BIT, / XWDLEN2 = 0 MCBSP_XCR2_XCOMPAND_MSB, / XCOMPAND = 0 MCBSP_XCR2_XFIG_YES, / XFIG = 1 Unexpected Frame-sync ignore MCBSP_XCR2_XDATDLY_1BIT / XD
37、ATDLY = 1 1-bit data delay ), MCBSP_SRGR1_DEFAULT, MCBSP_SRGR2_DEFAULT, MCBSP_MCR1_DEFAULT, MCBSP_MCR2_DEFAULT, MCBSP_PCR_RMK( / MCBSP_PCR_IDLEEN_RESET, / IDLEEN = 0 MCBSP_PCR_XIOEN_SP, / XIOEN = 0 MCBSP_PCR_RIOEN_SP, / RIOEN = 0 MCBSP_PCR_FSXM_EXTERNAL, / FSXM = 0 Tranmit frame-syn is provided by A
38、IC23B MCBSP_PCR_FSRM_EXTERNAL, / FSRM = 0 Receive frame-syn is provided by AIC23B MCBSP_PCR_CLKXM_INPUT, / CLKR is input MCBSP_PCR_CLKRM_INPUT, / CLKX is input MCBSP_PCR_SCLKME_NO, / SCLKME=0 CLKG is taken from the McBSP internal input clock / MCBSP_PCR_CLKSSTAT_0, / The signal on the CLKS pin is lo
39、w MCBSP_PCR_DXSTAT_0, / Drive the signal on the DX pin low / MCBSP_PCR_DRSTAT_0, / The signal on the DR pin is low MCBSP_PCR_FSXP_ACTIVEHIGH, / FSXP = 1 Because a falling edge on LRCIN or LRCOUT starts data transfer MCBSP_PCR_FSRP_ACTIVELOW, / FSRP = 1 MCBSP_PCR_CLKXP_FALLING, / CLKXP = 1 The fallin
40、g edge of BCLK starts data transfer MCBSP_PCR_CLKRP_RISING / CLKRP = 1 ), MCBSP_RCERA_DEFAULT, MCBSP_RCERB_DEFAULT, MCBSP_RCERC_DEFAULT, MCBSP_RCERD_DEFAULT, MCBSP_RCERE_DEFAULT, MCBSP_RCERF_DEFAULT, MCBSP_RCERG_DEFAULT, MCBSP_RCERH_DEFAULT, MCBSP_XCERA_DEFAULT, MCBSP_XCERB_DEFAULT, MCBSP_XCERC_DEFA
41、ULT, MCBSP_XCERD_DEFAULT, MCBSP_XCERE_DEFAULT, MCBSP_XCERF_DEFAULT, MCBSP_XCERG_DEFAULT, MCBSP_XCERH_DEFAULT ; DMA_Config dmaRcvConfig = DMA_DMACSDP_RMK( DMA_DMACSDP_DSTBEN_NOBURST, DMA_DMACSDP_DSTPACK_OFF, DMA_DMACSDP_DST_DARAMPORT1, DMA_DMACSDP_SRCBEN_NOBURST, DMA_DMACSDP_SRCPACK_OFF, DMA_DMACSDP_
42、SRC_PERIPH, DMA_DMACSDP_DATATYPE_16BIT ), /* DMACSDP */ DMA_DMACCR_RMK( DMA_DMACCR_DSTAMODE_POSTINC, DMA_DMACCR_SRCAMODE_CONST, DMA_DMACCR_ENDPROG_OFF,/* ENDPROG OFF */ DMA_DMACCR_WP_DEFAULT, DMA_DMACCR_REPEAT_OFF, DMA_DMACCR_AUTOINIT_ON,/* AUTOINIT ON */ DMA_DMACCR_EN_STOP, DMA_DMACCR_PRIO_LOW, DMA
43、_DMACCR_FS_DISABLE, DMA_DMACCR_SYNC_REVT1 ), /* DMACCR */ DMA_DMACICR_RMK( DMA_DMACICR_AERRIE_ON, DMA_DMACICR_BLOCKIE_OFF, DMA_DMACICR_LASTIE_OFF, DMA_DMACICR_FRAMEIE_ON, DMA_DMACICR_FIRSTHALFIE_OFF, DMA_DMACICR_DROPIE_OFF, DMA_DMACICR_TIMEOUTIE_OFF ), /* DMACICR */ (DMA_AdrPtr)(MCBSP_ADDR(DRR11), /
44、* DMACSSAL */ 0, /* DMACSSAU */NULL, /* DMACDSAL, to be loaded by submit */ 0, /* DMACDSAU */ BUFFSIZE, /* DMACEN */ 1, /* DMACFN */ 0, /* DMACFI */ 0 /* DMACEI */;DMA_Config dmaXmtConfig = DMA_DMACSDP_RMK( DMA_DMACSDP_DSTBEN_NOBURST, DMA_DMACSDP_DSTPACK_OFF, DMA_DMACSDP_DST_PERIPH, DMA_DMACSDP_SRCB
45、EN_NOBURST, DMA_DMACSDP_SRCPACK_OFF, DMA_DMACSDP_SRC_DARAMPORT0, DMA_DMACSDP_DATATYPE_16BIT ), /* DMACSDP */ DMA_DMACCR_RMK( DMA_DMACCR_DSTAMODE_CONST, DMA_DMACCR_SRCAMODE_POSTINC, DMA_DMACCR_ENDPROG_ON, DMA_DMACCR_WP_DEFAULT, DMA_DMACCR_REPEAT_OFF, DMA_DMACCR_AUTOINIT_OFF, DMA_DMACCR_EN_STOP, DMA_D
46、MACCR_PRIO_LOW, DMA_DMACCR_FS_DISABLE, DMA_DMACCR_SYNC_XEVT1 ), /* DMACCR */ DMA_DMACICR_RMK( DMA_DMACICR_AERRIE_ON, DMA_DMACICR_BLOCKIE_OFF, DMA_DMACICR_LASTIE_OFF, DMA_DMACICR_FRAMEIE_ON, DMA_DMACICR_FIRSTHALFIE_OFF, DMA_DMACICR_DROPIE_OFF, DMA_DMACICR_TIMEOUTIE_OFF ), /* DMACICR */NULL, /* DMACDS
47、AL, to be loaded by submit */ 0, /* DMACSSAU */ (DMA_AdrPtr)(MCBSP_ADDR(DXR11), /* DMACDSAL */ 0, /* DMACDSAU */ BUFFSIZE, /* DMACEN */ 1, /* DMACFN */ 0, /* DMACFI */ 0 /* DMACEI */;/* Define a DMA_Handle object to be used with DMA_open function */DMA_Handle hDmaRcv, hDmaXmt;/* Define a MCBSP_Handl
48、e object to be used with MCBSP_open function */MCBSP_Handle hMcbsp;volatile Uint16 transferComplete = FALSE;Uint16 err = 0;Uint16 old_intm;Uint16 xmtEventId, rcvEventId;/-Function prototypes-/* Reference the start of the interrupt vector table */* This symbol is defined in file vectors.s55 */extern
49、void VECSTART(void);/* Protoype for interrupt functions */interrupt void dmaXmtIsr(void);interrupt void dmaRcvIsr(void);void taskFxn(void);/* * copyData() - 實現(xiàn)DMA中實時信號FIR濾波. */void copyData(Int16 *inbuf, Int16 *outbuf, Int16 length) Int16 i = 0; for (i = 0; i < length/2; i+) inp_left0 = inbuf2*i+
50、SINE_TABLEi;inp_right0 = inbuf2*i+1+SINE_TABLEi; / 對輸入數(shù)據(jù)inbuf進行FIR濾波,結果存放在outbuf中 fir(inp_left, h, out_left, dbptr, NX, NH);outbuf2*i = out_left0;fir(inp_right, h, out_right, dbptrx, NX, NH);outbuf2*i+1 = out_right0; /* - Threads - */* * processBuffer() - Process audio data once it has been received. */void processBuffer(void) Uint32 addr; static Int16 pingPong = PING;while(DMA_FGETH (hDma
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位蔬菜供應合同范本
- 合同范本其他事項
- 合同范本軟件畫畫
- 卷簾窗簾購銷合同范例
- 2025年耐磨合金鑄鐵項目建議書
- 新西蘭蜂蜜采購合同范本
- 水果購銷合同范本
- 家具設計合同范本
- 單位車輛定點維修合同范本
- 醫(yī)院租賃合同范本
- BLM(含樣例)教學課件
- 企業(yè)數(shù)字化轉型之路燈塔工廠專題報告
- 低溫恒溫槽日常維護保養(yǎng)
- 市政道路工程城市道路施工組織設計
- 動物免疫接種技術課件
- 最全食堂菜譜、-公司食堂菜譜大全、-大鍋菜:522道菜+35道湯
- 線下庭審申請書
- ICU護理查房記錄【范本模板】
- 幼兒園大班繪本故事-神奇的大蒜【幼兒教案】
- 煤礦信息化管理制度
- 導管滑脫應急預案演練住院患者導尿管道滑脫
評論
0/150
提交評論