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