999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ARM的MP3播放器的研究與實(shí)現(xiàn)

2018-01-18 07:10:43吳小鋒張西寧
電子設(shè)計(jì)工程 2018年1期
關(guān)鍵詞:嵌入式系統(tǒng)

吳小鋒,張西寧,馬 博

(1.西安郵電大學(xué)人事處,陜西西安710121;2.陜西廣電網(wǎng)絡(luò)傳媒(集團(tuán))股份有限公司技術(shù)部,陜西西安

710061;3.西安郵電大學(xué)計(jì)算機(jī)學(xué)院,陜西西安710121)

隨著編碼與解碼,以及壓縮技術(shù)的進(jìn)步,語音文件一直朝著高壓縮比、高保真的方向發(fā)展。在目前普遍應(yīng)用的音頻壓縮標(biāo)準(zhǔn)中,MP3具有算法復(fù)雜、壓縮比大、效果好等優(yōu)點(diǎn),其音質(zhì)在低碼率的條件下能夠接近CD的效果。在市場消費(fèi)刺激下,各大公司紛紛推出了自己的MP3播放器產(chǎn)品。為了進(jìn)一步改善市場上MP3播放器存儲(chǔ)容量小、價(jià)格昂貴、播放歌曲單一的不足,文中基于STM32F103VET6微控制器,結(jié)合芬蘭VLSI Solution公司生產(chǎn)的音頻編解碼芯片VS1003,設(shè)計(jì)實(shí)現(xiàn)了一種個(gè)性化的MP3播放器。

1 MP3解碼原理

1.1 MP3幀結(jié)構(gòu)

MP3幀結(jié)構(gòu)如圖1所示,主要包含以下幾個(gè)字段,即幀頭、CRC校驗(yàn)、邊信息、主數(shù)據(jù)和附加數(shù)據(jù)等[1]。在每一個(gè)幀中都有一個(gè)幀頭,長度為4個(gè)字節(jié),幀頭最前面的12比特總是被設(shè)置為1,被稱作為“幀同步字”。如果幀頭的校驗(yàn)位為0,則幀頭后面有長度為2個(gè)字節(jié)的CRC校驗(yàn)值,把這個(gè)值和通過計(jì)算得出的CRC值進(jìn)行比較就可以得知該幀是否有效。對邊信息進(jìn)行解碼能夠找出主數(shù)據(jù)從哪里開始以及尺度因子長度等參數(shù)信息。

圖1 MP3幀結(jié)構(gòu)

1.2 解碼實(shí)現(xiàn)方式

根據(jù)解碼方式不同,解碼MP3文件可以采用軟件解碼和硬件解碼兩種方式[2]。

軟件解碼過程是通過解碼程序來實(shí)現(xiàn),這一程序依據(jù)解碼算法編寫,CPU執(zhí)行解碼程序后,就可以將音頻信號從MP3音頻文件中解析出來。該方案只需要開發(fā)者提供基本的硬件條件,對硬件要求不高。經(jīng)過解碼得到的MP3數(shù)據(jù)通過主控板的數(shù)模轉(zhuǎn)換功能就可以生成音頻信號,輸入功放后即可播放聲音。然而,如果有大量的MP3文件需要解碼,就需要占用大量的CPU時(shí)鐘,因此該方案對CPU性能要求相對高些。

硬件解碼過程就是將解碼算法過程硬件化。解碼模塊集成專用的解碼芯片,自動(dòng)對MP3文件的音頻信號進(jìn)行解析,獲取解碼頻率和解碼時(shí)間。這一方案的顯著優(yōu)點(diǎn)是解碼速度快,同時(shí)不需要占用CPU對音頻文件進(jìn)行處理,只需要把MP3數(shù)據(jù)流送入解碼模塊中,芯片就會(huì)自動(dòng)解碼。

由以上分析可以看出,通過硬件解碼方式能夠得到音質(zhì)較好的音頻信號[3],而軟件解碼中由于CPU性能和解碼算法中數(shù)據(jù)處理的優(yōu)化操作,導(dǎo)致其音頻信號會(huì)有損耗。文中采用硬件解碼MP3文件方式,使用具有SPI接口的專用MP3解碼芯片,同時(shí)保證了文件數(shù)據(jù)傳輸?shù)乃俣取?/p>

2 MP3播放器的總體設(shè)計(jì)

2.1 功能介紹

設(shè)計(jì)實(shí)現(xiàn)的MP3播放器具備以下功能:

1)支持對SD卡的訪問,能夠播放SD卡中的MP3文件;

2)在播放音頻文件時(shí),同步顯示MP3文件的歌曲名、播放時(shí)間以及聲音幅度的大小變化;

3)播放過程中,能夠?qū)Σシ盼募M(jìn)行上一曲、下一曲、循環(huán)等操作,以及對音效進(jìn)行改變;

4)可以顯示SD卡中的文件夾和文件,調(diào)節(jié)播放音量的大小。

2.2 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)

通過對MP3播放器系統(tǒng)的功能需求分析,可以將系統(tǒng)劃分為STM32F103RB核心處理[4]、SD卡音頻文件讀取、觸摸屏控制、LED控制、SPI控制、音頻數(shù)據(jù)控制、MP3音頻解碼播放等多個(gè)模塊,系統(tǒng)總體功能結(jié)構(gòu)如圖2所示。

圖2 MP3播放器系統(tǒng)總體結(jié)構(gòu)

3 MP3播放器的具體實(shí)現(xiàn)

3.1 主控程序設(shè)計(jì)

主控制程序的流程如圖3所示,系統(tǒng)開機(jī)后,依次按如下步驟執(zhí)行:

圖3 系統(tǒng)主控程序流程圖

1)對系統(tǒng)各個(gè)硬件模塊的初始化;

2)對FAT文件系統(tǒng)[5]的初始化。這里需要判斷初始化是否成功,如果不成功,系統(tǒng)則會(huì)一直檢索SD卡[6],直到檢測到能被系統(tǒng)識別的SD卡和文件系統(tǒng)為止。

3)查找系統(tǒng)文件。系統(tǒng)文件保持在SYSTEM文件夾下,該文件夾下又包括FONT子文件夾。FONT文件夾下包括FONT12.FON和FONT16.FON兩個(gè)字體文件。

4)根據(jù)用戶輸入,執(zhí)行相應(yīng)功能。SD卡中有用戶建立的MUSIC文件夾,其中存放著歌曲文件。用戶插上耳機(jī),根據(jù)顯示界面上的提示選擇相應(yīng)功能,即可聽到播放的歌曲。

3.2 硬件平臺選擇

STM32系列采用ARM Cortex-M3內(nèi)核,其功耗為36 mA,是市場上功耗最低的32位產(chǎn)品,相當(dāng)于0.5 mA/MHz[7],是專門為高性能、低成本、低功耗的嵌入式應(yīng)用而設(shè)計(jì)的。本項(xiàng)目實(shí)現(xiàn)過程中,采用STM32F103RB處理器。STM32系列處理器具有如下一些特點(diǎn):

1)內(nèi)核:32位ARM Cortex-M3 CPU,最高工作頻率為72 MHz,1.25 DMIPS/MHz。單周期乘法和硬件除法[8-10]。

2)存儲(chǔ)器:片上集成的Flash存儲(chǔ)器容量為32-512KB、SRAM存儲(chǔ)器容量為6-64KB[11]。

3)DMA:DMA控制器的通道數(shù)為12[12]。支持的外設(shè)有多種,例如定時(shí)器、ADC、DAC、I2C、USART和SPI等。

4)2個(gè)12位的微秒級的A/D轉(zhuǎn)換器(通道數(shù)為16):A/D測量范圍為0~3.6 V,雙采樣和保持能力。片上同時(shí)集成了一個(gè)溫度傳感器。

5)2通道 12位 D/A轉(zhuǎn)換器:STM32F103xC、STM32F103xD、STM32F103xE獨(dú)有。

6)多達(dá)13個(gè)通信接口:2個(gè)I2C接口(支持SMBus/PMBus),5個(gè) USART接口(支持 ISO7816、LIN、IrDA接口和調(diào)制解調(diào)控制),3個(gè)SPI接口(18 Mbit/s),其中2個(gè)可復(fù)用為I2S接口,CAN接口(2.0B),USB 2.0全速接口和SDIO接口。

3.3 硬件解碼模塊

硬件解碼過程通過解碼芯片VS1003來實(shí)現(xiàn)[13](如圖4所示)。輸入的比特流首先通過解碼芯片VS1003的串行接口來接收。輸入的比特流被解碼后,通過一個(gè)數(shù)字音量控制器到達(dá)一個(gè)過采樣立體聲DAC(18位)。VS1003模塊的初始化是通過XRST、XDCS、XCS、DREQ、SCK、SO、SI等7個(gè)引腳來實(shí)現(xiàn)的。VS1003芯片工作時(shí),首先進(jìn)行硬件復(fù)位,經(jīng)過延時(shí)處理后,再進(jìn)行軟件復(fù)位,等待DREQ信號為高;軟件復(fù)位結(jié)束后便可設(shè)置VS1003芯片,最后向VS1003發(fā)送4個(gè)字節(jié)無效數(shù)據(jù),啟動(dòng)SPI發(fā)送后,即可完成對VS1003芯片的初始化工作。

3.4 SD卡中音頻文件讀取

系統(tǒng)采用FAT文件系統(tǒng)管理SD卡。文件分配表FAT采用鏈?zhǔn)浇Y(jié)構(gòu),在FAT32文件系統(tǒng)中用于磁盤數(shù)據(jù)(文件)索引和定位。讀取SD卡文件時(shí),SD卡上的文件存取都是以簇為單位,首先根據(jù)文件名查找到該文件的目錄登記項(xiàng),然后根據(jù)目錄登記項(xiàng)中的簇號便可以讀取文件的全部內(nèi)容。在需要讀取SD卡中數(shù)據(jù)時(shí),使用的命令字為CMD17,接收正確時(shí)第一個(gè)響應(yīng)命令字節(jié)為0xFE,隨后是512字節(jié)的用戶數(shù)據(jù)塊,最后為2個(gè)字節(jié)的CRC校驗(yàn)碼。

圖4 VS1003硬件結(jié)構(gòu)圖

3.5 顯示模塊

1)TFT觸摸屏

系統(tǒng)采用2.4寸的TFT液晶屏,其分辨率為240*320,65K色,通過TI公司ADS7846觸摸屏控制芯片增添觸摸功能[14]。

2)觸摸屏工作原理

觸屏校準(zhǔn)是使用觸摸屏之前必須進(jìn)行的操作,通過采集觸摸屏上4個(gè)角的物理坐標(biāo),然后使用一定方法(如待定系數(shù)法)就可以算出坐標(biāo)系之間的平移關(guān)系。

3)uC/GUI顯示模塊

uC/GUI是一種圖形支持系統(tǒng),主要應(yīng)用于嵌入式環(huán)境,具有以下特點(diǎn)[15]:只要有合適的C編譯器提供支持,可以適用于任何8/16/32位CPU;只要有合適的LCD驅(qū)動(dòng)(小模式顯示時(shí)除外),可以適用于任何類型的液晶顯示,支持單色、灰度和彩色;所有接口支持使用宏進(jìn)行配制;可以定制顯示尺寸;字符和位圖對液晶顯示的起點(diǎn)沒有特別要求,可以從任意起點(diǎn)開始顯示。此模塊利用uC/GUI顯示播放器的界面,包括歌曲的名字、音量大小、上一曲、下一曲、循環(huán)、列表瀏覽等功能。

4)字庫設(shè)計(jì)

由于CPU的Flash存儲(chǔ)器容量只有512KB,無法一次把所有的字庫數(shù)據(jù)全部寫入到W25X16芯片。可以將這些數(shù)據(jù)分為5部分寫入,依次為:ASCII字符的寫入、GB2312字庫文件前半部分的寫入、GB2312字庫文件后半部分的寫入、unicode碼到oem碼轉(zhuǎn)換表[16]的寫入、oem碼到unicode碼轉(zhuǎn)換表的寫入。

4 結(jié)束語

本項(xiàng)目以STM32F103RB為核心控制器,結(jié)合VS1003音頻解碼器,設(shè)計(jì)實(shí)現(xiàn)了一個(gè)MP3播放器。STM32系列CPU擁有豐富的資源,基本不需要添加外部器件,可以通過軟件升級來增加產(chǎn)品的功能,性能提升非常方便。播放器系統(tǒng)采用觸摸屏控制,使得系統(tǒng)操作更為人性化,可以方便地控制整個(gè)系統(tǒng)。同時(shí)實(shí)現(xiàn)了MP3歌曲的播放、換歌、循環(huán)等功能,具有成本低、存儲(chǔ)容量大、擴(kuò)展性強(qiáng)、攜帶方便等優(yōu)點(diǎn),必將在智能汽車、智能家居等領(lǐng)域得到廣泛應(yīng)用。該系統(tǒng)實(shí)現(xiàn)了MP3播放器的主要功能,可以對一些輔助功能進(jìn)一步加以完善,例如增加鬧鐘、電子書等功能,以使得系統(tǒng)更具實(shí)用性。

[1]王星磊,于蓮芝,孫金,等.基于MP3編碼過程的音頻加密研究[J].信息技術(shù),2014(10):191-193.

[2]董寧.MP3編碼器算法原理研究[J].電子設(shè)計(jì)工程,2013,21(5):47-49.

[3]杜春雷.ARM體系結(jié)構(gòu)與編程[M].2版.北京:清華大學(xué)出版社,2015.

[4]肖俊生,周小鳳,左鴻飛.基于STM32的高爐爐身厚度監(jiān)測系統(tǒng)的設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2014,27(3):113-114,116.

[5]梁鐘麗.基于嵌入式平臺的文件系統(tǒng)研究[D].大連:大連海事大學(xué),2016.

[6]常亮亮,王廣龍,張成吉.基于SOPC的圖像采集與存儲(chǔ)系統(tǒng)設(shè)計(jì)[J].測控技術(shù),2012,31(11):11-14.

[7]周官喜.基于STM32低功耗云臺控制系統(tǒng)設(shè)計(jì)[D].青島:青島理工大學(xué),2012.

[8]馬忠梅,張子劍,張全新,等.ARM&Linux嵌入式系統(tǒng)教程[M].3版.北京:北京航空航天大學(xué)出版社,2014.

[9]徐成波,張常年.基于嵌入式Linux的移動(dòng)機(jī)器人控制系統(tǒng)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2014(7):24-27.

[10]陳永強(qiáng),陶品,王篤強(qiáng).嵌入式Linux移植[J].實(shí)驗(yàn)室研究與探索,2012,31(9):67-68,72.

[11]方海濤.高速低功耗嵌入式SRAM的設(shè)計(jì)[D].武漢:華中科技大學(xué),2012.

[12]李濤濤.基于PCIE的高速存儲(chǔ)系統(tǒng)設(shè)計(jì)[D].西安:西安電子科技大學(xué),2014.

[13]郝迎吉,關(guān)強(qiáng).基于VS1003解碼器的信號發(fā)生器[J].儀表技術(shù)與傳感器,2013(2):19-20,54.

[14]于春濤,馮奇,孫濤,等.基于TPS65105的TFT?LCD電源設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2013,36(18):155-156,163.

[15]楊存祥,張春蕾,龐永超.基于uC/GUI的虛擬儀表盤的設(shè)計(jì)[J].化工自動(dòng)化及儀表,2012,39(4):511-514.

[16]馮靈清,楊懷卿,劉宇晶.常用編碼方式及其格式轉(zhuǎn)換[J].計(jì)算機(jī)時(shí)代,2012(1):33-35.

猜你喜歡
嵌入式系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
電子制作(2019年7期)2019-04-25 13:17:14
嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
電子制作(2018年18期)2018-11-14 01:48:16
搭建基于Qt的嵌入式開發(fā)平臺
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
主站蜘蛛池模板: 亚洲精品视频网| 伊人婷婷色香五月综合缴缴情| 日日碰狠狠添天天爽| 成年人视频一区二区| 亚洲制服丝袜第一页| 毛片网站在线看| 2020亚洲精品无码| 一级在线毛片| 日韩经典精品无码一区二区| 日韩精品久久无码中文字幕色欲| 精品黑人一区二区三区| 日韩无码白| 国产成+人+综合+亚洲欧美| 成年午夜精品久久精品| 手机成人午夜在线视频| 亚洲国产日韩视频观看| 新SSS无码手机在线观看| 一级毛片在线播放| 任我操在线视频| 亚洲aaa视频| 午夜一级做a爰片久久毛片| 日韩无码视频网站| 色噜噜狠狠色综合网图区| 91精品啪在线观看国产60岁| 国产在线精品网址你懂的| 国产丰满成熟女性性满足视频| 久久99国产乱子伦精品免| AV无码一区二区三区四区| jizz亚洲高清在线观看| 日韩免费毛片| 亚洲开心婷婷中文字幕| 欧美啪啪精品| 91久久国产综合精品女同我| 日韩无码视频专区| 国产精品午夜福利麻豆| 露脸一二三区国语对白| 国产精品13页| 中美日韩在线网免费毛片视频| 国产成人在线无码免费视频| 丝袜美女被出水视频一区| 全午夜免费一级毛片| 精品视频在线一区| 国产成人精品日本亚洲| 国产成人a毛片在线| 久久精品国产精品一区二区| 国产日韩欧美在线播放| 在线播放91| 国产成本人片免费a∨短片| 国产精品女人呻吟在线观看| 人人爱天天做夜夜爽| 国产交换配偶在线视频| 国产丰满大乳无码免费播放| 在线视频精品一区| 亚洲啪啪网| 欧美五月婷婷| 2021精品国产自在现线看| 无码中文AⅤ在线观看| 久久久久亚洲AV成人人电影软件 | 国产在线观看精品| 无套av在线| 国产激情无码一区二区三区免费| 精品无码一区二区在线观看| 亚洲欧美一区二区三区蜜芽| 色婷婷狠狠干| 亚洲乱码在线播放| 免费A级毛片无码免费视频| 91亚洲国产视频| 欧美福利在线观看| 香蕉eeww99国产在线观看| 国产国产人成免费视频77777| 免费午夜无码18禁无码影院| 国产高颜值露脸在线观看| 久热这里只有精品6| 日韩欧美综合在线制服| 激情无码字幕综合| 亚洲成人在线免费| 亚洲美女高潮久久久久久久| 99在线观看免费视频| 国产国拍精品视频免费看| 国产欧美专区在线观看| 婷五月综合| 中文无码精品a∨在线观看|