亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        ATmega328p的音頻信號最小系統(tǒng)播放器設(shè)計*

        2016-06-24 02:36:56邢方誠王素珍宗衛(wèi)華王濤

        邢方誠,王素珍,宗衛(wèi)華,王濤

        (青島大學 電子信息學院,青島 266071)

        ATmega328p的音頻信號最小系統(tǒng)播放器設(shè)計*

        邢方誠,王素珍,宗衛(wèi)華,王濤

        (青島大學 電子信息學院,青島 266071)

        摘要:介紹了一種音頻信號最小系統(tǒng)播放器。利用ATmega328p單片機作為主控芯片,VS1003音頻解碼芯片負責音頻解碼,外接SD卡作為存儲介質(zhì),使用SSD1306液晶屏作為顯示。該系統(tǒng)音質(zhì)高、成本低、功耗低、體積小,是一種低成本、高品質(zhì)的MP3播放器解決方案。

        關(guān)鍵詞:ATmega328p;MP3播放器;SD卡;VS1003;SSD1306

        引言

        Arduino是一款便捷靈活、方便上手的開源電子原型平臺,包含硬件(各種型號的Arduino板)和軟件(Arduino IDE),適用于愛好者、藝術(shù)家、設(shè)計師和對于“互動”有興趣的朋友們。Arduino具有開放源代碼的USB接口Simple I/O接口板(包括12通道數(shù)字GPIO、4通道PWM輸出、6~8通道10位 ADC輸入通道),并且具有使用類似Java、C語言的IDE集成開發(fā)環(huán)境。Arduino具有完全免費、開源的軟件庫,用戶可以根據(jù)自己的需求進行修改。自1998年第一臺MP3隨身聽Saehan MPman F10誕生以來,MP3播放器以其便攜性、高品質(zhì)的音質(zhì),贏得了用戶的青睞。本文使用Arduino開發(fā)板設(shè)計一種最小硬件系統(tǒng)音頻播放器設(shè)計方案,在保證音質(zhì)的同時還具有設(shè)計簡單、成本低的優(yōu)點、非常適合讀者自己動手制作。

        1系統(tǒng)的硬件設(shè)計

        圖1 系統(tǒng)結(jié)構(gòu)框圖

        本系統(tǒng)的硬件部分主要由ATmega328p控制器、VS1003解碼模塊、液晶顯示模塊、SD卡和按鍵組成,系統(tǒng)結(jié)構(gòu)框圖如圖1所示。將音頻信號轉(zhuǎn)換為MP3格式,存放在SD卡上。由ATmega328p作為主控制器,控制音頻信號從SD卡讀取,送到VS1003解碼模塊,進行解碼處理,通過VS1003的內(nèi)部高品質(zhì)可變采樣率的ADC和立體聲DAC,發(fā)送給耳機放大器。音頻播放的內(nèi)容和曲目通過SSD1306的128×64的點陣式OLED液晶屏顯示,通過按鍵控制可以對曲目進行選擇。系統(tǒng)的模塊通過硬件SPI總線連接,所有模塊共享SCLK、MOSI、MISO3根引腳,每個模塊的片選信號CS需要單獨連接到單片機的不同引腳上。

        1.1Arduino控制器

        本系統(tǒng)的控制器采用ATmega328p作為主控制器。ATmega328p是一款高性能、低功耗的AVR 8位微控制器,采用RISC結(jié)構(gòu),擁有131條指令,絕大多數(shù)為單時鐘執(zhí)行,包括32個8位通用工作寄存器。全靜態(tài)工作于16 MHz時,性能高達16 MIPS,只需兩個時鐘周期就能完成硬件乘法器運算。它具有非易失性程序和數(shù)據(jù)存儲器,32 KB的系統(tǒng)可編程Flash,擦寫壽命為100 000次;具有獨立定位的可選Boot代碼區(qū),通過片上Boot程序?qū)崿F(xiàn)系統(tǒng)內(nèi)編程,真正地同時進行讀寫操作;1024字節(jié)的EEPROM,擦寫壽命為100 000次;2 KB的片內(nèi)SRAM,可以對鎖定位進行編程以實現(xiàn)用戶程序的加密。采用TQFP32貼片封裝的ATmega328p,芯片尺寸僅為7 mm×7 mm。

        1.2VS1003解碼芯片

        VS1003是一個單片MP3/WMA/MIDI音頻解碼器和ADPCM編碼器。它包含一個高性能、低功耗DSP處理器核VS_DSP;工作數(shù)據(jù)存儲器為用戶應(yīng)用提供5 KB 的指令RAM 和0.5 KB 的數(shù)據(jù)RAM;串行的控制和數(shù)據(jù)接口,4個常規(guī)用途的I/O 口,1個UART;1個高品質(zhì)可變采樣率的ADC和立體聲DAC;1個耳機放大器和地線緩沖器。

        圖2 VS1003與控制器接口

        VS1003與控制器的連接如圖2所示.其中miso、mosi、sclk與控制器的硬件SPI引腳連接;xrst為硬件復位引腳,低電平有效;dreq為數(shù)據(jù)請求引腳,VS1003內(nèi)建一個32字節(jié)的FIFO,當VS1003的FIFO在能夠接受數(shù)據(jù)時,dreq輸出高電平,此時應(yīng)當向其發(fā)送新的數(shù)據(jù);xcs為片選輸入信號;xdcs為數(shù)據(jù)片選信號,可以將其理解為命令/數(shù)據(jù)選擇信號。在向VS1003發(fā)送音頻數(shù)據(jù)時,需要將xdcs拉低,數(shù)據(jù)發(fā)送完成后再將其拉高。而向VS1003發(fā)送寄存器數(shù)據(jù)時,應(yīng)將xdcs拉高,數(shù)據(jù)發(fā)送完成后再將其拉低。本設(shè)計中采用了硬件SPI,提高了通信速度,同時使用Arduino自帶的SPI庫,大大降低了編程難度。

        圖3 SD卡引腳定義

        1.3SD卡

        本設(shè)計采用SD卡的SPI模式進行讀寫操作,可以支持SD卡和SDHC存儲卡,使用Kingmax的2 GB SD卡順利地通過了測試。SD卡的引腳定義如圖3所示,在SPI模式下,其DI、DO、SCLK引腳分別連接至控制器的硬件SPI引腳上,CS片選信號單獨與控制器的一個引腳連接。

        1.4液晶顯示模塊

        圖4    SSD1306與控制器   SPI接口

        鑒于ATmega328p的輸入/輸出引腳數(shù)量比較有限,采用了支持SPI讀寫方式的SSD1306液晶顯示器。SSD1306是一款128×64的點陣式OLED液晶屏顯示模塊,具有亮度高、功耗低等特點,在SPI模式下僅需4根線即可與控制器通信,較適合于本系統(tǒng)。如圖4所示,SSD1306的SCK、MOSI引腳分別與控制器的硬件SPI引腳連接,片選信號CS和數(shù)據(jù)命令選擇信號DC單獨與控制器的兩個引腳連接。

        2系統(tǒng)的軟件設(shè)計

        2.1Arduino IDE開發(fā)環(huán)境

        軟件設(shè)計使用Arduino官方的IDE開發(fā)工具進行,開發(fā)者具有一定的C語言基礎(chǔ)便可快速上手。IDE開發(fā)環(huán)境自帶串口通信工具,為調(diào)試程序帶來了方便。本設(shè)計的程序流程圖如圖5所示。系統(tǒng)上電后首先進行一系列的初始化操作,包括VS1003初始化、OLED初始化、SD卡初始化。之后進行SD卡檢測操作,包括卡的類型、剩余容量等。執(zhí)行初始化操作時若出現(xiàn)錯誤,系統(tǒng)會立即停止運行,并顯示錯誤信息;若啟動正常,系統(tǒng)將讀取SD卡根目錄下的第一首MP3格式的文件,解析其文件大小、歌曲時間及歌名等信息,然后調(diào)用顯示程序執(zhí)行顯示操作。之后調(diào)用播放子程序開始音樂播放,在此期間若有按鍵按下,則轉(zhuǎn)至按鍵處理程序,調(diào)整相關(guān)參數(shù)后(歌曲切換、音量控制)繼續(xù)播放。

        圖5 主程序流程圖

        2.2播放程序設(shè)計

        為了保證播放的流暢性,VS1003內(nèi)建32字節(jié)的緩沖區(qū),當緩沖區(qū)需要數(shù)據(jù)時會通過DREQ引腳輸出高電平。本設(shè)計中,當控制器檢測到DREQ為低電平時,執(zhí)行其他操作;當檢測到DREQ為高電平時,控制器會立即讀取新的32字節(jié)的音頻數(shù)據(jù),并將其發(fā)送給VS1003,依次循環(huán)。主要程序如下:

        while (1){

        while (digitalRead(MP3_DREQ) == LOW){

        vol_set();

        song_set();

        }

        if(!file.read(mp3DataBuffer, sizeof(mp3DataBuffer))){

        break;

        }

        digitalWrite(MP3_XDCS, LOW);

        for (int y = 0 ;y

        SPI.transfer(mp3DataBuffer[y]);

        // Send SPI byte

        }

        digitalWrite(MP3_XDCS, HIGH);

        }

        2.3歌曲信息提取子程序

        本設(shè)計可以支持對ID3V2版本MP3文件的信息顯示,包括歌曲的文件名、文件大小、時間、碼率,通過讀取MP3文件的標簽幀和音頻幀來實現(xiàn),程序流程圖如圖6所示。其中標簽幀大小通過公式FSize = Size[0]×0x100000000+Size[1]×0x10000+Size[2]×0x100 + Size[3]求得,歌曲時間通過公式total_time=file_size×8/(float(decoding_rate)×1000)求得。

        圖6 歌曲信息子程序流程圖

        結(jié)語

        系統(tǒng)上電后首先檢測SD卡信息,將卡類型、總大小、剩余大小通過液晶屏顯示出來,如圖7所示。音頻播放界面如圖8所示,從上到下依次為歌名、歌曲時間、文件大小、音量大小和碼率。

        圖7 SD卡檢測界面

        圖8 音頻播放界面

        參考文獻

        [1] VLSI 公司.VS1003-MP3/WMA AUDIO CODE 數(shù)據(jù)手冊[EB/OL].[2015-12].http//download.csdn.net/detail/zhongpai/4392299.

        [2] VLSI公司.VS1003 中文說明書[EB/OL].[2015-12].http://wenku.baidu.com.

        [3] Michael McRoberts.Arduino從基礎(chǔ)到實踐[M].楊繼志,郭敬,譯.北京:電子工業(yè)出版社,2013.

        [4] 江思敏,陳明.Protel電路設(shè)計教程[M].北京:清華大學出版社,2006.

        [5] 王賓,楊岸.基于DSP的觸摸式MP3的設(shè)計[J].電子技術(shù)應(yīng)用,2010(7):81-83.

        [6] 李世奇,董浩斌,李榮生,等.基于FatFs文件系統(tǒng)的SD卡存儲器設(shè)計[J].測控技術(shù),2011,30(12):79-81.

        邢方誠(研究生)、王素珍(教授)、王濤(副教授),研究方向為可編程邏輯器件在通信及信號處理中的應(yīng)用;宗衛(wèi)華(副教授),研究方向為無線電磁波在天線制作中的應(yīng)用。

        (責任編輯:薛士然收修改稿日期:2015-01-14)

        Audio Minimum System Player Based on ATmega328p

        Xing Fangcheng,Wang Suzhen,Zong Weihua,Wang Tao

        (College of Electronic Information,Qingdao University,Qingdao 266071,China)

        Abstract:In the paper,an audio player is proposed,which takes ATmega328p microcontroller as the main control chip,VS1003 audio decoder chip for audio decoding,external SD card as the storage medium,and SSD1306 LCD screen for displaying.This system has the characteristics of high quality,low-cost,low-power consumption and compact size.It is a good solution of MP3 player.

        Key words:ATmega328p;MP3 player;SD card;VS1003;SSD1306

        * 基金項目:國家自然科學基金委員會資助項目,青年科學基金資助項目(61501277)。

        中圖分類號:TN915.04

        文獻標識碼:A

        人妻少妇精品视频一区二区三区| 白白色视频这里只有精品| 91偷拍与自偷拍亚洲精品86| 久久久久久自慰出白浆| 奇米影视777撸吧| 夜夜被公侵犯的美人妻| 久久国产高潮流白浆免费观看| 日本一区二区三级免费| 一区二区三区无码高清视频| 成人美女黄网站色大免费的| 波多野吉衣av无码| 欧美综合自拍亚洲综合百度| 亚洲av手机在线观看| 国产亚洲精品久久久久5区| 国产免费av片无码永久免费| 亚洲肥老太bbw中国熟女| 亚洲av综合色区无码一区| 亚洲春色在线视频| www插插插无码视频网站| 久久亚洲精品一区二区| 女同一区二区三区在线观看 | 全免费a级毛片免费看无码| 亚洲精品成人网线在线播放va| 中年人妻丰满AV无码久久不卡| 在线视频一区二区观看| 亚洲乱码中文字幕综合久久 | 日本老熟妇乱| 无码av免费永久免费永久专区| 黄网站a毛片免费观看久久| 亚洲中文字幕久久精品色老板| 国产成人精品2021| 一本一本久久a久久精品综合麻豆| 好爽~又到高潮了毛片视频| 极品少妇高潮在线观看| 国产猛男猛女超爽免费视频| 久青草久青草视频在线观看| 国产精品亚洲ΑV天堂无码| 国产在线观看一区二区三区av| 国产午夜免费高清久久影院| 久久无码人妻精品一区二区三区 | 极品美女aⅴ在线观看|