C5402 DMA結(jié)合MCBSP在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用
4. 軟件設(shè)計(jì)
本系統(tǒng)軟件由C5402初始化程序、McBSP1初始化程序、TLC320AD50初始化程序、DMA1通道初始化程序和數(shù)據(jù)處理程序構(gòu)成。C5402初始化程序完成DSP堆棧、CPU時(shí)鐘和運(yùn)行狀態(tài)的設(shè)置。
McBSP1初始化程序設(shè)置McBSP1的工作狀態(tài):運(yùn)行在時(shí)鐘自由運(yùn)行狀態(tài)下,接收/發(fā)送幀同步信號(hào)和移位時(shí)鐘信號(hào)都由外界驅(qū)動(dòng),每幀一字,每字16位,接收數(shù)據(jù)和發(fā)送數(shù)據(jù)都無(wú)延時(shí)。 TLC320AD50初始化程序完成TLC320AD50相關(guān)寄存器的設(shè)置:選擇INP/INM為模擬信號(hào)輸入端,15+1位ADC和15+1位DAC模式,工作在主機(jī)模式,不帶從機(jī),采樣頻率為10.67KHz,模擬信號(hào)輸入和輸出放大增益均為0dB。 DMA1通道初始化程序初始化DMA1,具體程序如下: …… stm #0005h, 55h ;選擇DMA1通道本文引用地址:http://www.ex-cimer.com/article/150365.htm
stm #0041h, 56h ;設(shè)置McBSP1接收端為DMA事件的源地址 stm #0200h, 56h ;設(shè)置DMA事件的目的地址 stm #0100h-1,56h ;設(shè)置直接傳送數(shù)據(jù)個(gè)數(shù)為0100h個(gè) stm #5000h, 56h ;設(shè)置McBSP1接收同步模式,一幀接收一個(gè)字 stm #404dh, 56h ;設(shè)置DMA工作在多幀模式,源地址不調(diào)整,目的地址按單元地址索引寄存器DMIDX0的值為步長(zhǎng)進(jìn)行調(diào)整 stm #20h, 55h stm #0001h, 57h ;設(shè)置單元地址索引寄存器DMIDX0的值為1 stm #0282h, 54h ;設(shè)置DMA1通道為高優(yōu)先級(jí)并使能DMA1通道 ……
5. 結(jié)束語(yǔ)
本文提出的DMA結(jié)合多通道緩沖串行口McBSP組成數(shù)據(jù)采集系統(tǒng)的實(shí)現(xiàn)方法,大大減少CPU的工作量,簡(jiǎn)化軟件設(shè)計(jì),有效地利用DSP的硬件資源,提高信號(hào)采集系統(tǒng)的執(zhí)行效率,已經(jīng)在本校信號(hào)處理實(shí)驗(yàn)室的DSP系統(tǒng)中得到很好的應(yīng)用。
評(píng)論