摘 要:本文介紹了傳統(tǒng)Android電視機(jī)系統(tǒng)的狀況,分析了基于Android系統(tǒng)電視機(jī)開發(fā)遇到的問題,提出了Driverbase中間件框架設(shè)計(jì),并在Mstar、Hisi、Realtek等主流電視機(jī)Android系統(tǒng)上實(shí)現(xiàn)量產(chǎn)開發(fā),大大提高了Android電視機(jī)系統(tǒng)的開發(fā)效率。
關(guān)鍵詞:Android;Driverbase;HAL;Plugin
Android操作系統(tǒng)是一種基于Linux的自由及開放源代碼的操作系統(tǒng),其主要優(yōu)勢就是Android平臺的開放性。Android平臺顯著的開放性,對于任何終端廠商、芯片廠商都可以加入到Android聯(lián)盟中來;對于成千上萬的軟件開發(fā)者,比較容易地研發(fā)各種程序應(yīng)用,創(chuàng)造海量的應(yīng)用內(nèi)容。隨著用戶和應(yīng)用的日益豐富,一個嶄新的平臺也將很快走向成熟。
1 傳統(tǒng)的Android電視機(jī)系統(tǒng)框架
自從2012年Android系統(tǒng)已入電視機(jī)領(lǐng)域,各家方案公司Mstar、Hisi、Realtek、Novatek、Amlogic等都結(jié)合自己的SOC,在Android系統(tǒng)上定制了各自獨(dú)立的平臺框架(包含中間件框架層),其中引導(dǎo)層、內(nèi)核驅(qū)動層、平臺框架層都是由方案公司直接提供,只有系統(tǒng)應(yīng)用層的電視機(jī)應(yīng)用是由電視機(jī)廠商來開發(fā)。其整體系統(tǒng)框圖如下:
2 基于Driverbase的Android電視機(jī)系統(tǒng)框架
傳統(tǒng)Android電視機(jī)框架在剛剛介入電視機(jī)領(lǐng)域發(fā)揮很大的作用。一方面,電視機(jī)方案公司提供完整的中間層接口供應(yīng)用使用,包括圖像設(shè)置、聲音設(shè)置、通道管理等等;另一方面,由于Android的開放性,各家電視機(jī)廠商,可以很方便的按照公司規(guī)劃開發(fā)各類電視機(jī)應(yīng)用。大大加快了Android系統(tǒng)在電視機(jī)領(lǐng)域的發(fā)展。
隨著Android系統(tǒng)在電視機(jī)領(lǐng)域的深入,這種框架對于電視機(jī)生產(chǎn)廠商也表現(xiàn)出其局限性:電視機(jī)是一個和硬件高度耦合的產(chǎn)品,好多應(yīng)用功能都依賴于中間件邏輯,往往因?yàn)閷?shí)現(xiàn)一個功能,需要和方案公司商量實(shí)現(xiàn)方式,這樣就大大影響電視機(jī)應(yīng)用的上市時間。這種局限性在采用多個方案公司電視機(jī)廠商中尤為突出。
為電視機(jī)產(chǎn)品快速推入市場,本文結(jié)合上層應(yīng)用及各家方案公司的軟件平臺,提出Driverbase中間件軟件框架。Driverbase中間件通用于各家方案公司,所有和電視機(jī)應(yīng)用有關(guān)的功能邏輯都在其內(nèi)部實(shí)現(xiàn),對上提供統(tǒng)一的接口給上層應(yīng)用;對下,定義統(tǒng)一的原子hal接口給方案公司實(shí)現(xiàn)。由于是離散的原子接口,方案公司更加容易的開發(fā),當(dāng)然應(yīng)用開發(fā)也更加方便了,Driverbase中間件的提出大大提高的產(chǎn)品的開發(fā)進(jìn)度及市場投放時間。
3 Driverbase中間件整個系統(tǒng)框架
中間件是電視機(jī)系統(tǒng)區(qū)別于標(biāo)準(zhǔn)Android最重要的部分。Driverbase中間件是鏈接電視機(jī)系統(tǒng)應(yīng)用層和方案公司底層平臺接口的中間邏輯層;包含了圖像、聲音、PQ、AQ、ATV和DTV等等的所有邏輯處理。不同方案采用統(tǒng)一的中間件模塊系統(tǒng),將平臺差異進(jìn)一步下探到平臺driver級別,實(shí)現(xiàn)了中間層邏輯的統(tǒng)一,更加有利于平臺的擴(kuò)展,從而提高產(chǎn)品開發(fā)周期。其整體框架圖如下:
整個Driverbase中間件層從上之下分為5層:
3.1 Plugin層
根據(jù)酷開系統(tǒng)應(yīng)用底層需求,Plugin層分成了FactoryPlugin、TvPlugin、ConfigPlugin三部分來實(shí)現(xiàn)。
FactoryPlugin主要實(shí)現(xiàn)和工廠生產(chǎn)有關(guān)的功能。包括平臺基本信息顯示、圖像參數(shù)調(diào)試、聲音參數(shù)調(diào)試等等。
TvPlugin主要實(shí)現(xiàn)通道切換、ATV的搜臺換臺、DTV的搜臺換臺、ca菜單UI顯示等等功能接口。
ConfigPlugin主要實(shí)現(xiàn)圖像設(shè)置、聲音設(shè)置等等功能接口。
如以下表格所示:
3.2 中間件client端
中間件client端包含了15個基本模塊(Dtv頻道模塊、Vod模塊、EPG模塊、字幕模塊、CA模塊、ATV頻道管理、通道管理、HDMI模塊、PC模塊、Callback模塊、圖像模塊、聲音模塊、工廠模塊、3D模塊、系統(tǒng)模塊),和1個Dtv數(shù)據(jù)管理模塊。
Dtv頻道模塊實(shí)現(xiàn)數(shù)字電視搜臺、換臺等功能。
Vod模塊實(shí)現(xiàn)數(shù)字電視的點(diǎn)播功能。
EPG模塊實(shí)現(xiàn)數(shù)字電視的導(dǎo)航功能。
CA模塊實(shí)現(xiàn)數(shù)字電視的ca功能。
ATV頻道管理實(shí)現(xiàn)ATV的搜臺、換臺等功能。
通道管理實(shí)現(xiàn)ATV、dtv、av、hdmi、多媒體等等通道的切換管理。
HDMI模塊實(shí)現(xiàn)HDMI通道的edid、hdcpkey等等功能。
PC模塊實(shí)現(xiàn)PC通道的相位等等功能。
Callback模塊是一種軟件回調(diào)機(jī)制,主要是實(shí)時高效的把底層處理結(jié)果反饋到應(yīng)用層。
圖像模塊實(shí)現(xiàn)各個通道的圖像模式、圖像參數(shù)的獲取與調(diào)節(jié)。
聲音模塊實(shí)現(xiàn)各個通道的聲音模式、聲音參數(shù)的獲取與調(diào)節(jié)。
工廠模塊實(shí)現(xiàn)和工廠生產(chǎn)有關(guān)的功能。
3D模塊實(shí)現(xiàn)各個通道3D功能,包括2D裝3D、景深、上下模式、左右模式等等。
系統(tǒng)模塊實(shí)現(xiàn)一些特殊功能,包括待機(jī)、音量、Localdimming等等。
Dtv數(shù)據(jù)管理模塊主要實(shí)現(xiàn)數(shù)字電視頻道數(shù)據(jù)的保存及外部訪問接口。
3.3 中間件server端
中間件server端同client端包含了15個基本模塊(Dtv頻道模塊、Vod模塊、EPG模塊、字幕模塊、CA模塊、ATV頻道管理、通道管理、HDMI模塊、PC模塊、Callback模塊、圖像模塊、聲音模塊、工廠模塊、3D模塊、系統(tǒng)模塊),和skyDebug模塊、Driverbase數(shù)據(jù)管理模塊、DTV協(xié)議棧的具體實(shí)現(xiàn)。
skyDebug模塊實(shí)現(xiàn)目標(biāo)板上一些底層接口的串口命令調(diào)試。
Driverbase數(shù)據(jù)管理模塊實(shí)現(xiàn)Driverbase一些圖像數(shù)據(jù)、聲音數(shù)據(jù)、系統(tǒng)數(shù)據(jù)的FlashEEP的保存,并提供外部獲取設(shè)置接口。
DTV協(xié)議棧是數(shù)字電視最主要的部分,所有vod控制、ca模塊、epg模塊、字幕模塊、頻道模塊的數(shù)據(jù)都是來源于DTV協(xié)議棧。
3.4 底層接口層
Driverbase中間件的底層接口skyhal。Skyhdi是數(shù)字電視部分的接口,包括demod、demux、video decode、audio decode等等;skyhal是傳統(tǒng)電視機(jī)的接口,包含了tuner、聲音、圖像PQ、video、flasheep、uart等等。
3.5 平臺方案接口層
目前Driverbase2.0適配的平臺方案有:Mstar的Mi接口、Novatek的NTK接口、Realtek的RTK接口、Hisi平臺UNF接口。
4 總結(jié)
電視機(jī)廠商采用統(tǒng)一的Driverbase中間件方案,可以大大提高產(chǎn)品的開發(fā)效率。在一個方案公司開發(fā)的功能,可以很方便的移植到其他放公司;同時,Driverbase中間件的所有邏輯都由電視機(jī)廠商自主開發(fā),有了更多的開發(fā)空間,能夠適應(yīng)公司產(chǎn)品的功能規(guī)劃的快速量產(chǎn),有效的解決了產(chǎn)品的快市場導(dǎo)入,進(jìn)而滿足用戶的需求。
參考文獻(xiàn):
[1]Google Android創(chuàng)贏路線與產(chǎn)品開發(fā)實(shí)戰(zhàn).電子工業(yè)出版社.
[2]Android 4.0高級編程.清華大學(xué)出版社.
[3]深入理解Android系統(tǒng).清華大學(xué)出版社.
[4]Android框架揭秘.人民郵電出版社.
[5]劉淼.嵌入式系統(tǒng)接口設(shè)計(jì)與Linux驅(qū)動程序開發(fā).北京航空航天大學(xué)出版社.
[6]宋寶華.Linux設(shè)備驅(qū)動開發(fā)祥解.華清遠(yuǎn)見嵌入式培訓(xùn)中心.
作者簡介: 代庚辛,中級工程師,研究方向:Android系統(tǒng)、電視機(jī)領(lǐng)域、顯示領(lǐng)域、智慧家庭。