DSP原理及應用實驗指導

2021-03-04 05:09:37 字數 4072 閱讀 4360

實驗指導

目錄實驗一 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...