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

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

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

  • 資源ID:40847587       資源大小:1.50MB        全文頁數(shù):35頁
  • 資源格式: DOC        下載積分:15積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號:
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

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

CHANGSHA UNIVERSITY OF SCIENCE & TECHNOLOGYDSP課程設(shè)計(jì)題目: DSP 音頻信號頻譜分析學(xué)生姓名: 翦杰學(xué) 號: 200757170119班 級: 07-01專 業(yè): 電子信息工程指導(dǎo)教師: 黃亞飛、肖鴻實(shí)習(xí)起止時(shí)間: 2010年12月27日至2011年1月7日 1 / 35題目DSP音頻信號頻譜分析學(xué)生姓名: 翦杰 學(xué) 號: 200757170119班 級: 電子信息工程07-01所在院(系): 電氣與信息工程指導(dǎo)教師: 肖鴻、黃亞飛完成日期: 2011年1月7日 音頻信號頻譜分析摘要 隨著信息技術(shù)革命的深入和計(jì)算機(jī)技術(shù)的飛速發(fā)展,數(shù)字信號處理技術(shù)已經(jīng)逐漸發(fā)展成為一門關(guān)鍵的技術(shù)學(xué)科。而DSP芯片的出現(xiàn)則為數(shù)字信號處理算法的實(shí)現(xiàn)提供了可能。這一方面極大地促進(jìn)了數(shù)字信號處理技術(shù)的進(jìn)一步發(fā)展;另一方面,它也使數(shù)字信號處理的應(yīng)用領(lǐng)域得到了極大的拓展。在國外DSP芯片已經(jīng)被廣泛地應(yīng)用于當(dāng)今技術(shù)革命的各個(gè)領(lǐng)域;在我國,DSP技術(shù)也正以極快的速度被應(yīng)用到科技和國民經(jīng)濟(jì)的各個(gè)領(lǐng)域。本次課程設(shè)計(jì)介紹了音頻信號頻譜分析的原理以及其所涉及的硬件結(jié)構(gòu)和軟件設(shè)計(jì),該設(shè)計(jì)是基于快速傅立葉變換(FFT)的方法對采集的音頻信號進(jìn)行頻譜分析,得到音頻信號的頻率及功率,F(xiàn)FT算法采用TLC320AD50編寫DSP程序?qū)崿F(xiàn)?,F(xiàn)可以完成256點(diǎn)的FFT運(yùn)算,頻率分辨率達(dá)到100Hz,輸入信號電壓(峰峰值)可以達(dá)到100mV到4V。關(guān)鍵詞:音頻信號;快速傅立葉變換;頻譜分析;分辨率目 錄1 緒論.11.1 課題背景.11.2 課題目的.12 硬件電路. . . .32.1 系統(tǒng)框圖. .32.2 信號處理部分. .32.2.1 信號疊加電路. . .3 2.2.2 低通濾波器. .3 2.2.3 50Hz陷波電路. .4 2.2.4 電平轉(zhuǎn)換電路. . . . .4 2.2.5 信號采集部分. . .42.3 時(shí)鐘信號產(chǎn)生電路. . . . .133 軟件設(shè)計(jì). . . . .143.1 DSP初始化. . .143.2 AD50初始化. . .143.3 設(shè)置DSP中斷. . . .143.4 數(shù)據(jù)存儲. . . . . . .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à)格比不斷上升,開發(fā)手段不斷改進(jìn)。DSP芯片已經(jīng)完全走下了“貴族”的圣壇。DSP芯片已經(jīng)在通信與電子系統(tǒng)、信號處理系統(tǒng)、自動(dòng)控制、雷達(dá)、軍事、航空航天、醫(yī)療、家用電器、電力系統(tǒng)等許多領(lǐng)域中得到了廣泛的應(yīng)用,而且新的應(yīng)用領(lǐng)域在不斷地被發(fā)掘。TI、AD、AT&T、Motorola和Lucent等公司是DSP芯片的主要生產(chǎn)商。其中TI公司的TMS320系列的DSP占據(jù)了全球DSP市場的50%左右。該系列產(chǎn)品在我國同樣被用戶廣泛使用,市場份額更高,超過90。鑒于多數(shù)DSP芯片和高速A/D、D/A芯片工藝為貼片封裝,對一般用戶來說工廠制版成本較高、手工工藝難制版、效果差等的困難,本系統(tǒng)設(shè)計(jì)了一套基于DSP芯片的最小系統(tǒng)板,并擴(kuò)展了A/D、D/A實(shí)現(xiàn)語音信號的采集和回放,制作語音處理平臺。設(shè)計(jì)的核心芯片采用TI公司的TMS320VC5402PGE100進(jìn)行設(shè)計(jì),其最高處理速度能達(dá)到100MIPS(每秒執(zhí)行100百萬條指令),性能優(yōu)越、性價(jià)比高,適合大多數(shù)用戶和教學(xué)科研?;贒SP的運(yùn)用領(lǐng)域和前景,結(jié)合我的專業(yè)跟個(gè)人愛好,本次畢業(yè)設(shè)計(jì)所選課題為DSP語音采集回放處理平臺。以TMS320C5402DSP為核心,對外部語音信號進(jìn)行采集,并對所采集信號進(jìn)行語音處理,最后通過外部設(shè)備回放。該系統(tǒng)適合對單語音信號進(jìn)行處理。由于設(shè)計(jì)過程中采用的A/D、D/A芯片是TI公司的TLC320AD50,所以最高采樣速率為22.05KHZ。為了驗(yàn)證本次設(shè)計(jì)的正確性和可用性,對采集的語音信號進(jìn)行FIR濾波,濾除50HZ交流信號,并抑制頻率在3600HZ以上的語音信號。所設(shè)計(jì)的濾波器是帶通濾波器,通帶為200HZ3400HZ,經(jīng)過實(shí)驗(yàn)驗(yàn)證,得到了預(yù)期的濾波效果。證明本次單通道語音信號處理平臺設(shè)計(jì)的正確性,可用性。1.2 課題目的DSP課程設(shè)計(jì)是對數(shù)字信號處理、DSP原理及應(yīng)用等課程的較全面練習(xí)和訓(xùn)練,是實(shí)踐教學(xué)中的一個(gè)重要環(huán)節(jié)。通過本次課程設(shè)計(jì),綜合運(yùn)用數(shù)字信號處理、DSP技術(shù)課程以及其他有關(guān)先修課程的理論和生產(chǎn)實(shí)際知識去分析和解決具體問題,并使所學(xué)知識得到進(jìn)一步鞏固、深化和發(fā)展。初步培養(yǎng)學(xué)生對工程設(shè)計(jì)的獨(dú)立工作能力,掌握電子系統(tǒng)設(shè)計(jì)的一般方法。通過課程設(shè)計(jì)完成基本技能的訓(xùn)練,如查閱設(shè)計(jì)資料和手冊、程序的設(shè)計(jì)、調(diào)試等,提高學(xué)生分析問題、解決問題的能力。本題目通過TLC320AD50采集音頻信號(f.max<10kHz),編寫DSP的FFT處理程序(自定頻譜分辨力),獲得幅頻特性之后,在點(diǎn)陣液晶(128*64)中大致顯示出幅頻圖。并在液晶中用文字顯示頻率幅值前三的頻率值。 1、DSP與TLC320AD50接口電路的原理圖繪制;2、DSP控制TLC320AD50的程序編寫與調(diào)試;3、TLC320AD50進(jìn)行語音模擬量到數(shù)字信號的轉(zhuǎn)換,實(shí)現(xiàn)聲音的采集,在CCS軟件中分析信號的幅頻特性;4、編寫DSP的FFT處理程序;5、控制點(diǎn)陣液晶,實(shí)現(xiàn)繪圖功能,將幅頻圖顯示出來;6、按要求編寫課程設(shè)計(jì)報(bào)告書,正確、完整的闡述設(shè)計(jì)和實(shí)驗(yàn)結(jié)果;7、在報(bào)告中繪制程序的流程圖,并文字說明。2 硬件電路2.1 系統(tǒng)框圖本系統(tǒng)的硬件電路主要由信號預(yù)處理模塊、信號采集模塊、信號頻譜分析模塊、時(shí)鐘觸發(fā)信號、系統(tǒng)控制模塊和鍵盤顯示模塊6部分組成。系統(tǒng)組成框圖如圖2.1所示。 圖2.1 系統(tǒng)組成框圖22 信號處理部分信號預(yù)處理具體電路主要由信號合成、阻抗匹配、0.5f的低通濾波、50H的陷波器和信號抬高等部分組成,如圖2.2所示。 圖2.2 信號處理框圖2.2.1 信號疊加電路信號疊加電路采用反向求和電路,將3信號求和的輸出,運(yùn)放采用OP37。2.2.2 低通濾波器由于要求音頻信號為10KHz以下,為了使信號得到更高的純度,則需對不用的高頻信號進(jìn)行濾出,從而提高系統(tǒng)測量精度。通過濾波器的快速設(shè)計(jì)方法設(shè)計(jì)出12KHz的低通濾波器。2.2.3 50Hz陷波電路在音頻信號中,工頻50HZ信號對系統(tǒng)的影響最大,因此,在信號處理中加入50HZ的陷波電路。計(jì)算工公式為:f=1/2RC。2.2.4 電平轉(zhuǎn)換電路由于ADC只能采集正電壓,則需對信號進(jìn)行抬高,分析計(jì)算得電路需加3V的直流電平。2.2.5 信號采集部分語音信號模數(shù)數(shù)模轉(zhuǎn)換選擇TLC320AD50(以下簡稱AD50)芯片,AD50使用過采樣(over sampling)技術(shù)提供從數(shù)字信號到模擬信號(DA)和模擬信號到數(shù)字信號(AD)的高分辨率低速信號轉(zhuǎn)換。該器件包括兩個(gè)串行的同步轉(zhuǎn)換通道(用于各自的數(shù)據(jù)傳輸),在DA之前有一個(gè)插人濾波器(interpolationfilter),在AD之后有一個(gè)抽取濾波器(decimdtionfilter),由此可降低AD50自身的噪聲。此外,AD50還具有片內(nèi)時(shí)序和控制功能。AD50特點(diǎn)如下。 輸入信號。單端信號輸人,幅度在14V之間。 輸出信號。單端信號輸出,幅度在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è)級音響應(yīng)用。 工作溫度范圍從40850。AD50的引腳分布如圖2.3所示(1)為DW封裝的引腳分布,(2)為PT封裝的引腳分布)。 圖2.3 AD50的引腳分布AD50的各個(gè)引腳的說明如表2-1所示。表2-1 AD50的引腳說明續(xù)表在AD50正常工作前,必須對它進(jìn)行正確的初始化。初始化操作的主要工作是配置AD50的4個(gè)控制寄存器CR1、CR2、CR3和CR4??刂萍拇嫫鞯淖x寫是通過二次通信來實(shí)現(xiàn)。在二次通信中,D0D7為寫人控制寄存器的數(shù)據(jù)或者從控制寄存器讀出的數(shù)據(jù),D8D12的內(nèi)容決定選擇哪個(gè)控制寄存器,D13位決定是讀操作還是寫操作。由D8D13位確定的所有情況如表2-2所示。表2-2AD50的D8D13位確定的所有操作情況控制寄存器1中各個(gè)控制位的功能說明如表2-3所示。表2-3控制寄存器1的各個(gè)控制位的功能說明控制寄存器2中各個(gè)控制位的功能說明如表2-4所示。表2-4 控制寄存器2的各個(gè)控制位的功能說明控制寄存器3中各個(gè)控制位的功能說明如表2-5所示。表2-5 控制寄存器3的各個(gè)控制位的功能說明控制寄存器4中各個(gè)控制位的功能說明如表2-6、2-7所示。表2-6 控制寄存器4的各個(gè)控制位的功能說明表2-7 控制寄存器4的第4第6位對應(yīng)的N值A(chǔ)D50控制寄存器的設(shè)置必須在二次通信中完成。AD50有硬件和軟件兩種方式啟動(dòng)二次通信,下面介紹硬仵方式啟動(dòng)AD50的二次通信過程。硬件啟動(dòng)過程如下:C5409通過其內(nèi)部寄存器將XF引腳變?yōu)楦唠娖?,從而控制AD50的FC引腳到高電平,然后向緩沖串口寫一個(gè)16位的控制字,低8位是AD50的控制寄存器初始化值,高8位選擇所要初始化的控制寄存器及操作。整個(gè)過程的時(shí)序如圖2.4所示。圖2.4 硬件啟動(dòng)AD50二次通信時(shí)序AD50的工作過程可分為AD通道工作過程和DA通道工作過程。AD通道把模擬信號轉(zhuǎn)換成數(shù)字信號,并以2進(jìn)制補(bǔ)碼形式表示。當(dāng)幀同步信號有效時(shí)(FS為低電平),16位(或者15位)數(shù)字信號在SCLK的上升沿輸出到DOUT引腳,一位數(shù)據(jù)對應(yīng)一個(gè)SCLK周期。傳輸時(shí)序如圖2.5所示。圖2.5 AD50的AD通道數(shù)據(jù)傳輸時(shí)序AD50的DA通道把送人的數(shù)字信號轉(zhuǎn)換成模擬信號。在SCLK的作用下,數(shù)字信號通過DIN引腳進(jìn)人DA通道,每個(gè)SCLK的下降沿輸人一位數(shù)字信號。DA將輸入的數(shù)字信號轉(zhuǎn)換成模擬信號輸出,DA通道的傳輸時(shí)序如圖2.6所示。圖2.6 AD50的DA通道數(shù)據(jù)傳輸時(shí)序AD50的前后端信號處理包括兩個(gè)處理電路:輸人模擬信號的處理電路和依據(jù)輸出模擬信號的處理電路。這兩個(gè)處理電路的主要作用是將信號進(jìn)行處理,使之更加適合AD和DA的要求。為了達(dá)到更好的信號處理效果,AD50的模擬信號輸人一般采用差分輸人方式,即使用兩個(gè)運(yùn)算放大器,將單端輸入信號轉(zhuǎn)換成差分輸人信號,電路連接如圖2.7所示。圖2.7 AD50單端信號轉(zhuǎn)換成差分信號由圖可知,單端輸人信號經(jīng)過兩個(gè)22F的隔直電容,送人運(yùn)算放大器的反相端,輸出反相信號IMP;IMP再輸人到另一個(gè)信號的反相端,輸出同相信號INP,從而形成差分輸人信號INP和IMP。圖中的運(yùn)算放大器選擇的是TI公司的TLC4502,也可以選用其他可替代的運(yùn)算放大器芯片。除了使用上述的運(yùn)算放大器外,也可以使用變壓器將單端信號轉(zhuǎn)換成差分信號輸人到AD50,如圖2.8所示。圖2.8 使用變壓器將單端信號轉(zhuǎn)換成差分信號 圖中推薦的值為50,Rin為22,Cin為10F,這些元件的值也可以根據(jù)具體的信號進(jìn)行調(diào)整,一般清況下電阻值在10100之間,電容值在10200pF之間。AD50的DA輸出為差分信號,可以直接驅(qū)動(dòng)600的負(fù)載。DA輸出處理電路如圖2.9所示。圖2.9 AD50的DA后端輸出信號處理AD50的去耦合電容的連接如圖2.10所示。圖2.10 AD50的去耦合電容的連接AD50的模擬電源和數(shù)字電源可以使用一個(gè)電感連接在一起,連接方法如圖2.11所示。圖2.11 AD50模擬和數(shù)字電源的連接2.3 時(shí)鐘信號產(chǎn)生電路通過計(jì)算,對模擬信號的采樣速率為25.6KHz,則需產(chǎn)生25.6KHZR的方波.作為A/D轉(zhuǎn)換數(shù)據(jù)的速率??刹捎脝纹呻娐泛瘮?shù)發(fā)生器ICL8038。ICL8038工作頻率范圍在幾Hz到幾百KHZ之間,可以同時(shí)輸出三角波、方波和正統(tǒng)波,滿足設(shè)計(jì)要求。3 軟件設(shè)計(jì)3.1 DSP的初始化包括定時(shí)器0的初始化,以確保TOUT0引腳能輸出正確的時(shí)鐘信號到AD50,使AD50能根據(jù)該時(shí)鐘信號進(jìn)行采樣。初始化緩沖串口時(shí),應(yīng)使DSP工作于主設(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開始采樣數(shù)據(jù)。此時(shí)檢測AD50的DOUT引腳能,能發(fā)現(xiàn)引腳有連續(xù)的信號輸出。3.3 設(shè)置DSP中斷DSP的中斷負(fù)責(zé)從緩沖串口讀取數(shù)據(jù),可以在CCS中查看讀取的數(shù)據(jù)是否正確,如果每次讀取的都是0或者同一個(gè)數(shù)據(jù),說明AD50沒有正常工作,此時(shí)需檢查DSP或者AD50是否初始化成功。3.4 數(shù)據(jù)存儲DSP從緩沖串口讀取數(shù)據(jù)存放到RAM,連續(xù)存放500或者1000個(gè)數(shù)據(jù),可以通過CCS的畫圖功能看到采集到的數(shù)據(jù)。這時(shí)主要判斷采樣頻率是否正確、有沒有數(shù)據(jù)丟失等。3.5 數(shù)據(jù)輸出 將RAM中的數(shù)據(jù)直接送到AD50的D/A單元,轉(zhuǎn)換成模擬信號后輸出。這時(shí)從AD50的模擬信號輸出端可以看到和輸入端一樣的信號。3.6 FFT算法本系統(tǒng)軟件設(shè)計(jì)主要實(shí)現(xiàn)FFT算法和各頻率和對應(yīng)功率的分析和顯示,由于DSP語言表達(dá)和運(yùn)算能力比較強(qiáng)且具有很好的可移植性和硬件控制能力,則采用DSP語言實(shí)現(xiàn)??傮w程序流程圖如圖3.1所示。 圖3.1 總體程序流程圖本設(shè)計(jì)中FFT根據(jù)DFT的基二分解方法,在第L(L表示從左到右的運(yùn)算級數(shù),L=1,2,3M)級中,每個(gè)蝶形的兩個(gè)輸入數(shù)據(jù)相距B(L-1)個(gè)點(diǎn),同一旋轉(zhuǎn)因子對應(yīng)著間隔為2L點(diǎn)的2(M-L)個(gè)蝶形。從輸入端開始,逐級進(jìn)行,在進(jìn)行L級運(yùn)算時(shí),依次求出2(L-1)不同的旋轉(zhuǎn)因子,每求出一個(gè)旋轉(zhuǎn)因子,就計(jì)算完它對應(yīng)的所有的2(M-L)個(gè)蝶形。因此用三重循環(huán)程序?qū)崿F(xiàn)FFT變換。同時(shí)采用原址計(jì)算,可節(jié)省大量的存儲單元。FFT算法的程序框圖如圖3.2所示。圖3.2 FFT算法的程序框圖系統(tǒng)用于實(shí)現(xiàn)語音信號的采集和播放,收到數(shù)據(jù)后,AD50對數(shù)據(jù)進(jìn)行模數(shù)轉(zhuǎn)換,變成數(shù)字語音信號后存儲于內(nèi)部RAM,然后輸出到AD50,AD50進(jìn)行數(shù)模轉(zhuǎn)換后輸出到相應(yīng)的后端處理電路,最后由后端電路將輸入的語音信號顯示。4 總結(jié)在這次課程設(shè)計(jì)中,我遇到了許多問題,這些問題是我們初學(xué)者經(jīng)常會遇到的問題。通過老師的指導(dǎo),和自己的思考,總結(jié)如下:問題1:單步可以運(yùn)行,連續(xù)運(yùn)行時(shí)總回0地址。解決辦法:Watchdog沒有關(guān),連續(xù)運(yùn)行復(fù)位DSP回到0地址。問題2:OUT文件不能load到片內(nèi)flash中。解決辦法:Flash不是RAM,不能用簡單的寫指令寫入,需要專門的程序?qū)懭?。CCS和CSourceDebugger中的load命令,不能對flash寫入。OUT文件只能load到片內(nèi)RAM,或片外RAM中。問題3:在flash中如何加入斷點(diǎn)解決辦法:在flash中可以用單步調(diào)試,也可以用硬件斷點(diǎn)的方法在flash中加入斷點(diǎn),軟件斷點(diǎn)是不能加在ROM中的。硬件斷點(diǎn),設(shè)置存儲器的地址,當(dāng)訪問該地址時(shí)產(chǎn)生中斷。問題4:中斷向量解決辦法:C2000的中斷向量不可重定位,因此中斷向量必須放在0地址開始的flash內(nèi)。在調(diào)試系統(tǒng)時(shí),代碼放在RAM中,中斷向量也必須放在flash內(nèi)。問題5:DSP初始化解決辦法:DSP在RESET后,許多的寄存器的初值一般同用戶的要求不一致,例如:等待寄存器,SP,中斷定位寄存器等,需要通過初始化程序設(shè)置為用戶要求的數(shù)值。初始化程序的主要作用:1)設(shè)置寄存器初值。2)建立中斷向量表。3)外圍部件初始化。GEL文件的功能:GEL文件的功能同emuinit.cmd的功能基本相同,用于初始化DSP。但它的功能比emuinit的功能有所增強(qiáng),GEL在CCS下有一個(gè)菜單,可以根據(jù)DSP的對象不同,設(shè)置不同的初始化程序。以TMS320LF2407為例:#defineSCSR10x7018;定義scsr1寄存器#defineSCSR20X7019;定義scsr2寄存器#defineWDKEY0x7025;定義wdkey寄存器#defineWDNTR0x7029;定義wdntr寄存器StartUp();開始函數(shù)GEL_MapReset();存儲空間復(fù)位GEL_MapAdd(0x0000,0,0x7fff,1,1);定義程序空間從00007fff可讀寫GEL_MapAdd(0x8000,0,0x7000,1,1);定義程序空間從8000f000可讀寫GEL_MapAdd(0x0000,1,0x10000,1,1);定義數(shù)據(jù)空間從000010000可讀寫GEL_MapAdd(0xffff,2,1,1,1);定義i/o空間0xffff可讀寫GEL_MapOn();存儲空間打開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寄存器賦值*(int*)WDKEY=0x055;給wdkey寄存器賦值*(int*)WDKEY=0x0AA;給wdkey寄存器賦值cmd文件:由3部分組成:1)輸入輸出定義:.obj文件:鏈接器要鏈接的目標(biāo)文件;.lib文件:鏈接器要鏈接的庫文件;.map文件:鏈接器生成的交叉索引文件;.out文件:鏈接器生成的可執(zhí)行代碼;鏈接器選項(xiàng)。2)MEMORY命令:描述系統(tǒng)實(shí)際的硬件資源。3)SECTIONS命令:描述"段"如何定位。通過近兩周的課程設(shè)計(jì),我學(xué)到了許多知識,使我實(shí)現(xiàn)了從茫然到基本的認(rèn)識到比較熟練的運(yùn)用DSP的轉(zhuǎn)變。剛開始自己編的程序運(yùn)行就錯(cuò)誤很多,當(dāng)時(shí)都沒信心能把這個(gè)課程設(shè)計(jì)完成,但什么都要自己面對的。后來在老師的指導(dǎo)和自己的思考下,我把程序統(tǒng)統(tǒng)都重新寫了一遍,并反復(fù)修改,最后通過編譯。在后面的時(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硬件開發(fā)教程M.機(jī)械工業(yè)出版社,2003,1.附錄A音頻信號頻譜分析完整程序ex12.asm* FileName:ex12.asm * Description:音頻信號頻譜分析實(shí)驗(yàn) * Copyright(C) SanZhi Electronic, Author Zpin *.title "ex12"BSP.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 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.setSPSD1RDRR.setDRR11RDXR.setDXR11.endifWR_SUB_REG.macro val,addr;寫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<<1, A bc WAITR?, AEQ .endmPROGREG .macro progword;與AD50二次通訊 stm #01h,RDXR WAITTRX stm #:progword:,RDXR WAITTRX .endm wait .macro STM #0008h, AR0RPT *AR0NOP.endm .mmregs.global _c_int00.sect ".vectors"RESETbd _c_int00stm #2000h,SP.space 19*4*16BRINT0b recvnopnopBXINT0b transnopnop.space 4*4*16BRINT1b recvnopnopBXINT1b transnopnop.space 4*4*16.text_c_int00ld #0h,DPstm #2000h,SPssbx INTMssbx SXM st #2491h,SWWSR st #0ffe0h,PMST st #0f007h,CLKMD stm #4000h,AR1 stm #4000h,AR2 mcbsp_init;初始化McBsp串口 rsbx CPL nop ; cpl latency nop ; cpl latency nop ; cpl latency ld #0, DP ssbx INTM ssbx SXM WR_SUB_REG #0000H,SPCR1WR_SUB_REG #0200H,SPCR2WR_SUB_REG #000CH,PCRWR_SUB_REG #0000H,SPCR1WR_SUB_REG #0000H,SPCR2WR_SUB_REG #0040H,RCR1;16 BITsWR_SUB_REG #0004H,RCR2;Ignore FS after the firstWR_SUB_REG #0040H,XCR1;16 BITsWR_SUB_REG #0004H,XCR2;Ignore FS after the firstld 100,Awaitandm #0ff3fh, 54h;set interrupts to come from serial ports not DMA;by clearing bits 6 and 7 in DMPRECstm #0,RDXRWR_SUB_REG #0001H,SPCR1;啟動(dòng)McBsp串口WR_SUB_REG #0201H,SPCR2ld 100,Awaitaic_initstm #0h,IMRorm #0c00h,IMRstm #0ffffh,IFR PROGREG 0000001100000001b ;76543210 PROGREG 0000010000010000b ;76543210;PROGREG 0104H;二次通訊初始化AD50;PROGREG 0280H;PROGREG 0301h;PROGREG 045Ahld RDRR,Ald RDRR,Astlm A,RDXRstlm A,RDXRrsbx INTMnopnopnopjsnopnopnopb jsrecvldm RDRR,A;讀取ADC采樣數(shù)據(jù)ld #0d000h,bsub ar1,bbc record,beq;判斷錄音是否結(jié)束;ld a,b;ld #0,astl a,*ar1+;未結(jié)束->錄音;ld b,ab play;已結(jié)束->放音recordld #0d000h,bsub ar2,bbc load,bneq;錄制數(shù)據(jù)放完,再從頭放起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 dependencies.command filenameexperi.cmd 1Project RootD:dsp_user_softsanzhi12語音錄放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 -x"ex12.obj""experi.cmd"/* End of Project Data Generated by Code Composer */Exx.ASMBSP .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 0x4CPLD_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 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 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 #1<<1, A bc WAITR?, AEQ .endmPROGREG .macro progword stm #01h,RDXR WAITTRX stm #:progword:,RDXR WAITTRX .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 04000h .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 INTM 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 WR_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

注意事項(xiàng)

本文(DSP課程設(shè)計(jì) 音頻信號頻譜分析)為本站會員(優(yōu)***)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

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

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


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