论文部分内容阅读
摘 要:本文介绍了传统Android电视机系统的状况,分析了基于Android系统电视机开发遇到的问题,提出了Driverbase中间件框架设计,并在Mstar、Hisi、Realtek等主流电视机Android系统上实现量产开发,大大提高了Android电视机系统的开发效率。
关键词:Android;Driverbase;HAL;Plugin
Android操作系统是一种基于Linux的自由及开放源代码的操作系统,其主要优势就是Android平台的开放性。Android平台显著的开放性,对于任何终端厂商、芯片厂商都可以加入到Android联盟中来;对于成千上万的软件开发者,比较容易地研发各种程序应用,创造海量的应用内容。随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。
1 传统的Android电视机系统框架
自从2012年Android系统已入电视机领域,各家方案公司Mstar、Hisi、Realtek、Novatek、Amlogic等都结合自己的SOC,在Android系统上定制了各自独立的平台框架(包含中间件框架层),其中引导层、内核驱动层、平台框架层都是由方案公司直接提供,只有系统应用层的电视机应用是由电视机厂商来开发。其整体系统框图如下:
2 基于Driverbase的Android电视机系统框架
传统Android电视机框架在刚刚介入电视机领域发挥很大的作用。一方面,电视机方案公司提供完整的中间层接口供应用使用,包括图像设置、声音设置、通道管理等等;另一方面,由于Android的开放性,各家电视机厂商,可以很方便的按照公司规划开发各类电视机应用。大大加快了Android系统在电视机领域的发展。
随着Android系统在电视机领域的深入,这种框架对于电视机生产厂商也表现出其局限性:电视机是一个和硬件高度耦合的产品,好多应用功能都依赖于中间件逻辑,往往因为实现一个功能,需要和方案公司商量实现方式,这样就大大影响电视机应用的上市时间。这种局限性在采用多个方案公司电视机厂商中尤为突出。
为电视机产品快速推入市场,本文结合上层应用及各家方案公司的软件平台,提出Driverbase中间件软件框架。Driverbase中间件通用于各家方案公司,所有和电视机应用有关的功能逻辑都在其内部实现,对上提供统一的接口给上层应用;对下,定义统一的原子hal接口给方案公司实现。由于是离散的原子接口,方案公司更加容易的开发,当然应用开发也更加方便了,Driverbase中间件的提出大大提高的产品的开发进度及市场投放时间。
3 Driverbase中间件整个系统框架
中间件是电视机系统区别于标准Android最重要的部分。Driverbase中间件是链接电视机系统应用层和方案公司底层平台接口的中间逻辑层;包含了图像、声音、PQ、AQ、ATV和DTV等等的所有逻辑处理。不同方案采用统一的中间件模块系统,将平台差异进一步下探到平台driver级别,实现了中间层逻辑的统一,更加有利于平台的扩展,从而提高产品开发周期。其整体框架图如下:
整个Driverbase中间件层从上之下分为5层:
3.1 Plugin层
根据酷开系统应用底层需求,Plugin层分成了FactoryPlugin、TvPlugin、ConfigPlugin三部分来实现。
FactoryPlugin主要实现和工厂生产有关的功能。包括平台基本信息显示、图像参数调试、声音参数调试等等。
TvPlugin主要实现通道切换、ATV的搜台换台、DTV的搜台换台、ca菜单UI显示等等功能接口。
ConfigPlugin主要实现图像设置、声音设置等等功能接口。
如以下表格所示:
3.2 中间件client端
中间件client端包含了15个基本模块(Dtv频道模块、Vod模块、EPG模块、字幕模块、CA模块、ATV频道管理、通道管理、HDMI模块、PC模块、Callback模块、图像模块、声音模块、工厂模块、3D模块、系统模块),和1个Dtv数据管理模块。
Dtv频道模块实现数字电视搜台、换台等功能。
Vod模块实现数字电视的点播功能。
EPG模块实现数字电视的导航功能。
CA模块实现数字电视的ca功能。
ATV频道管理实现ATV的搜台、换台等功能。
通道管理实现ATV、dtv、av、hdmi、多媒体等等通道的切换管理。
HDMI模块实现HDMI通道的edid、hdcpkey等等功能。
PC模块实现PC通道的相位等等功能。
Callback模块是一种软件回调机制,主要是实时高效的把底层处理结果反馈到应用层。
图像模块实现各个通道的图像模式、图像参数的获取与调节。
声音模块实现各个通道的声音模式、声音参数的获取与调节。
工厂模块实现和工厂生产有关的功能。
3D模块实现各个通道3D功能,包括2D装3D、景深、上下模式、左右模式等等。
系统模块实现一些特殊功能,包括待机、音量、Localdimming等等。
Dtv数据管理模块主要实现数字电视频道数据的保存及外部访问接口。
3.3 中间件server端
中间件server端同client端包含了15个基本模块(Dtv频道模块、Vod模块、EPG模块、字幕模块、CA模块、ATV频道管理、通道管理、HDMI模块、PC模块、Callback模块、图像模块、声音模块、工厂模块、3D模块、系统模块),和skyDebug模块、Driverbase数据管理模块、DTV协议栈的具体实现。
skyDebug模块实现目标板上一些底层接口的串口命令调试。
Driverbase数据管理模块实现Driverbase一些图像数据、声音数据、系统数据的FlashEEP的保存,并提供外部获取设置接口。
DTV协议栈是数字电视最主要的部分,所有vod控制、ca模块、epg模块、字幕模块、频道模块的数据都是来源于DTV协议栈。
3.4 底层接口层
Driverbase中间件的底层接口skyhal。Skyhdi是数字电视部分的接口,包括demod、demux、video decode、audio decode等等;skyhal是传统电视机的接口,包含了tuner、声音、图像PQ、video、flasheep、uart等等。
3.5 平台方案接口层
目前Driverbase2.0适配的平台方案有:Mstar的Mi接口、Novatek的NTK接口、Realtek的RTK接口、Hisi平台UNF接口。
4 总结
电视机厂商采用统一的Driverbase中间件方案,可以大大提高产品的开发效率。在一个方案公司开发的功能,可以很方便的移植到其他放公司;同时,Driverbase中间件的所有逻辑都由电视机厂商自主开发,有了更多的开发空间,能够适应公司产品的功能规划的快速量产,有效的解决了产品的快市场导入,进而满足用户的需求。
参考文献:
[1]Google Android创赢路线与产品开发实战.电子工业出版社.
[2]Android 4.0高级编程.清华大学出版社.
[3]深入理解Android系统.清华大学出版社.
[4]Android框架揭秘.人民郵电出版社.
[5]刘淼.嵌入式系统接口设计与Linux驱动程序开发.北京航空航天大学出版社.
[6]宋宝华.Linux设备驱动开发祥解.华清远见嵌入式培训中心.
作者简介: 代庚辛,中级工程师,研究方向:Android系统、电视机领域、显示领域、智慧家庭。
关键词:Android;Driverbase;HAL;Plugin
Android操作系统是一种基于Linux的自由及开放源代码的操作系统,其主要优势就是Android平台的开放性。Android平台显著的开放性,对于任何终端厂商、芯片厂商都可以加入到Android联盟中来;对于成千上万的软件开发者,比较容易地研发各种程序应用,创造海量的应用内容。随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。
1 传统的Android电视机系统框架
自从2012年Android系统已入电视机领域,各家方案公司Mstar、Hisi、Realtek、Novatek、Amlogic等都结合自己的SOC,在Android系统上定制了各自独立的平台框架(包含中间件框架层),其中引导层、内核驱动层、平台框架层都是由方案公司直接提供,只有系统应用层的电视机应用是由电视机厂商来开发。其整体系统框图如下:
2 基于Driverbase的Android电视机系统框架
传统Android电视机框架在刚刚介入电视机领域发挥很大的作用。一方面,电视机方案公司提供完整的中间层接口供应用使用,包括图像设置、声音设置、通道管理等等;另一方面,由于Android的开放性,各家电视机厂商,可以很方便的按照公司规划开发各类电视机应用。大大加快了Android系统在电视机领域的发展。
随着Android系统在电视机领域的深入,这种框架对于电视机生产厂商也表现出其局限性:电视机是一个和硬件高度耦合的产品,好多应用功能都依赖于中间件逻辑,往往因为实现一个功能,需要和方案公司商量实现方式,这样就大大影响电视机应用的上市时间。这种局限性在采用多个方案公司电视机厂商中尤为突出。
为电视机产品快速推入市场,本文结合上层应用及各家方案公司的软件平台,提出Driverbase中间件软件框架。Driverbase中间件通用于各家方案公司,所有和电视机应用有关的功能逻辑都在其内部实现,对上提供统一的接口给上层应用;对下,定义统一的原子hal接口给方案公司实现。由于是离散的原子接口,方案公司更加容易的开发,当然应用开发也更加方便了,Driverbase中间件的提出大大提高的产品的开发进度及市场投放时间。
3 Driverbase中间件整个系统框架
中间件是电视机系统区别于标准Android最重要的部分。Driverbase中间件是链接电视机系统应用层和方案公司底层平台接口的中间逻辑层;包含了图像、声音、PQ、AQ、ATV和DTV等等的所有逻辑处理。不同方案采用统一的中间件模块系统,将平台差异进一步下探到平台driver级别,实现了中间层逻辑的统一,更加有利于平台的扩展,从而提高产品开发周期。其整体框架图如下:
整个Driverbase中间件层从上之下分为5层:
3.1 Plugin层
根据酷开系统应用底层需求,Plugin层分成了FactoryPlugin、TvPlugin、ConfigPlugin三部分来实现。
FactoryPlugin主要实现和工厂生产有关的功能。包括平台基本信息显示、图像参数调试、声音参数调试等等。
TvPlugin主要实现通道切换、ATV的搜台换台、DTV的搜台换台、ca菜单UI显示等等功能接口。
ConfigPlugin主要实现图像设置、声音设置等等功能接口。
如以下表格所示:
3.2 中间件client端
中间件client端包含了15个基本模块(Dtv频道模块、Vod模块、EPG模块、字幕模块、CA模块、ATV频道管理、通道管理、HDMI模块、PC模块、Callback模块、图像模块、声音模块、工厂模块、3D模块、系统模块),和1个Dtv数据管理模块。
Dtv频道模块实现数字电视搜台、换台等功能。
Vod模块实现数字电视的点播功能。
EPG模块实现数字电视的导航功能。
CA模块实现数字电视的ca功能。
ATV频道管理实现ATV的搜台、换台等功能。
通道管理实现ATV、dtv、av、hdmi、多媒体等等通道的切换管理。
HDMI模块实现HDMI通道的edid、hdcpkey等等功能。
PC模块实现PC通道的相位等等功能。
Callback模块是一种软件回调机制,主要是实时高效的把底层处理结果反馈到应用层。
图像模块实现各个通道的图像模式、图像参数的获取与调节。
声音模块实现各个通道的声音模式、声音参数的获取与调节。
工厂模块实现和工厂生产有关的功能。
3D模块实现各个通道3D功能,包括2D装3D、景深、上下模式、左右模式等等。
系统模块实现一些特殊功能,包括待机、音量、Localdimming等等。
Dtv数据管理模块主要实现数字电视频道数据的保存及外部访问接口。
3.3 中间件server端
中间件server端同client端包含了15个基本模块(Dtv频道模块、Vod模块、EPG模块、字幕模块、CA模块、ATV频道管理、通道管理、HDMI模块、PC模块、Callback模块、图像模块、声音模块、工厂模块、3D模块、系统模块),和skyDebug模块、Driverbase数据管理模块、DTV协议栈的具体实现。
skyDebug模块实现目标板上一些底层接口的串口命令调试。
Driverbase数据管理模块实现Driverbase一些图像数据、声音数据、系统数据的FlashEEP的保存,并提供外部获取设置接口。
DTV协议栈是数字电视最主要的部分,所有vod控制、ca模块、epg模块、字幕模块、频道模块的数据都是来源于DTV协议栈。
3.4 底层接口层
Driverbase中间件的底层接口skyhal。Skyhdi是数字电视部分的接口,包括demod、demux、video decode、audio decode等等;skyhal是传统电视机的接口,包含了tuner、声音、图像PQ、video、flasheep、uart等等。
3.5 平台方案接口层
目前Driverbase2.0适配的平台方案有:Mstar的Mi接口、Novatek的NTK接口、Realtek的RTK接口、Hisi平台UNF接口。
4 总结
电视机厂商采用统一的Driverbase中间件方案,可以大大提高产品的开发效率。在一个方案公司开发的功能,可以很方便的移植到其他放公司;同时,Driverbase中间件的所有逻辑都由电视机厂商自主开发,有了更多的开发空间,能够适应公司产品的功能规划的快速量产,有效的解决了产品的快市场导入,进而满足用户的需求。
参考文献:
[1]Google Android创赢路线与产品开发实战.电子工业出版社.
[2]Android 4.0高级编程.清华大学出版社.
[3]深入理解Android系统.清华大学出版社.
[4]Android框架揭秘.人民郵电出版社.
[5]刘淼.嵌入式系统接口设计与Linux驱动程序开发.北京航空航天大学出版社.
[6]宋宝华.Linux设备驱动开发祥解.华清远见嵌入式培训中心.
作者简介: 代庚辛,中级工程师,研究方向:Android系统、电视机领域、显示领域、智慧家庭。