趙勇,鄭培臣,張歡歡
(渭南師范學(xué)院 物理與電氣工程學(xué)院,渭南 714000)
隨著物質(zhì)生活的極大豐富,人們對(duì)于消費(fèi)電子的需求越來越多,要求也越來越高。市場(chǎng)上流行的MP3由于播放文件格式單一、人機(jī)界面單調(diào),已經(jīng)不能滿足用戶的需求,本設(shè)計(jì)的多功能音頻播放器,除可完成*.mp3、*.wma、*.wav等格式文件的播放外,還具有播放 MP4、閱讀電子小說、瀏覽圖片、聽收音機(jī)等功能,甚者還可擴(kuò)展上網(wǎng)、下載應(yīng)用程序或游戲等功能。
系統(tǒng)以NXP公司的微處理器LPC1768為控制核心,讀取SD卡*.mp3、*.wma、*.wav等格式的音頻文件,然后通過音頻解碼芯片VS1003實(shí)現(xiàn)解碼,最后通過外部音頻功放完成信號(hào)放大,輸出至揚(yáng)聲器。該系統(tǒng)的整個(gè)系統(tǒng)框架分5部分:LPC1768微處理器、音頻解碼芯片VS1003、SD卡存儲(chǔ)器、LCD觸摸屏,以及FM收音機(jī)模塊TEA5756等。系統(tǒng)硬件結(jié)構(gòu)框圖如圖1所示。

圖1 系統(tǒng)硬件結(jié)構(gòu)框圖
LPC1768是NXP公司推出的基于ARMv7體系架構(gòu)的微處理器,具有高性能、低成本、低功耗的特點(diǎn),專門為嵌入式應(yīng)用領(lǐng)域設(shè)計(jì)。LPC1768系列芯片使用高性能的基于ARM Cortex-M3的32位RISC內(nèi)核,工作頻率為100MHz,完全滿足音頻文件的讀取、解碼、播放等要求。它內(nèi)置高速存儲(chǔ)器(高達(dá)512KB的閃存和64KB的SRAM),還具有豐富的增強(qiáng)I/O端口和連接到兩條APB總線的外設(shè)。采用LPC1768主要實(shí)現(xiàn)對(duì)SD卡音頻格式文件的讀取,然后將音頻文件發(fā)送到外部音頻解碼芯片VS1003。人機(jī)交互功能中的觸摸屏控制所包括的操作系統(tǒng)及應(yīng)用軟件的執(zhí)行均是通過該微處理器來完成。
VS1003主要提供對(duì)固定格式音頻文件的解碼,為應(yīng)用層播放音頻數(shù)據(jù)、控制音量聲道等提供基本接口。其內(nèi)部包含1個(gè)高性能、低功耗的DSP處理核(VLSI Solution's DSP),1個(gè)工作數(shù)據(jù)存儲(chǔ)器,可為用戶應(yīng)用提供5KB的指令RAM和0.5KB的數(shù)據(jù)RAM,一個(gè)高品質(zhì)可變采樣率的ADC和立體聲DAC,還有串行SPI控制和數(shù)據(jù)接口。音頻文件的播放過程如下:首先,通過LPC1768的SPI接口從SD卡讀出*.mp3、*.wma等格式文件;然后,經(jīng)SPI接口將所要播放的文件發(fā)送到VS1003音頻解碼芯片;最后,由外圍的功放電路實(shí)現(xiàn)音頻放大、輸出。在此,為減小干擾和噪聲,提高音質(zhì),解碼芯片獨(dú)占一個(gè)SPI接口。該解碼芯片與微處理器LPC1768的硬件連接電路如圖2所示。
SD卡存儲(chǔ)器(Secure Digitaly Card)作為一種基于半導(dǎo)體的快閃記憶器被廣泛地應(yīng)于便攜式裝置,例如數(shù)碼相機(jī)、PDA和多媒體播放器等。SD卡存儲(chǔ)器采用znFAT文件系統(tǒng),以SPI模式進(jìn)行讀寫操作。本設(shè)計(jì)中,SD卡存儲(chǔ)器主要功能是保存所要播放的音頻文件、電子閱讀器中的文本文件和圖像文件。SD卡存儲(chǔ)器的“刪除”、“拷貝”操作由讀卡器來完成,“讀”過程由LPC1768控制。LPC1768與SD卡存儲(chǔ)器的連接電路如圖2所示。

圖2 LPC1768與VS1003的硬件連接電路
觸摸屏是一種可接收觸摸等輸入信號(hào)的感應(yīng)式配液晶顯示裝置。當(dāng)接觸了屏幕上的圖形按鈕時(shí),屏幕上的觸覺反饋系統(tǒng)可根據(jù)預(yù)先編寫的程序驅(qū)動(dòng)各種連接裝置,觸摸屏可取代機(jī)械式的按鈕面板,并借由液晶顯示畫面制造出生動(dòng)的影音效果。本設(shè)計(jì)中觸摸屏作為人機(jī)交互的圖形界面顯示,具有直觀、易操作等優(yōu)點(diǎn)。
TEA5756是飛利浦公司生產(chǎn)的新一代數(shù)字調(diào)頻收音機(jī)模塊,主要應(yīng)用于MP3/MP4媒體播放機(jī),采用I2C總線協(xié)議,具有比傳統(tǒng)模擬制式收音機(jī)模塊更突出的性能,音質(zhì)更清晰,噪音極少,功耗更低,集成度高。
本設(shè)計(jì)主要通過觸摸屏來調(diào)節(jié)收聽頻率、音量等一些基本設(shè)置。FM收音機(jī)模塊通過I2C總線設(shè)置TEA5756的寄存器,TEA5767控制子程序由幾個(gè)功能模塊組成:FC通信模塊、TEA5767向上搜索模塊、TEA5767向下搜索模塊頻率值轉(zhuǎn)換為PLL值模塊、PLL值轉(zhuǎn)換為頻率值模塊等。
μC/OS-II是一種源代碼公開、結(jié)構(gòu)小巧、具有可剝奪實(shí)時(shí)內(nèi)核的操作系統(tǒng)。對(duì)一個(gè)多任務(wù)的操作系統(tǒng)來說,任務(wù)間的通信和同步是必不可少的,μC/OS-II提供了4種同步對(duì)象,分別是信號(hào)量、郵箱、消息隊(duì)列和事件。所有這些同步對(duì)象都有創(chuàng)建、等待、發(fā)送、查詢的接口,用于實(shí)現(xiàn)任務(wù)間的通信和同步。要使μC/OS-II能正常運(yùn)行,處理器必須滿足以下要求:
① 處理器的C編譯器能產(chǎn)生可重入代碼。
② 處理器支持中斷,并且能產(chǎn)生定時(shí)中斷(通常在10~100Hz)。
③ 處理器支持能夠容納一定量數(shù)據(jù)(可能是幾千字節(jié))的硬件堆棧。
④處理器有將堆棧指針和其他CPU寄存器讀出和存儲(chǔ)到堆棧或內(nèi)存中的指令。
中斷可以用以下函數(shù)配置:

與所有的實(shí)時(shí)內(nèi)核一樣,μC/OS-II需要先禁止中斷再訪問代碼的臨界段,并且在訪問完畢后重新允許中斷。這就需要μC/OS-II能夠保護(hù)臨界段代碼免受多任務(wù)或中斷服務(wù)例程(ISRs)的破壞。μC/OS-II要求用戶提供一個(gè)時(shí)鐘資源來實(shí)現(xiàn)時(shí)間的延時(shí)和期滿功能,時(shí)鐘節(jié)拍應(yīng)該每秒鐘發(fā)生10~100次。為了完成該任務(wù),可以使用硬件時(shí)鐘,也可以從交流電中獲得50Hz/60Hz的時(shí)鐘頻率。
本系統(tǒng)主要是對(duì)μC/OS-II移植處理器上需要修改的3個(gè)ARM 體系結(jié)構(gòu)相關(guān)的文件——OS_CPU.H、OS_CPU_A.ASM、OS_CPU_C.C進(jìn)行了操作。
znFAT文件操作系統(tǒng)方便文件的讀取,并能很好地顯示文件的各種屬性。例如文件的大小、創(chuàng)建時(shí)間、擴(kuò)展名等。同時(shí),支持FAT32、FAT16、FAT文件格式。該文件系統(tǒng)依靠純C語言實(shí)現(xiàn),具有可裁剪和移植簡(jiǎn)單等優(yōu)點(diǎn),支持SD卡、CF卡、U盤等常見的可移動(dòng)存儲(chǔ)設(shè)備,廣泛應(yīng)用于嵌入式系統(tǒng)的文件操作。移植過程只需要提供相應(yīng)設(shè)備的扇區(qū)讀寫函數(shù)即可。本系統(tǒng)中所用到的SD卡即使用了znFAT文件系統(tǒng)。
μC/GUI是一種用于嵌入式應(yīng)用的圖形支持軟件。它被設(shè)計(jì)用于為任何使用一個(gè)圖形LCD的應(yīng)用者提供一個(gè)有效的不依賴于處理器和LCD控制器的圖形用戶接口。它能工作于單任務(wù)或多任務(wù)的系統(tǒng)環(huán)境下。μC/GUI軟件適用于任何LCD,支持任何尺寸的圖形LCD的物理和虛擬顯示。本文對(duì)LCD界面的設(shè)計(jì)用到了μC/GUI和μC/GUI Builder。μC/GUI目錄如表1所列。

表1 μC/GUI目錄
本文結(jié)合現(xiàn)代消費(fèi)電子的發(fā)展趨勢(shì),提出嵌入式系統(tǒng)下的音頻播放器設(shè)計(jì)新方案。該方案不僅降低了MP3播放器的開發(fā)成本,而且程序升級(jí)和移植都很方便。另外,該方案對(duì)便攜式多媒體播放器的研發(fā)也具有一定的意義。
[1] Jean J Labrosse.嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II[M].2版.邵貝貝,等譯.北京:北京航空航天大學(xué)出版社,2003.
[2] 趙寧,陳明,何鵬舉.嵌入式操作系統(tǒng)μC/OS-II在ARM上的移植與應(yīng)用[J].計(jì)算機(jī)技術(shù)與應(yīng)用,2004(4):29-31.
[3] 張?zhí)煲?MP3播放器的設(shè)計(jì)[J].今日電子,2006(12):1-2.
[4] 李軍.便攜式MP3播放器的方案分析及其技術(shù)研究[J].電聲技術(shù),2004(7):1.
[5] 廣州周立功單片機(jī)發(fā)展有限公司.Cortex-M3開發(fā)指南——基于LM3S8000,2007.
[6] ELM-FAT File System Module[EB/OL].(2010-05)[2012-04].http://elm-chan.org/fsw/ff/00index_e.html.