便攜式BD播放機系統(tǒng)的設(shè)計
系統(tǒng)軟件設(shè)計
系統(tǒng)主要由解碼器和MCU構(gòu)成,解碼器和MCU之間通過通信來進行配合協(xié)調(diào),完成整個系統(tǒng)的功能。因此系統(tǒng)的軟件設(shè)計包含3個部分即解碼器部分的軟件設(shè)計、MCU部分的軟件設(shè)計、通信設(shè)計。
1解碼器的軟件設(shè)計
解碼器軟件在Linux操作系統(tǒng)上架構(gòu)而成,包括設(shè)備驅(qū)動、中間件和應(yīng)用層。采用模塊化的設(shè)計理念,根據(jù)系統(tǒng)功能將系統(tǒng)進行劃分成不同層次和不同模塊來進行實現(xiàn)。不同任務(wù)的運行通過啟動不同的進程來控制。
便攜式藍光播放機同以往類似產(chǎn)品的最大區(qū)別在于可以播放藍光碟片和具有豐富的網(wǎng)絡(luò)功能。解碼器軟件的系統(tǒng)構(gòu)成如圖2所示。
圖2 解碼器軟件系統(tǒng)構(gòu)成
2 MCU的軟件設(shè)計
MCU的軟件設(shè)計采用了小型操作系統(tǒng)來管理兩個任務(wù)。SubTask用于和解碼器進行通信,MainTask負責(zé)通信之外的所有處理,整個系統(tǒng)分為驅(qū)動層,中間層和應(yīng)用層。驅(qū)動層包含了硬件設(shè)備和OS,有端子配置、按鍵輸入、開關(guān)檢測、AMP、FAN、RTC等;中間層則包含了需要向應(yīng)用層提供的實現(xiàn)具體功能和動作的各個模塊接口;應(yīng)用層根據(jù)系統(tǒng)的功能,分為UI、OSD等模塊,完成系統(tǒng)所需要實現(xiàn)的各種功能。MCU軟件的系統(tǒng)構(gòu)成如圖3所示。
圖3 MCU軟件系統(tǒng)構(gòu)成
3 通信設(shè)計
MCU和解碼器之間的通信,物理層可以采用多種接口形式,這里選用的是UART。關(guān)于協(xié)議層的設(shè)計需要重點考慮兩個方面的問題。一是系統(tǒng)所需要的所有功能是否可以實現(xiàn),不要產(chǎn)生因為協(xié)議設(shè)計的不全面導(dǎo)致系統(tǒng)功能實現(xiàn)受影響的失誤;二是通信的異常處理機制是否考慮周全,這個影響到系統(tǒng)的可靠性,包括出錯時重復(fù)發(fā)送次數(shù)的設(shè)定,通信忙時等待延時時間
評論