DSP硬體實驗報告

2021-03-04 04:00:57 字數 3377 閱讀 8876

北京郵電大學

實驗一:常用指令實驗

一、 實驗目的

1.熟悉dsp開發系統的連線

2.了解dsp開發系統的組成和結構和應用系統構成

3.熟悉常用c54x系列指令的用法(程式定址,暫存器,i/o口,定時器,中斷控制)。

二、 實驗裝置

計算機,ccs 2.0版軟體,dsp**器,實驗箱。

三、 實驗操作方法

1、 系統連線

進行dsp實驗之前,先必須連線好**器、實驗箱及計算機,連線方法如下所示:

在硬體安裝完成後,接通**器電源或啟動計算機,此時,**盒上的「紅色小燈」應點亮,否則dsp開發系統與計算機連線有問題。

2、 執行ccs程式

先實驗箱上電,然後啟動ccs,此時**器上的「綠色小燈」應點亮,並且ccs正常啟動,表明系統連線正常;否則**器的連線、jtag介面或ccs相關設定存在問題,掉電,檢查**器的連線、jtag介面連線,或檢查ccs相關設定是否正確。

四、 實驗步驟與內容

1、 實驗使用資源

實驗通過實驗箱上的xf指示燈觀察程式執行結果

2、 實驗過程

啟動ccs 2.0,並載入「exp01.out」;載入完畢後,單擊「run」執行程式;

實驗結果:可見xf燈以一定頻率閃爍;單擊「halt」暫停程式執行,則xf燈停止閃爍,如再單擊「run」,則「xf」燈又開始閃爍;

關閉所有視窗,本實驗完畢。

源程式檢視:用下拉列表中project/open,開啟「exp01.pjt」,雙擊「source」,雙擊「exp01.a**」可檢視源程式。

1、 實驗使用資源

本實驗指導書是以tms32ovc5410為例,介紹相關的內部和外部記憶體資源。對於其它型別的cpu請參考查閱相關的資料手冊。下面給出tms32ovc5410的記憶體分配表:

對於儲存空間而言,映像表相對固定。值得注意的是內部暫存器與儲存空間的映像關係。因此在程式設計應用時這些特定的空間不能作其它用途。

對於程式儲存空間而言,其映像表和cpu的工作模式有關。當mp/mc引腳為高電平時,cpu工作在微處理器模式;當mp/mc引腳低電平時,cpu工作在為計算機模式。具體的記憶體映像關係如上如所示。

記憶體實驗主要了解記憶體的操作和dsp的內部雙匯流排結構。並熟悉相關的指令**和執行過程等。

2、 實驗過程

連線好dsp開發系統,執行ccs軟體;

a) 在ccs的memory視窗中查詢c5410各個區段的資料儲存器位址,在可以改變的儲存器內容的地方,選定位址隨意改變其中內容並觀察結果;

b) 在ccs中裝載實驗示範程式,單步執行程式,程式中寫入和讀出的資料儲存位址的變化;

c) 改變其它定址方式,進行觀察資料儲存器位址與寫入和讀出資料的的變化。

本實驗說明:

本實驗程式將對0x1000開始的8個位址空間,填寫入0xaaaa的數值,然後讀出,並儲存到0x1008開始的8個位址空間。在ccs中可以觀察data記憶體空間位址0x1000~0x100f值的變化。

樣例程式實驗操作說明:

啟動ccs 2.0,並載入「exp02.out」,用「view」下拉列表中的「memory」檢視記憶體單元,輸入要檢視的記憶體單元位址,本實驗要檢視0x1000h~0x100fh單元的數值變化,輸入位址0x1000h,檢視0x1000h~0x100fh單元的初始值,單擊「run」執行程式,也可以「單步」執行程式,單擊「halt」暫停程式執行,檢視0x1000h~0x100fh單元內數值的變化

關閉各視窗,本實驗完畢。

源程式注釋:

程式解說:這是乙個儲存試驗,舉例說就是將8個位址中儲存的數轉移到另外8個位址中,首先將16進製制數aaaa儲存到外部記憶體位址1000h到1007h中,每個位址中都是aaaa;然後將位址1008h賦給輔助暫存器ar2,此時通過中間變數t,將輔助暫存器ar1的值賦給t,且ar1加1;將t的值儲存在ar2所對應記憶體中,且ar2加1,而暫存器ar3值不為0時就要一直進行這種賦值儲存語句,在上文中又規定了ar3是16進製制的7,所以一直要進行8次!這樣通過8次的變數賦值,實現了1000h—1007h位址中的數值儲存進1008h—1015h的過程,完成了實驗要求。

1、 實驗使用資源

數字量輸入訊號全部拓展出來,數字量輸入介面主要由兩個,d_exp與扳東開關連線,px4和px5與電平轉換晶元(74lvc245)連線,其功能分別為:

d_exp—數字量輸入擴充套件介面

電平轉換擴充套件介面

通過portr,portw指令可以實現i/o口的輸入輸出功能,如數字量採集實驗。

實驗說明:

實驗中採用簡單的一一映像關係來對i/o口進行驗證,目的是使實驗者能夠對i/o 有一目了然的認識。在本實驗系統中,提供的io空間分配如下:

cpu1:

0x0000 switch input (x) 8

0x0001 led output(x) 8

cpu2:

0x0001 dac

0x0004 read_key

0x0006 write_key

0x000f write_lcd

0x8000 hpic0

0x8001 hpic1

0x8002 hpid0(auto)

0x8003 hpid1(auto)

0x8004 hpia0

0x8005 hpia1

0x8006 hpid0(no auto)

0x8007 hpid1(no auto)

實驗程式框圖

注意: 電平轉換介面主要考慮應用3.3v的**處理器時,系統的電平相容問題,用來保護cpu不受損壞。系統採用74lvc245電平相容轉換器件。

2、 實驗過程

執行ccs程式,裝載示範程式,調整k0~k7的開關,觀察lp1~lp7 led亮滅的變化,以及輸入和輸出狀態是否一致。(注意:輸出為0時點亮燈)

例程式實驗操作說明

啟動ccs 2.0,並載入「exp03.out」,單擊「run」執行程式,任意調整k0~k7開關,可以觀察到對應lp0~lp7燈「亮」或「滅」;單擊「halt」,暫停持續執行,開關將對燈失去控制。

關閉所有視窗,本實驗完畢。

源程式檢視:

用下拉列表中project/open,開啟「exp03.pjt」,雙擊「source」,雙擊「exp03.a**」可檢視源程式。

**如下:

程式解說:這個實驗中有兩個非常重要的埠——00h和01h埠,其中00h埠對應試驗箱上的按鍵資訊,即k0~k7開關的撥按情況;而01h埠則對應試驗箱上的led燈的亮暗資訊,即lp0~lp7的亮滅狀態。還有就是main函式的無限迴圈執行,因為兩個埠的資料控制語句都在main函式中,所以無限執行main函式其實就是不停地快速掃瞄兩個埠返回回來的資料,一旦掃瞄到00h埠的開關有哪個被撥下了,那麼反饋到01h埠就是執行相應的led燈被點亮了!

由此實現了開關控制led燈的亮滅現象。

DSP硬體實驗報告

班級學號姓名 班內序號 2014年12月23日 第一部分 5416常規實驗 實驗一 常用指令實驗 截圖及注釋 1 實驗目的 了解dsp開發系統的組成和結構,熟悉dsp開發系統的連線,熟悉dsp的開發介面,熟悉c54x系列的定址系統,熟悉常用的c54x系列指令的用法。2 截圖 3 源 注釋 mmreg...

DSP硬體實驗報告

實驗一 簡單指令程式執行實驗 含注釋 mmregs global main main stm 3000h,sp sp為堆疊指標暫存器,stm為儲存器對映暫存器定址 ssbx xfxf賦值為1,燈亮 call delay呼叫delay函式,延遲0.5秒 rsbx xfxf賦值為0,燈滅 call de...

DSP硬體實驗報告參考

數字訊號處理實驗報告 學院 電子工程學院 班級 2012211207 學號 2012210995 班內序號 04 姓名 王孟哲 file name exp01.a the program is piled at no autoinitialization mode mmregs global mai...