ATV应用软件介绍.ppt
ATV应用软件介绍,2008-10-27,主要内容,ATV应用软件开发流程,软件架构及模块划分,Driver的封装要求,应用软件测试要求,派生机开发特点,1,2,3,4,5,ATV应用软件开发流程,软件架构及模块划分,Driver的封装要求,应用软件测试要求,派生机开发特点,1,2,3,4,5,ATV应用软件开发流程,产品开发流程图,ATV应用软件开发流程,产品开发流程产品架构建立阶段概念阶段实现阶段工艺验证测试或系统整合测试系统验证测试根据产品开发流程将软件设计操作简单介绍。,ATV应用软件开发流程,产品架构建立阶段定义软件架构,与电路设计工程师一起制定软硬件接口。对软件模块进行选择和评价,对标准设计和可重复使用的设计进行预先研发如果方案厂商提供了原始的软件和DEMO样机,则可对已提供的DEMO样机进行软件功能的评价,作出原始软件成熟度评测报告,ATV应用软件开发流程,概念启动(CS)功能模块说明(Function Block Diagram)控制流程图(Control and data flow)软硬件接口关系(HSI)平台规划(Platform mapping)可重用软件(Reuse/recycle check table)风险评估管理(Risk assessment),ATV应用软件开发流程,概念设计对产品的功能需求进行分析,软件设计工程师提交软件功能规格书,软件测试工程师提交软件测试规格书;开发工具的熟悉,提交如何建立开发环境,调试环境文档;对方案的熟悉和开发软件的熟悉,并提交软件流程框图、软硬件接口关系文档(HSI);建立CVS软件管理环境,并提交工程文件夹说明文档;功能软件的开发,实现要求的基本功能,在设计中须按照软件设计规范开发,并考虑设计雷区项和生产相关的建议项;软件开发过程中需做好软件开发日志和软件问题日志Problem Log,并且利用CVS进行软件代码的版本管理。,ATV应用软件开发流程,原型机(Prototpye)制作软件设计工程师进行原型机开发,实现菜单及基本操作,实现本机及遥控按键功能,实现开关机等基本功能,实现各信道的基本显示,实现搜台换台操作,实现声音音量调节等。发布版软件,配合电路和结构设计工程师组装几台原型机,进行技术评估和设计审查。,ATV应用软件开发流程,原型机评测原型机经过DQE和其它测试人员测试,针对发现的问题进行修改。从原型机开始,一直到项目结束,所有的问题描述、原因分析与解决方法必须以简明易懂的方式记录于问题日志(Problem Log)中,做为日后追查的依据,并可用于学习和经验分享。,ATV应用软件开发流程,项目启动(PRS or PS)项目启动后,进入详细的软件开发设计制定本阶段详细开发计划,分配任务,提交软件开发任务进度表各模块详细设计,实现要求的各项功能;在设计中须按照软件设计规范开发,并考虑设计雷区项和生产相关的建议项;软件开发过程中需做好软件开发日志和问题日志Problem Log,每周提交项目软件进度周报;利用CVS进行软件版本管理,每周做好标签,并提交标签说明。在开发过程中需经过项目组自测、软件所所内不同项目之间交叉测试、软件所所内测试人员测试、开发部测试支持人员测试、质量管理中心(DQE)测试,并不断解决问题,ATV应用软件开发流程,草样机(1st.Model)制作软件设计工程师进行草样机开发,基本实现所需的各项功能,菜单及基本操作完善,本机及遥控按键功能完善,开关机功能完善,各信道的显示正常,搜台换台操作正常,声音功能正常,特殊功能正常,工厂菜单及功能实现等。配合电路和结构设计工程师组装几台草样机,进行技术评估和设计审查。审查通过后发布版软件。草样机需经过软件所所内不同项目之间交叉测试、软件所所内测试人员测试、开发部测试支持人员测试、质量管理中心(DQE)测试,将测试出的问题记入问题日志(Problem Log),ATV应用软件开发流程,草样机评鉴软件设计工程师负责按照设计规范查核表和问题日志(Problem Log)进行核查,重点在前阶段的问题和变更上,并对发现的问题进行修改,ATV应用软件开发流程,正式样机(2nd.Model)制作根据草样机的评鉴和设计审查的结论,软件改进,解决提出的问题,完善各项功能,并提供正式样机制作所需的最新版本的软件写入程序,ATV应用软件开发流程,正式样机设计质量评鉴正式样机经过DQE进行设计质量评测,软件设计工程师针对发现的问题进行修改。软件设计工程师负责按照设计规范查核表和问题日志(Problem Log)进行核查,重点在前阶段的问题和变更上。,ATV应用软件开发流程,设计放行(DR)在设计放行里程碑会议之前,软件设计工程师要确认其设计已经达到规定的成熟度指标。如果没有达标,必须列举问题日志(Problem Log)中未解决的问题向项目经理报告,讨论后续对策。,ATV应用软件开发流程,产品技术文件发布 设计放行后,依产品技术文件发布管理办法提交正式的产品技术文件,包括:软件产品功能需求规格书软件测试规格书软件生产指南包括工厂调试数据说明,软件升级文档及视频说明软体写入程序码即正式版生产软件,包括升级文件、P48程序烧写文件、EDID文件、DMP等其它模块生产文件,并附带软件下发设计联系书,同时要进行编号管理。,ATV应用软件开发流程,上市放行原型机项目或功能改动较大的派生项目结束后每位软件开发人员需进行项目总结,在项目结束三周内提交项目总结报告。在开发过程中遇到的有参考价值的更改,对于可提示大家容易出错或提醒注意的问题可加入软件设计雷区表,对于开发过程中好的方法、经验可加入软件经验共享表。,ATV应用软件开发流程,软件架构及模块划分,Driver的封装要求,应用软件测试要求,派生机开发特点,1,3,4,5,2,软件架构及模块划分,主程序流程,软件架构及模块划分,系统结构图,软件架构及模块划分,驱动层软件设计最底层访问寄存器监测硬件更改包括主芯片和外围芯片的驱动程序,外围芯片主要包括EEPROM、高频头、中放、声音、预释放(CRT)等。,软件架构及模块划分,应用层完成功能性要求数据的读写及管理显示的处理Api部分包括ApiPicture、ApiSound、ApiChannel、ApiFunction、ApiVGAScreen、ApiFactory、ApiPopup,软件架构及模块划分,系统层Main loop程序UI命令(包括按键、遥控及事件触发)转换及处理UI部分包括UIPicture、UISound、UIChannel、UIFunction、UIVGAScreen、UIFactory、UIPopup,软件架构及模块划分,菜单处理函数BOOL MenuCommandHandler(BYTE bCommand),软件架构及模块划分,菜单控制流程,ATV应用软件开发流程,软件架构及模块划分,Driver的封装要求,应用软件测试要求,派生机开发特点,1,3,4,5,2,Driver的封装要求,主芯片与外围芯片 一般从应用角度来讲,整机方案中最核心的部分,比如我们的SOC称之为主芯片,TV系统所需的其他芯片叫做外围芯片。,Driver的封装要求,Driver 我们通常所说的软件驱动主要有两部分构成,一部分是主芯片内部模块的驱动,比如OSD,decoder、scaler、HDMI等。另一部分是外围芯片的驱动,比如tuner、声音处理等,这些芯片都来自不同厂家。,Driver的封装要求,Driver的封装一个整机方案确定好以后主芯片基本是不会变了,所以他的内部驱动模块基本上可以不用变化,这个我们就可以进行封装,把尽可能考虑到的上层可能调用的接口和功能做好。遇到底层bug或者需要添加驱动模块功能时还是需要对封装进行更新维护。,Driver的封装要求,主芯片Driver的要求主芯片驱动的基本要求就是可以提供应用所需的基本功能,有接口函数的文档或者加足够清楚的注释。有些频繁调用的底层驱动必要要有较高的执行效率。另外主芯片驱动还必须要提供基本的读写函数、寄存器地址的定义。有些驱动没有做到的特殊功能,也可以由应用在外部添加使用。,Driver的封装要求,外围芯片Driver的要求在TV产品开发过程中,因为成本或者供货等原因,外部芯片的变动是肯定的,这个一般是不需要封装的。我们需要给客户一些驱动文件,这就需要这部分驱动的独立性比较好,对上层的接口保持一致,方便替换。不过,因为绝大多数芯片并不是寄存器可兼容,而且功能上也会有差异。一般不可能只替换掉driver文件就可以完成芯片替换的。在更换掉driver文件的同时,上层应用也会作相应的调整。,Driver的封装要求,总结 由于外围硬件的不固定性,加上TV软件也是一个比较简洁追求效率的软件系统,所以TV软件中没有绝对的层与层之间的隔离。我们只能是尽量做到在更换外围芯片的同时尽可能地减少应用软件的改动。,ATV应用软件开发流程,软件架构及模块划分,Driver的封装要求,应用软件测试要求,派生机开发特点,1,3,4,5,2,应用软件测试要求,ATV应用软件开发流程,软件架构及模块划分,Driver的封装要求,应用软件测试要求,派生机开发特点,1,3,4,5,2,派生机开发要求,派生机更改情况硬件降成本酒店等工程机新功能加入硬件的升级换代,派生机开发要求,硬件降成本在原型机量产后,需要进一步降低成本,增加竞争力只要针对外设芯片进行修改,比如更换高频头 中放 伴音芯片 HDMI芯片 显像管 液晶屏等这种派生机需要更改的软件部分主要是添加芯片的驱动,修改应用程序对新的芯片的调用接口当然更换芯片可能带来功能的增减,不过软件的更改还是很集中,高频头的更改主要就在搜台程序的修改,伴音的更改就在声音处理模块,HDMI的芯片更改主要就是替换旧的驱动,替换为新的和接口函数,派生机开发要求,酒店等工程机酒店等工程机,主要是某些行业需要的电视,功能具有特殊性。硬件一般改动不大,软件主要是添加删除一些功能。比如,开机logo更改,开机频道 通道选择,锁定添加删除某些按键功能等特殊一点的:有的车载电视可能会要求通过串口输入信息,比如通过串口输入04,12,17,d3(功能:强行回到PC单画面显示状态)。,派生机开发要求,新功能加入一些新功能加入,可以提高产品档次,丰富产品功能,分为2种:1种是有硬件加入变化的。比如添加DMP模块,添加对外界环境的感光模块1种是没有硬件变化,只有软件改动。比如添加自由听功能,派生机开发要求,硬件的升级换代由于硬件厂商停产或者转产该产品,我们必须对新推出的产品进行开发。最常见就是换液晶屏 显像管和外设芯片的升级需要软件根据新旧产品的差别,进行相应的处理,一般说来,工作量比较小。,