




已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
畢業(yè)論文基于ARM920T的嵌入式音頻接口系統(tǒng)設(shè)計(jì)畢業(yè)論文系 部: 電子工程系 學(xué)生姓名: 專業(yè)班級(jí): 電子06C1 學(xué) 號(hào): 指導(dǎo)教師: 2009年3月20日- -聲 明本人所呈交的基于ARM920T嵌入式音頻接口系統(tǒng)設(shè)計(jì),是我在指導(dǎo)教師的指導(dǎo)和查閱相關(guān)著作下獨(dú)立進(jìn)行分析研究所取得的成果。除文中已經(jīng)注明引用的內(nèi)容外,本論文不包含其他個(gè)人已經(jīng)發(fā)表或撰寫(xiě)過(guò)的研究成果。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中作了明確說(shuō)明并表示謝意。作者簽名 日期: 2009年3月20日 【摘要】自從電子技術(shù)發(fā)展起來(lái)之后,ARM因其體積小、低功耗、低成本、高性能的優(yōu)勢(shì),正以驚人的速度向前發(fā)展,在工業(yè)控制、消費(fèi)類電子產(chǎn)品和成像安全產(chǎn)品、無(wú)線網(wǎng)絡(luò)與通訊等領(lǐng)域得到了廣泛應(yīng)用,極大地改進(jìn)了這些行業(yè)的生產(chǎn)效率,提高了生產(chǎn)力。除此以外,ARM微處理器及技術(shù)還應(yīng)用到許多不同的領(lǐng)域,并會(huì)在將來(lái)取得更加廣泛的應(yīng)用,ARM技術(shù)在許多不同領(lǐng)域的地位日益鞏固。本文主要是通過(guò)對(duì)ARM9系列工作原理的描述,繼而利用ADS開(kāi)發(fā)軟件,在CodeWarrior IDE集成開(kāi)發(fā)環(huán)境下編寫(xiě)程序,最后利用編寫(xiě)I2S主函數(shù)實(shí)現(xiàn)串口設(shè)置和初始化,中斷,錄/放音功能,并通過(guò)JTAG仿真,最終在超級(jí)終端中查看結(jié)果?!娟P(guān)鍵詞】:ARM, 程序編寫(xiě),錄/放功能ABSTRACTDevelops after the electronic technology, because ARM its volume small, low power loss, low cost, high performance superiority, is developing forward by the astonishing speed, in the industrial control, the expense class electronic products and image formation domains and so on security product, wireless network and communication obtained the widespread application, improved these profession production efficiency enormously, enhanced the productive forces. Except for this, the ARM microprocessor and the technology also apply to many different domains, and will obtain the more widespread application ARM technology in the future to be day by day consolidated in many different domain statuses. This article is mainly through to the ARM9 series principle of work description, subsequently using the ADS development software, in CodeWarrior under the IDE integrated development environment the write program, finally uses compiles the I2S main function to realize the serial port establishment and the initialization, the interrupt, records/the playback function, and through the JTAG simulation, examines the result finally in the super terminal.【KEY WORD】:ARM, Programming , records/the playback function目 錄一、引言 1頁(yè)二、ARM體系結(jié)構(gòu)介紹 2頁(yè)(一)ARM920T硬件平臺(tái)簡(jiǎn)介 2頁(yè)(二)ARM ADS軟件介紹 2頁(yè)三、I2S音頻接口的設(shè)計(jì)原 3頁(yè)(一)數(shù)字音頻基礎(chǔ) 3頁(yè)(二)I2S音頻接口 4頁(yè)(三)WAV聲音格式 5頁(yè)(四)I2S調(diào)用 6頁(yè)(五)錄放音流程圖 7頁(yè)(六)電路設(shè)計(jì)原理 10頁(yè)(七)設(shè)計(jì)步驟 12頁(yè) 四、總結(jié) 19頁(yè)五、參考文獻(xiàn) 19頁(yè)六、致謝 19頁(yè)一、引言嵌入式系統(tǒng)的出現(xiàn)至今已經(jīng)有30多年的歷史了,嵌入式技術(shù)也歷經(jīng)了幾個(gè)發(fā)展階段。進(jìn)入90年代后,以計(jì)算機(jī)和軟件為核心的數(shù)字化技術(shù)取得了迅猛發(fā)展,不僅廣泛滲透到社會(huì)經(jīng)濟(jì)、軍事、交通、通信等相關(guān)行業(yè),而且深入到家電、娛樂(lè)、藝術(shù)、社會(huì)文化等各個(gè)領(lǐng)域,掀起了一場(chǎng)數(shù)字化技術(shù)革命。早期的嵌入式系統(tǒng)只是為了實(shí)現(xiàn)某些特定功能,使用一個(gè)循環(huán)控制對(duì)外界的請(qǐng)求進(jìn)行處理。不可否認(rèn),這對(duì)于簡(jiǎn)單的系統(tǒng)而言是足夠的,但是當(dāng)我們的系統(tǒng)變得日漸復(fù)雜龐大的時(shí)候,如果我要增添一項(xiàng)功能的時(shí)候,很可能不得不重新進(jìn)行系統(tǒng)的設(shè)計(jì),這無(wú)疑會(huì)增加開(kāi)發(fā)的成本和系統(tǒng)復(fù)雜度。使用這種方式開(kāi)發(fā)規(guī)模較大、功能復(fù)雜的嵌入式系統(tǒng)是不可想象的。20世紀(jì)80年代初期嵌入式操作系統(tǒng)的出現(xiàn)使得快速便捷地開(kāi)發(fā)規(guī)模較大的嵌入式系統(tǒng)成為現(xiàn)實(shí),自這一時(shí)期開(kāi)始就出現(xiàn)了各種各樣的商用嵌入式操作系統(tǒng),從而形成了目前多種形式的商用嵌入式操作系統(tǒng)百家爭(zhēng)鳴的局面?;谇度胧讲僮飨到y(tǒng)之上的系統(tǒng)才能夠真正符合嵌入式系統(tǒng)定義中的軟件可裁剪、功能的可擴(kuò)展、高可靠性等特征。區(qū)別于嵌入式系統(tǒng),我們將不使用嵌入式操作系統(tǒng)的基于MCU(微控制器)、MPU(微處理器)和DSP的循環(huán)控制系統(tǒng)稱之為前后臺(tái)系統(tǒng)。嵌入式系統(tǒng)在應(yīng)用數(shù)量上遠(yuǎn)遠(yuǎn)超過(guò)了各種通用計(jì)算機(jī)系統(tǒng),一臺(tái)通用計(jì)算機(jī)的外部設(shè)備中就包含了5-10個(gè)微處理器,鍵盤(pán)、鼠標(biāo)、軟驅(qū)、硬盤(pán)、顯示卡、顯示器、Modem、網(wǎng)卡、聲卡、打印機(jī)、掃描儀、數(shù)字相機(jī)、USB集線器等均是由嵌入式系統(tǒng)控制的。在制造工業(yè)、過(guò)程控制、通訊、儀器、儀表、汽車、船舶、航空、航天、軍事裝備、消費(fèi)類產(chǎn)品等方面均是嵌入式計(jì)算機(jī)的應(yīng)用領(lǐng)域。嵌入式系統(tǒng)是將先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)和各個(gè)行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物,這一點(diǎn)就決定了它必然是一個(gè)技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識(shí)集成系統(tǒng)。 縱觀嵌入式系統(tǒng)的發(fā)展過(guò)程,可以看出嵌入式系統(tǒng)由簡(jiǎn)單的無(wú)操作系統(tǒng)的循環(huán)控制程序向具有強(qiáng)大功能的基于操作系統(tǒng)的方向發(fā)展,從獨(dú)立的系統(tǒng)向基于網(wǎng)絡(luò)的系統(tǒng)發(fā)展。進(jìn)入90年代后,以計(jì)算機(jī)和軟件為核心的數(shù)字化技術(shù)取得了迅猛發(fā)展,不僅廣泛滲透到社會(huì)經(jīng)濟(jì)、軍事、交通、通信等相關(guān)行業(yè),而且深入到家電、娛樂(lè)、藝術(shù)、社會(huì)文化等各個(gè)領(lǐng)域,掀起了一場(chǎng)數(shù)字化技術(shù)革命。多媒體技術(shù)與Internet的應(yīng)用迅速普及,消費(fèi)電子、計(jì)算機(jī)、通信(3C)一體化趨勢(shì)日趨明顯,嵌入式技術(shù)已再次成為一個(gè)研究熱點(diǎn)。本課題主要以ARM920T為核心,舍棄大而復(fù)雜的模擬電路以及繁多的元器件,對(duì)ARM920T嵌入式音頻接口系統(tǒng)主體部分的電路進(jìn)行模仿設(shè)計(jì),配置相應(yīng)的外設(shè)及接口電路,只要寫(xiě)入簡(jiǎn)單的程序,就可以使以前的電路簡(jiǎn)單很多,卻同樣可以實(shí)現(xiàn)串口設(shè)置和初始化,中斷,錄/放音功能。 二、ARM體系結(jié)構(gòu)介紹(一)ARM920T的簡(jiǎn)介ARM9內(nèi)核采用了與StrongARM相同的五級(jí)流水線、提供1.1MIPS/MHz的哈佛結(jié)構(gòu)、全性能的MMU單元、可配置的數(shù)據(jù)Cache和可分立和指令和數(shù)據(jù)高速AHB接口。 1五級(jí)流水線 ARM920T處理器使用流水線來(lái)增加處理器指令流的速度。這樣可以使幾個(gè)操作同時(shí)進(jìn)行,并使處理和存儲(chǔ)器系統(tǒng)連續(xù)操作,能提供1.1MIPS/MHz的指令執(zhí)行速度。流水線使用5個(gè)階段,因此指令分5個(gè)階段執(zhí)行:取址譯碼執(zhí)行存儲(chǔ)寫(xiě)。 2ARM920T處理器結(jié)構(gòu) ARM920T處理器功能方框圖如圖1:圖1 ARM920T處理器功能方框圖(二)ARM ADS軟件介紹ARM ADS全稱為ARM Developer Suite。是ARM公司推出的新一代ARM集成開(kāi)發(fā)工具?,F(xiàn)在ADS的最新版本是1.2,它取代了早期的ADS1.1和ADS1.0。它除了可以安裝在Windows NT4,Windows 2000,Windows 98和Windows 95操作系統(tǒng)下,還支持Windows XP和Windows Me操作系統(tǒng)。 ADS由命令行開(kāi)發(fā)工具,ARM運(yùn)行時(shí)庫(kù),GUI開(kāi)發(fā)環(huán)境(Code Warrior和AXD),實(shí)用程序和支持軟件組成。有了這些部件,用戶就可以為ARM系列的RISC處理器編寫(xiě)和調(diào)試自己的開(kāi)發(fā)應(yīng)用程序了。CodeWarrior集成開(kāi)發(fā)環(huán)境(IDE)為管理和開(kāi)發(fā)項(xiàng)目提供了簡(jiǎn)單多樣化的圖形用戶界面。用戶可以使用ADS的CodeWarrior IDE為ARM和Thumb處理器開(kāi)發(fā)用C,C+,或ARM匯編語(yǔ)言的程序代碼。通過(guò)提供下面的功能,CodeWarrior IDE縮短了用戶開(kāi)發(fā)項(xiàng)目代碼的周期。ADS的CodeWarrior IDE是基于Metrowerks CodeWarrior IDE 4.2版本的。它經(jīng)過(guò)適當(dāng)?shù)牟眉粢灾С諥DS工具鏈。針對(duì)ARM的配置面板為用戶提供了在CodeWarrior IDE集成環(huán)境下配置各種ARM開(kāi)發(fā)工具的能力。三、I2S(Inter IC Sound)音頻接口的設(shè)計(jì)原理(一)數(shù)字音頻基礎(chǔ) 1.采樣頻率和采樣精度 在數(shù)字音頻系統(tǒng)中,通過(guò)將聲波波形轉(zhuǎn)換成一連串二進(jìn)制數(shù)據(jù)再現(xiàn)原始聲音。這個(gè)過(guò)程中使用的設(shè)備是A/D轉(zhuǎn)換器,即ADC。ADC以上萬(wàn)次每秒的速率對(duì)聲波進(jìn)行采樣,每次采樣都記錄下了始聲波在某一時(shí)刻的狀態(tài),稱之為樣本。 每秒采樣的數(shù)目稱為采樣頻率,單位為Hz。采樣頻率越高,所能描述的聲波頻率就越高。系統(tǒng)對(duì)于每個(gè)樣本均會(huì)分配一定的存儲(chǔ)位(Bit 數(shù))來(lái)表達(dá)聲波的聲波振幅狀態(tài),稱之為采樣精度。采樣頻率和精度共同決定聲音還原的質(zhì)量。 人耳的聽(tīng)覺(jué)范圍通常是20Hz 20kHz。根據(jù)奈奎斯特采樣定理,用兩倍于一個(gè)正弦波的頻率進(jìn)行采樣能夠真實(shí)的還原該波形;因此,當(dāng)采樣頻率高于40kHz時(shí),可以保證不產(chǎn)生失真。CD音頻的采樣規(guī)格為16位、44kHz,就是根據(jù)以上原理制定的。 2.音頻編碼 脈沖編碼調(diào)制PCM(Pulse Code Modulation)編碼的方法是對(duì)語(yǔ)言信號(hào)進(jìn)行采樣,然后對(duì)每個(gè)樣值進(jìn)行量化編碼。對(duì)語(yǔ)音量化和編碼就是一個(gè)PCM編碼過(guò)程。ITU-T的64kb/s語(yǔ)音編碼標(biāo)準(zhǔn)G711采用 PCM編碼方式,采樣頻率為8kHz。每個(gè)樣值用8位非線性的律或A律進(jìn)行編碼,總速率為64kb/s。 CD音頻即是使用PCM編碼格式,采樣頻率為8kHz,對(duì)采樣值采用16位編碼。 使用PCM編碼的文件在Windows系統(tǒng)中保存的文件格式為大家熟悉的wav格式,實(shí)驗(yàn)中用到的就是一個(gè)采樣頻率為44.100kHz、16位的立體聲文件twav。 在PCM 基礎(chǔ)上發(fā)展起來(lái)的還有自適應(yīng)差分脈沖編碼調(diào)制ADPCM(Adaptive Differential Pulse Code Modulation)。ADPCM編碼的方法是對(duì)輸入樣值進(jìn)行自適應(yīng)預(yù)測(cè),然后對(duì)預(yù)測(cè)誤差進(jìn)行量化編碼。CCITT的32kb/s語(yǔ)音編碼標(biāo)準(zhǔn) G721采用 ADPCM編碼方式,對(duì)每個(gè)語(yǔ)音采樣值相當(dāng)于使用4位進(jìn)行編碼。 其他編碼方式還有線性預(yù)測(cè)編碼LPC(Linear Predictive Coding)、低時(shí)延碼激勵(lì)線性預(yù)測(cè)編碼LD-CELP(Low Delay-Code Excited Linear Prediction)等。 目前流行的一些音頻編碼格式還有MP3(MPEG Audio Layer-3)、WMA(Windows Media Audio)和RA(Real Audio)。它們有一個(gè)共同特點(diǎn)就是,壓縮比高,主要針對(duì)網(wǎng)絡(luò)傳輸,支持邊讀、邊放。 (二)I2S音頻接口 I2S是一種串行總線設(shè)計(jì)技術(shù),是SONY和PHILIPS公司等電子巨頭共同推出的接口標(biāo)準(zhǔn),主要針對(duì)數(shù)字音頻處理技術(shù)和設(shè)備,例如便攜CD機(jī)、數(shù)字音頻處理器等。I2S將音頻數(shù)據(jù)與時(shí)鐘信號(hào)分離,避免由時(shí)鐘帶來(lái)的抖動(dòng)問(wèn)題,因此系統(tǒng)中不再需要消除抖動(dòng)的器件。 I2S總線僅處理音頻數(shù)據(jù),對(duì)其他信號(hào)(如控制信號(hào)等)單獨(dú)傳送?;跍p少引腳數(shù)目和布線的目的,I2S總線只由3根串行線組成;即分時(shí)復(fù)用的數(shù)據(jù)通道線(Serial Data,SD)、字選擇線(Word Select,WS)和時(shí)鐘線(Continuous Serial Clock,CSK)。使用I2S技術(shù)設(shè)計(jì)的系統(tǒng)連接配置參見(jiàn)圖2: 圖2 I2S系統(tǒng)連接配置圖I2S總線接口的基本時(shí)序參見(jiàn)圖3圖3 I2S總線接口的基本時(shí)序WS信號(hào)線指示左通道或右通道的數(shù)據(jù)將被傳輸,SD信號(hào)線按高有效位MSB到低有效位LSB的順序傳送字長(zhǎng)的音頻數(shù)據(jù)。MSB總在WS切換后的第一個(gè)時(shí)鐘發(fā)送。如果數(shù)據(jù)長(zhǎng)度不匹配,那么接收器和發(fā)送器將對(duì)其自動(dòng)截取或填充。關(guān)于I2S總線的其它細(xì)節(jié)可參見(jiàn)I2S bus specification。 在實(shí)驗(yàn)中,I2S總線接口由處理器S3C2410的I2S模塊和音頻芯片UDA1341硬件來(lái)實(shí)現(xiàn)。需要關(guān)注的是對(duì)I2S模塊和UDA1341芯片正確的配置,音頻數(shù)據(jù)的傳輸相對(duì)來(lái)說(shuō)比較簡(jiǎn)單。 (三)WAV聲音格式 WAV聲音格式文件是Windows環(huán)境下的一種常用音頻文件格式,它依循著一種稱為“資源互換文件格式”(Resources Interchange File Format)的格式,簡(jiǎn)稱RIEF。RIEF可以看做是一種樹(shù)狀結(jié)構(gòu),其基本構(gòu)成單位為chunk,猶如樹(shù)狀結(jié)構(gòu)中的節(jié)點(diǎn),每個(gè)chunk由“辨別碼”、“數(shù)據(jù)大小”及“數(shù)據(jù)”所組成。 WAV為WAVEFORM(波形)的縮寫(xiě)?!癛IEF”的格式辨別碼為“WAVE”。整個(gè)文件由兩個(gè)chunk所組成:辨別碼“fmt”(注意,最后一個(gè)是空白字符!)及“data”。 在“fmt”的chunk下包含了一個(gè)PCMWAVEFORMAT數(shù)據(jù)結(jié)構(gòu),在“fmt”chunk之后是原始聲音的采樣數(shù)據(jù),該這些數(shù)據(jù)是可以直接送到I2S總線的數(shù)字音頻符號(hào)。 一個(gè)典型的WAV格式文件結(jié)構(gòu)如圖4所示:圖4 典型的WAV格式文件結(jié)構(gòu)圖它包含8字節(jié)RIFF頭、4字節(jié)數(shù)據(jù)類型“WAVE”、“fmt”chunk(共0x18即十進(jìn)制的24字節(jié))和“data”chunk。因此,WAV文件中從下式中的sizeoff開(kāi)始的四字節(jié)表示聲音數(shù)據(jù)的大小,dataoff開(kāi)始的位置為具體的聲音數(shù)據(jù)。 sizeoff=0x8+0x4+0x18+0x4 dataoff=0x8+0x4+0x18+0x8 (四)I2S調(diào)用 1.void uda1341_init(void):UDA1341音頻CODEC初始化函數(shù) 2.void dma_init(unsigned char Buf, int size,int bplay):BDMAO控制寄存器設(shè)置,用于I2S錄放音。其中Buf為音頻數(shù)據(jù)緩沖區(qū)指針,size為音頻數(shù)據(jù)字節(jié)數(shù),bplay為1時(shí)初始化BDMAO為放音方式,bplay為0時(shí)初始化BDMAO為錄音方式。3.void iis_init(int bplay): I2S控制器初始化函數(shù),bplay為1時(shí)初始化I2S為放音方式,bplay為0時(shí)初始化I2S為錄音方式,本實(shí)驗(yàn)采用16bit雙聲道采樣,采樣頻率為22KHz。 4.void iis_play(unsigned char Buf, int size):放音函數(shù),Buf為音頻數(shù)據(jù)緩沖區(qū)指針,size為音頻數(shù)據(jù)字節(jié)數(shù)。 5.void iis_record(unsigned char Buf, int size):錄音函數(shù),Buf為音頻數(shù)據(jù)緩沖區(qū)指針,size為音頻數(shù)據(jù)字節(jié)數(shù)。(五)錄放音流程圖 播放WAV文件流程圖A如下所示,錄音流程圖如下圖B所示:A 放音流程圖 B 錄音流程圖程序如下:voidRecord_Iis(void)unsignedintsave_B,save_E,save_PB,save_PE;Uart_TxEmpty(0);ChangeClockDivider(1,1);/1:2:4ChangeMPllValue(0x96,0x5,0x1);/FCLK=135428571Hz,PCLK=3.385714MHzUart_Init(33857142,115200);Uart_Printf(RecordtestusingUDA1341n);save_B=rGPBCON;save_E=rGPECON;save_PB=rGPBUP;save_PE=rGPEUP;IIS_PortSetting();/RecordBufinitialize,Non-cacheablearea=0x310000000x33feffffrec_buf=(unsignedshort*)0x31000000;pISR_DMA2=(unsigned)DMA2_Rec_Done;pISR_EINT0=(unsigned)Muting;rINTMSK=(BIT_DMA2);Init1341(RECORD);/-DMA2InitializerDISRCC2=(11)+(10);/APB,FixrDISRC2=(U32)IISFIFO);/IISFIFOrDIDSTC2=(01)+(00);/PHB,IncrementrDIDST2=(int)rec_buf;/0x31000000rDCON2=(131)+(030)+(129)+(028)+(027)+(124)+(123)+(122)+(120)+REC_LEN;/Handshake,syncPCLK,TCint,singletx,singleservice,I2SSDI,I2SRxrequest,/Off-reload,half-word,0x50000halfword.rDMASKTRIG2=(02)+(11)+0;/-stop,DMA2channelon,No-swtrigger/IISInitialize/Master,Rx,L-ch=low,IIS,16bitch,CDCLK=256fs,IISCLK=32fsrIISMOD=(08)+(16)+(05)+(04)+(13)+(02)+(10);rIISPSR=(25)+2;/Prescaler_A/B=2-FCLK135.4752MHz(1:2:4),11.2896MHz(256fs),44.1KHzrIISCON=(05)+(14)+(13)+(02)+(11);/DMAdisable,RxDMAenable,Txidle,Rxnotidle,prescalerenable,stoprIISFCON=(114)+(1startpiling.Uart_Printf(Pressanykeytostartrecord!n);Uart_Getch();Uart_Printf(Recording.n);/RxstartrIISCON|=0x1;while(!Rec_Done);rINTMSK=BIT_DMA2;Rec_Done=0;/IISStopDelay(10);/ForendofH/WRxrIISCON=0x0;/IISstoprDMASKTRIG2=(12);/DMA2stoprIISFCON=0x0;/ForFIFOflushUart_Printf(EndofRecord!n);Uart_Printf(Pressanykeytoplayrecordeddatan);Uart_Printf(IfyouwanttomuteornomutepushtheEIN0keyrepeatedlyn);Uart_Getch();size=REC_LEN*2;Uart_Printf(Size=%dn,size);Init1341(PLAY);pISR_DMA2=(unsigned)DMA2_Done;rINTMSK=(BIT_DMA2|BIT_EINT0);/DMA2InitializerDISRCC2=(01)+(00);/AHB,IncrementrDISRC2=(int)rec_buf;/0x31000000rDIDSTC2=(11)+(10);/APB,FixedrDIDST2=(U32)IISFIFO);/IISFIFOrDCON2=(131)+(030)+(129)+(028)+(027)+(024)+(123)+(022)+(120)+(size/2);/Handshake,syncPCLK,TCint,singletx,singleservice,I2SSDO,I2Srequest,/Auto-reload,half-word,size/2rDMASKTRIG2=(02)+(11)+0;/-stop,DMA2channelon,No-swtrigger/IISInitialize/Master,Tx,L-ch=low,iis,16bitch.,CDCLK=256fs,IISCLK=32fsrIISMOD=(08)+(26)+(05)+(04)+(13)+(02)+(10);/rIISPSR=(45)+4;/Prescaler_A/B=4for11.2896MHzrIISCON=(15)+(04)+(03)+(12)+(11);/DMAenable,TxDMAdisable,Txnotidle,Rxidle,prescalerenable,stoprIISFCON=(115)+(1startpiling.Uart_Printf(Pressanykeytoexit!n);rIISCON|=0x1;/IISTxStartwhile(!Uart_GetKey();/IISTxStopDelay(10);/ForendofH/WTxrIISCON=0x0;/IISstoprDMASKTRIG2=(12);/DMA2stoprIISFCON=0x0;/ForFIFOflushsize=0;rGPBCON=save_B;rGPECON=save_E;rGPBUP=save_PB;rGPEUP=save_PE;rINTMSK=(BIT_DMA2|BIT_EINT0);ChangeMPllValue(0xa1,0x3,0x1);/FCLK=202.8MHzUart_Init(0,115200);mute=1;(六)電路設(shè)計(jì)原理1.S3C2410外圍模塊I2S說(shuō)明S3C2410數(shù)字音頻接口模塊由I2S(Inter-IC Sound)音頻總線接口和UDA1341音頻編解碼器(CODEC)組成。S3C2410內(nèi)置一個(gè)I2S總線控制器,該總線專責(zé)于音頻設(shè)備之間的數(shù)據(jù)傳輸,為數(shù)字立體聲提供一個(gè)序列連接至標(biāo)準(zhǔn)編碼解碼器,它實(shí)現(xiàn)了到一個(gè)外部8/16位立體聲音頻CODEC IC的接口。支持I2S總線數(shù)據(jù)格式和MSB-justified數(shù)據(jù)格式。此控制器包含F(xiàn)IFO,支持DMA傳輸模式。I2S總線控制器結(jié)構(gòu)如圖5:圖5 I2S總線控制器結(jié)構(gòu)兩個(gè)3比特預(yù)除器(IPSR):一個(gè)(IPSR_A)用于產(chǎn)生I2S總線接口的主時(shí)鐘,另外一個(gè)(IPSR_B)用作外部CODEC時(shí)鐘產(chǎn)生器。 16字節(jié)FIFO:在發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)被寫(xiě)進(jìn)TXFIFO,在接收數(shù)據(jù)時(shí),數(shù)據(jù)從RXFIFO中讀取。 主I2SCLK產(chǎn)生器(SCLKG):在主模式,由主時(shí)鐘產(chǎn)生串行位時(shí)鐘。 通道產(chǎn)生器和狀態(tài)機(jī)(CHNC):I2SCLK和I2SLRCK由通道狀態(tài)機(jī)產(chǎn)生并控制。 16比特移位寄存器(SFTR):在發(fā)送數(shù)據(jù)時(shí),并行數(shù)據(jù)經(jīng)由SFTR變成串行數(shù)據(jù)輸出,在接收數(shù)據(jù)時(shí),串行數(shù)據(jù)由SFTR轉(zhuǎn)變成并行數(shù)據(jù)。 2.音頻芯片UDA1341TS說(shuō)明 電路中使用的音頻芯片是PHILIPS公司的UDA1341TS音頻數(shù)字信號(hào)編譯碼器。UDA1341TS可將立體聲模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào),同樣也能把數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),并可用PGA(可編程增益控制)和AGC(自動(dòng)增益控制)對(duì)模擬信號(hào)進(jìn)行處理。對(duì)于數(shù)字信號(hào),該芯片提供了DSP(數(shù)字音頻處理)功能。實(shí)際使用中,UDA1341TS廣泛應(yīng)用于MD、CD、Notebook、PC和數(shù)碼攝象機(jī)等。 UDA1341TS提供2組音頻信號(hào)輸入線、1組音頻信號(hào)輸出線、1組I2S總線接口信號(hào)線和1組L3總線。 I2S總線接口信號(hào)線包括位時(shí)鐘輸入BCK、字選擇輸入WS、數(shù)據(jù)輸入DATAI,數(shù)據(jù)輸出DATAO和音頻系統(tǒng)時(shí)鐘SYSCLK信號(hào)線。 UDA1341TS的L3總線包括微處理器接口數(shù)據(jù)L3DATA、微處理器接口模式L3MODE、微處理器接口時(shí)鐘L3CLOCK三根信號(hào)線。當(dāng)該芯片工作于微處理器輸入模式時(shí),微處理器通過(guò)L3總線對(duì)UDA1341TS中的數(shù)字音頻處理參數(shù)和系統(tǒng)控制參數(shù)進(jìn)行配置。處理器S3C2410中沒(méi)有L3總線專用接口,電路中使用I/O口連接L3總線。 3.電路連接 S3C2410數(shù)字音頻接口模塊如圖6所示: 圖6 數(shù)字音頻接口模塊(七)設(shè)計(jì)步驟: 硬件連接。2在ADS軟件中,新建工程IIS.mcp,編輯并添加以下三類文件: (1) .s文件:2410init . s,2410slib . s; (2) .h文件:def. h,option.h,2410addr.h,2410lib.h,2410slib.h, 2410iis.h, mmu.h; (3) .c(C)文件:2410lib.c,2410test.c, 2410iis.c; * 文件說(shuō)明: 2410init.s初始化cpu、內(nèi)存等狀態(tài),完成后跳轉(zhuǎn)到C語(yǔ)言入口; 2410swis.s軟中斷處理相關(guān); 2410slib.s庫(kù)中內(nèi)存管理等函數(shù)的調(diào)用; def.h宏定義; option.h定義時(shí)鐘、地址、總線寬度等; 2410addr.h寄存器地址狀態(tài)定義; 2410lib.h , 2410lib.c(C語(yǔ)言)前者聲明函數(shù)庫(kù)變量,后者定義庫(kù)中常用函數(shù)(如串口函數(shù)); 2410slib.h , 2410slib.s(匯編語(yǔ)言) 前者聲明函數(shù)庫(kù)變量,后者定義庫(kù)中常用函數(shù)(如內(nèi)存管理等); mmu.h , mmu.c內(nèi)存管理單元的聲明和函數(shù)定義; test.c , Main.c , *.c定義系統(tǒng)運(yùn)行方
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 品牌贊助活動(dòng)合同協(xié)議
- 膠質(zhì)瘤綜合治療
- 缺鐵性貧血治療原則
- 個(gè)人委托代理購(gòu)房協(xié)議書(shū)
- 2025年初中9年級(jí)語(yǔ)文部編版下冊(cè)教案第6單元《23出師表》
- 雙方聯(lián)合辦學(xué)協(xié)議書(shū)二零二五年
- 心理咨詢師聘用合同書(shū)二零二五年
- 股權(quán)重組協(xié)議二零二五年
- 借款合同書(shū)擔(dān)保合同書(shū)抵押合同書(shū)
- 海洋運(yùn)輸貨物保險(xiǎn)合同書(shū)二零二五年
- 2025中考(會(huì)考)地理綜合題答題模板+簡(jiǎn)答題歸納
- 真需求-打開(kāi)商業(yè)世界的萬(wàn)能鑰匙
- 手術(shù)室不良事件警示教育
- 廠房分布式光伏系統(tǒng)施工進(jìn)度計(jì)劃?rùn)M道圖
- 通用電氣EHS體系課件
- 2022版《語(yǔ)文課程標(biāo)準(zhǔn)》
- 婦幼智慧盆底中心建設(shè)方案-V1.1
- 金融集團(tuán)監(jiān)管原則和并表風(fēng)險(xiǎn)管理
- 有色金屬工業(yè)項(xiàng)目可行性研究報(bào)告編制原則規(guī)定(試行)
- 教練技術(shù)一階段講義
- 玻璃配合料的制備
評(píng)論
0/150
提交評(píng)論