国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Cortex M3的音頻播放器的設(shè)計(jì)

2015-01-25 10:51:04衛(wèi)
電子設(shè)計(jì)工程 2015年3期
關(guān)鍵詞:微控制器磁盤觸摸屏

袁 衛(wèi)

(1.西安電子科技大學(xué) 陜西 西安 710071;2.渭南師范學(xué)院 陜西 渭南 714099)

隨著科學(xué)技術(shù)的發(fā)展,MP3這一產(chǎn)品的技術(shù)越來(lái)越成熟,MP3現(xiàn)在以外形精致小巧,功能的的多樣性,且抗震省電等特點(diǎn)得到了廣大消費(fèi)者的喜愛,且MP3歌曲可以隨時(shí)自由下載,更是將MP3的使用達(dá)到極大的普及,豐富了人們的文化生活[1]。

系統(tǒng)采用TI公司新推出的Cortex M3系列微控制器LM3S9B96。該芯片使用高性能的ARM Cortex-M3 32位的RISC內(nèi)核,工作頻率為80 MHz。完全滿足音頻文件的讀取、解碼、播放等功能[2]。改進(jìn)了市場(chǎng)中流行的MP3由于播放文件格式單一、人機(jī)界面的單調(diào)的缺陷。

1 系統(tǒng)總體設(shè)計(jì)

系統(tǒng)總體設(shè)計(jì)如圖1所示,以TI公司的微處理器LM3S9B96為控制核心,通過(guò)讀取SD卡*.mp3、*.wma、*.wav等格式的音頻文件,然后通過(guò)音頻解碼芯片VSl003實(shí)現(xiàn)解碼,最后通過(guò)外部音頻功放完成放大,推動(dòng)揚(yáng)聲器工作。LCD觸摸屏主要完成所播放歌曲名稱的顯示和人機(jī)交互功能。系統(tǒng)由ARM微處理器控制核心、音頻解碼模塊、功率放大模塊、SD卡存儲(chǔ)模塊、人機(jī)交互模塊等組成。系統(tǒng)框圖如圖1所示。

圖1 系統(tǒng)硬件框圖Fig.1 Structure diagram of the hardware system

2 硬件系統(tǒng)設(shè)計(jì)

2.1 Cortex M3 LM3S9B96微處理器

LM3S9B96是TI公司最新推出的基于ARMv7體系架構(gòu)的處理器核,主要實(shí)現(xiàn)對(duì)SD卡音頻格式文件的讀取、然后將音頻文件發(fā)送到外部音頻解碼芯片VS1003。人機(jī)交互功能中的觸摸屏控制所包括的操作系統(tǒng)移植及應(yīng)用軟件的執(zhí)行均是通過(guò)該處理器來(lái)完成。

2.2 音頻編解碼器及與控制器的硬件連接

音頻解碼芯片VS1003采用芬蘭VLSI公司出品的一款單芯片的MP3/WMA音頻解碼芯片,其內(nèi)部集成一個(gè)高性能低功耗的DSP處理器核,來(lái)實(shí)現(xiàn)將SD卡里的音頻數(shù)據(jù)流讀出并進(jìn)行解析、轉(zhuǎn)化成模擬信號(hào)輸出[3]。同時(shí),微控制器通過(guò)SPI接口發(fā)出命令控制字實(shí)現(xiàn)對(duì)VS1003芯片的功能控制,如初始化、暫停、音量控制、播放時(shí)間的讀取等。其與LM3S9B96的硬件連接連接如圖2所示。

圖2 LM3S9B96與VSl003的簡(jiǎn)化電路圖Fig.2 Simplified circuit of LM3S9B96 and VSl003

2.3 SD卡與微控制器LM3S9B96的硬件連接

系統(tǒng)中SD卡通過(guò)SPI接口與LM3S9B96進(jìn)行連接,其主要實(shí)現(xiàn)MP3音頻文件的存儲(chǔ),其電路連接如圖3所示。

圖3 LM3S9B96與SD卡的連接圖Fig.3 Connection diagram LM3S9B96 and SD card

2.4 觸摸屏模塊功能與微控制器LM3S9B96的硬件連接

LCD觸摸屏采用SSD1298驅(qū)動(dòng)控制器和ADS7843觸摸屏控制芯片實(shí)現(xiàn)LCD的顯示和觸摸功能。其顯示功能主要包括:MP3文件名的顯示、歌詞顯示功能及一些附助信息,主要完成人機(jī)對(duì)話。觸摸屏控制芯片ADS7843 LCD觸摸屏和LM3S9B96的電路連接,如圖4所示。

圖4 ADS7843與LCD觸摸屏的連接圖Fig.4 Connection diagram ADS7843 and LCD touch screen

2.5 LCD觸摸屏與μC/GUI

μC/GUI是一種嵌入式應(yīng)用中的圖形支持系統(tǒng)。其適用于任意LCD控制器和CPU下任何尺寸的真實(shí)顯示或虛擬顯示。為了方便對(duì)LCD觸摸屏的控制,在LCD中繪制各種窗口,做出友好的人機(jī)互動(dòng)界面,方便客戶的操作,在μC/GUI中提供了內(nèi)存管理、視窗管理器、各種常用的控件、字體管理、文本輸出、圖形繪制等功能,開發(fā)者借助輔助開發(fā)工具很容易生成用戶所需要的圖形界面,大大縮短了開發(fā)時(shí)間[4]。,其運(yùn)行界面如圖5所示。

圖5 系統(tǒng)運(yùn)行界面Fig.5 System operation interface

3 系統(tǒng)軟件設(shè)計(jì)

系統(tǒng)軟件設(shè)計(jì)分為三部分。

1)μC/OS-II操作系統(tǒng)。μC/OS-II是一個(gè)支持多任務(wù)的操作系統(tǒng),本次設(shè)計(jì)將創(chuàng)建3個(gè)任務(wù),觸摸屏任務(wù)、圖形界面任務(wù)和音樂(lè)播放任務(wù),系統(tǒng)移植的μC/OS-II來(lái)實(shí)現(xiàn)任務(wù)的調(diào)度、任務(wù)切換和信號(hào)量處理。

2)μC/GUI圖形用戶接口,μC/GUI是一種嵌入式應(yīng)用中的圖形支持系統(tǒng),本設(shè)計(jì)中用移植了μC/GUI來(lái)實(shí)現(xiàn)音頻播放器的操作界面。

3)數(shù)據(jù)存儲(chǔ)方面,播放MP3時(shí),系統(tǒng)采用FatFs文件系統(tǒng)讀取存儲(chǔ)在SD卡中的MP3數(shù)據(jù)[5]。

3.1 μC/OS-II操作系統(tǒng)

μC/OS-II是嵌入微處理器的操作系統(tǒng),它是實(shí)時(shí)操作系統(tǒng),具有任務(wù)管理,文件管理,設(shè)備管理的底層支持。μC/OS-II具有執(zhí)行效率高、占用空間小、實(shí)時(shí)性能優(yōu)良和可擴(kuò)展性強(qiáng)等特點(diǎn),最小內(nèi)核可編譯至 2 KB,它適用于多種微處理器,微控制器和數(shù)字處理芯片,已經(jīng)移植到了幾乎所有知名的CPU上[6]。要使μC/OS-Ⅱ能正常運(yùn)行,處理器必須滿足以下要求:

1)處理器的C編譯器能產(chǎn)生可重入代碼。

2)處理器支持中斷,并且能產(chǎn)生定時(shí)中斷(通常在10~100 Hz之間)。

3)用C語(yǔ)言就可以開關(guān)中斷。

4)處理器支持能夠容納一定量數(shù)據(jù)(可能是幾千字節(jié))的硬件堆棧。

5)處理器有將堆棧指針和其它CPU寄存器讀出和存儲(chǔ)到堆棧或內(nèi)存中的指令。

本系統(tǒng)主要是將μC/OS-II移植處理器上需要修改3個(gè)ARM體系結(jié)構(gòu)相關(guān)的文件:OS_CPU.H、OS_CPU_A.ASM、OS_CPU_C.C進(jìn)行了操作。移植包括以下幾步:

1)用#define設(shè)置一個(gè)常量的值 (OS_CPU.H)

2)聲明10個(gè)數(shù)據(jù)類型 (OS_CPU.H)

3)用 #define聲明 3個(gè)宏 (OS_CPU.H)

4)用C語(yǔ)言編寫6個(gè)簡(jiǎn)單的函數(shù) (OS_CPU_C.C)

5)編寫4個(gè)匯編語(yǔ)言函數(shù) (OS_CPU_A.ASM)

3.2 μC/GUI的移植

對(duì)于μC/GUI圖形系統(tǒng)應(yīng)用不管什么目標(biāo)系統(tǒng),大部分的圖形應(yīng)用開發(fā)系統(tǒng)都可以在模擬器下運(yùn)行,但最終的目的還是要在目標(biāo)系統(tǒng)上運(yùn)行。因此在移植?C/GUI的時(shí)候,目標(biāo)系統(tǒng)必須具備如下幾點(diǎn):

1)CPU(8/16/32/64 位)

2)必要的RAM和ROM存儲(chǔ)

3)LCD顯示器(任何類型及分辯率的)

本次移植過(guò)程分為以下幾個(gè)步驟進(jìn)行:

LCDConfig.h

#define LCD_XSIZE (320) //X像素

#define LCD_YSIZE (240) //Y 像素

#define LCD_BITSPERPIXEL (16) //總線寬度

#define LCD_FIXEDPALETTE (565) //TFT格式

#define LCD_SWAP_RB (1) //支持紅藍(lán)交換

#define LCD_INIT_CONTROLLER()LCD240x320_Init(void)//LCD 初始化

GUIConfig.h

#define GUI_OS (1) //多任務(wù)支持

#define GUI_SUPPORT_TOUCH (1) //支持觸摸屏

#define GUI_SUPPORT_UNICODE (1) //UNICODE支持

#define GUI_DEFAULT_FONT &GUI_Font6x8 //默認(rèn)字體

#define GUI_WINSUPPORT (1) //支持窗口操作

#define GUI_SUPPORT_MEMDEV (1) //Memory devices支持

修改 LCDDriver中 C文 件,實(shí)現(xiàn)LCD_L0_Init()初始化、CD_L0_Set_PixelIndex()畫點(diǎn)、 LCD_L0_Get_PixelIndex()讀取點(diǎn)值、LCD_On()、LCD_Off()[7]。

3.3 FatFs文件系統(tǒng)

FatFs是一個(gè)通用的文件系統(tǒng)模塊,是由AISI C語(yǔ)言編寫并完全獨(dú)立于底層的I/O介質(zhì),因此不依賴于硬件平臺(tái)。另外,它的內(nèi)存開銷很小,ROM的占有量只有十余KB。

由于FatFs完全與磁盤I/O層分開,因此底層磁盤I/O需要下列函數(shù)去讀/寫物理磁盤以及此磁盤及獲取當(dāng)前時(shí)間[8]。

1)初始化磁盤驅(qū)動(dòng)器 DSTATUS disk_initialize(BYTE Drive)

2)獲取當(dāng)前磁盤狀態(tài)函數(shù)DSTATUSdisk_status(BYTE Drive)

3)從磁盤驅(qū)動(dòng)器中讀扇區(qū)函數(shù)DSTATUSdisk_read(BYTE Drive,BYTE*Buffer,DWORD SectorNnmber,BYTE SectorCount)

4)向磁盤驅(qū)動(dòng)器中寫入扇區(qū)DSTATUS disk_write(BYTE Drive, BYTE*Buffer, DWORD SectorNnmber, BYTE Sector Count)

5)控制設(shè)備特定的功能以及磁盤讀寫以外的功能函數(shù)DRESULT disk_ioctl()

6)獲取當(dāng)前時(shí)間函數(shù) DWORD get_fattime()

以上是軟件設(shè)計(jì)三部分的介紹,軟件設(shè)計(jì)流程圖如圖6所示。

圖6 軟件系統(tǒng)流程圖Fig.6 Flow chart of software system

4 結(jié) 論

本設(shè)計(jì)使用LM3S9B96微處理器作為控制器,以觸摸屏作為顯示和控制設(shè)備??刂破髯x取SD卡中的歌曲文件,使用VS1003音頻解碼芯片進(jìn)行解碼并播放。設(shè)計(jì)整體操作簡(jiǎn)單、實(shí)現(xiàn)優(yōu)質(zhì)的音樂(lè)播放,系統(tǒng)還可添加其它功能,如歌詞的同步顯示等。

[1]肖雪峰,肖伸平,彭瓊林,等.基于嵌入式操作系統(tǒng)的數(shù)字音頻播放器優(yōu)化控制[J].計(jì)算技術(shù)與自動(dòng)化,2013,32(1):117-120.XIAO Xue-feng,XIAO Shen-ping,PENG Qiong-lin.Digital audio player optimization control based on embedded operation system[J].Computing Technology and Automation,2013,32(1):117-120.

[2]趙寧,陳明,何鵬舉.嵌入式操作系統(tǒng)?C/OS-II在ARM上的移植與應(yīng)用[J].計(jì)測(cè)技術(shù),2004(4):29-31.ZHAO Ning,CHEN Ming.HE Peng-ju.Transplantation and Application of Embedded OS/OS-II in ARM[J].Metrology&Measurement Technology,2004(4):29-31.

[3]姜波.從APRA到PARC:恩格巴特和GUI的發(fā)展史[J].科學(xué)學(xué)研究,2005,23(1):29-35.JIANGBo.From ARPA to PARC:Douglas Engelbart and the historical development of GUI[J].Studies in Science of Science,2005,23(1):29-35.

[4]桑楠.嵌入式系統(tǒng)原理及應(yīng)用開發(fā)技術(shù)[M].北京:北京航空航天大學(xué)出版社,2004:4-8.

[5]徐寶國(guó),宋愛國(guó).基于UCOS和UCGUI的嵌入式數(shù)字示波器[J].測(cè)控技術(shù),2007,26(7):7-8.XU Bao-guo,SONG Ai-guo.Embedded digital storage oscilloscope based on UCOS and UCGUI[J].Measurement Control Technology,2007,26(7):7-8.

[6]史萌萌,江海洋.μC/GUI在嵌入式測(cè)控系統(tǒng)中的移植與應(yīng)用[J].微計(jì)算機(jī)信息,2007, 11(2):22-24.SHI Meng-meng,JIANG Hai-yang.The porting and application of uC/GUI to embedded measurement and control system[J].Microcomputer Information,2007,11(2):22-24.

[7]張繼柯,谷青范.基于Flash的嵌入式文件系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].工業(yè)控制計(jì)算機(jī),2011,24(4):84-86.ZHANG Ji-ke,GU Qing-fan.Design and Implementation of embedded file system based on flash memory[J].Industrial Control Computer,2011,24(4):84-86.

[8]李世奇,董浩斌.基于FatFs文件系統(tǒng)的SD卡存儲(chǔ)器設(shè)計(jì)[J].測(cè)控技術(shù),2011,30(12):70-81.LI Shi-qi,DONG Hao-bin.Design of SD memory card based on FatFs file system[J].Measurement Control Technology,2011,30(12):70-81.

猜你喜歡
微控制器磁盤觸摸屏
PLC和觸摸屏在衛(wèi)生間控制系統(tǒng)的應(yīng)用
解決Windows磁盤簽名沖突
電腦愛好者(2019年2期)2019-10-30 03:45:31
修改磁盤屬性
皮膚“長(zhǎng)”出觸摸屏
物聯(lián)網(wǎng)技術(shù)在微控制器實(shí)驗(yàn)教學(xué)中的應(yīng)用
電子制作(2017年14期)2017-12-18 07:07:58
磁盤組群組及iSCSI Target設(shè)置
創(chuàng)建VSAN群集
Atmel針對(duì)新一代物聯(lián)網(wǎng)應(yīng)用發(fā)布全新32位微控制器
最新STM32設(shè)計(jì)工具增加對(duì)混合信號(hào)微控制器的支持
投射式多點(diǎn)觸控電容觸摸屏
河南科技(2014年12期)2014-02-27 14:10:32
肇庆市| 凌源市| 同心县| 柳州市| 南川市| 贡觉县| 高州市| 邯郸市| 荥阳市| 什邡市| 饶阳县| 亳州市| 津南区| 宁津县| 吉木萨尔县| 女性| 保定市| 襄汾县| 东港市| 巴彦县| 肥西县| 淮安市| 玉田县| 若尔盖县| 来宾市| 阿荣旗| 华亭县| 宜州市| 健康| 濮阳市| 临沧市| 天津市| 南安市| 明水县| 亚东县| 江津市| 望谟县| 兴义市| 昭通市| 余庆县| 松溪县|