車載MP3的系統(tǒng)設(shè)計(jì)總體方案
2.3 收音機(jī)模塊的硬件設(shè)計(jì)
調(diào)頻87.5 MHz~108 MHz的數(shù)字調(diào)諧收音機(jī)模塊,使用了便攜式、低功耗調(diào)頻立體聲收音機(jī)芯片TEA5767HN。工作電壓低,需要很少并且低價(jià)的外圍電路。由于集成了低噪聲RF輸入放大器,具有高靈敏度;自由調(diào)節(jié)的立體聲解碼器,調(diào)諧系統(tǒng)的鎖相環(huán)合成器。通過引腳BUSMODE有兩種總線可以選擇:I2C總線和3線總線。本系統(tǒng)選用了I2C總線,即把BUSMODE設(shè)置為O。圖4為TEA5767HN的硬件設(shè)計(jì)電路。
3 系統(tǒng)軟件設(shè)計(jì)
設(shè)計(jì)一個(gè)USB系統(tǒng),要想使其正常工作,就要進(jìn)行軟件的設(shè)計(jì)。車載MP3的系統(tǒng)軟件設(shè)計(jì)分為三部分:(1)USB外設(shè)端的單片機(jī)固件(Firm-ware)程序;(2)主機(jī)操作系統(tǒng)上的客戶驅(qū)動(dòng)程序;(3)主機(jī)應(yīng)用軟件。單片機(jī)固件響應(yīng)各種來自系統(tǒng)的USB標(biāo)準(zhǔn)請(qǐng)求,完成各種數(shù)據(jù)的交換工作和事件處理;客戶驅(qū)動(dòng)程序則讓主機(jī)可以識(shí)別USB設(shè)備,并通過應(yīng)用軟件來讀取USB設(shè)備,完成通信功能;主機(jī)應(yīng)用軟件通過客戶驅(qū)動(dòng)程序與系統(tǒng)USB(USB Device Interface)進(jìn)行通信,由系統(tǒng)產(chǎn)生USB數(shù)據(jù)的傳送動(dòng)作。包括檢測(cè)枚舉程序、中斷服務(wù)、人機(jī)接口、文件操作函數(shù)集、FAT文件系統(tǒng)函數(shù)集、USB協(xié)議層、硬件提取層、數(shù)據(jù)轉(zhuǎn)換程序。
3.1 車載MP3的系統(tǒng)設(shè)計(jì)工作流程描述
3.2 端點(diǎn)配置階段程序設(shè)計(jì)
前面已經(jīng)提到固件的程序結(jié)構(gòu)框架可基于中斷或基于查詢方式,這里以查詢方式為例。對(duì)于一個(gè)USB Mass Storage設(shè)備而言,必須支持3個(gè)端點(diǎn)的數(shù)據(jù)處理。
(1)O號(hào)端點(diǎn):控制端點(diǎn)用于控制傳輸,主機(jī)通過與端點(diǎn)O相對(duì)應(yīng)的管道來讀取設(shè)備描述符,完成對(duì)設(shè)備地址的設(shè)置,并完成配置。此端點(diǎn)為雙向數(shù)據(jù)傳輸端點(diǎn)。
(2)兩個(gè)非O端點(diǎn):批量傳輸端點(diǎn)。這種端點(diǎn)為單向數(shù)據(jù)傳輸端點(diǎn),分別為Bulk-In端點(diǎn)和Bull-Out端點(diǎn)。
3.3 設(shè)備配置階段程序設(shè)計(jì)
USB設(shè)備一旦插入到PC機(jī)的USB接口,USB檢測(cè)到設(shè)備插入以后,就會(huì)通過控制管道向默認(rèn)地址發(fā)送USB標(biāo)準(zhǔn)請(qǐng)求,進(jìn)入設(shè)備配置階段。
配置階段就是主機(jī)向設(shè)備索取各種描述符的過程。每當(dāng)設(shè)備收到主機(jī)發(fā)送的數(shù)據(jù)后,便會(huì)觸發(fā)端點(diǎn)中斷寄存器中端點(diǎn)O所代表的位。此時(shí),應(yīng)該讀取端點(diǎn)O的數(shù)據(jù)緩沖區(qū),讀取指定長度(長度由UBYCTX寄存器表示)的數(shù)據(jù)。然后對(duì)照USB標(biāo)準(zhǔn)設(shè)備請(qǐng)求的數(shù)據(jù)格式,對(duì)請(qǐng)求類型進(jìn)行識(shí)別,然后轉(zhuǎn)向相應(yīng)的標(biāo)準(zhǔn)請(qǐng)求處理函數(shù)。
3.4 批量傳輸階段(BullOnly)程序設(shè)計(jì)
按照USB協(xié)議中的規(guī)定,控制管道是消息管道,控制管道中的信息具有固定的格式。而其他管道則是流管道,流管道中的數(shù)據(jù),USB協(xié)議中沒有規(guī)定其格式。
Mass Storage協(xié)議通過Bulk傳輸方式來傳送命令與數(shù)據(jù)。在這種傳輸方式下,有3種類型的數(shù)據(jù)(CBW,CSW和普通數(shù)據(jù))在USB和設(shè)備之間傳送。CBW和CSW數(shù)據(jù)都有一定的格式,普通數(shù)據(jù)根據(jù)其前面的命令塊來決定其歸屬和意義。因此,批量傳輸階段程設(shè)計(jì)的任務(wù)就是識(shí)別來自BulkOut端點(diǎn)的CBW數(shù)據(jù)進(jìn)行相應(yīng)的處理,然后通過BulkIn端點(diǎn)向主機(jī)回傳相應(yīng)的CSW或數(shù)據(jù)。
3.5 播放任務(wù)
USB播放模式下,按壓重復(fù)鍵打開重復(fù)播放功能,此時(shí)可連續(xù)重復(fù)播放當(dāng)前曲目,點(diǎn)按快退鍵或快進(jìn)鍵可選擇你希望重復(fù)播放的曲目,再次點(diǎn)按此鍵時(shí)取消重復(fù)播放功能。進(jìn)入該功能后,LCD上“RPT”字符將變亮。按壓瀏覽鍵打開瀏覽功能,可順序播放每個(gè)曲目的前幾秒,此時(shí)可點(diǎn)按快退鍵或快進(jìn)鍵向后或向前瀏覽曲目,當(dāng)聽到要選的曲目時(shí),輕旋音量鈕可播放所選的曲目,同時(shí)取消該功能。進(jìn)入該功能后,LCD上“INT”字符將變亮。按壓隨機(jī)鍵打開隨機(jī)播放功能,此時(shí)本機(jī)將隨機(jī)播放曲目而非按正常的播放順序播放USB盤中的曲目,點(diǎn)按快退鍵或快進(jìn)鍵,可隨機(jī)播放其他的曲目,再次點(diǎn)按此鍵取消隨機(jī)播放功能。進(jìn)入該功能后,LCD上“RDM"字符將變亮。按壓暫停/播放鍵,暫?;虿シ徘俊和2シ艜r(shí),LCD上顯示“STOP ON”字符。
4 系統(tǒng)調(diào)試
單片機(jī)應(yīng)用系統(tǒng)的軟、硬件制作完成后,必須反復(fù)進(jìn)行調(diào)試、修改,直至完全正常工作為止。調(diào)試工作通常可分3個(gè)步驟進(jìn)行。
(1)硬件調(diào)試
首先,用邏輯筆、萬用表等工具對(duì)硬件電路作脫機(jī)檢查,看連線是否與邏輯圖一致,有無短路、虛焊等現(xiàn)象。器件的型號(hào)、規(guī)格、極性是否有誤,插接方向是否正確。檢查完畢,可用萬用電表測(cè)量一下電路板正負(fù)電源端之間的電阻,排除電源短路的可能性。
通電檢查時(shí),可以模擬各種輸入信號(hào)分別送人電路的各有關(guān)部分,觀察I/O口的情況,查看電路板上是否有元件過熱情況,是否有冒煙、異味等現(xiàn)象發(fā)生。各相關(guān)設(shè)備的動(dòng)作是否符合設(shè)計(jì)要求。
(2)軟件調(diào)試
軟件的調(diào)試必須在開發(fā)系統(tǒng)的支持下進(jìn)行。先分別調(diào)試通過各個(gè)模塊程序,然后調(diào)試中斷服務(wù)程序,最后調(diào)試主程序,將各部分連接進(jìn)行調(diào)試。調(diào)試的范圍可以由小到大、逐步增加,必要的中間信號(hào)可以先作設(shè)定。通常交叉使用單步運(yùn)行、斷點(diǎn)運(yùn)行、連續(xù)運(yùn)行等多種方式,每次執(zhí)行完畢后,檢查CPU執(zhí)行現(xiàn)場(chǎng)、RAM的有關(guān)內(nèi)容、I/O口的狀態(tài)等。發(fā)現(xiàn)一個(gè)問題,解決一個(gè)問題,直至全部通過。
(3)軟硬件聯(lián)調(diào)
在軟硬件分別調(diào)試成功的基礎(chǔ)上,進(jìn)行軟硬件聯(lián)機(jī)仿真,當(dāng)仿真成功后,將固件程序?qū)懭雴纹瑱C(jī)中,即可脫機(jī)運(yùn)行。
5 結(jié)論
經(jīng)過系統(tǒng)的軟硬件設(shè)計(jì)與調(diào)試,以及在系統(tǒng)集成調(diào)試成功的基礎(chǔ)上,完成了車載MP3的系統(tǒng)設(shè)計(jì)。車載MP3的系統(tǒng)設(shè)計(jì)具有USB盤立體聲播放及FM立體聲收音功能。摒棄了傳統(tǒng)音響系統(tǒng)中的CD和磁帶播放功能,具有電子抗震、抗干擾性強(qiáng)等優(yōu)點(diǎn),可根據(jù)USB盤的存儲(chǔ)大小隨時(shí)下載最新的MP3歌曲,免去購買碟片的大量花費(fèi),并且本機(jī)具有掉電記憶功能和現(xiàn)場(chǎng)保護(hù)功能。
評(píng)論