《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于AU7842車(chē)載MP3播放器設(shè)計(jì)
基于AU7842車(chē)載MP3播放器設(shè)計(jì)
來(lái)源:微型機(jī)與應(yīng)用2011年第14期
石鑫焱, 曹成茂, 劉 權(quán), 畢如俊, 葛 俊
(安徽農(nóng)業(yè)大學(xué) 工學(xué)院 機(jī)電工程系, 安徽 合肥 230036)
摘要: 介紹了AU7842 解碼芯片在車(chē)載MP3播放器中的應(yīng)用,根據(jù)車(chē)載供電的特點(diǎn)設(shè)計(jì)電路,實(shí)現(xiàn)了省電模式下低功耗操作;利用I2C總線通信,控制AU7842芯片相應(yīng)的寄存器實(shí)現(xiàn)音頻文件的解碼,并通過(guò)軟件編程實(shí)現(xiàn)瀏覽播放、隨機(jī)播放等多樣化的播放模式,滿足不同的播放要求。結(jié)合音效處理,播放器可實(shí)現(xiàn)搖滾、爵士、流行等多種音效播放。
Abstract:
Key words :

摘  要: 介紹了AU7842 解碼芯片在車(chē)載MP3播放器中的應(yīng)用,根據(jù)車(chē)載供電的特點(diǎn)設(shè)計(jì)電路,實(shí)現(xiàn)了省電模式下低功耗操作;利用I2C總線通信,控制AU7842芯片相應(yīng)的寄存器實(shí)現(xiàn)音頻文件的解碼,并通過(guò)軟件編程實(shí)現(xiàn)瀏覽播放、隨機(jī)播放等多樣化的播放模式,滿足不同的播放要求。結(jié)合音效處理,播放器可實(shí)現(xiàn)搖滾、爵士、流行等多種音效播放。
關(guān)鍵詞: 車(chē)載MP3播放器;AU7842;低功耗;I2C總線

 AU7842是MVSILICON公司設(shè)計(jì)的一款集成了微控制器、MP3/WMA解碼器、USB主機(jī)控制器、SD/MMC卡控制器、16 bit音頻解碼器和一個(gè)紅外線解碼器的MP3/WMV音頻解碼芯片。在同一芯片上集成了MP3播放器所需要的全部關(guān)鍵解碼組件,只需少量的外圍元件,降低了布線要求,節(jié)省了成本。本文介紹用STC12C561624 AD通過(guò)I2C總線控制AU7842芯片,運(yùn)用軟件對(duì)寄存器的讀寫(xiě)操作,實(shí)現(xiàn)多種音效的MP3播放。     
1 I2C總線技術(shù)及AU7842芯片原理
1.1 I2C協(xié)議

 I2C總線作為同步串行數(shù)據(jù)輸出總線,由一條串行數(shù)據(jù)線(SDA)和一條串行時(shí)鐘線(SCL)組成。它是一個(gè)真正的多主機(jī)總線,如果2個(gè)或更多主機(jī)同時(shí)初始化數(shù)據(jù)傳輸可以通過(guò)沖突檢測(cè)和仲裁,防止數(shù)據(jù)被破壞。每個(gè)連接到總線的器件都可以通過(guò)唯一的地址和一直存在的簡(jiǎn)單的主機(jī)/從機(jī)關(guān)系軟件設(shè)定地址;主機(jī)可以作為主機(jī)發(fā)送器或主機(jī)接收器[1]。
1.2 AU7842芯片原理
 AU7842芯片是將在存儲(chǔ)器中以數(shù)字信號(hào)形式存儲(chǔ)的音樂(lè)解碼成可以播放的模擬信號(hào)。它可以解碼MP3和WMA兩種格式的音頻信號(hào)。工作原理如圖1所示。開(kāi)機(jī)后,單片機(jī)循環(huán)檢測(cè)解碼芯片周?chē)娐返膭?dòng)作。當(dāng)檢測(cè)到芯片外圍有存儲(chǔ)設(shè)備接入,單片機(jī)控制芯片直接訪問(wèn)存儲(chǔ)器里的內(nèi)容,讀取數(shù)據(jù)送入MP3/WMA解碼器,解碼得到的數(shù)字信號(hào)通過(guò)數(shù)模轉(zhuǎn)換器轉(zhuǎn)換成模擬信號(hào),經(jīng)模擬音頻放大和低通濾波,就可以聽(tīng)到音樂(lè)[2]。

 

 

 

2 硬件電路
2.1 電路設(shè)計(jì)

 根據(jù)車(chē)載MP3播放器的特點(diǎn)選STC12C5624 AD系列單片機(jī)。該單片機(jī)是臺(tái)灣宏晶公司推出的51增強(qiáng)型單片機(jī),其具有低功耗,計(jì)算速度快等特點(diǎn)。當(dāng)關(guān)閉MP3播放器時(shí),單片機(jī)進(jìn)入低功耗休眠狀態(tài),單片機(jī)切斷所有外圍模塊的供電。播放器需要工作時(shí),通過(guò)外部中斷喚醒單片機(jī)工作,這樣最大限度地減少功耗[3]。其計(jì)算速度是普通單片機(jī)的8~12倍。播放器電路圖如圖2所示。

 


2.2 外圍硬件模塊
 本文以STC12C5624AD單片機(jī)為核心,來(lái)控制其他模塊的工作。硬件模塊框圖如圖3示。

 (1)電源模塊:完成對(duì)整個(gè)MP3播放器的供電。電源模塊的電壓輸入端是發(fā)電機(jī)或蓄電池,電壓經(jīng)過(guò)開(kāi)關(guān)型集成穩(wěn)壓電路(LM2575/LM2576),得到的輸出電壓穩(wěn)定且紋波小[4]。
 (2)LCD模塊:顯示MP3播放時(shí)的曲目序號(hào)、播放的時(shí)間、文件的格式以及播放模式。
 (3)按鍵模塊:結(jié)合軟件可以實(shí)現(xiàn)控制MP3播放器的工作,如瀏覽播放、順序播放、隨機(jī)播放以及不同播放音效之間的切換等。
 (4)MP3模塊:讀取存儲(chǔ)設(shè)備(SD卡/U盤(pán))中的音頻文件(MP3/WMA),通過(guò)數(shù)模轉(zhuǎn)換將數(shù)字信號(hào)解碼成模擬信號(hào)。
 (5)音效模塊:音效模塊提供音效處理功能。來(lái)自MP3模塊的音頻信號(hào)經(jīng)過(guò)音效處理,能夠以爵士、搖滾、古典、流行等多種音效播放音樂(lè),帶給聽(tīng)眾很好的聽(tīng)覺(jué)感受。
 (6)其他:包括USB接口和SD接口等。
3 軟件設(shè)計(jì)
 MP3播放器受控于按鍵模塊,單片機(jī)循環(huán)檢測(cè)按鍵模塊按鍵的動(dòng)作,并通過(guò)軟件對(duì)相關(guān)的寄存器進(jìn)行讀寫(xiě)操作,實(shí)現(xiàn)MP3播放器相應(yīng)的功能。
3.1存儲(chǔ)設(shè)備讀取及切換
 單片機(jī)循環(huán)檢測(cè)芯片外圍電路電平的變化,判斷當(dāng)前是否有存儲(chǔ)設(shè)備插入,是否須進(jìn)行存儲(chǔ)設(shè)備之間的切換。通過(guò)軟件改變相應(yīng)標(biāo)志位的值,實(shí)現(xiàn)存儲(chǔ)設(shè)備的讀取或存儲(chǔ)設(shè)備的切換。讀取流程如圖4所示。

 MP3處理模塊子程序:
 if(mp3_start_flag==1)   /*初次插入設(shè)備*/
 {    ……
        mp3_flag=1;
                /*AU7842啟動(dòng)標(biāo)志位置位,開(kāi)始響應(yīng)*/
      currentchannel=0x01;    
  if(Current_PlayDev==1)           /*檢測(cè)到USB接口有存儲(chǔ)
                                                 設(shè)備接入*/
  { ……                        
  Play_BreakPoint_USB(1);  
               /*讀取USB存儲(chǔ)設(shè)備中的數(shù)據(jù) */
  }                                    
  else if(Current_PlayDev==2)    
          /*檢測(cè)到SD接口有存儲(chǔ)設(shè)備接入*/
  { ……
  Play_BreakPoint_SD(1);   /*讀取SD卡中的數(shù)據(jù)*/
  }                                 
           }                                   /* */
  if((Dev_Status!=0)&&(Current_DevStatus!=Dev_Status)&&(Current_DevStatus==DEV_USB_SD))
                                                 /*后設(shè)備的啟動(dòng)播放*/
  {  ……
  if(Current_PlayDev==DEV_USB)
          /*正在播放的USB存儲(chǔ)器*/
        { DEV_Change_Flag=1;          /*切換標(biāo)志位置位*/
  uart_putc(0x55);
    uart_putc(0x00);
  uart_putc(0xFF);
  uart_putc(0x15);
  uart_putc(0xEA);    
     ……                
  Play_BreakPoint_SD(1);
      /*切換到從SD卡播放*/
  }
 else if(Current_PlayDev==
    DEV_SD) /*正在播放的是SD卡*/
  {  DEV_Change_Flag=1;     /*切換標(biāo)志位置位*/
        uart_putc(0x55);                  
          uart_putc(0x00);
          uart_putc(0xFF);
          uart_putc(0x1B);
          uart_putc(0xE4);                      
     ……                
      Play_BreakPoint_USB(1);  
 /*切換到從USB存儲(chǔ)器播放*/
               }
           }
3.2掉電記憶功能
 為滿足使用的要求,車(chē)載MP3播放器應(yīng)具有掉電記憶功能。掉電記憶功能可實(shí)現(xiàn)MP3播放器在掉電或關(guān)機(jī)后,上次各種設(shè)定值(如音量、音效、播放模式等)不會(huì)因斷電而復(fù)位,在下一次開(kāi)機(jī)時(shí)不需重新設(shè)定,可以直接調(diào)用上次設(shè)定值。記憶流程如圖5所示。

  掉電記憶子程序:
  void Save_Data(void)  /*定義掉電記憶函數(shù)*/
   {  Wirte_EEPROM(0x06db,vol_val);
        /*記憶掉電前音量設(shè)定值*/
   Wirte_EEPROM(0x06dc,bass_val);
 /*記憶掉電前低音設(shè)定值*/
Wirte_EEPROM(0x06dd,tre_val);
/*記憶掉電前高音設(shè)定值*/
Wirte_EEPROM(0x06de,loud_val);
 /*記憶掉電前低音設(shè)定值*/
Wirte_EEPROM(0x0700,Save_USB_Song1);
 /*記憶掉電前USB曲目順序號(hào)*/
     … …
  Wirte_EEPROM(0x0703,Save_USB_Min1);
/*記憶掉電前USB中正在播放曲目的播放時(shí)間*/
        … …
  Wirte_EEPROM(0x0707,Save_SD_Song1);
                /*記憶掉電前SD中正在播放的曲目順序號(hào)*/
          … …
  Wirte_EEPROM(0x070a,Save_SD_Min1);}
            /*記憶掉電前USB中正在播放曲目的播放時(shí)間*/
    本文設(shè)計(jì)的車(chē)載MP3播放器,在MP3音頻文件存儲(chǔ)設(shè)備方面有較大的突破,新型大容量存儲(chǔ)設(shè)備(SD卡等)取代了傳統(tǒng)卡帶存儲(chǔ),并能夠以多種音效播放。系統(tǒng)操作簡(jiǎn)便, MP3播放性能良好。為保證播放器穩(wěn)定工作,實(shí)驗(yàn)?zāi)M汽車(chē)行駛狀況[5]:將播放器分別置于零下40℃和60℃環(huán)境中進(jìn)行極限溫度試驗(yàn)并置于四度一體空間振動(dòng)試驗(yàn)臺(tái)上進(jìn)行振動(dòng)測(cè)試,播放器長(zhǎng)時(shí)間運(yùn)行,各項(xiàng)功能穩(wěn)定,播放性能良好。該款播放器已經(jīng)成功應(yīng)用在某些品牌工程車(chē)上。
參考文獻(xiàn)
[1] 譚昭禹,顏永紅,馬勛.音頻子系統(tǒng)中的I2C接口電路設(shè)計(jì)[J]. 微計(jì)算機(jī)信息,2008,24(26):252-254.
[2] Shanghai Mountain View Silicon Technology Co Ltd. AU7842 USB HOST MP3/WMA DECODER SOC[DB/OL], 2007,6.
[3] 邸春芳.車(chē)載MP3的應(yīng)用設(shè)計(jì)[J]. 計(jì)量與測(cè)試技術(shù),2008,35(9);36-38.
[4] 李文.一種新型5 V大功率開(kāi)關(guān)穩(wěn)壓電源[J].微電子學(xué),2003,33(1):74-77
[5] GRAZIANO M, ROCH M R R. An automotive CD-player electro-mechanics fault simulation using VHDL-AMS[J]. Journal of Electronic Testing, 2008(6): 539-553.
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。