微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 消费类电子 > 数模一体电视机通用处理方案

数模一体电视机通用处理方案

时间:07-12 来源:互联网 点击:

软件架构
  
随着软件在整个电视产品中扮演着越来越重的角色,数字电视的发展趋势导致编写电视软件的复杂程度和工作量都比以往有了相当大的提高,已经不是个人能编写和完成的了。现阶段电视生产厂商的电视软件开发,无论是平台还是系统架构都是基于方案提供商提供,芯片供应商的千差万别导致开发的平台的不可重用性。每个供应商都有自己的一套系统架构,这就造成在每遇到一个新的平台情况下,以前平台的功能和相关代码基本上没有可以重复利用的地方,都需要重新学习和编写新平台下的各种电视功能和功能逻辑,这种无法重利用以前的劳动成果是一种对开发的浪费,尤其在数字电视软件工作量急剧提升的情况下。
  
本方案的软件的特点是基于方案提供商提供的软件基础上再开发一个中间层软件,本中间层通过封装和重新架构底层电视功能函数和操作系统函数形成一个完整的数字电视上层框架。在尽可能的情况下,能够最快的移植到相关的电视环境中,并使模块能够最大化的复用到其他电视方案。设计并实现OSD库以及和底层的相关接口,模块化数据存储的定义以及和底层的相关接口,编写电视的声音,图像,搜台,信道切换等各种基本功能模块以及和底层驱动的中间层封装。软件代码具有独立性,耦合度低,具有通用性,经简单修改接口函数即可移植到其他的数模一体机平台上。具有自己独立的GUI库和行为架构将大大节省GUI的开发周期和开发复杂度,软件工程师在技术积累的基础上可以重复利用以前GUI的资源,兼容性和稳定性都将有很大的提高。电视行为控制的上层封装相当于拥有自己的SDK平台,基于此SDK平台的修改和扩展可以逐步形成自己的平台技术积累。模块用C语言开发,使用标准的ANSI C语言库,GUI库使用C++语言开发,中间层是在底层库的基础上实现图像,声音,搜台,功能,节目管理等电视基本功能和逻辑。
  
该方案的软件是基于LINUX UC0S的平台,是具有多线程,多任务管理的操作系统。平台基本可以分为三层:固件,API层,应用软件层。固件和API层由TI公司提供,用于底层的驱动和TVP9000解复用。在此基础上进行应用软件层的开发,主要是提供一些和用户接口的功能部分,用户菜单主要分为以下5个部分,分别是图像,声音,搜台,频道管理和服务菜单,其中服务菜单是在数字电视下才有的,TVP9000的软件框架如图2。

  图2 TVP9000的软件构架

  图3 软件结构

        
本方案的软件结构如图3示,中间层包含了以下几个层:
  
模块管理层,模块可以控制一个菜单,或者多个菜单,比如图像模块,声音模块。理论上模块管理器可以管理的模块是无限多的,不过基于链表的效率而言,推荐的模块数目不要超过50个,一般电视机而言不会有超过50个模块的。每个模块都有自己特定的功能,比如图像,声音,搜台等模块。   
事件转换层,将底层的不同的事件都经过事件转换层转换为中间层可识别的事件,比如将遥控码事件转化为中间层的key事件。   
功能抽象层,将底层基于硬件功能的部分都抽象为中间层标准的API函数,客户按照相应的功能填写这些函数。
存储、公共变量层,存储(如EEPROM,FLASH)和公共变量的管理和接口层。   
主动任务层,用于作为实时检测,和定时功能实现的模块。

 

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top