摘 要: 介紹了新型數字多媒體存儲式智能車載音響系統的解決方案。采用高效率的開關電源實現了省電模式下低功耗操作。單片機通過I2C總線控制收音、MP3解碼、音效處理芯片相應的寄存器,分別實現數字調頻立體收音、音頻解碼、音效處理功能。該系統融入了智能自檢、異常應錯機制,實現了記憶操作及MP3續播功能,且優化了用戶操作及視聽感受。
關鍵詞: 車載音響;開關電源;低功耗;I2C總線
隨汽車電子技術的迅速發展,車載音頻領域正在經歷一個前所未有的技術變革,使用者對車載音頻提出了功能多樣化、操作人性化的要求,主要包括以下三個方面[1]:(1)具備更好的電臺接收效果以及更簡便的數字式調臺操作;(2)支持多種外加存儲設備,如支持大容量的U盤和SD卡等;(3)提供更加豐富的音效處理,如高音、重低音、等響度、平衡度等的調節以及提供流行、搖滾、爵士、古典等音效處理。以這些需求為出發點,設計了一款數字車載音響系統。
1 I2C協議
I2C總線作為同步串行數據輸出總線,由一條串行數據線(SDA)和一條串行時鐘線(SCL)組成。它是一個真正的多主機總線,如果多個主機同時進行初始化數據傳輸,可以通過沖突檢測和仲裁防止數據被破壞。每個連接到總線的器件都可以通過唯一的地址和一直存在的簡單的主機/從機關系軟件設定地址。主機可以作為主機發送器或主機接收器。
2 硬件電路
2.1 電路設計
根據車載音響系統的特點,設計選用STC12C5624AD系列單片機,它是宏晶公司推出的51增強型單片機,具有低功耗、計算速度快等特點。當關閉音響系統時,單片機進入低功耗休眠狀態,單片機切斷所有外圍模塊的供電;當系統需要工作時,通過外部中斷喚醒單片機工作,這樣最大限度地減少功耗。音響系統電路圖如圖1所示。
2.2 外圍硬件模塊
該系統以STC12C5624AD單片機為核心,通過I2C總線控制其他模塊的工作。硬件模塊框圖如圖2所示。
2.2.1 電源模塊
電源模塊采用美國國家半導體公司推出的電流輸出降壓開關型集成穩壓電路LM2576和LM2575,它們內含固定頻率振蕩器(52 kHz)和基準穩壓器(1.23 V),并具有完善的保護電路(電流限制及熱關斷電路)。集成穩壓電路引入閉環控制,只需極少的外圍器件便可構成高效為穩壓電路,輸出端電壓穩定、紋波小[2]。
輸入端電壓范圍為10 V~40 V。輸入電壓范圍寬使系統能夠適應12 V/24 V兩種供電車系,同時也很好地解決了汽車工作在不同工況時,輸出電壓變化的問題。
2.2.2 MP3解碼模塊
MP3解碼模塊選用的是AU7842,集成了微控制器、MP3/WMA解碼器、USB主機控制器、SD/MMC卡控制器、16 bit音頻解碼器和一個紅外線解碼器,如圖3所示。
AU7842芯片是將以數字信號形式存儲的音樂文件(MP3和WMA)解碼成可以播放的模擬信號。開機后,單片機循環檢測解碼芯片周圍電路的動作。當檢測到芯片外圍有存儲設備接入,單片機控制芯片直接訪問(DMA)存儲器里的內容,讀取數據并送入MP3/WMA解碼器,解碼得到的數字信號通過數模轉換器(DAC)轉換成模擬信號,經模擬音頻放大和低通濾波,就可以得到聽到的音樂[3]。
2.2.3 收音機模塊
收音芯片采用恩智浦半導體公司針對汽車收音機主機設計的一款包含PLL調諧系統的低中頻調諧器TEF6606。除了基本特征外,TEF6606還提供良好的弱信號處理功能和一個動態頻寬控制。TEF6606工作原理如圖4所示,其本振信號由PLL調諧系統產生,通過I2C總線對可編程分頻器的分頻系數進行調諧,使壓控振蕩器(VCO)輸出的本振頻率發生變化,從而達到數字化調臺的目的[4]。收音系統電路原理圖如圖4所示。
TEF6606芯片具有良好的微弱信號處理功能,提高了汽車在高速行駛和在大山之間行駛過程中收音機的收音性能。
2.2.4 音效處理模塊
音效處理模塊處理來自MP3解碼芯片和收音芯片的聲音。主控芯片通過I2C總線控制音效芯片相應寄存器,可以設置音量、音調(低音、高音)、平衡度(左、右)和響度(前、后);選擇流行、搖滾、爵士、古典等音效;芯片在低音量時通過提升高頻和低頻聲進行聽覺補償,可以得到低失真、低噪聲和低直流電平漂移的聽覺效果。
2.2.5 按鍵系統和顯示系統電路
按鍵系統采用的是兩個EC11編碼器和4個按鈕開關,便于汽車在行駛過程中駕駛員的操作。LCD采用根據汽車音響的功能而定制的筆段液晶,能夠顯示包括收音頻率、音頻播放時間、U盤狀態、SD卡狀態、RPT單曲重復播放、RDM隨機播放、ST立體聲狀態、LOUD等響度、MUTE靜音和左右聲道的電平指示等狀態。
3 系統軟件設計
系統軟件的總體流程框架如圖5所示。在軟件的輔助下,系統可以完成斷電記憶功能,即在手動關機或自動掉電時,系統能記憶斷電前系統的動作和各項設定值,并在下次開機時直接調用。收音頭電路可實現以10 kHz的步長進行手動搜臺和自動搜臺,并且能夠存儲18個常聽的頻段。
斷電記憶子程序如下:
void Save_Data(void) /*定義斷電記憶函數*/
{Wirte_EEPROM(0x06db,vol_val);
/*記憶斷電前音量設定值*/
Wirte_EEPROM(0x06dc,bass_val);
/*記憶斷電前低音設定值*/
Wirte_EEPROM(0x06dd,tre_val);
/*記憶斷電前高音設定值*/
Wirte_EEPROM(0x06de,loud_val);
/*記憶斷電前響度設定值*/
Wirte_EEPROM(0x06e0,(uint8)(Temp_Freq
[Band_LW]&0x00ff)); /*記憶斷電前LW頻段值*/… …
Wirte_EEPROM(0x06e2,(uint8)(Temp_Freq[Band_MW]
&0x00ff));/*記憶斷電前MW頻段值*/
… …
Wirte_EEPROM(0x06e4,(uint8)(Temp_Freq[Band_SW]
&0x00ff));/*記憶斷電前SW頻段值*/
… …
Wirte_EEPROM(0x0700,Save_USB_Song1);
/*記憶斷電前USB曲目順序號*/
… …
Wirte_EEPROM(0x0703,Save_USB_Min1);
/*記憶斷電前USB中正在播放曲目的播放時間*/
… …
Wirte_EEPROM(0x0707,Save_SD_Song1);
/* 記憶斷電前SD中正在播放的曲目順序號*/
… …
Wirte_EEPROM(0x070a,Save_SD_Min1);}
/*記憶斷電前USB中正在播放曲目的播放時間*/
使用了斷電記憶子程序,無論是人為關機還是系統掉電,系統都將會自動保存斷電前使用者所設定的音效值如音量、平衡度、響度等值,以及斷電前收音機的頻段值或者是USB和SD中正在播放的曲目及播放的時間值,通過Wirte_EEPROM函數存入EEPROM。下一次系統開啟時,使用者不必重新設定,系統可以直接從EEPROM值讀取斷電前的各個設定值。
收音頭收音子程序如下:
void Ftun_Seek {static xdata uint32 step,max,min;
/*定義搜臺時的步長,最高頻率,最低頻率*/
static xdata uint32 freq;
/*顯示實時頻率*/
static xdata uint16 stepnum;
/*搜臺時搜索的步數*/
… …}
void RD_CI2cStart(void)
/*收音頭工作起始條件*/
{byte j;
RD_DAT=1;
RD_CLK=1;
… …}
void RD_CI2cStop(void)
/*收音頭工作停止條件*/
{ byte j;
RD_DAT=0;
RD_CLK=1;
… … }
主控芯片通過I2C總線控制收音頭寄存器,通過改變RD_DAT的邏輯值來控制收音頭的工作狀況。通過鍵盤上按鍵操作就可以控制收音頭以三種波段切換搜臺。旋轉搜臺按鈕,可以以10 kHz的步長進行手動搜臺。通過控制自動搜臺按鈕,收音頭可以完成10 kHz的步長進行自動搜臺。
本文設計的數字車載音響系統兼容了收音機和MP3播放功能,在MP3音頻文件存儲設備方面有較大的突破,新型大容量存儲設備(USB/SD)取代了傳統卡帶存儲。系統操作簡便,收音機和MP3播放性能良好。為保證系統穩定工作,實驗模擬了汽車行駛狀況[5],將系統分別置于-40℃和+60℃環境中以及四度空間振動試驗臺,結果表明,該系統能長時間運行,且各項功能穩定。該系統已經成功應用在某些品牌工程車。
參考文獻
[1] 陳永降,朱維杰.基于BU9435KV的車載音響系統設計[J].電子技術,2008(11):18-20.
[2] 李文.一種新型5 V大功率開關穩壓電源[J].微電子學,2003(1):74-77.
[3] Shanghai Mountain View Silicon Technology Co Ltd. AU7842USB Host MP3/WMA decode SoC[Z]. 2007,6.
[4] 肖寧,呂盼稂,王余濤,等.基于TEF6606車載收音機模塊設計[J].微型機與應用,2010(8):32-35.
[5] GRAZIANO M, ROCH M R. An automotive CD-player electro-mechanics fault simulation using VHDL-AMS[J]. Journal of Electronic Testing, 2008,24(6): 539-553.