




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實驗二實驗目的: 了解DMA通信基本原理,掌握內存與SDRAM間一維DMA通信方式、二維DMA通信方式以及相關控制方法。學習數字濾波器設計方法,掌握其調試步驟,使學生加深對IIR的理解,進一步提高對數字信號處理理論的認識。實驗任務:u 實驗1:內存與SDRAM間的一維DMA通信實驗u 實驗2:內存與SDRAM間的二維DMA通信實驗u 實驗3:無限脈沖響應數字濾波器(IIR)的設計實驗實驗內容:l 實驗1內存與SDRAM間的一維DMA通信實驗l 實驗原理DMA是一種不需要處理器內核干預的數據傳輸機制,作為一種后臺任務執(zhí)行,即進行DMA傳輸時,處理器可以處理其它任務。如果使能了DMA中斷,那么當數
2、據傳輸結束后會產生中斷信號,表示DMA傳輸已經完成。DMA傳輸方式包括:一維DMA、二維DMA、鏈式DMA、AutoDMA等,本次實驗使用一維DMA方式,即傳輸存儲器中一段連續(xù)的數據(地址是相鄰接的)。若要利用DMA傳輸數據,首先應配置DMA傳輸控制塊(TCB)寄存器。DMA傳輸的數據具有方向性,即從發(fā)送端(源)到接受端(目的),若為外部存儲器DMA傳輸,則需要設置兩個TCB參數,一個源TCB,用于描述源數據的地址、大小和每次傳輸數據的長度等;還有一個目的TCB,用于描述數據傳入的目標地址、數據大小及每次傳輸數據的長度等。若要使能DMA中斷,也需要在TCB中設置相應位。若使用鏈路或AutoDM
3、A通道則只需一個目的TCB。設置好TCB寄存器后,DMA傳輸自動開始。TS201S一共14個DMA通道,4個通道(03)專用于外部存儲器設備,8個通道(411)用于鏈路口,2個通道(1213)用于自動DMA操作。本次實驗使用DMA0通道實現內存與外部存儲器SDRAM間的一維DMA通信。相關的寄存器:1TCB寄存器TCB寄存器是一個128位的四字組寄存器,由DI、DX、DY和DP寄存器組成:a)DI是DMA索引寄存器,包括了將要發(fā)送或者接收的數據的源地址或者目的地址,既可以指向內部存儲器又可以指向外部存儲器,也可指向鏈路口b)DX包含了一個16位(高)的計數值和一個16位的修改量,若使能了二維D
4、MA則該寄存器保存的只是X方向的計數值和修改量c)DY與DX結合一起使用,保存了Y方向上的16位計數值和16位修改量。如果只進行一維DMA傳輸,就不需要設置該寄存器。d)DP寄存器包括了DMA所有控制信息,分為兩個主要段 3122210DMA控制鏈式指針&鏈標記(用于鏈式DMA)對DP寄存器各位功能說明:位說明位說明014四字地址(TCB指針)2526操作數據長度:01=32位,10=64位,11=128位1516鏈指針選擇存儲單元1721鏈目的通道27二維DMA使能22使能鏈式DMA28DMA請求優(yōu)先級,0=正常優(yōu)先級,1=高優(yōu)先級23DMA請求使能24DMA中斷使能2931指定DM
5、A設備類型2中斷屏蔽寄存器(IMASK) IMASK是一個64位寄存器,由IMASKH和IMASKL組成,當IMASK中某位被設置成1的時,那么將響應這個位所對應的中斷。DMA0中斷對應在IMASKL中的第14位,所以我們要取消對DMA0中斷的屏蔽,使能DMA0中斷,可以通過如下指令實現:xr0=0x4000; /*0x4000= B 0100 0000 0000 0000 */IMASKL=xr0;xr0=0;IMASKH=0也可以直接使用如下指令實現,原理是一樣的,下面的方法更為直觀一些。xr0=INT_DMA0; /* INT_DMA0在頭文件中的定義的值為0x4000*/IMASKL=
6、xr0;l 實驗步驟:1)啟動VisualDSP+,新建工程命名為”test2_1”,路徑選擇為”D:DSP”,并將源代碼文件夾下默認生成的test2_1.c文件移除; 2)新建空白文件(選擇菜單FileàNewàFile),輸入參考源代碼,保存為DMA_1.asm,并將其添加到工程中;3)分析、理解源程序,并編譯文件糾錯;4)建立鏈接文件(選擇菜單ToolsàExpert LinkeràCreate LDF)4)編譯整個工程,若出現錯誤“The following symbols referenced in processor 'p0'
7、 could not be resolved: 'main _main' referenced from 'ts_hdr_TS201.doj'”則說明聲明的程序段/數據段(變量)所存放到了不能被執(zhí)行的位置,導致該程序段/數據段(變量)沒有被分配到相應的存儲空間。處理方式:打開生成的LDF鏈接文件,在打開的Expert Linker窗口中將紅叉項下的DMA1.obj添加(用鼠標拖拽)到MSSD0存儲區(qū)(由于TS201S將外部存儲器SDRAM地址映射到了0x4000 0000到0x7FFF FFFF之間的四個部分:MSSD03,所以我們將DMA1.obj添加至其中之
8、一即可,由于開發(fā)板上SDRAM是映射在MSSD0,為方便以后實驗,直接添加至MSSD0即可)。5)重新編譯工程,為方便觀察存儲器內相應地址其內容變化,在_Done處設置斷點,同時打開兩個存儲器觀察窗口(選擇菜單Memory->TigerSHARC Memory)分別輸入tx_data和rx_data。6)運行(RUN)工程,程序自動運行至_Done后停止,觀察tx_data內數據值,然后單步運行程序(按F11鍵),觀察rx_data內數據變化。l 實驗結果:1.未修改時的實驗結果:2. 修改程序后運行的結果:3. DMA傳輸的實驗結果:l 結果分析:由實驗結果圖1可以看出,代碼修改前傳輸
9、了4個字的數據;而從實驗結果圖2可以看出,代碼改為傳輸一個字后,發(fā)送的數據只接受收到一個字長度的數據;由實驗結果3可以看出,改為DMA傳輸后,發(fā)送的所有數據均接收到了。l 實驗2內存與SDRAM間的二維DMA通信實驗l 實驗原理二維DMA將存儲區(qū)中的數據塊作為一個數據陣列進行傳輸,有利于執(zhí)行矩陣操作的DSP算法。若要進行二維DMA傳輸,對DX、DY寄存器都要進行設置,同時在DP寄存器中使能二維DMA(第27位)。DX增量寄存器(DX低16位)保存的是偏移值,此值加上當前地址后指向X維的下一數據元素(下一內循環(huán)首址),DX計數寄存器(DX高十六位)保存在X維方向(循環(huán)內部)需要傳輸的字數,傳輸一
10、次減一,可以指示當前行中待傳輸的字數。DY增量寄存器保存的是Y維方向(外循環(huán))的偏移值,此值加上當前地址可以指示Y維方向上下一個數據元素(下外循環(huán)的首址)。DY計數寄存器初始值是Y維的傳輸單元數(外循環(huán)次數),每當DX計數器減少至零時,其值才減一。當Y計數寄存器內容減為零時,DMA傳輸完成。二維DMA的具體執(zhí)行過程:1 輸出保存在TCB DI寄存器中的當前地址,啟動一個DMA存儲器周期;2 在此周期內,將TCB DX增量寄存器中的值與當前DI寄存器中的當前地址相加,產生下一個要訪問的數據元素地址,同時更新DI寄存器的值;3 DX計數器的值減一,然后跳回第二步執(zhí)行,直至DX計數器值減為零;4 D
11、X計數器減為零后,DX計數器被重新加載原來的初始值;5 DY增量寄存器的值加到DI寄存器中的當前地址;6 DY計數寄存器內容減一,然后從第二步繼續(xù)開始執(zhí)行,直至DY計數器減少至零,完成二維DMA傳輸。相關寄存器說明:TCB寄存器TCB寄存器是一個128位的四字組寄存器,由DI、DX、DY和DP寄存器組成:a) DI是DMA索引寄存器,包括了將要發(fā)送或者接收的數據的源地址或者目的地址,既可以指向內部存儲器又可以指向外部存儲器,也可指向鏈路口b) DX包含了一個16位(高)的計數值和一個16位的修改量,若使能了二維DMA則該寄存器保存的只是X方向的計數值和修改量c) DY與DX結合一起使用,保存了
12、Y方向上的16位計數值和16位修改量。如果只進行一維DMA傳輸,就不需要設置該寄存器。d) DP寄存器包括了DMA所有控制信息,分為兩個主要段21310DMA控制鏈式指針&鏈標記(用于鏈式DMA)22對DP寄存器各位功能說明:位說明位說明014四字地址(TCB指針)2526操作數據長度:01=32位,10=64位,11=128位1516鏈指針選擇存儲單元1721鏈目的通道27二維DMA使能22使能鏈式DMA28DMA請求優(yōu)先級,0=正常優(yōu)先級,1=高優(yōu)先級23DMA請求使能24DMA中斷使能2931指定DMA設備類型源代碼中寄存器的對應關系:XR0 <> DI Regist
13、er XR1 <> DX Register XR2 <> DY Register XR3 <> DP Register DCS0 <>TRANSMITTE TCB REGISTERSYR0 <> DI Register YR1 <> DX Register YR2 <> DY Register YR3 <> DP Register DCD0<>RECEIVER TCB REGISTERSl 實驗步驟1)啟動VisualDSP+,新建工程命名為”test2_2”,路徑選擇為”D:DSP”,
14、并將源代碼文件夾下默認生成的test2_2.c文件移除; 2)新建空白文件(選擇菜單FileàNewàFile),輸入參考源代碼,保存為DMA_2.asm,并將其添加到工程中;3)分析、理解源程序,并編譯文件糾錯;4)建立鏈接文件(選擇菜單ToolsàExpert LinkeràCreate LDF)4)編譯整個工程,若出現錯誤“The following symbols referenced in processor 'p0' could not be resolved: 'main _main' referenced
15、from 'ts_hdr_TS201.doj'”處理方法同前一個實驗。5)重新編譯工程,為方便觀察存儲器內相應地址其內容變化,在_Done處設置斷點,同時打開兩個存儲器觀察窗口(選擇菜單Memory->TigerSHARC Memory)分別輸入tx_data和rx_data。6)運行(RUN)工程,程序自動運行至_Done后停止,觀察tx_data內數據值,然后單步運行程序(按F11鍵),觀察rx_data內數據變化。l 實驗結果:1. 源代碼執(zhí)行后的結果:2.代碼修改后運行的結果:3.代碼修改為只接收奇數數據后的運行結果:l 結果分析:從實驗結果圖1可以看到,接收到了
16、發(fā)送地所有數據;從實驗結果圖2.1可以看出,發(fā)送的數據每隔一個字接收,從實驗結果圖2.2可以看到,接收了數據,并且是每隔一個字接收,且這一個字的數據丟失了;從實驗結果圖3可以看出,只接收了奇數數據,并且接收到的數據按順序排列。l 實驗3 無限脈沖響應數字濾波器(IIR)的設計實驗l 實驗原理所謂的數字濾波,指的是輸入、輸出均為數字信號,通過一定運算關系改變輸入信號所含頻率成分的相對比例或者濾除某些頻率成分。數字濾波可分為無限脈沖響應(IIR)濾波和有限脈沖響應(FIR)濾波。本次試驗利用VISUAL DSP+ 軟環(huán)境SIMULATOR模擬實現無限脈沖響應(IIR)數字信號處理。無限脈沖響應(I
17、IR)的系統(tǒng)函數為: .公式1即如果輸入為X(Z),輸出為Y(N),則:Y(Z)=X(Z)H(Z),即.公式2本試驗中利用的公式是對上面的公式2對了相應的形式變化,利用中間變量 .公式3那么 .公式4因此,本次試驗設計了一個4階IIR濾波,其對應的公式3和公式4的時域公式如下:wn=xn*scale+wn-1*a1+wn-2*a2+wn-3*a3+wn-4*a4公式5yn=wn+wn-1*b1+wn-2*b2+wn-3*b3+wn-4*b4公式6本次設計中系數a4,a3,a2,a1,b4,b3,b2,b1都是用戶自己初始化的時候給定的且均為常數,其中x(n)是輸入的數字序列。從公式5和公式6可
18、知,只要我們設定設計需要的a4,a3,a2,a1,b4,b3,b2,b1,以及初始化w(n-1), w(n-2), w(n-3), w(n-4),就可以得到我們所需要的濾波器了。濾波器算法中的變量分配:inputsN: 存放輸入數據;coeffs2*SECTIONS:按順序猘2, a4, b2,b4,a1, a3, b1, b3存放濾波器系數;delaylineSECTIONS:存放w(n-1), w(n-2), w(n-3), w(n-4)初始化值(此處濾波器設計為因果濾波器,n<0時w(n)全為0);outputN:存放計算結果。l 實驗步驟:1)啟動VisualDSP+,新建工程命名為”test2_3”,路徑選擇為”D:DSP”,并將源代碼文件夾下默認生成的test2_3.c文件移除; 2)新建空白文件(選擇菜單FileàNewàFile),輸入參考源代碼,保存為IIR.asm,并將其添加到工程中;3)分析、理解源程序,并編譯文件糾錯;4)編譯整個工程;5)查看inputs和output的時域圖和頻譜圖: 新建繪圖窗口(選擇菜單 ViewDebug WindowsPlotNew項)在Plot設置窗口中type設定為Line Plot
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年郴州市宜章縣城區(qū)學校教師選聘考試筆試試題(含答案)
- 2025年安徽蕪湖市灣沚區(qū)沚津供應鏈有限公司招聘考試筆試試題(含答案)
- 【寧波】2025年浙江寧波市北侖區(qū)事業(yè)單位面向2025屆高校畢業(yè)生招聘高層次緊缺人才32人筆試歷年典型考題及考點剖析附帶答案詳解
- 幼兒英語肢體教學課件
- 文庫發(fā)布:稅務師2024課件
- 整齊有序班會課件
- 整形的課件教學課件
- 分一分一教學課件北師版
- 教育部消防公開課課件
- 教學課件五年級下冊英語
- 品管圈QCC質量持續(xù)改進案例皮膚科-降低窄頻中波紫外線照射不良反應發(fā)生率PDCA
- 中小學校長招聘校長招聘理論考試題
- 房地產基礎知識試題(附答案)
- GB/T 6896-2007鈮條
- GB/T 32151.6-2015溫室氣體排放核算與報告要求第6部分:民用航空企業(yè)
- GB/T 2543.2-2001紡織品紗線捻度的測定第2部分:退捻加捻法
- 2020四川考研數學二真題【含答案】
- 壓縮機拆除方案
- DB50-T 1293-2022 松材線蟲病疫木除治技術規(guī)范(標準文本)
- 微電子工藝實驗報告
- 金屬材料檢驗的標準課件
評論
0/150
提交評論