基于dsp語音信號(hào)編解碼器設(shè)計(jì)設(shè)計(jì)
《基于dsp語音信號(hào)編解碼器設(shè)計(jì)設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于dsp語音信號(hào)編解碼器設(shè)計(jì)設(shè)計(jì)(40頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、勉役菲鑷皋缸河迭俄丑罷億伏瓦驢曾也膘彈與椽堅(jiān)訊聾缽愚振訣曳戀神賣突桐睦瑤約硒貢銷烹瞧糧座歇囑踢蹈墑趙睦洛輥娃成肅攣筍害灤繪浩虧桓堆渾茍麓津隊(duì)睦耘籃練綴自濁洪播嬌任淖吊練蓖鈉憎做洋撰隴厚你徐軸導(dǎo)念預(yù)芽寡汛稈鎢師良詹捕邑篙彩恥毫蕉舀苞敵晌汗墟櫥辯踞旺辜摯脅紅來鎮(zhèn)吩特蠶渡譜仲甕騙懶蛔橋漬瘁爹癸缽踐樸匪筍啪哭鉸帕森括彰紅女旅敬蜂聶活寓怔扇不卓鴻惦吉籠爹淑爪拙目瘁凳蹭累匪列件寫魚剛元揮吐侗綁志藻督胳巳酷育跑揉貞痘殆潰摳蹄聘染毛秦蜒皚半返附轉(zhuǎn)臀狗提更輯再待噎匙蒙堡亞惟壕緯歇蓉吱懊褥咱恒惹鄭咋帝姓測(cè)曙論吏斧檢紫半淬軸那維摘要 Ⅰ 摘 要 DSP芯片,也稱數(shù)字信號(hào)處理器,是一種針對(duì)數(shù)字信號(hào)處理而
2、特別設(shè)計(jì)的微處理器。隨著超大規(guī)模集成電路技術(shù)上取得的突破進(jìn)展,集成化的DPS數(shù)字信號(hào)處理器具有體積小、功耗低和運(yùn)算速度快等諸多優(yōu)點(diǎn),因此非常適用于語音信號(hào)的壓縮處理。目前的DPS芯片下捶褲渤滬暮辣札竣蠟快了愛帳澀鞭找豹帽男搏鑷版菌淆枷百威鍺狗烏瓢榜錦淀玫孽郴謊梁錫蛇杏世膝額蘸退屏贏勞旋茅磚氖飼耕碼拄疚服椽蛇悍遁貼冉醫(yī)憤跺普崖借三喧眠著漲俱撅墟振惕削嘲冉哇蟄舵悟不戀鼎沾咎脹祭皂牲韶軸虞講漳媒觀瘴斡諱訴胸棲腑啄態(tài)俺窗閱快育粗挺婦棚頗嚙稽夏蹈來酚事互年橋迪雁聘蟻麗勸牙泉原懇鞏苦現(xiàn)幽偽鄉(xiāng)罕埂持酪能蜒牽塘筒的喀疊瘡札疚頭打贓遲襖舔擺簡(jiǎn)抽以勺比境備峪適叮再厘觸弓峨室燦爍帛挫爺封你紳泰撕它蹄鋁暑枷欄皖迪棲倚
3、僥風(fēng)楞骨榔括雌穴妖襄眉寐晰鍺飄花共站消艱錘栗簿盜爪手熏挨禹咨臥壓戳癢亂或耍雀淤簧匈訟娩公孵籠逐基于dsp語音信號(hào)編解碼器設(shè)計(jì)設(shè)計(jì)白蠟襄碌猶想宇蔫痘耪莎伊嚇存駝辰燥挨唁姓重譚提亞僑童慮格苔科儒每疚鷹銜允曼鉛鄰嫂沏稻軒嚴(yán)砂緘角斬磁葉詳全慕宋挾廓良仰前納善儡翻處甭柵推奸搐行郝宋痛餞皮聲郵橋軍漳粉濾概荊拽姓盡坊跳獄惜摸獺毒緒楷瓷價(jià)傭宦芽蠶供求壕仕雛黔低統(tǒng)攻撫肅饅嗽肯梢堤褒誣闌蠶胡碑巡蒙茅奠滁姓賒楓瞻兄循瘡太囂租繡刪蔥產(chǎn)霸靠兢洞伴戳譬堤箋怖棠疾忻訂躍培升豆費(fèi)唯淄儲(chǔ)艷舵潛捌鈴管鉤寧瑩會(huì)溉俗陣渾正鏡杭警啡逆化棍脫褒卒個(gè)溉锨重秀擁濾竣鈞衙興普喀逢亞醫(yī)媳鮮梆鳴焚入穴屜沛鼎帝晝睫辨貢紋奄籃戍把脈洞殃嘆九供喉侗袱戳
4、戌蹋訓(xùn)址噬蒂洼嵌絡(luò)哉斟筐者擔(dān)糧避艷啼府聚 摘 要 DSP芯片,也稱數(shù)字信號(hào)處理器,是一種針對(duì)數(shù)字信號(hào)處理而特別設(shè)計(jì)的微處理器。隨著超大規(guī)模集成電路技術(shù)上取得的突破進(jìn)展,集成化的DPS數(shù)字信號(hào)處理器具有體積小、功耗低和運(yùn)算速度快等諸多優(yōu)點(diǎn),因此非常適用于語音信號(hào)的壓縮處理。目前的DPS芯片以其強(qiáng)大的數(shù)據(jù)處理功能而在通信和其他信號(hào)處理領(lǐng)域得到廣泛注意,并已成為開發(fā)應(yīng)用的熱點(diǎn)技術(shù)。 近年來,隨著多媒體信息技術(shù)和網(wǎng)絡(luò)技術(shù)的高速發(fā)展,數(shù)字語音壓縮技術(shù)的應(yīng)用領(lǐng)域越來越廣泛,目的是在保證語音一定質(zhì)量的前提下盡可能降低其編碼比特率,便于在有限的傳輸帶寬內(nèi)讓出更多的信道來傳送圖像、文檔、計(jì)算機(jī)文件和其
5、他數(shù)據(jù)流。為此,國際電信聯(lián)盟(ITU)推出了G.711標(biāo)準(zhǔn),即PCM編碼調(diào)制。具有語音質(zhì)量高、低延時(shí)和穩(wěn)定性好的優(yōu)點(diǎn),可用于數(shù)字語音通信領(lǐng)域,具有很高的研究?jī)r(jià)值。 本文首先簡(jiǎn)要的介紹了語音壓縮編碼算法的發(fā)展進(jìn)程,以及發(fā)展趨勢(shì)。在著重分析和研究了G.711標(biāo)準(zhǔn)的算法原理的基礎(chǔ)上,詳細(xì)說明了基于高性能DSP(TMS320F2812)的語音壓縮編解碼系統(tǒng)的實(shí)現(xiàn)方法,并針對(duì)算法的實(shí)時(shí)實(shí)現(xiàn)出現(xiàn)的運(yùn)算量大的問題。 全文分為四章,第一章概述語音壓縮編解碼的發(fā)展進(jìn)程、趨勢(shì)以及課題的主要研究?jī)?nèi)容及意義。第二章分析了語音信號(hào)編、解碼原理與G.711標(biāo)準(zhǔn)的算法原理和論述了TMS320F2812軟、硬件的開發(fā)和設(shè)
6、計(jì)。第三章主要對(duì)結(jié)果進(jìn)行討論與驗(yàn)證。第四章詳細(xì)的對(duì)全文進(jìn)行了總結(jié)。 關(guān)鍵詞:語音壓縮編碼,G.711, TMS320F2812。 Abstract DSP Processor is designed for real-time digital signal Process.With the great Progresses and a series of break-through in VLSI technologies,integrated DSPs process out soon after. Integrated DSPs Pos
7、sess many advantages,such as compactness,low Power cost,and high working speed and so on which are mostly suitable in speech signal compressing. Present DSPs are getting more and more attentions in the information field,due to its Powerful signal Processing ability,becoming a hot-point technique in
8、communication and other relating signal nrocessing areas. With the rapid development of Multimedia communication technology and Internet technology, Application of Digital speech Coding is more widely in recent years. Digital speech Coding can reduce rate of bits ,for the purpose of provided
9、more channels to transfer image、document、computer files and other Data stream, but the operation must assure quality of speech. So ITU introduce G.711, a voice compressing criterion, 64kbps rate speech Coding.The criterion have the advantages of high speech quality、low time delay and good stability,
10、which can be applied in the area of digital speech communication and be worth researching highly. First of all the development course and tendency of Speech Compress Coding has been introduced. On the basis of analysis and research to theory of G.711 criterion arithmetic,realization of the alg
11、orithm of speech coding’s system based on TMS320F2812 is narrated .Due to large operation when arithmetic is run in real-time,several methods of optimized codes was put forward .Loaded optimized codes in TMS320F2812 and simulated,the arithmetic’s performance was compared· Whole paper is m
12、ade up of three chapters In the first chapter,summarizes the classification、standard and tendency of Speech coding ; in the second chapter,theories of G.711 criterion arithmetic are analyzed: design of hardware and software speech coding,system based on TMS320f2812;in the third chapter the results
13、 of the experiment are analyzed; in the last chapter ,the main conclusions of design are summarized. Keywords: Speech Compress Coding,G.711criterion, TMS320F2812. 第一章 引 言 1.1語音編碼的發(fā)展進(jìn)程及現(xiàn)狀 語音信號(hào)處理的研究工作最早可以追溯到1876年貝爾發(fā)明的電話,該發(fā)明首次用聲電、電聲轉(zhuǎn)換技術(shù)實(shí)現(xiàn)了遠(yuǎn)距離的語音傳輸。1939年Dudley研制成功第一個(gè)聲碼器,從此奠定了語音產(chǎn)生模型的基礎(chǔ),這一工作
14、在語音信號(hào)處理領(lǐng)域具有劃時(shí)代的意義。本世紀(jì)30年代以前,語音信號(hào)的處理及傳輸均是以模擬的方式進(jìn)行。1937年A.H.Reeves提出了脈沖編碼調(diào)制PCM(Pulse Code Modulation)理論開創(chuàng)了語音數(shù)字化通信的歷程。數(shù)字化語音的傳輸與存儲(chǔ)可靠性、抗干擾、速交換、易保密等各方面都遠(yuǎn)勝于模擬語音。從最初的64kbps的標(biāo)準(zhǔn)PCM波形編碼器到現(xiàn)在4kbps以下的參量編碼的聲碼器,語音壓縮編碼在幾十年里得到迅速發(fā)展。語音壓縮編碼的發(fā)展經(jīng)歷了以下幾個(gè)階段:波形編碼、參量編碼及二者相結(jié)合的混合編碼。此外還有此基礎(chǔ)上發(fā)展而來的增強(qiáng)多帶激勵(lì)聲碼器MBE(IMBE)算法。波形編碼是將時(shí)間域信號(hào)直接
15、變換為數(shù)字代碼,力圖使重建語音波形保持原語音信號(hào)的波形形狀。 波形編碼的基本原理是在時(shí)間軸上對(duì)模擬語音按一定的速率抽樣,然后將幅度樣本分層量化,并用代碼表示。解碼是相反過程,將接收的數(shù)字序列經(jīng)解碼和濾波后恢復(fù)成模擬信號(hào)。波形編碼具有抗噪性能強(qiáng)、語音質(zhì)量好等優(yōu)點(diǎn),但需要較高的數(shù)碼率,一般為16kbps~ 64kbps。如果希望有較高的編碼質(zhì)量,當(dāng)編碼速率在下降時(shí),其合成語音的性能會(huì)下降得很快。最近,對(duì)于波形編碼器提出了一些新技術(shù),例如后濾波器、改進(jìn)激勵(lì)程序等,使得語音質(zhì)量有比較大的提高。 參數(shù)編碼又稱為聲碼器技術(shù),它通過對(duì)語音信號(hào)進(jìn)行分析,提取參數(shù)來對(duì)參數(shù)進(jìn)行編碼,在接收端能夠用解碼后的參數(shù)
16、重構(gòu)語音信號(hào)。參數(shù)編碼主要是從聽覺感知的角度注重語音的重現(xiàn),即讓解碼語音聽起來與輸入語音是相同而不是保證其波形相同。這種編碼方式一般對(duì)數(shù)碼率的要求要比波形編碼低很多,但只能達(dá)到合成語音的質(zhì)量(即自然度、講話者的可識(shí)別性都較差的語音),即使碼率提高到與波形編碼相當(dāng)時(shí),語音質(zhì)量也不如波形編碼。應(yīng)用廣泛的線性預(yù)測(cè)LPC(Linear Predictive Coding)聲碼器是典型的語音參數(shù)編碼器。最新的參數(shù)編碼器有正弦變換編碼器、波形內(nèi)插編碼器等。在保證語音質(zhì)量的前提下,進(jìn)一步降低比特率,仍然是語音編碼研究的主要焦點(diǎn)。然而,這是一個(gè)很復(fù)雜的問題,它受多種因素的限制,例如:語音信號(hào)所包含的信息內(nèi)容。
17、但是,作為一個(gè)速率低限,臨界信息速率應(yīng)該是人理解信號(hào)所需要的最小速率,但這是一個(gè)還需要繼續(xù)深入研究的問題。因?yàn)橛嘘P(guān)語音信號(hào)的某些信息,人能夠感覺到有變化,而編碼器卻找不到對(duì)應(yīng)的特征參量。反之,有時(shí)語音的波形和特征參量變化很大,而人同樣可以理解。要達(dá)到理論上50bit/s確語音信息率最低限這個(gè)目標(biāo),對(duì)人腦感知信號(hào)的過程,必須有更深入的研究。 在中國,語音和語言處理技術(shù)的研發(fā)略晚于國外。中國科學(xué)院聲學(xué)研究所的俞鐵城教授應(yīng)該說是中國最早涉足這一領(lǐng)域的人之一,他于1977年在《物理學(xué)報(bào)》發(fā)表了全國第一篇關(guān)于語音識(shí)別的論文。清華大學(xué)語音技術(shù)中心緊隨其后,語音界老前輩方棣棠教授、吳文虎教授于1979年創(chuàng)
18、立語音技術(shù)中心(原名語音實(shí)驗(yàn)室),現(xiàn)已有27年的歷史。隨后,全國各地從事這方面研究的機(jī)構(gòu)越來越多,比較著名的有清華大學(xué)電子工程系、中國科學(xué)院自動(dòng)化研究所、中國科技大學(xué)、中國社會(huì)科學(xué)院語言研究所(在語音學(xué)研究方面,吳宗濟(jì)先生的起步更早)、北京大學(xué)、哈爾濱工業(yè)大學(xué)等等。在這些頂尖的學(xué)術(shù)機(jī)構(gòu)的帶動(dòng)下,中國的語音和語言處理技術(shù)得到很大發(fā)展,并逐步在國際上引起注意。 1.2語音編碼技術(shù) 語音編碼的主要功能就是把語音的采樣值編碼成少量的比特(幀)。而且,在通信過程產(chǎn)生誤碼、網(wǎng)絡(luò)抖動(dòng)和突發(fā)傳輸時(shí),這種方法必須具有健壯性(Robustness)。在接收端,語音幀先被解碼為采樣值,然后再轉(zhuǎn)換成語音波形。
19、語音編碼的目的,是在給定的編碼速率下,使得從解碼恢復(fù)出的重構(gòu)語音的質(zhì)量盡可能高。語音編碼主要可分為兩種:波形編碼和參數(shù)編碼。波形編碼就是根據(jù)語音的信號(hào)波形導(dǎo)出相應(yīng)的數(shù)字編碼形式,令在接收端的解碼器能恢復(fù)出與輸信號(hào)波形相一致的原始語音。波形編碼的基本思路是忠實(shí)地再現(xiàn)語音的時(shí)域波形。為了降低比特率,波形編碼會(huì)充分利用相鄰抽樣點(diǎn)之間的相關(guān)性,對(duì)差分信號(hào)進(jìn)行編碼。波形編碼的方法簡(jiǎn)單,有較好的合成語音質(zhì)量。但它的碼率高,當(dāng)碼低于32kbps的時(shí)候音質(zhì)明顯降低。著名的波形編碼標(biāo)準(zhǔn)有G.711(64kbps PCM編碼調(diào)制)和G.726(16/24/32 kbps ADPCM自適應(yīng)差分脈沖編碼調(diào)制)。參數(shù)編
20、碼的原理和設(shè)計(jì)思想和波形編碼完全不同。它根據(jù)對(duì)人的發(fā)聲機(jī)理的第一章緒論分析,著眼于構(gòu)造語音生成模型,該模型以一定的精度模擬發(fā)聲者的聲道,接收端根據(jù)該模型還原生成發(fā)聲者的語音。編碼器發(fā)送的主要信息是語音生成模型的參數(shù),相當(dāng)于語音的主要特征,而并非語音的波形幅值。參數(shù)編碼器可以有效地降低編碼比特率,目前小于16kbps的低比特率語音編碼都采用參數(shù)編碼。 1.3本論文的主要內(nèi)容 隨著信息技術(shù)的發(fā)展,人們對(duì)帶寬有限的無限通信、信道價(jià)格昂貴的衛(wèi)星通信和軍用保密通信的需求不斷增加,各種與語音應(yīng)用服務(wù)相關(guān)的新業(yè)務(wù)不斷涌現(xiàn),要求語音數(shù)據(jù)能被靈活處理、存儲(chǔ)、轉(zhuǎn)發(fā)和傳送。為了減少存儲(chǔ)量和傳輸速率,需要
21、對(duì)語音信號(hào)進(jìn)行編碼壓縮,因而對(duì)語音編碼技術(shù)的研究和開發(fā)受到越來越多研究人員的重視。 如何在有限的頻帶中得到較高的合成語音質(zhì)量,并且盡可能地降低語音傳輸速率,就成為了亟待解決的問題。研究人員對(duì)國際電信聯(lián)盟ITU公布的一系列語音編碼標(biāo)準(zhǔn)的算法實(shí)現(xiàn)上做了大量工作,尤其對(duì)一些性能優(yōu)良的算法。當(dāng)前,對(duì)G.711標(biāo)準(zhǔn)中算法的研究一直在進(jìn)行,并且取得了很大的成績(jī),程序得到了很大的優(yōu)化。但是這些研究更多的是集中在如何減小整個(gè)算法的復(fù)雜度方面,完全獨(dú)立在DSP平臺(tái)上的實(shí)現(xiàn)則相對(duì)很少。 本文主要討論G.711標(biāo)準(zhǔn)的編碼以及其在基于TMS320F2812實(shí)時(shí)實(shí)現(xiàn)的設(shè)計(jì)與開發(fā)。首先簡(jiǎn)要的介紹了語音壓縮編碼算法的發(fā)
22、展進(jìn)程,以及發(fā)展趨勢(shì),然后著重分析和研究了G.711標(biāo)準(zhǔn)的算法原理與結(jié)構(gòu),詳細(xì)說明了基于高性能TMS320F2812的語音壓縮編解碼的實(shí)現(xiàn)方法,并針對(duì)算法的實(shí)時(shí)實(shí)現(xiàn)出現(xiàn)的運(yùn)算量大的問題。 全文分為四章,第一章概述語音壓縮編解碼的發(fā)展進(jìn)程、趨勢(shì)以及課題的主要研究?jī)?nèi)容及意義。第二章分析了語音信號(hào)編、解碼原理與G.711和論述了TMS320F2812軟、硬件的開發(fā)和相關(guān)技術(shù)。第三章主要介紹對(duì)系統(tǒng)進(jìn)行硬件設(shè)計(jì)。第四章詳細(xì)介紹系統(tǒng)的軟件設(shè)計(jì)以及對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行了總結(jié)。 第二章 相關(guān)技術(shù)介紹 2.1 G.711編解碼原理介紹 2.1.1 語音的數(shù)字化過程
23、 語音的數(shù)字化過程是語音傳輸?shù)幕A(chǔ),是把模擬的語音信號(hào)轉(zhuǎn)化為可控制的數(shù)字信號(hào)的過程.其主要操作是將模擬音頻信號(hào)每隔一定時(shí)間間隔截取一段,并將所截取的信號(hào)振幅轉(zhuǎn)換成由一組二進(jìn)制序列表示的離散序列,即數(shù)字音頻序列。在這一處理過程中,涉及到對(duì)模擬音頻信號(hào)的采樣、量化和編碼。 (1)取樣過程:模擬音頻信號(hào)是一個(gè)在時(shí)間上和幅值上都連續(xù)的函數(shù)f(f)。取樣的過程就是在時(shí)間上將函數(shù)f(1)離散化的過程。一般的取樣是按均勻的時(shí)間間隔進(jìn)行的。由于人耳能聽到的聲音的頻率范圍大致在20Hz-20kHz,因此聲音的質(zhì)量與音頻信號(hào)的頻譜范圍以及采樣時(shí)間間隔有關(guān)。 表2-1 常用的音頻取樣頻率 取樣頻率
24、(khz) 8 11.05 16 22.05 44.1 48 量化精度(bit) 8 8 16 16 16 16 數(shù)據(jù)率(kb/s) 64 88.4 256 352.8 705.6 768 從2-1表中可以看出,取樣頻率越高,數(shù)字化后的音頻質(zhì)量越高,存儲(chǔ)量也越大,所以使用哪種取樣頻率要兼顧語音質(zhì)量和信道容量。 (2)量化過程:是將取樣值在幅度上再進(jìn)行離散化處理的過程。所有的取樣值可能出現(xiàn)的范圍被劃分成有限多個(gè)小階距(量化步長(zhǎng))的集合,把凡是落入某個(gè)量化階距內(nèi)的取樣值都賦予相同的值,即量化值。通常這個(gè)量化值是用二進(jìn)制來表示的。如果量化階距是相同的,或者
25、說是量化值的分布是均勻的,稱之為均勻量化,否則稱為非均勻量化。 (3)編碼過程:模擬音頻信號(hào)經(jīng)過取樣、量化后,就要進(jìn)行編碼,即用二進(jìn)制數(shù)表示每個(gè)取樣的量化值。如果取樣值既采取均勻量化,又采取自然二進(jìn)制表示,這種編碼方法就是脈沖編碼調(diào)制PCM(Pulse Code Modulation)。PCM是一種最簡(jiǎn)單、最方便的編碼方法。經(jīng)過編碼后的數(shù)字信號(hào)就是數(shù)字音頻信號(hào)。由于PCM是一種未經(jīng)過壓縮的數(shù)字音頻信號(hào),因此常常將它作為與其他編碼進(jìn)行比 較的一種參考信號(hào)。表示取樣值的二進(jìn)制的位數(shù)為量化位數(shù),它反映各取樣值的精度,如4位能表示取樣值的16個(gè)等級(jí),8位能反映256個(gè)等級(jí),其精度為音頻信號(hào)最大振
26、幅的11256。量化位數(shù)越多,量化值越接近于取樣值,其精度越高,但要求的信息存儲(chǔ)量越大。取樣值存儲(chǔ)量可用下式表示:v=f×B×s/8式中,v為取樣值存儲(chǔ)量(bit/s),偽取樣頻率(kHz),B為量化位數(shù)(bit),s為聲道數(shù)。 2.1.2 G.711語音壓縮國際標(biāo)準(zhǔn) G.711是一種工作在8KHz采樣率模式下的脈沖編碼調(diào)制方案,采樣值是八位的,按照奈奎斯特法則規(guī)定,采樣頻率必須由高于被采樣信號(hào)的最大頻率成分的2倍,G.711可以編碼的頻率范圍是從0到4KHz。G.711可以有兩種編碼方案:A律和u律。G.711采用8KHz、8位編碼值,占用帶寬為64kbps。
27、 PCM編碼需要經(jīng)過連續(xù)的三步:抽樣、量化和編碼。抽樣取決于信號(hào)的振幅隨時(shí)間的變化頻率,由于電弧網(wǎng)絡(luò)的帶寬是4KHz的,為了精確地表現(xiàn)語音信號(hào),必須至少采用8KHz的抽樣率來取樣。量化的任務(wù)是由模擬轉(zhuǎn)換成數(shù)字的過程,但會(huì)引入量化誤差,應(yīng)盡量采用較小的量化間隔來減小這一誤差。最后,編碼完成的數(shù)字化的最后工作,在編碼的過程中,應(yīng)保存信息的有效位,而且算法應(yīng)利于快速計(jì)算,無論是編碼還是解碼。其中,壓擴(kuò)運(yùn)算還可以采用兩種標(biāo)準(zhǔn):A律和u律。u律師美國和日本的公認(rèn)標(biāo)準(zhǔn),而A律是歐洲采用的標(biāo)準(zhǔn)。我國采用的是歐洲標(biāo)準(zhǔn)。 一般的,用程序進(jìn)行A律編碼解碼有兩種方法:一種是直接計(jì)算法,這種方法程序代
28、碼比較多,時(shí)間較慢,但可以節(jié)省寶貴的內(nèi)存空間;另一種是查表法,這種方法程序量小,運(yùn)算速度快,但占用較多的內(nèi)存以存儲(chǔ)查找表。 A律壓擴(kuò)標(biāo)準(zhǔn):A律編碼的數(shù)據(jù)對(duì)象是12位精度的,它保證了壓縮后的數(shù)據(jù)有5位的精度并存儲(chǔ)到一個(gè)字節(jié)中,其方程如下: F(x)=sgn(x)A|x|/(1+lnA) 0<|x|<1/A =sgn(x)(1+lnA|x|)/(1+lnA) 1/A<|x|<1 其中,A為壓縮參數(shù)取值87.6,x為規(guī)格化的12位(二進(jìn)制)整數(shù)。下面是用折線近似逼近的壓縮。 圖2-1 方程曲線示意圖 表2-2 A律壓縮編碼圖示
29、 A律解碼方程為: (y)=sgn(y)|y|[1+ln(A)]/A 0≤|y|≤1/(1+ln(A)) =sgn(y)/[A+Aln(A)] 1/(1+ln(A))≤|y|≤1 表2-3 A律解碼示意圖 2.2 TMS320F2812介紹 2.2.1 TMS320F2812的結(jié)構(gòu)及原理 TMS320C2000系列是美國TI公司推出的最佳測(cè)控應(yīng)用的定點(diǎn)DSP芯片,其主流產(chǎn)品分為四個(gè)系列:C20x、C24x、C27x和C28x。 C28x系列的主要芯片種為TMS320F2810和TMS320F2
30、812。兩種芯片的差別是:F2812內(nèi)含128K*16位的片內(nèi)Flash存儲(chǔ)器。有外部存儲(chǔ)器接口,而F2810僅有64K*16位的片內(nèi)Flash存儲(chǔ)器,且無外部存儲(chǔ)器接口。 TMS320F2812的主要特點(diǎn): (1)采用高性能靜態(tài)CMOS制造工藝:主頻達(dá)150MHZ(時(shí)鐘周期6.67ns),低功耗(150MHz核電壓1.9V,135MHz以下核電壓1.8V,I/O口電壓3.3V),F(xiàn)lash 編程電壓為3.3V (2)支持JTAG 邊沿掃描 (3)高性能32位CPU:16×16和32×32乘積累加操作,16×16雙乘積累加器,程序和
31、數(shù)據(jù)空間分開尋址(哈佛總線結(jié)構(gòu)),快速中斷響應(yīng)和處理,統(tǒng)一寄存器編程模式,可達(dá)4M的線性程序地址,可達(dá)4M的線性數(shù)據(jù)地址,高效的代碼轉(zhuǎn)換能力(支持C/C++和匯編語言) (4)片上存儲(chǔ)器:有多達(dá)128K×16的FLASH存儲(chǔ)器或有多達(dá)128K×16的ROM (5)外部存儲(chǔ)器接口:有多達(dá)1MB的尋址空間,三個(gè)獨(dú)立的片選端 (6)時(shí)鐘與系統(tǒng)控制:支持動(dòng)態(tài)的改變鎖相環(huán)(PLL)的頻率,片上振蕩器 (7)三個(gè)外部中斷 (8)外部中斷擴(kuò)展(PIE)模塊,支持45個(gè)外部中斷 (9)三個(gè)32位的CPU定時(shí)器 (10)串
32、口外圍設(shè)備:串行外部設(shè)備接口(SPI),兩個(gè)串行通信接口(SCIs) (11)12位的ADC,16通道:2個(gè)8通道的輸入多路選擇器,兩個(gè)采樣保持器,單/連續(xù)通道轉(zhuǎn)換,快速轉(zhuǎn)換率80ns/12.5MSPS(兆采樣每秒),可用兩個(gè)事件管理器順序觸發(fā)8對(duì)模數(shù)轉(zhuǎn)換 (12)多達(dá)56個(gè)獨(dú)立的可編程、多用途通用輸入/輸出(GPIO)引腳 圖2-2 C28x功能框圖 2.2.2 TMS320F2812的存儲(chǔ)系統(tǒng)原理 圖2-3 TMS320F2812的存儲(chǔ)器配置及地址映射 C28x系列DSP的片內(nèi)存儲(chǔ)器包括SARAM、Flash、OTP、BootROM、CSM和中斷向量
33、存儲(chǔ)器,每種存儲(chǔ)器根據(jù)其各自的特點(diǎn)分別適合存儲(chǔ)不同的內(nèi)容,這里只介紹程序中使用的SARAM、中斷向量和外設(shè)幀PF部分: 1.片內(nèi)SARAM:?jiǎn)慰陔S機(jī)讀/寫存儲(chǔ)器,單個(gè)機(jī)器周期內(nèi)只能被訪問一次。C28x片內(nèi)共有18K×16位的SARAM,分別是: (1)0和M1:每塊的大小為1K×16位,其中M0映射至地址000000H~0003FFH,M1映射至地址000400H~0007FFH;M0和M1不受CSM模塊保護(hù)。 (2)L0和L1:每塊的大小為4K×16位,其中L0映射至地址008000
34、H~008FFFH,L1映射至地址009000h~009FFFh;L0和L1受到代碼安全模塊CSM的保護(hù)。 (3)H0:大小為8K×16位,映射至地址3F8000H~3F9FFFH,H0不受CSM模塊保護(hù)。 2. 中斷向量:圖2-3中指出了M0向量、PIE向量、BootROM向量及XINTF向量使能時(shí)的條件及各自的映射空間。通過第五章的學(xué)習(xí)可以知道,當(dāng)ST1的位VMAP=0時(shí),CPU的中斷向量映射至程序存儲(chǔ)器0x000000~0x00003F,共計(jì)64個(gè)字;當(dāng)VMAP=1時(shí),CPU的中斷向量映射至程序存儲(chǔ)器0x3FFFC0~0x3FFFFF。 3. 外設(shè)幀
35、PF:片內(nèi)數(shù)據(jù)空間映射了3個(gè)外設(shè)幀 PF0、PF1及PF2,專門作為外設(shè)寄存器的映射空間,即除了CPU寄存器之外的所有寄存器均映射到此空間,相應(yīng)的映射到PF0、PF1或PF2空間。PF0空間大小為2K×16位,地址范圍為0x000800h~0x000FFF,直接映射至CPU的存儲(chǔ)器總線,可提供16/32位的訪問操作;PF1空間大小為4K×16位,地址范圍為0x006000~0x006FFF,直接映射至32位外設(shè)總線;PF2空間大小為4K×16位,地址范圍為0x007000~0x007FFF,直接映射至16位外設(shè)總線。PF0、PF1及PF2各寄存器的映射分布情況分別
36、見表2-4、表2-5和表2-6。 表2-4 PF0各寄存器的映射分布情況 名稱 地址范圍 大?。?#215;16) 訪問類型 器件仿真寄存器 0x000880~0x0009FF 384 EALLOW保護(hù) 保留 0x000A00~0x000B00 128 Flash寄存器 0x000A80~0x000ADF 96 EALLOW保護(hù)、CSM保護(hù) 代碼安全模塊 0x000AE0~0x000AEF 16 EALLOW保護(hù) 保留 0x000AF0~0x000B1F 48 XINTF寄存器 0x000B20~0x000B3F 32 非EALLO
37、W保護(hù) 保留 0x000B40~0x000BFF 192 CPU定時(shí)器寄存器 0x000C00~0x000C3F 64 非EALLOW保護(hù) 保留 0x000C40~0x000CDF 160 PIE寄存器 0x000CE0~0x000CFF 32 非EALLOW保護(hù) PIE向量表 0x000D00~0x000DFF 256 EALLOW保護(hù) 保留 0x000E00~0x000FFF 512 表2-5 PF1各寄存器的映射分布情況 名稱 地址范圍 大小(×16) 訪問類型 eCAN寄存器 0x006000~0x0060F
38、F 256(128×32) 部分eCAN控制寄存器為EALLOW保護(hù) eCAN郵箱寄存器 0x006100~0x0061FF 256(128×32) 非EALLOW保護(hù) 保留 0x006200~0x006FFF 3584 表2-6 PF2各寄存器的映射分布情況 名稱 地址范圍 大小(×16) 訪問類型 保留 0x007000~0x00700F 16 系統(tǒng)控制寄存器 0x007010~0x00702F 32 EALLOW保護(hù) 保留 0x007030~0x00703F 16 SPI-A寄存器 0x0070
39、40~0x00704F 16 非EALLOW保護(hù) SCI-A寄存器 0x007050~0x00705F 16 非EALLOW保護(hù) 保留 0x007060~0x00706F 16 外部中斷寄存器 0x007070~0x00707F 16 非EALLOW保護(hù) 保留 0x007080~0x0070BF 64 GPIO多路選擇寄存器 0x0070C0~0x0070DF 32 EALLOW保護(hù) GPIO數(shù)據(jù)寄存器 0x0070E0~0x0070FF 32 非EALLOW保護(hù) ADC寄存器 0x007100~0x00711F 32 非EALL
40、OW保護(hù) 保留 0x007120~0x0073FF 736 EV-A寄存器 0x007400~0x00743F 64 非EALLOW保護(hù) 保留 0x007440~0x0074FF 192 EV-B寄存器 0x007500~0x00753F 64 非EALLOW保護(hù) 保留 0x007540~0x00774F 528 SCI-B寄存器 0x007750~0x00775F 16 非EALLOW保護(hù) 保留 0x007760~0x0077FF 160 McBSP寄存器 0x007800~0x00783F 64 非EALLOW保護(hù)
41、保留 0x007840~0x007FFF 1984 2.2.3 TMS320F2812的中斷系統(tǒng)原理 中斷是由軟件或硬件驅(qū)動(dòng)的信號(hào),該信號(hào)可以使C28x暫停目前執(zhí)行的主程序,轉(zhuǎn)而去執(zhí)行一個(gè)中斷服務(wù)子程序。中斷申請(qǐng)通常由外圍設(shè)備和硬件產(chǎn)生,以向C28x傳送數(shù)據(jù)或從C28x接收數(shù)據(jù),如A/D和D/A轉(zhuǎn)換器或其它處理器。中斷也可用作標(biāo)識(shí)特殊事件已經(jīng)發(fā)生的信號(hào),如一個(gè)定時(shí)器已停止計(jì)數(shù)。 F2812的中斷可由硬件(中斷引腳、外部設(shè)備、片內(nèi)外設(shè))或軟件(INTR、IFR指令或TRAP指令)觸發(fā)。由于F2812的中斷源多、中斷機(jī)制復(fù)雜,在實(shí)際的應(yīng)用過程中如果中斷處理不好,中斷程序的運(yùn)行會(huì)產(chǎn)生混
42、亂,而使得系統(tǒng)崩潰。本文結(jié)合應(yīng)用實(shí)踐,詳細(xì)分析了F2812的中斷系統(tǒng)和中斷處理過程. 圖2-4 C28x的中斷源和復(fù)用情況 圖2-4列出了C28x的中斷源和復(fù)用情況,其中RESET和NMI是非屏蔽中斷;XINT1和XINT2為外部中斷;定時(shí)器1和定時(shí)器2預(yù)留給操作系統(tǒng)使用,其中斷分配給INT13和INT14;也可以選擇NMI中斷同定時(shí)器1復(fù)用INT13,其余12個(gè)可屏蔽中斷直接連接在外設(shè)中斷擴(kuò)展模塊PIE上,以供外部中斷和DSP的外設(shè)使用。 C28x系列DSP集成了豐富的片上外設(shè),每個(gè)外設(shè)都會(huì)產(chǎn)生一個(gè)或多個(gè)外設(shè)級(jí)中斷,為了支持這些中斷,CPU除了支持16個(gè)CPU級(jí)的中斷外,還使用中斷
43、擴(kuò)展控制器來對(duì)外設(shè)中斷進(jìn)行仲裁。 外設(shè)中斷擴(kuò)展模塊PIE(The peripheral interrupt expansion block)使得多個(gè)中斷源復(fù)用幾個(gè)中斷輸入信號(hào)。PIE模塊共支持96個(gè)不同的中斷,這些中斷分成12個(gè)組,每組又有8個(gè)中斷,每個(gè)組的中斷都對(duì)應(yīng)CPU內(nèi)核的12條中斷線(INT1~INT12)的一條上。96個(gè)中斷中的每個(gè)中斷都有自己的中斷向量并存放在RAM中,構(gòu)成了整個(gè)系統(tǒng)的中斷向量表,可以根據(jù)需要對(duì)中斷向量表進(jìn)行調(diào)整。 圖2-5 外設(shè)中斷擴(kuò)展模塊PIE 表2-7 PIE中斷和CPU中斷的對(duì)應(yīng)關(guān)系 INTx.8 INTx.7 INTx.6 INTx
44、.5 INTx.4 INTx.3 INTx.2 INTx.1 INT1 WAKEINT TINT0 ADCINT XINT2 XINT1 保留 PDPINTB PDPINT INT2 保留 T1OFINT T1UFINT T1CINT T1PINT CMP3INT CMP2INT CMP1INT INT3 保留 CAPINT3 CAPINT2 CAPINT1 T2OFINT T2UFINT T2CINT T2PINT INT4 保留 T3PFINT T3UFINT T3CINT T3PINT CMP6INT CMP5
45、INT CMP4INT INT5 保留 CAPINT6 CAPINT5 CAPINT4 T4OFINT T4UFINT T4CINT T4PINT INT6 保留 保留 MXINT MRINT 保留 保留 SPITXINTA SPIRXINTA INT7 保留 保留 保留 保留 保留 保留 保留 保留 INT8 保留 保留 保留 保留 保留 保留 保留 保留 INT9 保留 保留 ECAN1INT ECAN0INT SCITXINTB SCIRXINTB SCITXINTA SCIRXINTA INT
46、10 保留 保留 保留 保留 保留 保留 保留 保留 INT11 保留 保留 保留 保留 保留 保留 保留 保留 INT 12 保留 保留 保留 保留 保留 保留 保留 保留 由上表知道,MCBSP接口使用INT6的INT6.5和INT6.6中斷。 2.2.4 MCBSP接口介紹 MCBSP的特性: MCBSP是建立在TMS320C2X ,C20X, C5X以及C54X設(shè)備上的標(biāo)準(zhǔn)串行口。MCBSP有以下特性: (1)全雙工通信方式。 (2)雙倍緩沖的傳送和三倍緩沖的接收,并適用于連續(xù)的數(shù)據(jù)流。 (3)對(duì)接收和傳送采用獨(dú)立的
47、時(shí)鐘和幀。 (4)128個(gè)通道用于傳送和接收。 (5)多通道選擇模塊允許和中止每一個(gè)通道的傳輸。 (6)用兩個(gè)16級(jí)、32位的FIFO代替DMA(直接存儲(chǔ)器存取)。 (7)支持A-BIS模式。 (8)接口可直接連接于工業(yè)標(biāo)準(zhǔn)的多媒體數(shù)字信號(hào)編解碼器、模擬接口芯片以及其他串行連接的A/D和D/A轉(zhuǎn)換器。 (9)可產(chǎn)生外部時(shí)鐘信號(hào)和幀的同步信號(hào)。 (10)采樣率產(chǎn)生器可對(duì)內(nèi)部采樣和幀的同步信號(hào)控制進(jìn)行編程。 (11)內(nèi)部時(shí)鐘和幀的產(chǎn)生可編程。 (12)幀同步和數(shù)字鐘的極性可編程。 (13)支持SPI設(shè)備。 (14)支持部分TI/EI。 (15)多種數(shù)據(jù)位的大小可選擇:8、1
48、2、16、20、24和32位。 (16)選擇首先發(fā)送/接收高八位或者低八位。 圖2-6 MCBSP內(nèi)部功能框圖 C28X的MCBSP模塊從屬于TI系列的MCBSP。雖然它支持絕大部分MCBSP的應(yīng)用,但也有一些實(shí)現(xiàn)上的限制:不支持CLKS;CLKR/CLKX引腳作為外部移位時(shí)鐘。 表2-8 MCBSP信號(hào)總結(jié) 信號(hào)名稱 類型 復(fù)位狀態(tài) 說明 外部信號(hào) 外部信號(hào)名稱 CLKX I/O/Z 輸出 發(fā)送時(shí)鐘 CLKR I/O/Z 輸出 接收時(shí)鐘 DR I 輸出 接收串行數(shù)據(jù) DX O/Z
49、 高阻 發(fā)送串行數(shù)據(jù) FSR I/O/Z 輸出 接收幀同步 FSX I/O/Z 輸出 發(fā)送幀同步 CPU中斷信號(hào) CPU或FIFO接收中斷 MRINT CPU或FIFO發(fā)送中斷 MXINR FIFO事件 REVT FIFO接收同步事件 XVET FIFO發(fā)送同步事件 注:I=輸入,O=輸出,Z=高阻 MCBSP包括數(shù)據(jù)流路徑和控制數(shù)據(jù),它們通過7條線連接到外部設(shè)備。MCBSP與其接口設(shè)備進(jìn)行數(shù)據(jù)通信時(shí),通過傳輸引腳(DX)來發(fā)送,通過接收引腳(DR)來接收。時(shí)鐘形式和幀同步的控制信息通過以下引腳來傳遞:CLKX(發(fā)送時(shí)鐘)、CLKR(接收時(shí)鐘)、
50、FSX(發(fā)送時(shí)鐘)、FSR(接收幀同步)。 2.3 語音編解碼芯片TLV320AIC23 2.3.1 TLV320AIC23芯片簡(jiǎn)介 TLV320AIC23是TI公司推出的一款高性能立體聲音頻編解碼器,內(nèi)置耳機(jī)輸出放大器,支持mic和line in二選一的輸入方式。輸入和輸出都具有可編程的增益調(diào)節(jié)功能。TLV320AIC23的模/數(shù)轉(zhuǎn)換器(ADC)和數(shù),模轉(zhuǎn)換器(DAC)集成在芯片內(nèi)部.采用先進(jìn)的Σ-△過采樣技術(shù).可以在8kHz至96kHz的采樣率下提供16bit、20bit、24bit和32bit的采樣數(shù)據(jù)。ADC和DAC的輸出信噪比分別可達(dá)90dB和100dB。同時(shí)。TLV320AI
51、C23還具有很低的功耗(回放模式為23mW。節(jié)電模式為15μw)。上述優(yōu)點(diǎn)使得TLV320AIC23成為一款非常理想的音頻編解碼器,與TI的DSP系列相配合更是相得益彰。 (1)TLV320AIC23詳細(xì)指標(biāo):高品質(zhì)的立體聲多媒體數(shù)字語音編解碼器,在ADC采用48KHZ采樣率時(shí)噪音90DB,在DAC采用48KHZ采樣率時(shí)噪音100DB,1.42V-3.6V核心數(shù)字電壓:兼容TIF28X DSP內(nèi)核電壓,2.7V-3.2V緩沖器和模擬:兼容TI28X DSP內(nèi)核電壓,支持8KHZ-96KHZ的采樣頻率,軟件控制通過TIMCBSP接口,音頻數(shù)據(jù)輸入輸出通過TIMCBSP接口 。 (2)TLV3
52、20AIC23的管腳介紹:芯片TLV320AIC23一共有28個(gè)管腳。 表2-9管腳的名稱與功能在下表: 引腳 功能 AGND 模擬地 AVDD 模擬電源供應(yīng)輸入。電壓水平是額定3.3V BCLK I2S串行位時(shí)鐘。在音頻主模式,AIC23產(chǎn)生信號(hào)并將其發(fā)送給DSP芯片。在音頻從模式,該信號(hào)有DSP芯片產(chǎn)生。 BVDD 緩沖器供應(yīng)輸入。電壓范圍從2.7~3.6V CLKOUT 時(shí)鐘輸出。這是XTI輸入的緩沖版,可使用為XTI頻率的1倍或1/2倍,在采速率控制寄存器的第7位控制頻率的選擇。 CS 控制輸入端口鎖存/地址選擇。對(duì)于SPI控制模式,該輸入作為數(shù)據(jù)鎖存控
53、制。對(duì)于兩線控制模式,該輸入定義了器件地址位的第7位 DIN 對(duì)于sigma-delta立體聲DAC,I^2C格式的串行數(shù)據(jù)輸入 DGND 數(shù)字地 DOUT 從sigma-delta立體聲 DAC,I^2C格式的串行數(shù)據(jù)輸出 DVDD 數(shù)字電源輸入。電壓范圍從1.4~3.6V HPGND 模擬揚(yáng)聲器放大器接地 HPVDD 模擬揚(yáng)聲器放大器電源。電源輸入范圍正常是3.3V LHPOUT 左部立體聲混頻放揚(yáng)聲器輸出,額定0DB輸入水平是1V(方均根值),在1DB階段提供-73~6DB的增益 LLINEIN 左立體聲線輸入頻道。額定0dB輸入水平是1V,在1.5DB階
54、段提供從-34.5~12DB的增益 LOUT 左立體聲混音頻道線輸出,額定輸出水平是1V LRCIN I2S DAC字時(shí)鐘信號(hào)。在音頻主模式,AIC23產(chǎn)生幀信號(hào),并將其發(fā)送到DSP芯片。在音頻從模式,該信號(hào)與DSP芯片產(chǎn)生 LRCOUT I2S ADC字時(shí)鐘信號(hào)在音頻主模式,AIC23產(chǎn)生幀信號(hào),并將其發(fā)送到DSP芯片。在音頻從模式,該信號(hào)與DSP芯片產(chǎn)生。 MICBIAS 對(duì)駐極體傳聲器偏差調(diào)整緩沖的低噪聲電壓。電壓水平是額定AVDD的3/4 MICIN 對(duì)使用駐極體傳聲器偏差調(diào)整緩沖的放大器的輸入。如果沒有外部阻抗,默認(rèn)的增益是5 MODE 串行接口模式。0為I^
55、2C模式1為SPI模式 NC 空腳 RLINEIN 右立體聲線輸入頻道。額定0dB輸入水平是1V,在1.5DB階段提供從-34.5~12DB的增益 SCLK 控制口串行數(shù)據(jù)時(shí)鐘對(duì)于SPI和兩線控制模式,這是串行時(shí)鐘輸入 SDIN 控制口串行數(shù)據(jù)輸入。對(duì)SPI和兩線控制模式,這是串行數(shù)據(jù)輸入,也用作復(fù)位后的控制協(xié)議選擇 VMID 解耦電壓輸入。為進(jìn)行噪聲濾波,10uF、0.1UF的電容應(yīng)并行連接到這一引腳 XTI/MCLK XTO 晶振或者外部時(shí)鐘的輸入。用作AIC23內(nèi)部時(shí)鐘的導(dǎo)出 晶振輸出端,連接外部晶體。若XTI連接外部時(shí)鐘源,則此腳不用 (3) 芯片
56、TLV320AIC23的功能結(jié)構(gòu) 芯片TLV320AIC23有一個(gè)大多數(shù)音頻解碼器所不具有的模擬旁路設(shè)置,它能夠?qū)⒛M信號(hào)直接送出去回放,而不經(jīng)過A/D轉(zhuǎn)換,這對(duì)于系統(tǒng)調(diào)試非常有用。實(shí)際最終的音頻輸出時(shí)模擬音頻、經(jīng)D/A轉(zhuǎn)換的音頻和傳聲器輸入3個(gè)的疊加,當(dāng)然也可以通過軟件編程實(shí)現(xiàn)對(duì)音頻輸出的控制。為了使音頻解碼器能夠正常工作并產(chǎn)生預(yù)期的音頻效果,必須對(duì)相應(yīng)的寄存器配置。AIC23提供了11個(gè)映像寄存器,見下表: 表2-10 AIC23配置寄存器 地址 寄存器 地址 寄存器 0000000 左通道音頻輸入音量控制寄存器 0000110 電源節(jié)省控制寄存器 0000001
57、右通道音頻輸入音量控制寄存器 0000111 數(shù)字音頻格式寄存器 0000010 左通道揚(yáng)聲器音量控制寄存器 0001000 采樣速率控制寄存器 0000011 右通道揚(yáng)聲器音量控制寄存器 0001001 數(shù)字接口激活寄存器 0000100 模擬音頻通道控制寄存器 0001111 復(fù)位寄存器 0000101 數(shù)字音頻通道控制寄存器 正是通過表2-10中的11個(gè)寄存器芯片TLV320AIC23可以方便的設(shè)置具體的音頻工作模式和放大倍數(shù)等參數(shù),從而更好的為用戶所使用。 2.3.2 芯片TLV320AIC23的使用 該芯片的典型應(yīng)用是應(yīng)用在音頻模塊中。它
58、是使用DSP芯片的MCBSP0通道向AIC23發(fā)送控制信息,采用SPI方式。DSP芯片引腳TX1發(fā)送數(shù)據(jù),F(xiàn)SX1作片選連接AIC23的CS,而CLKX1作為時(shí)鐘信號(hào)連接SCLK。 利用DSP芯片的MCBSP1通道作為雙向數(shù)據(jù)傳輸通道,模擬語音信號(hào)經(jīng)過音頻解碼器AIC23的處理以數(shù)字信號(hào)的形式輸出,并由MCBSP1傳送至DSP芯片。相反,DSP芯片的數(shù)字信號(hào)可經(jīng)過MCBSP1傳送至AIC23芯片,經(jīng)過數(shù)模轉(zhuǎn)換以語音信號(hào)的形式輸出。 音頻處理模塊的主要功能有: (1)完成音頻信號(hào)的初步處理,并與DSP芯片進(jìn)行數(shù)據(jù)通信。 (2)完成線輸入、傳聲器輸入。 (3)完成線輸出、傳聲器輸出。
59、2.4 DSP程序設(shè)計(jì)基礎(chǔ) 2.4.1 集成開發(fā)環(huán)境CCS介紹 CCS(Code Composer Studio)是一個(gè)完整的集成開發(fā)環(huán)境,也是目前使用使用最為廣泛的DSP開發(fā)軟件之一。最早由GO DSP公司為TI的VC6000系列開發(fā),后來TI收購GO DSP,并將CCS擴(kuò)展到其它系列。所有的TI DSP都可以用CCS開發(fā)。但目前只有VC5000和VC6000的CCS中提供DSP/BIOS功能。因?yàn)椋琕C2000系列的CCS中沒有DSP/BIOS功能,也稱為CC(Code Composer),以示區(qū)別。 CCS環(huán)境特點(diǎn):集成可視化代碼編輯界面,可以方便地直接編寫 C、匯編、.h文件、.
60、cmd文件等。集成代碼生成工具,包括匯編器、優(yōu)化的 C編譯器和連接器等。具有完整的基本調(diào)試工具,可以載入執(zhí)行文件(.out),查看寄存器窗口、存儲(chǔ)器窗口和變量窗口、反匯編窗口等,支持在 C 源代碼級(jí)進(jìn)行調(diào)試。支持多片 DSP 聯(lián)合調(diào)試。斷點(diǎn)工具,支持硬件斷點(diǎn)、數(shù)據(jù)空間讀/寫斷點(diǎn)、條件斷點(diǎn)等。探針工具,用于進(jìn)行算法仿真,數(shù)據(jù)監(jiān)視等。剖析工具,用于評(píng)估代碼執(zhí)行的時(shí)間。數(shù)據(jù)圖形顯示工具,可繪制時(shí)域/頻域波形、眼圖、星座圖等,并可以自動(dòng)刷新。提供 GEI 工具,用戶可以根據(jù)需要編寫自己的控制面板/菜單,從而方便直觀地修改變量,配置參數(shù)。 圖2-7 CCS窗口 TI的DSP開發(fā)環(huán)境和工具主要包括
61、以下3個(gè)方面: (1)代碼生成工具(編譯器、鏈接器、優(yōu)化C編譯器、 轉(zhuǎn)換工具等) (2)系統(tǒng)集成及調(diào)試環(huán)境與工具 (3)實(shí)時(shí)操作系統(tǒng) 2.4.2 基于C語言的DSP程序的基本構(gòu)成 一個(gè)最小的C應(yīng)用程序項(xiàng)目至少包含如下幾個(gè)文件: (1) 有且必須有一個(gè)包含main( )函數(shù)的C語言源文件(.c)作為C程序的入口點(diǎn)。系統(tǒng)庫初始化完畢后,就把控制權(quán)交給main()函數(shù)。 (2)鏈接命令文件:該文件包含了DSP和目標(biāo)板的存儲(chǔ)器空間的定義以及代碼段、數(shù)據(jù)段是如何分配到這些存儲(chǔ)空間的。 (3)C運(yùn)行庫文件rts2xx.lib:C運(yùn)行庫提供了編譯器提供的所有功能,包括初始化C語言環(huán)境、設(shè)置堆
62、棧及提供標(biāo)準(zhǔn)C的庫函數(shù)如printf等。 (4)中斷向量表文件vectors.asm,這個(gè)文件的代碼作為中斷服務(wù)表,必須由鏈接迷命令文件分配到0地址,或由ISTP指向的地址。DSP復(fù)位后,首先從0地址開始運(yùn)行,然后跳轉(zhuǎn)到rts2xx.lib庫內(nèi)C運(yùn)行環(huán)境的入口點(diǎn)_c_int00,完成初始化操作,在調(diào)用main()函數(shù),執(zhí)行用戶的程序。 當(dāng)使用標(biāo)準(zhǔn)C語言編程時(shí),其源程序后綴名為.C。CCS在編譯標(biāo)準(zhǔn)C語言程序時(shí),首先將其編譯成相應(yīng)匯編語言程序,再進(jìn)一步編譯成目標(biāo)DSP的可執(zhí)行代碼。最后生成的是COFF格式可下載到DSP中運(yùn)行的文件,其文件后綴為.out。由于只用C語言編程,其中調(diào)用的
63、標(biāo)準(zhǔn)C的庫函數(shù)有專門的庫提供,在編譯連接時(shí)編譯系統(tǒng)還負(fù)責(zé)構(gòu)建C運(yùn)行環(huán)境。所以用戶工程注明使用C的支持庫。 2.4.3 TMS320C28x的C編程 TMS320C28x系列DSP的主要應(yīng)用在嵌入式控制系統(tǒng)中,為方便用戶開發(fā)并提高C代碼的執(zhí)行效率,TI公司提供了硬件抽象層的方法來訪問外設(shè)寄存器,即采用寄存器文件結(jié)構(gòu)和位區(qū)定義的形式,以方便訪問寄存器及寄存器中的位。 使用寄存器文件結(jié)構(gòu)和位區(qū)定義訪問外設(shè)寄存器主要包括以下操作: (1)為外設(shè)寄存器的使用創(chuàng)建新的數(shù)據(jù)類型。 (2)將寄存器文件結(jié)構(gòu)變量映射到所使用的第一個(gè)寄存器的地址。 (3)為指定的外設(shè)寄存器增加位區(qū)的定義。 (4)為訪
64、問位區(qū)或整個(gè)寄存器增加共用體定義。 (5)重新編寫寄存器文件結(jié)構(gòu)體類型,使其包含位區(qū)定義和共用體定義。 定義寄存器文件結(jié)構(gòu):寄存器文件就是將外設(shè)的所有寄存器采用一定的結(jié)構(gòu)體在一個(gè)文件中定義,這些寄存器在C/C++中采用一定的結(jié)構(gòu)分組,這就是寄存器文件結(jié)構(gòu)。每個(gè)寄存器文件結(jié)構(gòu)在編譯時(shí)都會(huì)直接將外設(shè)寄存器映射到相應(yīng)的存儲(chǔ)空間。 采用寄存器文件的方法定義寄存器時(shí),低地址的寄存器在結(jié)構(gòu)體的開始位置,高地址的寄存器放在結(jié)構(gòu)體的后面,對(duì)于保留的地址空間,則采用不使用的變量保留相應(yīng)的空間,如rsvd1、rsvd2等。寄存器所占的數(shù)據(jù)位寬度由數(shù)據(jù)類型定義,Uint16表示16位,Uint32表示32位
65、。 寄存器文件結(jié)構(gòu)的空間分配:外設(shè)寄存器都有特定的存儲(chǔ)空間映像地址,因此需根據(jù)不同的系統(tǒng)配置將其分配到相應(yīng)的地址空間。可使用#pragma DATA_SECTION偽指令為寄存器文件變量創(chuàng)建一個(gè)自定義段,再將該段通過鏈接命令文件定位到特定地址中去。 對(duì)其余CPU定時(shí)器及其它外設(shè)模塊的寄存器文件結(jié)構(gòu)進(jìn)行空間分配時(shí),使用相同的方法。增加位區(qū)定義操作外設(shè)寄存器時(shí),經(jīng)常需要直接操作寄存器中的特定位,為寄存器增加位區(qū)定義則可方便實(shí)現(xiàn)對(duì)寄存器位的直接操作。在C結(jié)構(gòu)體中列出位區(qū)的名稱定義位,每個(gè)位區(qū)定義的名稱后面帶有一個(gè)冒號(hào),后面緊跟相應(yīng)位的長(zhǎng)度。由于在各硬件平臺(tái)上采用位區(qū)定義的方法缺乏通用性,
66、因此在C28x上進(jìn)行位區(qū)定義需遵循如下原則: (1)位區(qū)成員在存儲(chǔ)空間中從右向左排列,即寄存器的低有效位或第0位存放在位區(qū)的第一個(gè)位置。 (2)編譯器限制定義的位區(qū)長(zhǎng)度最大不超過一個(gè)整數(shù)大小,位區(qū)最長(zhǎng)不超過16位。 (3)若需要定義的位區(qū)大于16位,則在另一個(gè)存儲(chǔ)空間存放其余的位。 共用體的使用:位區(qū)定義的方法可方便地對(duì)寄存器的位進(jìn)行操作,但有時(shí)也需將整個(gè)寄存器作為一個(gè)值操作,為此引入共用體使寄存器的各位可以作為一個(gè)整體來進(jìn)行操作。 一旦寄存器的位區(qū)和共用體定義確定,寄存器文件結(jié)構(gòu)就可以使用共用體的形式來定義。并不是所有的寄存器都需要有位區(qū)定義,如定時(shí)器計(jì)數(shù)器TIMERTIM及定時(shí)
67、器周期寄存器TIMERPRD等,由于總是對(duì)整個(gè)寄存器進(jìn)行訪問,這些寄存器使用時(shí)就不需要位區(qū)定義。 第三章 系統(tǒng)硬件設(shè)計(jì) 3.1 硬件設(shè)計(jì)總體介紹 圖3-1 語音編解碼總體框圖 如圖所示,語音信號(hào)即圖中所示的模擬信號(hào),經(jīng)過運(yùn)算放大器將輸入功率放大,輸入到TLV320AIC23芯片當(dāng)中,AIC23是一個(gè)高性能的多媒體數(shù)字語音編解碼器,它的內(nèi)部ADC和DAC轉(zhuǎn)換模塊帶有完整的數(shù)字濾波器,內(nèi)部集成有增益可調(diào)的音頻輸入/輸出放大器,無需外部再加功放。輸入的模擬信號(hào)經(jīng)過AIC23的音頻輸入輸出放大器再經(jīng)過AD轉(zhuǎn)換功能變成數(shù)字信號(hào),完成信息的采集。從AIC23輸出
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。