版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
/第一章緒論1.1背景隨著電子技術(shù)的飛速發(fā)展,嵌入式設(shè)備在各領(lǐng)域的應(yīng)用越來越廣泛,困難度也越來越高,對(duì)其他開發(fā)方法也提出了更多的要求和更大的挑戰(zhàn)。在嵌入式設(shè)備系統(tǒng)開發(fā)過程中須要將軟件應(yīng)用和操作系統(tǒng)編譯連接成一個(gè)整體,然后下載到目標(biāo)機(jī)上運(yùn)行,所以,嵌入式設(shè)備的開發(fā)過程是一個(gè)困難的過程。MP3作為高質(zhì)量音樂壓縮標(biāo)準(zhǔn),給音頻產(chǎn)業(yè)帶來了具大的沖擊。MP3技術(shù)使音樂數(shù)據(jù)壓縮比率大,回放質(zhì)量高。如CD格式的音樂數(shù)據(jù)壓縮成MP3格式,音效相差無己,但大小至少可壓縮12倍。由于MP3音樂的較小數(shù)據(jù)量和近乎完備的播放效果使其在網(wǎng)絡(luò)上傳輸?shù)靡詫?shí)現(xiàn)。1995年,MP3格式的音樂文件剛在網(wǎng)絡(luò)上傳播時(shí),主要用Winamp等播放軟件進(jìn)行播放,使MP3音樂無法脫離計(jì)算機(jī)進(jìn)行播放,給音樂欣賞帶來了不便。近幾年以來,隨著MP3播放器的出現(xiàn)及其技術(shù)的發(fā)展,人們對(duì)MP3播放器的要求越來越高,制造商在MP3播放器的選型、設(shè)計(jì)、開發(fā)、附加功能和適用領(lǐng)域等方面做了很多努力,設(shè)計(jì)了多種方案。本設(shè)計(jì)主要是利用ARM技術(shù)設(shè)計(jì)一款新型的MP3播放器。ARM9是ARM公司的16/32位RSIC處理器,是適用于一般設(shè)備的一種高性價(jià)比的微限制器。本設(shè)計(jì)接受的MCU是三星公司推出的ARM9芯片S3C2440,具有低價(jià)格、低功耗、高性能、超小體積等特點(diǎn)主要適用于中高端場(chǎng)合,目前在嵌入式系統(tǒng)中正得到日益廣泛的應(yīng)用。S3C2440主頻高達(dá)400M,片上集成了豐富的資源:如IIS(Inter-ICsound)總線和DMA限制器,為和數(shù)模轉(zhuǎn)換器(DAC)的連接供應(yīng)了一種志向的解決方案。MP3播放器的設(shè)計(jì)比較困難且對(duì)處理器的要求較高,因而MP3播放器必需細(xì)致設(shè)計(jì)以降低成本。本設(shè)計(jì)是在ARM9平臺(tái)上設(shè)計(jì)、實(shí)現(xiàn)一個(gè)MP3播放器。其次章系統(tǒng)總體方案2.1系統(tǒng)功能本設(shè)計(jì)提出了一種基于嵌入式ARM處理器硬件平臺(tái)的MP3播放器設(shè)計(jì)方法。此播放器接受ARM體系結(jié)構(gòu)中的ARM9作為系統(tǒng)限制器,利用外圍設(shè)備USB通用串行接口下載MP3歌曲,用flashcard存貯MP3文件。主要對(duì)MP3做了各個(gè)方面的功能分析,對(duì)硬件設(shè)計(jì)、軟件設(shè)計(jì)、軟件實(shí)現(xiàn)、系統(tǒng)編譯等方面做了介紹。系統(tǒng)的主要部分是音頻編碼和解碼,這是系統(tǒng)設(shè)計(jì)的核心。MP3播放器設(shè)計(jì)的突出問題就是硬件限制和軟件限制,另外還有硬盤限制、鍵盤限制、液晶顯示,這些限制都是基于一塊芯片?;贏RM9的MP3播放器設(shè)計(jì)的軟件體系結(jié)構(gòu)接受分層模式,它包括軟件層、硬件層、驅(qū)動(dòng)層、操作系統(tǒng)層、及MP3播放器應(yīng)用層。主要實(shí)現(xiàn)歌曲的播放。2.2設(shè)計(jì)指標(biāo)1、MP3工作電壓為具有3.3V左右,電流250mA,具有音頻解碼和播放功能。2、通過USB接口和大容量外部存儲(chǔ)設(shè)備進(jìn)行數(shù)據(jù)傳輸,能實(shí)現(xiàn)網(wǎng)絡(luò)播放和下載、觸摸屏輸入功能。3.操作界面統(tǒng)一管理功能,支持mp3格式、wma格式,該MP3播放器除具有播放音樂外還附有歌詞同步等功能。4、MP3在不充電的狀況下待機(jī)2小時(shí)。2.3系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)嵌入式微處理器接受三星公司生產(chǎn)的ARM9處理器S3C2440,處理器接受ARM9處理器,它具有小體積、低功耗、低成本、高性能的特點(diǎn)是嵌入式微處理器的志向選擇。同時(shí),ARM9處理器可以運(yùn)行嵌入式操作系統(tǒng),處理速度足夠軟件解碼,擴(kuò)充性好,是目前志向的解決方案。本設(shè)計(jì)的系統(tǒng)總體結(jié)構(gòu)如圖2.1。三星公司推出的基于ARM9內(nèi)核32位RISC嵌入式微處理器S3C2440,最高可運(yùn)行在200MHz。該芯片的功能強(qiáng)大,完全能夠滿足MP3定點(diǎn)或浮點(diǎn)解碼程序的實(shí)現(xiàn),還能夠?qū)inux操作系統(tǒng)移植進(jìn)入該芯片,實(shí)現(xiàn)包括播放MP3在內(nèi)的多進(jìn)程,多任務(wù)處理,是一種志向的解決方案。圖2.1系統(tǒng)總體結(jié)構(gòu)圖第三章硬件詳細(xì)設(shè)計(jì)方案3.1硬件設(shè)計(jì)說明系統(tǒng)設(shè)計(jì)的硬件部分主要包括電源、ARM微處理器芯片、存儲(chǔ)芯片、USB接口芯片以及音頻芯片等??蓺w結(jié)為兩個(gè)部分:(1)微處理器S3C2440,及其外圍電路,詳細(xì)包括復(fù)位電路,存儲(chǔ)模塊(包括FLASH、RAM和ROM)、電源。(2)系統(tǒng)的外圍部分:音頻接口、UART、USB接口、帶觸摸屏的LCD、調(diào)試及下載接口。音頻編解碼可以接受PHILIPS的UCB1400等芯片。LCD可以接受320X240的TFT液晶顯示器,電源則宜用可充電鋰電池。
圖3.1硬件系統(tǒng)結(jié)構(gòu)圖如上圖3.1可知,在此次設(shè)計(jì)中,MP3主要組成部分是:CPU、MP3解碼部分、音頻放大器、FLASH存儲(chǔ)器及SDRAM存儲(chǔ)器。我們所設(shè)計(jì)的MP3播放器以微處理器S3C244O為中心,包括外部存儲(chǔ)器、串口UART、音頻接口、帶觸摸屏的LCD、USB接口、復(fù)位電路、調(diào)試及下載接口。解碼部分由軟件完成。整個(gè)播放器整體限制。此MP3播放器的核心是三星公司的S3C2440芯片。系統(tǒng)可以分為核心部分、音頻編解碼部分、音頻輸出、液晶限制等幾個(gè)部分,此外還有必不行少的電源管理等部分。音頻編解碼可以接受PHILIPS公司的UCB1400芯片。LCD可以接受試驗(yàn)箱上的TFTLCD顯示器。硬件設(shè)計(jì)部分主要是S3C2440和UCB1400芯片的連接。詳細(xì)的模塊說明如下。3.2處理器模塊S3C2440S3C2440是三星公司生產(chǎn)的基于arm920T內(nèi)核的RISC微處理器,其主頻可達(dá)203MHz,適用于信息家電、PDA、手持設(shè)備、移動(dòng)終端等領(lǐng)域。S3C2440除具備一般嵌入式芯片所具有的總線、SDRAM限制器和3個(gè)串口等外設(shè)之外,還具有TFTLCD限制器、USBSlave、USBHost、I2C總線限制器、SPI限制器、IIS音頻接口、SD&MMC存儲(chǔ)卡接口等豐富的擴(kuò)展功能、AD轉(zhuǎn)換器,有GPIO(通用IO口),還有nandflash限制器,這些東西都有一些寄存器來限制。芯片工作電壓3.3/1.8V,最高運(yùn)行速度可達(dá)200MHz。由于它是一款專為手持設(shè)備設(shè)計(jì)的低功耗處理器.因此可以降低手持設(shè)備成本,具有較高的性價(jià)比。該芯片是基于ARM9而開發(fā)的多功能SOC(signaloperationcontro1)。ARM9是一種小型、快速、低能耗、集成式的內(nèi)核。它的功能和特性如下:①具有較高的處理速度,通過內(nèi)部鎖相環(huán),最高可在203MHz的系統(tǒng)時(shí)鐘下運(yùn)行;②具有極低的功耗.其核心供電電壓為1.8V,外圍I/O口運(yùn)用3.3V電壓;③具有3種低功耗限制方式,甚至可關(guān)閉CPU中除喚醒邏輯外的全部功能,極大地降低了功耗;④和其他arm器件相比,S3C2410片上集成了更多的外設(shè)接口,如外部存儲(chǔ)限制器、LCD,DMA,USBl.1,SD,M。MC卡限制器、UART,SPI接口、I2C總線限制器和I2S總線限制器、I2S音頻接口、PWM定時(shí)器、看門狗、117個(gè)外部I/O口、24個(gè)外部中斷源、A/D轉(zhuǎn)換器和觸摸屏接口、實(shí)時(shí)時(shí)鐘及片上PLL的時(shí)鐘產(chǎn)生等。運(yùn)用3.3存儲(chǔ)模塊存儲(chǔ)模塊由一片64MB的SDRAM和兩片16MB的Flash組成,可為系統(tǒng)供應(yīng)足夠的存儲(chǔ)空間。Flash存儲(chǔ)器是一種可在系統(tǒng)電擦寫,掉電后信息不丟失的存儲(chǔ)器。和Flash存儲(chǔ)器相比,SDRAM不具有掉電保持?jǐn)?shù)據(jù)的特性,但存取速度大大高于Flash存儲(chǔ)器,且具有讀/寫特性。因此系統(tǒng)中SDRAM主要用作程序的運(yùn)行空間、數(shù)據(jù)及堆棧區(qū)。3.4音頻解碼/編碼模塊確定MP3音質(zhì)的關(guān)鍵是主控解碼器件中的數(shù)模轉(zhuǎn)換器(DAC)單元和耳機(jī)功率放大器單元。DAC負(fù)責(zé)把解碼的數(shù)字音頻流轉(zhuǎn)換成可驅(qū)動(dòng)耳機(jī)發(fā)音的模擬音頻信號(hào);耳機(jī)放大器則可把模擬音頻信號(hào)放大到可驅(qū)動(dòng)耳機(jī)的功率。該系統(tǒng)音頻解碼/編碼模塊接受PHILIPS公司的UCB1400芯片,UCB1400的外部接口共有48個(gè)管腳,大部分都供應(yīng)ACLink、中斷、音頻、ADC、觸屏、功率和其它接口。其接口電路圖如圖3所示。UCB1400是一種用于音頻處理的20位立體聲解碼/編碼器。它在一個(gè)芯片上集成了音頻解碼/編碼功能、一個(gè)觸屏限制器和功率管理接口。10個(gè)通用管腳可進(jìn)行可編程輸入/輸出,使得主機(jī)限制器可執(zhí)行限制功能和監(jiān)控運(yùn)行狀態(tài)。在此次設(shè)計(jì)中,UCB1400主要的作用是音頻編解碼器和觸摸屏限制器,還有就是對(duì)電源管理進(jìn)行監(jiān)控。S3C2440可通過IIC音頻接口和UCB1400連接。圖3.2音頻模塊流程3.5網(wǎng)絡(luò)模塊S3C2440自身并沒有網(wǎng)絡(luò)限制器,接入以太網(wǎng)時(shí)需增加獨(dú)立的以太網(wǎng)限制器,在此選用DM9000作為以太網(wǎng)限制器。該器件具有通用的處理器接口、10M/100M自適應(yīng)、4K雙字節(jié)靜態(tài)存取存儲(chǔ)器、低功耗、高處理性能,可支持3.3-5V的容差。3.6帶觸摸屏的LCD模塊顯示MP3播放限制界面,通過觸摸屏實(shí)現(xiàn)對(duì)播放和暫停,停止,音量遞增,音量遞減等功能的限制。LCD可以接受試驗(yàn)箱上的320*240的TFT液晶顯示器。3.7USB接口模塊USB接口模塊是連接U盤等存儲(chǔ)設(shè)備為MP3播放器供應(yīng)歌曲來源。本設(shè)計(jì)中,主機(jī)是通過主限制器和USB設(shè)備進(jìn)行數(shù)據(jù)傳輸?shù)模琔SB主限制器接受USB2.0標(biāo)準(zhǔn)和開放式主機(jī)限制器接口標(biāo)準(zhǔn),可支持高速和低速的USB設(shè)備,具備內(nèi)置的MCU和內(nèi)部緩存,和CPU之間有一個(gè)靜態(tài)存儲(chǔ)器的接口。CPU通過這個(gè)接口進(jìn)行讀寫來完成USB協(xié)議要求的限制和數(shù)據(jù)收發(fā)功能。USB主限制器供應(yīng)一系列的寄存器,系統(tǒng)通過對(duì)這些寄存器可以實(shí)現(xiàn)對(duì)USB主限制器的限制。3.8串口電路此MP3供應(yīng)一個(gè)串口,用來調(diào)試硬件和軟件。Max232用來轉(zhuǎn)換電平。UART用于開發(fā)調(diào)試限制和返回調(diào)試信息。3.9系統(tǒng)復(fù)位電路系統(tǒng)時(shí)鐘輸入由24.576MHz的外部晶振供應(yīng),而微處理器內(nèi)核的工作頻率為66MHz,S3C2440內(nèi)部含有PLL電路實(shí)現(xiàn)倍頻,因此,系統(tǒng)由內(nèi)部PLL電路倍頻至66MHz,供應(yīng)CPU運(yùn)行。系統(tǒng)復(fù)位信號(hào)由IMP811T芯片供應(yīng),并且設(shè)計(jì)了RESET按鈕,可以在系統(tǒng)運(yùn)行過程中隨時(shí)復(fù)位操作,便于系統(tǒng)調(diào)試。3.10電源模塊系統(tǒng)電源由XC6206P332MR芯片供應(yīng),宜用可充電鋰電池。第四章系統(tǒng)軟件設(shè)計(jì)方案總體上來說,系統(tǒng)軟件包括操作系統(tǒng)、驅(qū)動(dòng)程序及播放器應(yīng)用程序3部分。4.1軟件總體設(shè)計(jì)在此次設(shè)計(jì)中,MP3播放器的軟件體系結(jié)構(gòu)接受分層模式,它包括硬件層、驅(qū)動(dòng)層、操作系統(tǒng)層及MP3播放器應(yīng)用層等,軟件體系結(jié)構(gòu)圖如下所示4.1。圖4.1MP3播放器的軟件體系結(jié)構(gòu)圖從軟件角度看,嵌入式Linux操作系統(tǒng)分為引導(dǎo)加載程序、內(nèi)核、文件系統(tǒng)及用戶應(yīng)用程序4部分。其一用于完成初始化RAM,初始化串口、設(shè)置Linux啟動(dòng)參數(shù)、調(diào)用Linux內(nèi)核映像等功能;其二為特定于詳細(xì)硬件的定制內(nèi)核以及限制內(nèi)核引導(dǎo)系統(tǒng)的參數(shù);其三為含根書目文件的系統(tǒng)建立Flash存儲(chǔ)器設(shè)備的文件系統(tǒng);其四為特定于用戶的應(yīng)用程序,即為播放程序。軟件的核心是Linux操作系統(tǒng)。首先須要設(shè)備驅(qū)動(dòng)程序,包括USB、硬盤限制、音頻限制、LCD等等。然后是文件系統(tǒng)。該設(shè)計(jì)接受的是通用的FAT32文件系統(tǒng),在對(duì)Windows平臺(tái)有很好的兼容性。硬件層包括了MP3播放器所需的物理設(shè)備:USB接口、音頻接口芯片AC97、3.5英寸的TFT液晶屏等;設(shè)備驅(qū)動(dòng)層包括上述各個(gè)設(shè)備的驅(qū)動(dòng)程序的編寫;操作系統(tǒng)層我們移植了Linux2.6的操作系統(tǒng),由操作系統(tǒng)來統(tǒng)一管理各個(gè)硬件設(shè)備;最上層是應(yīng)用層,我們運(yùn)用QT設(shè)計(jì)圖形用戶界面,通過移植開源的Madplay解碼器實(shí)現(xiàn)對(duì)MP3文件的解碼,播放、音量增減的限制。此MP3播放器軟件系統(tǒng)包括驅(qū)動(dòng)程序、操作系統(tǒng)及MP3播放器應(yīng)用程序3部分。4.2操作系統(tǒng)的實(shí)現(xiàn)在嵌入式系統(tǒng)中,通常并沒有像BIOS那樣的固件程序,因此整個(gè)系統(tǒng)的加載啟動(dòng)任務(wù)就完全由BootLoader來完成。BootLoader的任務(wù)是初始化芯片和主板,通過修改相應(yīng)的配置文件和驅(qū)動(dòng)程序就可以實(shí)現(xiàn)移植過程中須要?jiǎng)?chuàng)建的開發(fā)板文件。嵌入式開發(fā)環(huán)境的搭建在此次設(shè)計(jì)中,硬件平臺(tái)是基于XSBASE270試驗(yàn)箱的。嵌入式開發(fā)環(huán)境的搭建主要包括以下幾個(gè)方面,如下:1、虛擬機(jī)安裝安裝虛擬機(jī),接受VMware。2、Linux系統(tǒng)安裝在VMware上安裝REDHAT企業(yè)版linux操作系統(tǒng)。安裝完畢之后,安裝VMwareTools工具。3、minicom配置在啟動(dòng)紅帽之前,要設(shè)置添加一個(gè)串口,設(shè)置成功之后,打開linux操作系統(tǒng),在終端執(zhí)行minicom-s叮囑,會(huì)出現(xiàn)以下界面:選擇serialportsetup,依據(jù)以下設(shè)置:設(shè)置串口,設(shè)置波特率為115200,硬件流限制設(shè)為無。詳細(xì)如下:選擇Savesetupasdfl選擇Exit即可啟動(dòng)minicom4、Tftp配置Tftp是類似于ftp的一個(gè)傳輸協(xié)議。它運(yùn)用IP和UDP作為子協(xié)議。在目標(biāo)板上,該協(xié)議被會(huì)在Bootloader下被用來下載kernel和文件系統(tǒng)的鏡像,傳輸媒質(zhì)是以太網(wǎng),以較高的速度。安裝tftprpm包的步驟如下:①安裝tftp-server-0.17-9.i386軟件包②修改/etc/xinetd.d/tftp文件,內(nèi)容如下:servicetftp{socket_type =dgramprotocol=udpwait=yesuser=rootserver=/usr/sbin/in.tftpdserver_args=-s/tftpbootserver_args+=-s/odm/tftpbootdisable=no}5、在根書目下建立/tftpboot文件夾,將要下載的文件放在該書目中即可。6、bootp配置引導(dǎo)協(xié)議(BOOTP)是一種基于UDP/IP的協(xié)議。這種協(xié)議允許正在啟動(dòng)的主機(jī)動(dòng)態(tài)配置而無需用戶監(jiān)督。BOOTP主要用于客戶機(jī)從服務(wù)器獲得自己的IP地址,服務(wù)器的IP地址以及啟動(dòng)映象文件名。在一個(gè)評(píng)估板系統(tǒng)中,這些協(xié)議通常是和tftp一起運(yùn)用用來將內(nèi)核和文件系統(tǒng)從PC上下載到目標(biāo)板中。Bootp主要用來獲得目標(biāo)板和主機(jī)的ip信息,以便可以運(yùn)用Tftp協(xié)議來傳輸文件。①安裝bootp--7.i386軟件包在終端中輸入叮囑:rpm-ivhbootp--7.i386.rpm ②在/etc/xinetd.d/書目下建立bootp文件,文件內(nèi)容如下:servicebootps{disable=nosocket_type=dgramprotocol=udpwait=yesuser=rootserver=/usr/sbin/bootpd}③在/etc/書目下建立bootptab文件,內(nèi)容如下test:\ht=1:\ha=0x123456789a00:\ip=0:\④重啟xinitd在終端中輸入:/etc/rc.d/init.d/xinetdrestart7、nfs配置8、交編譯環(huán)境配置交叉編譯環(huán)境的配置總共分為四個(gè)部分:配置交叉編譯環(huán)境,然后將交叉編譯工具安裝在/opt書目下,試交叉編譯環(huán)境,測(cè)試的時(shí)候用file叮囑查看文件。Bootloader燒寫B(tài)ootLoader就是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序。通過這段小程序,我們可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。
通常,BootLoader是嚴(yán)峻地依靠于硬件而實(shí)現(xiàn)的,特別是在嵌入式世界。因此,在嵌入式世界里建立一個(gè)通用的BootLoader幾乎是不行能的。盡管如此,我們照舊可以對(duì)BootLoader歸納出一些通用的概念來,以指導(dǎo)用戶特定的BootLoader設(shè)計(jì)和實(shí)現(xiàn)。下面介紹BootLoader的燒寫過程,以Linux-.10內(nèi)核為例,我們接受的燒寫工具是jflashmm。詳細(xì)步驟如下:將bootloader的映象文件boot拷貝Jflash-XSBase270(jflashmm所在書目),并利用用Jflash-XSBase270書目中jflashmm程序,將bootloader映象文件boot燒寫到開發(fā)板上。在Jflash_Xsbase270文件夾下打開一個(gè)終端,同時(shí)給板子上電,輸入叮囑:./Jflashmmboot,即可完成boot的燒寫。指令為:[root@localhostpxa270]#cdJflash_Xsbase270[root@localhostJflash-XSBase270]#./jflashmmboot內(nèi)核、文件系統(tǒng)的燒寫B(tài)ootloader燒寫成功后,接下來就進(jìn)行內(nèi)核和文件系統(tǒng)的燒寫,詳細(xì)步驟如下:開發(fā)板上電,進(jìn)入下載模式打開minicom,已經(jīng)配置好了,拔掉JTAG下載線。按空格鍵,進(jìn)入下載模式按空格鍵,進(jìn)入下載模式按菜單0,51Board>setmyipaddr:0destipaddr:00myhaddr:00:02:88:8E:CA:B1autoboot:loadkernel;loadramdisk;bootkernelname:zImagefsname:rootfs.imgdelay:2按鍵盤上的0,進(jìn)入叮囑行模式:[0]Comanndlinemode51board>set//查看系統(tǒng)狀態(tài)將系統(tǒng)屬性修改成以上狀態(tài)按鍵盤上的1,進(jìn)入叮囑行模式:[1]Viewcurrentconfiguration,回車。然后按2,3,4……等燒寫成功后,可看到顯示屏亮起來,顯示當(dāng)前的操作系統(tǒng)。4.4驅(qū)動(dòng)程序的實(shí)現(xiàn)在嵌入式Linux系統(tǒng)中操作設(shè)備的方法,是將設(shè)備看作一個(gè)文件來訪問。用戶只需留意對(duì)文件的操作。在嵌入式Linux系統(tǒng)中一個(gè)設(shè)備表示為主設(shè)備和從設(shè)備。Linux系統(tǒng)的設(shè)備分為字符設(shè)備、塊設(shè)備和網(wǎng)絡(luò)設(shè)備3種。字符設(shè)備是指存取時(shí)沒有緩存的設(shè)備,塊設(shè)備的讀寫都有緩存來支持,并且塊設(shè)備必需能夠隨機(jī)存取,字符設(shè)備則沒有這個(gè)要求。典型的字符設(shè)備包括鼠標(biāo)、鍵盤、串行口等;塊設(shè)備主要包括硬盤軟盤設(shè)備、CDROM等,這些設(shè)備要想在操作系統(tǒng)下正常運(yùn)行,必需配置相應(yīng)的驅(qū)動(dòng)程序。在本系統(tǒng)中,F(xiàn)lash及USB屬于塊設(shè)備,AUDIO及LCD屬于字符設(shè)備。下面是讀寫Flash存儲(chǔ)器的驅(qū)動(dòng)程序的主要代碼:main(){charbuf[4096],buf2[4096];intfd1,fd2;if(((fd1=open(“/dev/dsk5”,O_RDONLY))==1)||(fd1=open(“/dev/dsk5”,O_RDONLY))==1)printf(“failureonopen\n”);exit();}lseek(fdl,8192L,O);lseek(fd2,8192L,O);if((read(fd1,buf,sizeof(buf1))==-1)||(read(fdl,buf1,sizeof(buf1))==-1){printf(“failureonread\n”):exit();}for(i=0;I<sizeof(buf1);i++)if(buf1[i]!=buf2[i]){Printf(“diferentatoffset%d\n”,i);exit();}printf(“readsmatch\n”);}MP3解碼部分芯片的驅(qū)動(dòng)。音頻驅(qū)動(dòng)程序?qū)崿F(xiàn)的主要功能是:(1)系統(tǒng)啟動(dòng)時(shí)可以完成芯片的初始化;(2)詳細(xì)操作時(shí)可以供應(yīng)應(yīng)操作系統(tǒng)合適的軟件接口。音頻驅(qū)動(dòng)初始化程序如下:voidSTA013_Init(void){if(STA013_SendCommand(RESET_REG,0,0x00))
//復(fù)位STA013
STA013_PrintError();if(STA013_SendCommand(ACT_CON_REG,0,0x00))
//未激活狀態(tài)
STA013_PrintError();if(STA013_SendCommand(PWR_CON_REG,0,0x00))
//上電
STA013_PrintError();if(STA013_SendCommand(FS_CON_REG,0,ISTA013L_FsValue[SysInfo.SamplingIndex]))
//選擇采樣頻率
STA013_PrintError();if(STA013_SendCommand(IF_CON_REG,0,0x02+(0<<6)))
//選擇16位IIS數(shù)據(jù)格式
STA013_PrintError();
if(STA013_SendCommand(ANG_CTL_REG,0,0))
//0x13,0x12選擇DAC和LineIn輸入模式]STA013_PrintError();
if(STA013_SendCommand(DGT_CTL_REG,0,0x00))
//DAC靜音
STA013_PrintError();if(STA013_SendCommand(LHP_VOL_REG,0,0x00))
//左聲道音量
STA013_PrintError();if(STA013_SendCommand(RHP_VOL_REG,0,0x00))
//右聲道音量
STA013_PrintError();if(STA013_SendCommand(ACT_CON_REG,0,0x00))
//數(shù)據(jù)傳送激活
STA013_PrintError();}4.3音頻驅(qū)動(dòng)電路音頻設(shè)備驅(qū)動(dòng)程序主要通過對(duì)硬件的限制實(shí)現(xiàn)音頻流的傳輸,同時(shí)向上層供應(yīng)標(biāo)準(zhǔn)音頻接口。音頻接口驅(qū)動(dòng)向上供應(yīng)2個(gè)標(biāo)準(zhǔn)接口:數(shù)字音頻處理(DSP),負(fù)責(zé)音頻數(shù)據(jù)的傳輸即播放數(shù)字化聲音文件和錄音操作等;混音器(MIXER),負(fù)責(zé)對(duì)輸出音頻進(jìn)行混音處理,如音量調(diào)整等。這2個(gè)標(biāo)準(zhǔn)接口分別對(duì)應(yīng)設(shè)備文件dev/sound/dsp和dev/sound/mixer。整個(gè)音頻驅(qū)動(dòng)的實(shí)現(xiàn)分為初始化、打開設(shè)備、DSP驅(qū)動(dòng)、MIXER驅(qū)動(dòng)和釋放設(shè)備等部分:⑴設(shè)備初始化主要完成對(duì)UCB1400音量、采樣頻率、L3接口等的初始化,并且注冊(cè)設(shè)備、打開設(shè)備。為設(shè)備支配DMA通道,依據(jù)采樣參數(shù)計(jì)算出緩存內(nèi)段的大小。當(dāng)緩存區(qū)和DMA設(shè)置好后,讀寫操作主要對(duì)緩存操作。⑵DSP驅(qū)動(dòng)的實(shí)現(xiàn):DSP驅(qū)動(dòng)實(shí)現(xiàn)了音頻數(shù)據(jù)的傳輸即播放和錄音的數(shù)據(jù)傳輸。同時(shí)供應(yīng)ioctl對(duì)UCB1400中的DAC何ADC采樣頻進(jìn)行限制。⑶MIXER驅(qū)動(dòng)的實(shí)現(xiàn):MIXER驅(qū)動(dòng)只限制混音效果,并不執(zhí)行讀寫操作,通過ioctl函數(shù)完成混音效果、音量的增減等功能。4.4Mp3播放器軟件的實(shí)現(xiàn)本系統(tǒng)運(yùn)用QT/Embeded制作圖形用戶界面,利用開源的Madplay解碼器對(duì)Mp3文件進(jìn)行軟件解碼,功能包括打開文件、播放和暫停、快進(jìn)快退、上下曲、音量加減、顯示時(shí)間進(jìn)度、顯示歌曲名、總的播放時(shí)間、各種狀態(tài)信息等。下面就一些重要功能的實(shí)現(xiàn)做簡(jiǎn)要的介紹。外部事務(wù)的響應(yīng)當(dāng)用戶通過觸摸屏單擊某個(gè)按鈕時(shí),QT的窗口在事務(wù)發(fā)生后將激發(fā)信號(hào)如c
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 品牌廣告宣傳合同
- 股票投資合作合同范本
- 裝修施工合同書范本
- 二零二四年塔吊設(shè)備租賃與操作人員派遣合同3篇
- 二零二五年度高端車庫租賃與物業(yè)管理合同4篇
- 二零二五年度電梯拆除工程安全風(fēng)險(xiǎn)評(píng)估與監(jiān)理合同4篇
- 茶樓翻新合同取消通知
- 眼鏡店設(shè)計(jì)居間服務(wù)合同
- 農(nóng)村宅基地轉(zhuǎn)讓合同示例
- 智能機(jī)器人銷售及售后服務(wù)合同
- 銷售與銷售目標(biāo)管理制度
- 人教版(2025新版)七年級(jí)下冊(cè)英語:寒假課內(nèi)預(yù)習(xí)重點(diǎn)知識(shí)默寫練習(xí)
- 2024年食品行業(yè)員工勞動(dòng)合同標(biāo)準(zhǔn)文本
- 2025年第一次工地開工會(huì)議主要議程開工大吉模板
- 糖尿病高滲昏迷指南
- 全屋整裝售后保修合同模板
- 壁壘加筑未來可期:2024年短保面包行業(yè)白皮書
- 高中生物學(xué)科學(xué)推理能力測(cè)試
- 環(huán)保局社會(huì)管理創(chuàng)新方案市環(huán)保局督察環(huán)保工作方案
- GB/T 44423-2024近紅外腦功能康復(fù)評(píng)估設(shè)備通用要求
- 2024-2030年中國(guó)減肥行業(yè)市場(chǎng)發(fā)展分析及發(fā)展趨勢(shì)與投資研究報(bào)告
評(píng)論
0/150
提交評(píng)論