信號與系統實驗箱--DSP應用實驗
一、實驗目的
1、熟悉DSP定時器/計數器、I/O口使用、DSP緩沖串口的使用、各存貯空間訪問等基本原理;
2、熟悉DSP的指令系統。
二、實驗原理說明
實驗平臺提供DSP應用的硬件支持有:基本I/O口XF的使用(有發光二極管[XF]指示和測試點[TPXF])、定時器/計數器使用(定時溢出,有發光二極管指示[TOUT]和測試點[TPTOUT])、串行方式的A/D接口、串行方式的D/A接口。
選擇哪部分的應用實驗就應查閱相應的DSP資料,如定時器使用部分:
C5402的定時器/計數器有2個,工業應用中,計數器和定時器常用于檢測及控制。這些定時器可能通過軟件編程或硬件鎖相環精確定時。該實驗以方波發生器為例介紹定時器的編程,時鐘頻率為16.384MHz,在XF端輸出一個周期為20ms的方波,方波的周期由片上定時器確定,采用中斷方法實現。
1、定時器0的初始化:
(1)設置定時控制寄存器TCR(地址0024H)

15~12(保留位):通常情況下設置為0000
11(soft)和10(free)軟件調試控制位:
free=0、soft=0時定時器立即停止工作。
free=0、soft=1且計數器TIM減為1時,定時器停止工作。
ree=1、soft=X時,定時器繼續工作。該例中設free=1、soft=0。
9~6(PSC)預定標計數器:復位或其減為0時,分頻系數TDDR自動加載到PSC上。該例中設置TDDR=1001H=9。
5(TRB)定時器重新加載控制位:用于復位片內定時器。當TRB=1,預標定分頻系數TDDR和定時器周期寄存器PRD中的數據分別加載到定時器預標定計數器PSC和定時器TIM中。該例中設TRB=1。
4(TSS)定時器停止控制位:用于停止啟動定時器。當TSS=0時定時器啟動開始工作。當TSS=1時,定時器停止工作。該例中設TSS=0。
3~0(TDDR)預標定分頻系數:最大的預標定值為16,最小值為1。按照這個分頻系數,定時器對時鐘輸出信號CLKOUT進行分頻,分頻是通過預標定計數器PSC進行的。當復位或減為0時,分頻系數TDDR自動加載到PSC上,開始新一輪計數。該例中設置TDDR=1001H=9。
最后程序中設置TCR=669H
(2)設置定時寄存器TIM(地址0025H);
復位時,TIM和PRD為0FFFFH,TIM由PRD中的數據加載。
(3)設置定時周期寄存器PRD(地址0026H):
因為輸出脈沖周期為20ms,所以定時中斷周期應該為10ms,每中斷一次,輸出端電平取反一次。
定時時間計算公式:t=T×(1+TDDR)×(1+PRD)=10ms
T:CLKOUT主頻f=16.384MHz,T=61ns;給定TDDR=9,

2、定時器是對c5402的主時鐘CLKOUT進行分頻的。CLKOUT與外部晶體振蕩器頻率(在本實驗系統中外部晶體振蒎器的頻率為16.384MHz)之間的關系的c5402的三個引腳CLKMD1、CLKMD2、CLKMD3的電平值決定,具體關系如表18-1所示:
表21-1
在本實驗系統中,使用的主時鐘頻率,為81.925MHz(CLKMD1=0、CLKMD2=1和CLKMD3=0)。
3、中斷初始化
(1)中斷屏蔽寄存器IMR中的定時屏蔽位TINT0置1,開放定時器0中斷。
(2)狀態控制寄存器ST1中的中斷標志位INTM位清零,開放全部中斷。
三、實驗內容
1、編寫并實現20ms溢出率的定時程序,并使DSP的XF腳每20ms電平變化一次即使其對應的發光二極管閃爍,用示波器檢測XF(TPXF)上的信號周期是否正確?
2、認真閱讀TLC5608D/A變換芯片的資料,編寫D/A變換的軟件,使8路D/A分別輸出鋸齒波。
3、認真閱讀TLC1572A/D變換芯片的資料,編寫A/D變換的軟件,使8路D/A分別輸出采集到的輸入信號。
四、實驗報告要求
1、總結定時器/計數器、DSP緩沖串口的原理與應用,并寫出各寄存器的控制字;
2、給出相應程序的框圖。
五、實驗設備
1、雙蹤示波器1臺
2、YUY-XH3信號與系統實驗箱1臺