九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

DSP課程設(shè)計(jì) 音頻信號(hào)頻譜分析

上傳人:優(yōu)*** 文檔編號(hào):40847587 上傳時(shí)間:2021-11-17 格式:DOC 頁(yè)數(shù):35 大?。?.50MB
收藏 版權(quán)申訴 舉報(bào) 下載
DSP課程設(shè)計(jì) 音頻信號(hào)頻譜分析_第1頁(yè)
第1頁(yè) / 共35頁(yè)
DSP課程設(shè)計(jì) 音頻信號(hào)頻譜分析_第2頁(yè)
第2頁(yè) / 共35頁(yè)
DSP課程設(shè)計(jì) 音頻信號(hào)頻譜分析_第3頁(yè)
第3頁(yè) / 共35頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《DSP課程設(shè)計(jì) 音頻信號(hào)頻譜分析》由會(huì)員分享,可在線閱讀,更多相關(guān)《DSP課程設(shè)計(jì) 音頻信號(hào)頻譜分析(35頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、 CHANGSHA UNIVERSITY OF SCIENCE & TECHNOLOGYDSP課程設(shè)計(jì)題目: DSP 音頻信號(hào)頻譜分析學(xué)生姓名: 翦杰學(xué) 號(hào): 200757170119班 級(jí): 07-01專(zhuān) 業(yè): 電子信息工程指導(dǎo)教師: 黃亞飛、肖鴻實(shí)習(xí)起止時(shí)間: 2010年12月27日至2011年1月7日 1 / 35題目DSP音頻信號(hào)頻譜分析學(xué)生姓名: 翦杰 學(xué) 號(hào): 200757170119班 級(jí): 電子信息工程07-01所在院(系): 電氣與信息工程指導(dǎo)教師: 肖鴻、黃亞飛完成日期: 2011年1月7日 音頻信號(hào)頻譜分析摘要 隨著信息技術(shù)革命的深入和計(jì)算機(jī)技術(shù)的飛速發(fā)展,數(shù)字信號(hào)處理技

2、術(shù)已經(jīng)逐漸發(fā)展成為一門(mén)關(guān)鍵的技術(shù)學(xué)科。而DSP芯片的出現(xiàn)則為數(shù)字信號(hào)處理算法的實(shí)現(xiàn)提供了可能。這一方面極大地促進(jìn)了數(shù)字信號(hào)處理技術(shù)的進(jìn)一步發(fā)展;另一方面,它也使數(shù)字信號(hào)處理的應(yīng)用領(lǐng)域得到了極大的拓展。在國(guó)外DSP芯片已經(jīng)被廣泛地應(yīng)用于當(dāng)今技術(shù)革命的各個(gè)領(lǐng)域;在我國(guó),DSP技術(shù)也正以極快的速度被應(yīng)用到科技和國(guó)民經(jīng)濟(jì)的各個(gè)領(lǐng)域。本次課程設(shè)計(jì)介紹了音頻信號(hào)頻譜分析的原理以及其所涉及的硬件結(jié)構(gòu)和軟件設(shè)計(jì),該設(shè)計(jì)是基于快速傅立葉變換(FFT)的方法對(duì)采集的音頻信號(hào)進(jìn)行頻譜分析,得到音頻信號(hào)的頻率及功率,F(xiàn)FT算法采用TLC320AD50編寫(xiě)DSP程序?qū)崿F(xiàn)?,F(xiàn)可以完成256點(diǎn)的FFT運(yùn)算,頻率分辨率達(dá)到1

3、00Hz,輸入信號(hào)電壓(峰峰值)可以達(dá)到100mV到4V。關(guān)鍵詞:音頻信號(hào);快速傅立葉變換;頻譜分析;分辨率目 錄1 緒論.11.1 課題背景.11.2 課題目的.12 硬件電路. . . .32.1 系統(tǒng)框圖. .32.2 信號(hào)處理部分. .32.2.1 信號(hào)疊加電路. . .3 2.2.2 低通濾波器. .3 2.2.3 50Hz陷波電路. .4 2.2.4 電平轉(zhuǎn)換電路. . . . .4 2.2.5 信號(hào)采集部分. . .42.3 時(shí)鐘信號(hào)產(chǎn)生電路. . . . .133 軟件設(shè)計(jì). . . . .143.1 DSP初始化. . .143.2 AD50初始化. . .143.3 設(shè)置D

4、SP中斷. . . .143.4 數(shù)據(jù)存儲(chǔ). . . . . . .143.5 數(shù)據(jù)輸出. . . . . .143.6 FFT算法. . . . . .144 總結(jié). .17參考文獻(xiàn). .19附錄. 201 緒論1.1 課題背景目前,在微電子技術(shù)發(fā)展的帶動(dòng)下,DSP芯片的發(fā)展日新月異,DSP的功能日益強(qiáng)大,性能價(jià)格比不斷上升,開(kāi)發(fā)手段不斷改進(jìn)。DSP芯片已經(jīng)完全走下了“貴族”的圣壇。DSP芯片已經(jīng)在通信與電子系統(tǒng)、信號(hào)處理系統(tǒng)、自動(dòng)控制、雷達(dá)、軍事、航空航天、醫(yī)療、家用電器、電力系統(tǒng)等許多領(lǐng)域中得到了廣泛的應(yīng)用,而且新的應(yīng)用領(lǐng)域在不斷地被發(fā)掘。TI、AD、AT&T、Motorola和Luce

5、nt等公司是DSP芯片的主要生產(chǎn)商。其中TI公司的TMS320系列的DSP占據(jù)了全球DSP市場(chǎng)的50%左右。該系列產(chǎn)品在我國(guó)同樣被用戶(hù)廣泛使用,市場(chǎng)份額更高,超過(guò)90。鑒于多數(shù)DSP芯片和高速A/D、D/A芯片工藝為貼片封裝,對(duì)一般用戶(hù)來(lái)說(shuō)工廠制版成本較高、手工工藝難制版、效果差等的困難,本系統(tǒng)設(shè)計(jì)了一套基于DSP芯片的最小系統(tǒng)板,并擴(kuò)展了A/D、D/A實(shí)現(xiàn)語(yǔ)音信號(hào)的采集和回放,制作語(yǔ)音處理平臺(tái)。設(shè)計(jì)的核心芯片采用TI公司的TMS320VC5402PGE100進(jìn)行設(shè)計(jì),其最高處理速度能達(dá)到100MIPS(每秒執(zhí)行100百萬(wàn)條指令),性能優(yōu)越、性?xún)r(jià)比高,適合大多數(shù)用戶(hù)和教學(xué)科研?;贒SP的運(yùn)用

6、領(lǐng)域和前景,結(jié)合我的專(zhuān)業(yè)跟個(gè)人愛(ài)好,本次畢業(yè)設(shè)計(jì)所選課題為DSP語(yǔ)音采集回放處理平臺(tái)。以TMS320C5402DSP為核心,對(duì)外部語(yǔ)音信號(hào)進(jìn)行采集,并對(duì)所采集信號(hào)進(jìn)行語(yǔ)音處理,最后通過(guò)外部設(shè)備回放。該系統(tǒng)適合對(duì)單語(yǔ)音信號(hào)進(jìn)行處理。由于設(shè)計(jì)過(guò)程中采用的A/D、D/A芯片是TI公司的TLC320AD50,所以最高采樣速率為22.05KHZ。為了驗(yàn)證本次設(shè)計(jì)的正確性和可用性,對(duì)采集的語(yǔ)音信號(hào)進(jìn)行FIR濾波,濾除50HZ交流信號(hào),并抑制頻率在3600HZ以上的語(yǔ)音信號(hào)。所設(shè)計(jì)的濾波器是帶通濾波器,通帶為200HZ3400HZ,經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證,得到了預(yù)期的濾波效果。證明本次單通道語(yǔ)音信號(hào)處理平臺(tái)設(shè)計(jì)的正確

7、性,可用性。1.2 課題目的DSP課程設(shè)計(jì)是對(duì)數(shù)字信號(hào)處理、DSP原理及應(yīng)用等課程的較全面練習(xí)和訓(xùn)練,是實(shí)踐教學(xué)中的一個(gè)重要環(huán)節(jié)。通過(guò)本次課程設(shè)計(jì),綜合運(yùn)用數(shù)字信號(hào)處理、DSP技術(shù)課程以及其他有關(guān)先修課程的理論和生產(chǎn)實(shí)際知識(shí)去分析和解決具體問(wèn)題,并使所學(xué)知識(shí)得到進(jìn)一步鞏固、深化和發(fā)展。初步培養(yǎng)學(xué)生對(duì)工程設(shè)計(jì)的獨(dú)立工作能力,掌握電子系統(tǒng)設(shè)計(jì)的一般方法。通過(guò)課程設(shè)計(jì)完成基本技能的訓(xùn)練,如查閱設(shè)計(jì)資料和手冊(cè)、程序的設(shè)計(jì)、調(diào)試等,提高學(xué)生分析問(wèn)題、解決問(wèn)題的能力。本題目通過(guò)TLC320AD50采集音頻信號(hào)(f.max10kHz),編寫(xiě)DSP的FFT處理程序(自定頻譜分辨力),獲得幅頻特性之后,在點(diǎn)陣液

8、晶(128*64)中大致顯示出幅頻圖。并在液晶中用文字顯示頻率幅值前三的頻率值。 1、DSP與TLC320AD50接口電路的原理圖繪制;2、DSP控制TLC320AD50的程序編寫(xiě)與調(diào)試;3、TLC320AD50進(jìn)行語(yǔ)音模擬量到數(shù)字信號(hào)的轉(zhuǎn)換,實(shí)現(xiàn)聲音的采集,在CCS軟件中分析信號(hào)的幅頻特性;4、編寫(xiě)DSP的FFT處理程序;5、控制點(diǎn)陣液晶,實(shí)現(xiàn)繪圖功能,將幅頻圖顯示出來(lái);6、按要求編寫(xiě)課程設(shè)計(jì)報(bào)告書(shū),正確、完整的闡述設(shè)計(jì)和實(shí)驗(yàn)結(jié)果;7、在報(bào)告中繪制程序的流程圖,并文字說(shuō)明。2 硬件電路2.1 系統(tǒng)框圖本系統(tǒng)的硬件電路主要由信號(hào)預(yù)處理模塊、信號(hào)采集模塊、信號(hào)頻譜分析模塊、時(shí)鐘觸發(fā)信號(hào)、系統(tǒng)控制

9、模塊和鍵盤(pán)顯示模塊6部分組成。系統(tǒng)組成框圖如圖2.1所示。 圖2.1 系統(tǒng)組成框圖22 信號(hào)處理部分信號(hào)預(yù)處理具體電路主要由信號(hào)合成、阻抗匹配、0.5f的低通濾波、50H的陷波器和信號(hào)抬高等部分組成,如圖2.2所示。 圖2.2 信號(hào)處理框圖2.2.1 信號(hào)疊加電路信號(hào)疊加電路采用反向求和電路,將3信號(hào)求和的輸出,運(yùn)放采用OP37。2.2.2 低通濾波器由于要求音頻信號(hào)為10KHz以下,為了使信號(hào)得到更高的純度,則需對(duì)不用的高頻信號(hào)進(jìn)行濾出,從而提高系統(tǒng)測(cè)量精度。通過(guò)濾波器的快速設(shè)計(jì)方法設(shè)計(jì)出12KHz的低通濾波器。2.2.3 50Hz陷波電路在音頻信號(hào)中,工頻50HZ信號(hào)對(duì)系統(tǒng)的影響最大,因此

10、,在信號(hào)處理中加入50HZ的陷波電路。計(jì)算工公式為:f=1/2RC。2.2.4 電平轉(zhuǎn)換電路由于ADC只能采集正電壓,則需對(duì)信號(hào)進(jìn)行抬高,分析計(jì)算得電路需加3V的直流電平。2.2.5 信號(hào)采集部分語(yǔ)音信號(hào)模數(shù)數(shù)模轉(zhuǎn)換選擇TLC320AD50(以下簡(jiǎn)稱(chēng)AD50)芯片,AD50使用過(guò)采樣(over sampling)技術(shù)提供從數(shù)字信號(hào)到模擬信號(hào)(DA)和模擬信號(hào)到數(shù)字信號(hào)(AD)的高分辨率低速信號(hào)轉(zhuǎn)換。該器件包括兩個(gè)串行的同步轉(zhuǎn)換通道(用于各自的數(shù)據(jù)傳輸),在DA之前有一個(gè)插人濾波器(interpolationfilter),在AD之后有一個(gè)抽取濾波器(decimdtionfilter),由此可降

11、低AD50自身的噪聲。此外,AD50還具有片內(nèi)時(shí)序和控制功能。AD50特點(diǎn)如下。 輸入信號(hào)。單端信號(hào)輸人,幅度在14V之間。 輸出信號(hào)。單端信號(hào)輸出,幅度在14V之間。 單一 5V電源供電,也可以使用5V模擬電源和3V數(shù)字電源同時(shí)供電。 最大工作功耗為100mW。 通用16位數(shù)據(jù)格式,也可以采用2的補(bǔ)碼數(shù)據(jù)格式。 內(nèi)部基準(zhǔn)電壓。 AD為64倍采樣,DA為256倍采樣。 支持各種V34協(xié)議的采樣速率。 具有多種可選的采樣頻率。 支持商業(yè)級(jí)音響應(yīng)用。 工作溫度范圍從40850。AD50的引腳分布如圖2.3所示(1)為DW封裝的引腳分布,(2)為PT封裝的引腳分布)。 圖2.3 AD50的引腳分布A

12、D50的各個(gè)引腳的說(shuō)明如表2-1所示。表2-1 AD50的引腳說(shuō)明續(xù)表在AD50正常工作前,必須對(duì)它進(jìn)行正確的初始化。初始化操作的主要工作是配置AD50的4個(gè)控制寄存器CR1、CR2、CR3和CR4。控制寄存器的讀寫(xiě)是通過(guò)二次通信來(lái)實(shí)現(xiàn)。在二次通信中,D0D7為寫(xiě)人控制寄存器的數(shù)據(jù)或者從控制寄存器讀出的數(shù)據(jù),D8D12的內(nèi)容決定選擇哪個(gè)控制寄存器,D13位決定是讀操作還是寫(xiě)操作。由D8D13位確定的所有情況如表2-2所示。表2-2AD50的D8D13位確定的所有操作情況控制寄存器1中各個(gè)控制位的功能說(shuō)明如表2-3所示。表2-3控制寄存器1的各個(gè)控制位的功能說(shuō)明控制寄存器2中各個(gè)控制位的功能說(shuō)明

13、如表2-4所示。表2-4 控制寄存器2的各個(gè)控制位的功能說(shuō)明控制寄存器3中各個(gè)控制位的功能說(shuō)明如表2-5所示。表2-5 控制寄存器3的各個(gè)控制位的功能說(shuō)明控制寄存器4中各個(gè)控制位的功能說(shuō)明如表2-6、2-7所示。表2-6 控制寄存器4的各個(gè)控制位的功能說(shuō)明表2-7 控制寄存器4的第4第6位對(duì)應(yīng)的N值A(chǔ)D50控制寄存器的設(shè)置必須在二次通信中完成。AD50有硬件和軟件兩種方式啟動(dòng)二次通信,下面介紹硬仵方式啟動(dòng)AD50的二次通信過(guò)程。硬件啟動(dòng)過(guò)程如下:C5409通過(guò)其內(nèi)部寄存器將XF引腳變?yōu)楦唠娖?,從而控制AD50的FC引腳到高電平,然后向緩沖串口寫(xiě)一個(gè)16位的控制字,低8位是AD50的控制寄存器初

14、始化值,高8位選擇所要初始化的控制寄存器及操作。整個(gè)過(guò)程的時(shí)序如圖2.4所示。圖2.4 硬件啟動(dòng)AD50二次通信時(shí)序AD50的工作過(guò)程可分為AD通道工作過(guò)程和DA通道工作過(guò)程。AD通道把模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),并以2進(jìn)制補(bǔ)碼形式表示。當(dāng)幀同步信號(hào)有效時(shí)(FS為低電平),16位(或者15位)數(shù)字信號(hào)在SCLK的上升沿輸出到DOUT引腳,一位數(shù)據(jù)對(duì)應(yīng)一個(gè)SCLK周期。傳輸時(shí)序如圖2.5所示。圖2.5 AD50的AD通道數(shù)據(jù)傳輸時(shí)序AD50的DA通道把送人的數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)。在SCLK的作用下,數(shù)字信號(hào)通過(guò)DIN引腳進(jìn)人DA通道,每個(gè)SCLK的下降沿輸人一位數(shù)字信號(hào)。DA將輸入的數(shù)字信號(hào)轉(zhuǎn)換成

15、模擬信號(hào)輸出,DA通道的傳輸時(shí)序如圖2.6所示。圖2.6 AD50的DA通道數(shù)據(jù)傳輸時(shí)序AD50的前后端信號(hào)處理包括兩個(gè)處理電路:輸人模擬信號(hào)的處理電路和依據(jù)輸出模擬信號(hào)的處理電路。這兩個(gè)處理電路的主要作用是將信號(hào)進(jìn)行處理,使之更加適合AD和DA的要求。為了達(dá)到更好的信號(hào)處理效果,AD50的模擬信號(hào)輸人一般采用差分輸人方式,即使用兩個(gè)運(yùn)算放大器,將單端輸入信號(hào)轉(zhuǎn)換成差分輸人信號(hào),電路連接如圖2.7所示。圖2.7 AD50單端信號(hào)轉(zhuǎn)換成差分信號(hào)由圖可知,單端輸人信號(hào)經(jīng)過(guò)兩個(gè)22F的隔直電容,送人運(yùn)算放大器的反相端,輸出反相信號(hào)IMP;IMP再輸人到另一個(gè)信號(hào)的反相端,輸出同相信號(hào)INP,從而形成

16、差分輸人信號(hào)INP和IMP。圖中的運(yùn)算放大器選擇的是TI公司的TLC4502,也可以選用其他可替代的運(yùn)算放大器芯片。除了使用上述的運(yùn)算放大器外,也可以使用變壓器將單端信號(hào)轉(zhuǎn)換成差分信號(hào)輸人到AD50,如圖2.8所示。圖2.8 使用變壓器將單端信號(hào)轉(zhuǎn)換成差分信號(hào) 圖中推薦的值為50,Rin為22,Cin為10F,這些元件的值也可以根據(jù)具體的信號(hào)進(jìn)行調(diào)整,一般清況下電阻值在10100之間,電容值在10200pF之間。AD50的DA輸出為差分信號(hào),可以直接驅(qū)動(dòng)600的負(fù)載。DA輸出處理電路如圖2.9所示。圖2.9 AD50的DA后端輸出信號(hào)處理AD50的去耦合電容的連接如圖2.10所示。圖2.10

17、AD50的去耦合電容的連接AD50的模擬電源和數(shù)字電源可以使用一個(gè)電感連接在一起,連接方法如圖2.11所示。圖2.11 AD50模擬和數(shù)字電源的連接2.3 時(shí)鐘信號(hào)產(chǎn)生電路通過(guò)計(jì)算,對(duì)模擬信號(hào)的采樣速率為25.6KHz,則需產(chǎn)生25.6KHZR的方波.作為A/D轉(zhuǎn)換數(shù)據(jù)的速率。可采用單片集成電路函數(shù)發(fā)生器ICL8038。ICL8038工作頻率范圍在幾Hz到幾百KHZ之間,可以同時(shí)輸出三角波、方波和正統(tǒng)波,滿(mǎn)足設(shè)計(jì)要求。3 軟件設(shè)計(jì)3.1 DSP的初始化包括定時(shí)器0的初始化,以確保TOUT0引腳能輸出正確的時(shí)鐘信號(hào)到AD50,使AD50能根據(jù)該時(shí)鐘信號(hào)進(jìn)行采樣。初始化緩沖串口時(shí),應(yīng)使DSP工作于

18、主設(shè)備方式,CLKR0和FSX0引腳設(shè)為輸出。DSP初始化完成后,在DSP的TOUT0,CLKR0,F(xiàn)SX0這3個(gè)引腳可以看到連續(xù)輸出的脈沖。3.2 AD50的初始化此時(shí)主要是設(shè)置DSP的XF引腳輸出為高,以啟動(dòng)AD50的二次通信,在正確設(shè)置AD50的4個(gè)控制寄存器以后,AD50開(kāi)始采樣數(shù)據(jù)。此時(shí)檢測(cè)AD50的DOUT引腳能,能發(fā)現(xiàn)引腳有連續(xù)的信號(hào)輸出。3.3 設(shè)置DSP中斷DSP的中斷負(fù)責(zé)從緩沖串口讀取數(shù)據(jù),可以在CCS中查看讀取的數(shù)據(jù)是否正確,如果每次讀取的都是0或者同一個(gè)數(shù)據(jù),說(shuō)明AD50沒(méi)有正常工作,此時(shí)需檢查DSP或者AD50是否初始化成功。3.4 數(shù)據(jù)存儲(chǔ)DSP從緩沖串口讀取數(shù)據(jù)存

19、放到RAM,連續(xù)存放500或者1000個(gè)數(shù)據(jù),可以通過(guò)CCS的畫(huà)圖功能看到采集到的數(shù)據(jù)。這時(shí)主要判斷采樣頻率是否正確、有沒(méi)有數(shù)據(jù)丟失等。3.5 數(shù)據(jù)輸出 將RAM中的數(shù)據(jù)直接送到AD50的D/A單元,轉(zhuǎn)換成模擬信號(hào)后輸出。這時(shí)從AD50的模擬信號(hào)輸出端可以看到和輸入端一樣的信號(hào)。3.6 FFT算法本系統(tǒng)軟件設(shè)計(jì)主要實(shí)現(xiàn)FFT算法和各頻率和對(duì)應(yīng)功率的分析和顯示,由于DSP語(yǔ)言表達(dá)和運(yùn)算能力比較強(qiáng)且具有很好的可移植性和硬件控制能力,則采用DSP語(yǔ)言實(shí)現(xiàn)??傮w程序流程圖如圖3.1所示。 圖3.1 總體程序流程圖本設(shè)計(jì)中FFT根據(jù)DFT的基二分解方法,在第L(L表示從左到右的運(yùn)算級(jí)數(shù),L=1,2,3M

20、)級(jí)中,每個(gè)蝶形的兩個(gè)輸入數(shù)據(jù)相距B(L-1)個(gè)點(diǎn),同一旋轉(zhuǎn)因子對(duì)應(yīng)著間隔為2L點(diǎn)的2(M-L)個(gè)蝶形。從輸入端開(kāi)始,逐級(jí)進(jìn)行,在進(jìn)行L級(jí)運(yùn)算時(shí),依次求出2(L-1)不同的旋轉(zhuǎn)因子,每求出一個(gè)旋轉(zhuǎn)因子,就計(jì)算完它對(duì)應(yīng)的所有的2(M-L)個(gè)蝶形。因此用三重循環(huán)程序?qū)崿F(xiàn)FFT變換。同時(shí)采用原址計(jì)算,可節(jié)省大量的存儲(chǔ)單元。FFT算法的程序框圖如圖3.2所示。圖3.2 FFT算法的程序框圖系統(tǒng)用于實(shí)現(xiàn)語(yǔ)音信號(hào)的采集和播放,收到數(shù)據(jù)后,AD50對(duì)數(shù)據(jù)進(jìn)行模數(shù)轉(zhuǎn)換,變成數(shù)字語(yǔ)音信號(hào)后存儲(chǔ)于內(nèi)部RAM,然后輸出到AD50,AD50進(jìn)行數(shù)模轉(zhuǎn)換后輸出到相應(yīng)的后端處理電路,最后由后端電路將輸入的語(yǔ)音信號(hào)顯示。4

21、 總結(jié)在這次課程設(shè)計(jì)中,我遇到了許多問(wèn)題,這些問(wèn)題是我們初學(xué)者經(jīng)常會(huì)遇到的問(wèn)題。通過(guò)老師的指導(dǎo),和自己的思考,總結(jié)如下:?jiǎn)栴}1:?jiǎn)尾娇梢赃\(yùn)行,連續(xù)運(yùn)行時(shí)總回0地址。解決辦法:Watchdog沒(méi)有關(guān),連續(xù)運(yùn)行復(fù)位DSP回到0地址。問(wèn)題2:OUT文件不能load到片內(nèi)flash中。解決辦法:Flash不是RAM,不能用簡(jiǎn)單的寫(xiě)指令寫(xiě)入,需要專(zhuān)門(mén)的程序?qū)懭搿CS和CSourceDebugger中的load命令,不能對(duì)flash寫(xiě)入。OUT文件只能load到片內(nèi)RAM,或片外RAM中。問(wèn)題3:在flash中如何加入斷點(diǎn)解決辦法:在flash中可以用單步調(diào)試,也可以用硬件斷點(diǎn)的方法在flash中加入斷

22、點(diǎn),軟件斷點(diǎn)是不能加在ROM中的。硬件斷點(diǎn),設(shè)置存儲(chǔ)器的地址,當(dāng)訪問(wèn)該地址時(shí)產(chǎn)生中斷。問(wèn)題4:中斷向量解決辦法:C2000的中斷向量不可重定位,因此中斷向量必須放在0地址開(kāi)始的flash內(nèi)。在調(diào)試系統(tǒng)時(shí),代碼放在RAM中,中斷向量也必須放在flash內(nèi)。問(wèn)題5:DSP初始化解決辦法:DSP在RESET后,許多的寄存器的初值一般同用戶(hù)的要求不一致,例如:等待寄存器,SP,中斷定位寄存器等,需要通過(guò)初始化程序設(shè)置為用戶(hù)要求的數(shù)值。初始化程序的主要作用:1)設(shè)置寄存器初值。2)建立中斷向量表。3)外圍部件初始化。GEL文件的功能:GEL文件的功能同emuinit.cmd的功能基本相同,用于初始化DS

23、P。但它的功能比emuinit的功能有所增強(qiáng),GEL在CCS下有一個(gè)菜單,可以根據(jù)DSP的對(duì)象不同,設(shè)置不同的初始化程序。以TMS320LF2407為例:#defineSCSR10x7018;定義scsr1寄存器#defineSCSR20X7019;定義scsr2寄存器#defineWDKEY0x7025;定義wdkey寄存器#defineWDNTR0x7029;定義wdntr寄存器StartUp();開(kāi)始函數(shù)GEL_MapReset();存儲(chǔ)空間復(fù)位GEL_MapAdd(0x0000,0,0x7fff,1,1);定義程序空間從00007fff可讀寫(xiě)GEL_MapAdd(0x8000,0,0x

24、7000,1,1);定義程序空間從8000f000可讀寫(xiě)GEL_MapAdd(0x0000,1,0x10000,1,1);定義數(shù)據(jù)空間從000010000可讀寫(xiě)GEL_MapAdd(0xffff,2,1,1,1);定義i/o空間0xffff可讀寫(xiě)GEL_MapOn();存儲(chǔ)空間打開(kāi)GEL_MemoryFill(0xffff,2,1,0x40);在i/o空間添入數(shù)值40h*(int*)SCSR1=0x0200;給scsr1寄存器賦值*(int*)SCSR2=0x000C;給scsr2寄存器賦值,在這里可以進(jìn)行mp/mc方式的轉(zhuǎn)換*(int*)WDNTR=0x006f;給wdntr寄存器賦值*(i

25、nt*)WDKEY=0x055;給wdkey寄存器賦值*(int*)WDKEY=0x0AA;給wdkey寄存器賦值cmd文件:由3部分組成:1)輸入輸出定義:.obj文件:鏈接器要鏈接的目標(biāo)文件;.lib文件:鏈接器要鏈接的庫(kù)文件;.map文件:鏈接器生成的交叉索引文件;.out文件:鏈接器生成的可執(zhí)行代碼;鏈接器選項(xiàng)。2)MEMORY命令:描述系統(tǒng)實(shí)際的硬件資源。3)SECTIONS命令:描述段如何定位。通過(guò)近兩周的課程設(shè)計(jì),我學(xué)到了許多知識(shí),使我實(shí)現(xiàn)了從茫然到基本的認(rèn)識(shí)到比較熟練的運(yùn)用DSP的轉(zhuǎn)變。剛開(kāi)始自己編的程序運(yùn)行就錯(cuò)誤很多,當(dāng)時(shí)都沒(méi)信心能把這個(gè)課程設(shè)計(jì)完成,但什么都要自己面對(duì)的。后

26、來(lái)在老師的指導(dǎo)和自己的思考下,我把程序統(tǒng)統(tǒng)都重新寫(xiě)了一遍,并反復(fù)修改,最后通過(guò)編譯。在后面的時(shí)間里,我順利完成了課程設(shè)計(jì)。參考文獻(xiàn)1 鄒彥. DSP原理及應(yīng)用M. 北京:電子工業(yè)出版社,2005,1.2 戴明楨.TMS320C54xDSP結(jié)構(gòu)、原理及應(yīng)用M.北京航空航天大學(xué)出版社,2001,8.3 胡圣堯. DSP原理及應(yīng)用M.東南大學(xué)出版社,2008.7.4 清源科技.TMS320C54xDSP應(yīng)用程序設(shè)計(jì)教程M.機(jī)械工業(yè)出版社,2004,1.5 清源科技.TMS320C54x硬件開(kāi)發(fā)教程M.機(jī)械工業(yè)出版社,2003,1.附錄A音頻信號(hào)頻譜分析完整程序ex12.asm* FileName:e

27、x12.asm * Description:音頻信號(hào)頻譜分析實(shí)驗(yàn) * Copyright(C) SanZhi Electronic, Author Zpin *.title ex12BSP.set1;當(dāng)前使用McBsp1;McBsp 內(nèi)存映射寄存器SPSA0.set 038hSPSD0.set 039hDRR10.set 021hDRR20.set020hDXR10.set 023hDXR20.set022hSPSA1.set 048hSPSD1 .set 049hDRR11 .set041hDRR21 .set 040hDXR11 .set 043hDXR21 .set042h;McBsp

28、Subaddressed RegistersSPCR1.set00hSPCR2.set01hRCR1.set02hRCR2.set03hXCR1.set04hXCR2.set05hSRGR1.set06hSRGR2.set07hMCR1.set08hMCR2.set09hRCERA.set0ahRCERB.set0bhXCERA.set0chXCERB.set0dhPCR.set0eh.if BSP = 0SPSA.setSPSA0SPSD.setSPSD0RDRR.setDRR10RDXR.setDXR10.endif.if BSP = 1SPSA.setSPSA1SPSD.setSPSD1

29、RDRR.setDRR11RDXR.setDXR11.endifWR_SUB_REG.macro val,addr;寫(xiě)McBsp控制寄存器stm addr,SPSAnopstm val,SPSDnop.endmRD_SUB_REG.macro addr,acc;讀McBsp控制寄存器stm #:addr:,SPSAnopldm SPSD,accnopnopnop.endmWAITTRX .macro;等待串口中斷WAITR? RD_SUB_REG SPCR1,A and #1錄音;ld b,ab play;已結(jié)束-放音recordld #0d000h,bsub ar2,bbc load,bne

30、q;錄制數(shù)據(jù)放完,再?gòu)念^放起stm#4000h,ar2load ld *ar2+,a;加載錄制數(shù)據(jù)playand #0fffeh,a;放音stlm A,RDXRretetransrsbx XFrete.endEX12.MAK/* Code Composer V1 Project Data * The following section contains data generated by Code Composer to store project information like build options, source filenames and mand filenameexperi.

31、cmd 1Project RootD:dsp_user_softsanzhi12語(yǔ)音錄放build options3Linker = -o ex1.out -x Assembler = -s Compiler = -g -as -frD:dsp_user_softsanzhi source filesex12.asm 880946490 1-18158dependencies 0 -802version2.0*/-o ex1.out -xex12.objexperi.cmd/* End of Project Data Generated by Code Composer */Exx.ASMBS

32、P .set 0 ; 5409 DSK audio in/out codec uses McBSP0SAMPLERATE .set 8 .mmregsSPCR1_VAL .set 0000hSPCR2_VAL .set 0200hRCR1_VAL .set 040hRCR2_VAL .set 004hXCR1_VAL .set 040hXCR2_VAL .set 004hPCR_VAL .set 0ChMCBSP0_TO_CODEC0 .set 0xFEMCBSP1_TO_CODEC1 .set 0xFDCODEC1_FC_ON .set 0x8CODEC0_FC_ON .set 0x4CPL

33、D_CTRL2 .set 0x4* McBSP Memory Mapped RegistersSPSA0 .set 038hSPSD0 .set 039hDRR10 .set 021hDXR10 .set 023hSPSA1 .set 048hSPSD1 .set 049hDRR11 .set 041hDXR11 .set 043h* McBSP Subaddresed RegistersSPCR1 .set 00hSPCR2 .set 01hRCR1 .set 02hRCR2 .set 03hXCR1 .set 04hXCR2 .set 05hSRGR1 .set 06hSRGR2 .set

34、 07hPCR .set 0Eh; Choose appropriate sub-address registers and DRR/DXR .if BSP = 0SPSA .set SPSA0SPSD .set SPSD0RDRR .set 21H ; McBSP0 data receive register 1RDXR .set 23H ; McBSP0 data transmit register 1MCBSP_TO_CODEC .set MCBSP0_TO_CODEC0IMASK .set (1 4) .endifWR_MCBSP_SUB_REG .macro addr,val stm

35、 addr,SPSA nop stm val,SPSD nop .endmRD_MCBSP_SUB_REG .macro addr,acc stm #:addr:,SPSA nop ldm SPSD,acc nop nop nop .endmWAITTRX .macro ; Wait for serial port to Rx wordWAITR? RD_MCBSP_SUB_REG SPCR1,A and #11, A bc WAITR?, AEQ .endmPROGREG .macro progword stm #01h,RDXR WAITTRX stm #:progword:,RDXR W

36、AITTRX .endm wait .macro STM #0008h, AR0 ;AR0 points to ACCLRPT *AR0 ;repeat the # of times specified in ACCLNOP ;do nothing in the delay loop.endm .global RESET,AIC_INIT,WAIT_INT,_CPU_to_codec_ch1,READ_SAMPLES .text .mmregs .def _mainp0_serialflag .set 060hp0_serialint .set 061hSYSTEM_STACK .set 04

37、000h .text_main ld #0, DP ssbx INTM ssbx SXM st #0, p0_serialint st #2491h, SWWSR ;2 wait except for on-chip data st #0ffe0h, PMST ; MP/MC = 1, IPTR = 1ff st #0f007h,clkmd st #1, p0_serialflag;*;* audio_init:;*_DSS_init rsbx CPL nop ; cpl latency nop ; cpl latency nop ; cpl latency ld #0, DP ssbx IN

38、TM ssbx SXM WR_MCBSP_SUB_REG SPCR1,#SPCR1_VAL WR_MCBSP_SUB_REG SPCR2,#SPCR2_VAL WR_MCBSP_SUB_REG PCR,#PCR_VAL WR_MCBSP_SUB_REG SPCR1,#0h ; reset McBSP0 WR_MCBSP_SUB_REG SPCR2,#0h ; write McBSP registers WR_MCBSP_SUB_REG RCR1,#RCR1_VAL WR_MCBSP_SUB_REG RCR2,#RCR2_VAL WR_MCBSP_SUB_REG XCR1,#XCR1_VAL W

39、R_MCBSP_SUB_REG XCR2,#XCR2_VAL LD #100 ,A WAIT ; set interrupts to come from serial ports not DMA ; by clearing bits 6 and 7 in DMPREC andm #0ff3fh, 54h ; clear xmit register - why? stm #0, RDXR ; now enable McBSP transmit and receive WR_MCBSP_SUB_REG SPCR1,#SPCR1_VAL | 1 WR_MCBSP_SUB_REG SPCR2,#SPCR2_VAL | 1 LD #100 ,A WAIT_AIC_INIT STM #0,IMR orm #IMASK, IMR ;only receive-int is served. ; orm #08h, IMR stm #0ffffh, IFR

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!