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

基于STC單片機WAVE音樂播放器的設計與實現

2015-05-30 05:11:47劉垣李外云趙嘉怡
科技創新與應用 2015年34期

劉垣 李外云 趙嘉怡

摘 要:目前市場上便攜式的WAVE播放器大部分基于32位處理器,其資源利用率較低,而且價格偏高。針對上述情況,文章充分利用8位STC15系列單片機的串行外圍設備SPI接口和脈寬調制PWM輸出等功能,結合開源的FatFS文件系統,完成對SD卡上存儲的WAVE音頻文件進行讀取、DAC轉換,然后通過有源低通濾波器,實現對WAVE音頻文件的播放。實驗結果表明本文設計的WAVE播放器不僅硬件電路簡單,成本低廉,而且播放效果完全達到CD音質級別。

關鍵詞:STC15單片機;WAVE播放;SD卡;Petit Fat文件系統

引言

隨著電子技術的發展,數字音頻應用系統在我們現實生活中隨處可見,比如電梯、商場、電子玩具、報警器等。數字音頻技術的基本原理和處理方法就是采用ADC(Analog-to-Digital Converter)模/數轉化,對模擬的音頻信號進行采樣、量化、編碼,然后轉換成數字化的音頻數據和文件進行保存。在播放時,再將數字化的音頻數據經過DAC(Digital-to-Analog Converter)數/模轉換,恢復到模擬信號形式由發生器件播放出來。目前市場上便攜式的WAVE音樂播放器大部分基于32位處理器,其資源利用率較低,價格偏高。而本設計充分利用8位STC15系列單片機的PWM功能對WAVE文件的采樣數據進行DA轉化方便得實現了WAVE音頻文件的播放。

1 系統硬件

本系統采用STC15F2K60S2型號的單片機,以單片機為核心控制整個系統。利用單片機的SPI接口實現與SD卡物理接口的通信,完成SD卡上WAVE音頻文件的讀取,再將得到的采樣數據通過單片機的PWM功能進行DA轉換,經過低通濾波器實現模擬音頻數據的輸出。

1.1 系統硬件組成

本系統的組成框圖如圖1所示,硬件結構主要包括單片機最小系統[1]、SD卡接口電路、按鍵電路、低通濾波電路和耳機接口幾部分。其中單片機與SD卡的通信采用SPI接口方式,STC單片機為主機,SD卡為從機;STC單片機PCA模塊輸出的PWM信號通過低通濾波器最終連接到耳機接口;單片機的I/O口連接4×1獨立按鍵,用于控制和選擇音頻數據文件的播放。

要實現WAVE音頻文件的讀取,并且實現高質量播放效果,SD卡接口電路和有源低通濾波電路是最為關鍵的兩部分,下面將對其進行重點介紹。

1.1.1 SD卡接口電路

SD卡具體的接口電路如圖2所示。SD卡規范[2]規定了SD卡的工作電壓為3.3 V(2.7~3.6V),因此采用電源穩壓芯片AMS1117-3.3將5V電源轉換到3.3V供SD卡使用。電阻R4~R9組成了3個分壓電路,用于將STC的5V引腳輸出電平轉換成3.3V。此時SD卡才可以正常工作。

硬件設計好之后還需要實現SD卡的接口驅動。接口驅動的實現是通過單片機的SPI總線編程。SPI總線是一個面向字節的全雙工4線串行通信接口。SPI總線系統包括一個主機和一個從機,雙方之間通過4根信號線相連,分別是:主機輸出/從機輸入(MOSI),主機的數據傳入從機的通道;主機輸入/從機輸出(MISO),從機的數據傳入主機的通道;同步時鐘信號(SCLK),同步時鐘是由SPI主機產生的,并通過該信號傳送給從機,主機與從機之間的數據接收和發送都以該同步時鐘信號為基準進行;從機選擇(SS),該信號由主機發出,從機只在該信號有效時響應SCLK的時鐘信號開始通信。

SPI通信的本質是在同步時鐘作用下進行串行移位,其通信的工作模式和時序在SPI總線規范[3]中進行了詳細的描述。根據SD卡總線時序[4],并針對STC15F2K60S2型號單片機,本系統實現了以下幾個驅動函數,分別為初始化函數、接收字節函數和發送字節函數。

1.1.2 有源低通濾波電路

有源低通濾波電路由集成運放和無源元件電阻和電容構成。它的功能是允許從零到某個截止頻率的信號無衰減地通過,而對其他頻率的信號有抑制作用。

本系統設計的有源低通濾波電路為二階低通濾波電路[5],其通帶放大倍數與一階電路相同,可由公式(1)得到。衰減斜率達每十倍頻40dB。由于運放電路中的電阻不宜選擇過大或過小,一般為幾千歐至幾十千歐較合適,因此低通濾波電路的電阻值R1=14K?贅,R2=10K?贅,電容值C1=1nF,C2=1nF。將電阻電容值帶入公式(2)得到該有源低通濾波器的截止頻率約為13kHz。為了減少輸入偏置電流及其漂移對電路的影響,應使R1+R2=R3//R4,這里取R3=68K?贅,R4=39.8K?贅。將電阻R3、R4的阻值帶入公式(1)可得到通帶增益為1.58。

1.2 PWM方式DAC轉換

PWM是脈沖寬度調制的簡稱。一個典型PWM的波形如圖3所示,圖中T是PWM波的周期,T1是高電平的寬度,VCC是高電平值。當該PWM信號通過一個低通濾波器后,可以得到其輸出的平均電壓為V,如公式(3)所示

V=VCC×T1/T (3)

公式中:T1/T稱為PWM波的占空比。控制T1的寬度,即可改變PWM的占空比,得到不同的平均輸出電壓。因此,在實際應用中,常利用PWM波的輸出實現D/A轉換。

STC15系列單片機的PCA模塊要想實現PWM模式需要設定相關的寄存器。主要的寄存器有CMOD定時/計數器工作模式寄存器、CCON定時/計數器控制寄存器、CCAPMn比較/捕獲模式控制寄存器,每個寄存器的具體定義可參考STC15F2K60S2的官方數據手冊。要設置PCA模塊的PWM模式,CCAPMn寄存器的PWMn和ECOMn位必須置位,PCA模塊的時鐘源頻率選擇11.2896MHz,產生的PWM頻率為44.1kHz,其計算公式為

fpwm=Sclk/256 (4)

由于PCA模塊產生的PWM頻率是恒定的44.1kHz,因此,播放44.1kHz的音頻時,每個采樣點播放一次。當播放8kHz的音頻時,每個采樣點則以44.1kHz的頻率平均播放了5.5次,這樣保證了PWM產生的高頻噪聲總在44kHz以上,使濾波后的模擬信號更加平滑,以獲得更好的音頻輸出效果。

本設計為了讀取不同采樣頻率的WAVE文件(包括8K、22.1K、44.1K三個頻率),還需要一個定時器實現不同采樣頻率的播放。該定時器設置為16位自動重載模式,其中斷間隔是可調整的。在開始讀取準備播放的WAVE文件時,程序將讀取該文件的采樣頻率參數,自動調整定時器T0的中斷頻率與其相同,并在中斷服務程序中將下一個音頻數據更換到CCAPOH和CCAPOL寄存器中,這樣就保證了音頻數據的同步播放。

2 系統軟件設計

本系統軟件設計主要包括三個部分,分別是文件系統移植、SD卡操作命令、上層應用程序控制。

2.1 文件系統移植

PC機上可以直接寫入數據文件到SD卡,而嵌入式系統讀取數據則必須通過建立文件系統來讀取。本設計使用了一個免費的文件系統PetitFatFS(PetitFATFileSystemModule)。它是一位日本嵌入式工程師編寫的通用軟件模塊,它與FAT文件系統兼容。他的個人網站提供了用C語言編寫的源代碼以及在不同硬件平臺上移植與使用的實例。

本系統設計移植了AVR版本的PetitFatFS文件系統到STC15單片機上,由于PetitFatFS文件系統是通用的,所以它不依賴于底層模塊。底層I/O模塊不是PetitFatFS文件系統的一部分,因此,底層讀取物理存儲介質的函數必須由用戶編寫。主要的函數有兩個,第一個是disk_intialize函數,用于存儲介質的初始化;第二個是disk_readp函數,用于讀取SD卡的一個扇區,是磁盤操作的核心函數。

2.2 SD卡操作命令

在建立了SD卡物理接口層SPI的基礎上,僅僅可以實現簡單的面向字節的數據通道。SD卡規范制定了一組建立在SPI總線上的SD卡操作命令,通過發送不同的操作命令可以實現對SD卡的復位、初始化以及讀寫操作。其具體的命令格式和命令應答字格式參考SD卡規范。

針對SD卡的操作命令時序,首先要對SD卡實施上電復位操作,復位操作時SCLK的時鐘頻率應該在400kHz以下。SD卡在上電后默認采用SDIO接口方式,在CS高電平的情況下,先通過SCLK送72個以上的時鐘信號到SD卡,等待SD卡內部工作電源穩定,以完成SD卡的時鐘與SCLK的同步。然后拉低片選CS,發送復位命令CMD0,此時SD卡自動轉換成SPI接口方式。STC單片機開始接收SD卡的應答字,如果收到0x01,表示SD卡上電復位成功。接著進行SD卡的初始化操作,需要使用CMD55+ACMD41兩條命令,當單片機收到0x00的應答后,整個SD卡初始化工作完成。完成SD卡的初始化后,就可以通過CMD指令對SD卡進行讀寫操作了。

2.3 主函數控制

關于主函數部分,包括了STC15單片機定時器與PCA模塊的初始化、中斷處理函數、按鍵控制、音頻wav的解析和音頻數據的讀取與播放。

如圖4所示為主程序和中斷服務程序的流程圖,程序運行過程如下:

3 系統測試及結論

通過Keil開發環境對程序進行編譯和鏈接,將生成的hex文件下載到目標硬件平臺運行。通過測試發現,該系統能完成8K、22.1K、44.1K三個采樣頻率WAVE文件的播放,播放效果可以達到CD音質。相比于32位微處理器該WAVE音樂播放器硬件電路簡單,成本低廉,具有很大的實用參考價值。

參考文獻

[1]李全利.單片機原理及應用技術[M].北京:高等教育出版社,2001.

[2]童詩白,華成英.模擬電子技術基礎[M].北京:高等教育出版社,2000.

[3]Elm-chan.PetitFATFileSystemModule[EB/OL].(2014-06-10)[2015-01-04]http://elm-chan.org/fsw/ff/00index_p.html.

[4]STC15F2K60S2MCUUser'smanual[EB/OL].(2014-07-02)[2015-01-04]http://www.stcmcu.com/datasheet/stc/STC-AD-PDF/STC15.pdf

[5]馬潮.AVR單片機嵌入式系統原理與應用實踐[M].北京:北京航空航天大學出版社,2007.

主站蜘蛛池模板: 国产无码制服丝袜| 亚洲精品不卡午夜精品| 国产99久久亚洲综合精品西瓜tv| 九九久久精品国产av片囯产区| 一本视频精品中文字幕| 在线观看热码亚洲av每日更新| 欧美精品成人一区二区视频一| 亚洲二三区| 99热这里只有精品5| 国产精品亚洲综合久久小说| 国产第一色| 亚洲系列中文字幕一区二区| 91精品视频播放| 久久免费视频6| 99视频在线免费看| 国产精品真实对白精彩久久 | 激情无码视频在线看| 99国产精品免费观看视频| 国产欧美日韩另类| 狠狠色丁香婷婷综合| a亚洲天堂| 18禁黄无遮挡网站| 亚洲成a∧人片在线观看无码| 国产精品极品美女自在线| 四虎精品国产AV二区| 114级毛片免费观看| 精品一区二区三区水蜜桃| 色综合中文字幕| a毛片基地免费大全| 青青草综合网| 久久福利片| 久久精品人人做人人爽电影蜜月| 成人av专区精品无码国产| 色屁屁一区二区三区视频国产| 欧美视频免费一区二区三区| 国产91在线免费视频| 韩日午夜在线资源一区二区| 99精品伊人久久久大香线蕉| 精品在线免费播放| 暴力调教一区二区三区| 国产福利小视频在线播放观看| 香蕉eeww99国产精选播放| 被公侵犯人妻少妇一区二区三区| 伊人大杳蕉中文无码| 国产亚洲高清视频| 亚洲综合婷婷激情| 欧美第九页| 欧美三级视频在线播放| 五月天综合网亚洲综合天堂网| 重口调教一区二区视频| 久久频这里精品99香蕉久网址| 精品国产成人高清在线| 青青青国产视频手机| 亚洲成a人片| 在线观看国产黄色| 一级做a爰片久久毛片毛片| 久久久久九九精品影院| 国产精品人人做人人爽人人添| 女高中生自慰污污网站| 亚洲美女一区| 国产三级成人| av尤物免费在线观看| 久久精品人人做人人爽| 国产va在线| 国产伦片中文免费观看| 日韩大乳视频中文字幕| 99视频在线观看免费| 国产欧美视频综合二区| 91精品国产一区自在线拍| 免费aa毛片| 美女一级毛片无遮挡内谢| 五月婷婷丁香综合| 欧美综合中文字幕久久| 亚洲一区无码在线| 亚洲综合色吧| 超清无码一区二区三区| 91青青视频| 精久久久久无码区中文字幕| 伊人久久久久久久久久| 国产亚洲精品自在久久不卡| 制服丝袜一区| 免费国产在线精品一区|