實驗指導
目錄實驗一 ccs編譯環境簡介 3
實驗二定時器實驗 9
實驗三 hpi自舉實驗 13
實驗四基於dsplib的fft實驗 18
實驗五基於dsplib的數字濾波器實驗 24
一、ccs的安裝
1、安裝ccs3.1整合開發環境,安裝路徑上不能有中文。
2、安裝硬體**器的驅動程式,在usb口插上硬體**器,然後在usb_driver資料夾中搜尋。按系統提示安裝驅動程式
3、安裝**器的ccs驅動,一定要安裝在ccs的安裝目錄下。
4、在ccs setup中配置ccs開發環境。
(1)選擇dsp晶元、選擇**器。
(2)對**器的屬性(properties)設定。選擇「auto-generate board data file with extra configuration…」;在「c:\ccstudio_v3.
1\cc\bin」下選擇tds510u2.cfg。
5、儲存ccs setup中的配置,退出ccs setup,同時啟動ccs編譯環境。
二、建立簡單的ccs工程
一實驗目的
1. 了解dsp匯程式設計序與c語言程式的構成;
2. 了解dsp程式各段的含義;
3. 熟悉如何編寫中斷服務程式;
4. 掌握片內定時器的設定方法;
5. 掌握長時間間隔的定時器的處理
二實驗內容
1. dsp的初始設定;
2. dsp中斷向量表的建立;
3. 定時器的使用;
三實驗背景知識
1.通用timer 簡介。
tms320vc5402有兩個可程式設計的片上定時器,每個定時器有三個可由使用者設定的暫存器,並可以申請主機的中斷。這三個暫存器分別為tim、prd、tcr。這些暫存器與對應的存貯空間位址如下表所示:
時間暫存器(tim)是乙個16 位的存貯器對映暫存器,它的值由週期暫存器(prd)來進行裝載,並且做減一操作;週期暫存器(prd)是乙個16 位的存貯器對映暫存器,它是用來重灌時間暫存器(tim)暫存器的值的;定時器控制暫存器(tcr)是乙個16 位的存貯器對映暫存器,包含了定時器的控制與狀態資訊。
2、cmd 檔案簡介
cmd 檔案用於dsp **的定位。由3 部分組成:
(1)輸入/輸出定義:
.obj 檔案:鏈結器要鏈結的目標檔案。
.lib 檔案:鏈結器要鏈結的庫檔案。
.map 檔案:鏈結器生成的交叉索引檔案。
.out 檔案:鏈結器生成的可執行**;鏈結器選項。
(2) memory 命令:描述系統實際的硬體資源。
(3) sections 命令:描述"段"如何定位。
下面例子則可說明其基本格式:
-o sample.out可預設)
-m sample.map可預設)
-stack 100可預設)
sample.obj meminit.obj (可預設)
-l rts.lib可預設)
memory
下面介紹一下cmd 檔案中常用的程式段名與含義
.cinit 存放c 程式中的已初始化的變數初值和常數表;
.const 存放c 程式中的字元常量和用const 宣告的常量;
.text 存放c 程式的**;
.bss 為c 程式中的未初始化的全域性和靜態變數保留儲存空間;
.far 為c 程式中用far 宣告的全域性和靜態變數保留空間;
.stack 為c 程式系統堆疊保留儲存空間,用於儲存返回位址、函式間的引數傳遞、儲存區域性變數和儲存中間結果;
.sy**em 用於c 程式中malloc、calloc 和realloc 函式動態分配儲存空間
.vectors 用於自定義的「.vectors」段,這裡是中斷向量表
.switch 用於c程式中的switch語句
.data 已初始化的資料段
3、中斷向量表檔案
中斷服務程式的位址(中斷向量)要裝載到儲存器的合適區域。一般用中斷向量表檔案編制中斷向量表,中斷向量表檔案多採用組合語言編寫;在檔案中一般用彙編指令.sect 來生成乙個表,表中各中斷佔4個字。
這個表包含中斷向量的位址和跳轉指令。因為中斷跳轉位址的標誌符在組合語言模組外部使用,所以標誌符用.ref 或.
global定義。中斷向量表檔案舉例如下:
.ref _c_int00
.ref _timer
.sect ".vectors"
rs: bd _c_int00 ;rest
nopnopnmi: .space 4*16nmi, sint16
sint17:.space 4*16sint17
sint18: .space 4*16 ;sint18
sint19: .space 4*16 ;sint19
sint20: .space 4*16 ;sint20
sint21: .space 4*16 ;sint21
sint22: .space 4*16 ;sint22
sint23: .space 4*16 ;sint23
sint24: .space 4*16 ;sint24
sint25: .space 4*16 ;sint25
sint26: .space 4*16 ;sint26
sint27: .space 4*16 ;sint27
sint28: .space 4*16 ;sint28
sint29: .space 4*16 ;sint29
sint30: .space 4*16 ;sint30
int0: .space 4*16int0, sint0
int1: .space 4*16int1, sint1
int2: .space 4*16int2, sint2
tint0: bd _timer ;tint0, sint3
nopnopbrint0: .space 4*16 ;brint0, sint4
bxint0: .space 4*16 ;bxint0, sint5
dmac0: .space 4*16dmac0, brint2, sint6
dmac1: .space 4*16dmac1, bxint2, sint7
int3: .space 4*16int3, sint8
hpint: .space 4*16hpint, sint9
brint1: .space 4*16 ;brint1 or dmac2, sint10
bxint1: .space 4*16 ;bxint1 or dmac3, sint11
dmac4: .space 4*16dmac4, sint12
dmac5: .space 4*16dmac5, sint13
rsvd1: .space 4*16reserved
rsvd2: .space 4*16reserved
.end
4、gel檔案
gel檔案有兩大作用:(1)配置ccs工作環境。(2)直接訪問目標處理器(包括軟硬體訪真器),在這是主要使用gel檔案的初始化dsp。以下面的例子介紹一下gel 檔案的構成
startup()
{gel_mapon儲存空間開啟*/
gel_mapreset儲存空間復位*/
gel_mapadd(0x80u,0,0x3f80u,1,1); /* 定義程式空間0x80-0x3fff 可讀寫 */
gel_mapadd(0x4000u,0,0xc000u,1,1);/* 定義程式空間0x4000-0xffff 可讀寫 */
定義資料空間0-0xffff 可讀寫 */
gel_mapadd(0x0u,1,0x60u,1,1mmrs */
gel_mapadd(0x60u,1,0x3fa0u,1,1); /* daram */
gel_mapadd(0x4000u,1,0xc000u,1,1); /* external */
《DSP原理及應用》課程設計指導書
dsp技術及應用 課程設計指導書 一 課題 1 dsp與pc間序列通訊的設計 課題任務分配 硬體設計 軟體設計 2 語音基帶處理模組的設計 課題任務分配 硬體設計 軟體設計 3 無線通訊的數字調製模組設計 課題任務分配 硬體設計 軟體設計 4 數字濾波器設計 課題任務分配 硬體設計 軟體設計 5學生...
DSP技術及應用實驗報告實驗三
實驗三用定時器實現數字振盪器 一 實驗目的 1 學習數字振盪器的原理 2 學習c54x定時器使用 3 學習中斷服務程式編寫 4 實現數字振盪器的設計。二 實驗內容 1 設計數字振盪器的演算法 2 綜合運用各種知識在c54x晶元上實現數字振盪器的演算法 3 通過ccs提供的圖形顯示視窗觀察輸出訊號波形...
微機原理及應用實驗指導書
微機原理及應用 實驗指導書 安陽工學院 電子資訊與電氣工程學院 目錄第一章 tpc usb實驗系統介紹 3 第二章 tpc usb實驗系統硬體環境 4 2.1 usb模組介紹 4 2.1.1 usb模組結構 4 2.1.2 usb模組功能 4 2.1.3 usb模組的對外介面 4 2.1.4 usb...