著录项信息
专利名称 | 一种基于数字电视的多硬件接口兼容驱动系统 |
申请号 | CN201110131416.3 | 申请日期 | 2011-05-19 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2011-09-21 | 公开/公告号 | CN102196308A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04N21/43 | IPC分类号 | H;0;4;N;2;1;/;4;3;;;G;0;6;F;9;/;4;4;5查看分类表>
|
申请人 | 广东星海数字家庭产业技术研究院有限公司;中山大学 | 申请人地址 | 广东省广州市番禺区小谷围街中一路60号数字家庭孵化基地A402
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 广东星海数字家庭产业技术研究院有限公司,中山大学 | 当前权利人 | 广东星海数字家庭产业技术研究院有限公司,中山大学 |
发明人 | 邓代国;郝晓;罗笑南 |
代理机构 | 暂无 | 代理人 | 쒃褄⑾譟廆쉝邐邐讐囿譗塾ナ蔏ᐏ왟呆币郃邐邐ヒ譕菬僬噓?䎋謈籐㍗跶ࡻ쾋疉觴疉觤疉觠큵틿䖉㧼ࡵ蔏Ᏹ삅蔏Ꮹ䖋藤࿀솅Ț謀삅蔏᫃䖋诠㈑蕳࿀뾅Ț謀큽ナ蔏᫅譟廆譛工ೂ退邐邐 |
摘要
本发明公开了一种基于数字电视的多硬件接口兼容驱动系统,该系统包括数字电视嵌入式Linux操作系统内核、数字电视底层硬件、数字电视多硬件接口兼容驱动。通过本发明基本运行系统和正常运行系统的协作,完成可靠的,可恢复性的驱动加载过程;可以直接在不中断当前业务的情况下透明驱动加载,完全顾及了用户的业务享受心情,是一种积极、人性化的驱动加载方法。
1.一种基于数字电视的多硬件接口兼容驱动系统,其特征在于,其包括三个层次结构:
数字电视嵌入式Linux操作系统内核模块、数字电视底层硬件模块、数字电视多硬件接口兼容驱动模块;所述的数字电视多硬件接口兼容驱动模块,它主要向操作系统以及应用程序提供对硬件进行屏蔽后的服务,为上层数字电视嵌入式操作系统内核提供统一的硬件驱动,实现相关功能服务;多硬件接口兼容驱动对嵌入式操作系统内核所相关的硬件平台的基本硬件组成部分进行抽象,实现多接口兼容驱动技术,提供嵌入式操作系统内核硬件平台的相关功能,并设计相应的支持多硬件接口兼容驱动的协议库文件,提供对应的API接口及使用样例应用程序;
所述的数字电视底层硬件模块,它是上层数字电视多硬件接口兼容驱动的平台,多硬件接口兼容驱动是基于此硬件平台的基础上实现的,根据不同的机顶盒,可选择不同的硬件平台,
该系统的软件模块包括以下四个部分:分别是Detection layer、Adaptation layer、Insmod layer及Rmmod layer,其中Insmod layer与Rmmod layer又合称为HVM layer;
Detection layer用来检测系统中硬件的加卸载信息,并将其反馈给Adaptation layer,Detection layer是不涉及体系结构及外围端口寄存器具体操作,能够通用于各种硬件平台的一层;
Adaptation layer中对HVM layer相关的数据类型以及数据结构进行定义,包括寄存器上下文保存格式的定义以及对中断异常向量起始地址、各种异常和中断处理的入口偏移,并负责通用硬件抽象层功能中体系结构相关部分的实现;实现的内容主要是对各个寄存器的访问,对于中断异常向量表的操作以及底层的中断和异常处理;
HVM layer除了为嵌入式操作系统内核提供统一的功能服务接口外,为了便于扩展和移植到其他硬件平台,还在各层的调用之间设计了统一的调用接口;下层的功能实现需要按照与上层确定的接口规范来进行;其中外围层与上层之间的接口是使用宏定义的方式进行的;HVM layer主要包括对外围I/O接口和设备属性的定义,并且负责对各个外围I/O设备端口寄存器的访问操作;外围层的实现需要根据上层定义的接口进行;通用硬件抽象层的外围层必须提供对存储控制、总线控制、中断控制器、定时器控制器、UART基本I/O接口和设备的I/O端口寄存器的访问功能。
2.根据权利要求1所述的系统,其特征在于,Detection layer内包括对统一的与编译器无关的数据类型、抽象设备的数据结构定义,以及提供给嵌入式操作系统内核的对抽象设备的各种统一的操作服务的接口通用的实现部分;该层中抽象设备操作的实现中需要涉及的操作,是通过调用Adaptation layer以及HVMlayer层中统一定义的接口进行的;当扩展或移植到其他硬件平台上时,上层无须修改,而只须进行下层替换。
3.根据权利要求1所述的系统,其特征在于,该系统的软件操作流程为:通过调用Dr_detection()判断硬件是否介入或者拔掉,若判断硬件已经介入,调用Dr_adaption(),然后再调用Dr_insmod()加载相应驱动,通过读取相应的读写设备挂起任务;若判断硬件已经拔掉,调用Dr_adaption(),然后再调用Dr_rmmod()卸载相应驱动,通过关闭相应的读写设备挂起任务。
一种基于数字电视的多硬件接口兼容驱动系统\n技术领域\n[0001] 本发明涉及数字家庭技术领域,具体涉及一种基于数字电视的多硬件接口兼容驱动系统。\n背景技术\n[0002] 电视机是中国最普及的家用电器,目前的普及率是150%,很多城市家庭都拥有两台以上的电视机。电视机已成为中国人家庭生活的组成部分,大多数人家中客厅的布置是一排座位面对着一台电视机,这表明电视机已经成为家庭文化生活的核心所在。但是电视机的价值在广电行业被大大地低估了,大家都只把它定位为文化娱乐的终端,根本没有意识到,结合网络与机顶盒,电视机实际上可以实现电脑的绝大部分功能,是家庭中最成熟、最普及、最方便的信息终端。\n[0003] 因此数字电视的终极目标就不应该仅仅是节目广播了,而应该是以电视机为终端的资讯增值服务。广播电视行业只要将广电网络的宽带优势与IP技术的互动优势相结合,将广电的内容与电讯的服务相结合,我们将开创出一个双模数字电视的全新概念。\n[0004] 针对数字电视及数字家庭三网融合、3C融合交互应用中的多硬件接口驱动和通讯问题,研究基于Linux的数字电视多硬件接口兼容驱动技术,重点解决数字电视及家庭网关中的多硬件接口的并发兼容驱动的研发。目前的驱动安装方式主要为以下两种方式:\n[0005] (1)双击自动安装\n[0006] 这种方法适用于驱动程序的源文件本身就是后缀名为“exe”的可执行文件时。目前的软件基本都是后缀为“exe”的可执行文件,这就使得软件程序的安装步骤越来越趋于简单化,傻瓜化,驱动程序的安装也不例外。比如从NVidia官方网站下载的驱动程序的安装文件,是一个后缀名为“exe”的可执行文件。安装的时候首先左键双击它,然后一路点击“next”或者“Finish”就能够完成驱动程序的安装。\n[0007] (2)搜索安装\n[0008] 打开设备管理器,发现显卡的前面有个黄色的圆圈里面还有个“!”号,这表明显卡的驱动程序没有安装。对着该设备右键单击,选择“更新驱动程序”。\n[0009] 目前的驱动安装方式需要用户手动安装,导致系统的不稳定,给用户很差的体验感受。而且在该系统中不能对支持在线升级的固件程序进行升级,一旦支持在线升级的固件程序在程序存储其的永久驻留空间被破坏,则需要升级系统功能的固件程序时,不能启动到支持在线升级的固件程序,因而系统功能的固件程序不能再被升级更新。\n发明内容\n[0010] 本发明要解决的技术问题是提供一种基于数字电视的多硬件兼容驱动系统,灵活实现丰富的外部设备接口标准,具有可扩展性,方便硬件加载和升级。\n[0011] 一种基于数字电视的多硬件兼容驱动系统,其包括三个层次结构:数字电视嵌入式Linux操作系统内核模块、数字电视底层硬件模块、数字电视多硬件接口兼容驱动模块;\n所述的数字电视多硬件接口兼容驱动模块,它主要向操作系统以及应用程序提供对硬件进行屏蔽后的服务,为上层数字电视嵌入式操作系统内核提供统一的硬件驱动,实现相关功能服务;多硬件接口兼容驱动对嵌入式操作系统内核所相关的硬件平台的基本硬件组成部分进行抽象,实现多接口兼容驱动技术,提供嵌入式操作系统内核硬件平台的相关功能,并设计相应的支持多硬件接口兼容驱动的协议库文件,提供对应的API接口及使用样例应用程序;\n[0012] 所述的数字电视底层硬件模块,它是上层数字电视多硬件接口兼容驱动的平台,多硬件接口兼容驱动是基于此硬件平台的基础上实现的,根据不同的机顶盒,可选择不同的硬件平台。\n[0013] 基于数字电视的多硬件接口兼容驱动系统的软件模块包括以下四个部分:分别是Detection layer、Adaptation layer、Insmod layer及Rmmod layer,其中Insmod layer与Rmmod layer又合称为HVM layer;\n[0014] Detection layer用来检测系统中硬件的加卸载信息,并将其反馈给Adaptation layer,Detection layer是不涉及体系结构及外围端口寄存器具体操作,能够通用于各种硬件平台的一层;\n[0015] Adaptation layer中对HVM layer相关的数据类型以及数据结构进行定义,包括寄存器上下文保存格式的定义以及对中断异常向量起始地址、各种异常和中断处理的入口偏移等,并负责通用硬件抽象层功能中体系结构相关部分的实现;实现的内容主要是对各个寄存器的访问,对于中断异常向量表的操作以及底层的中断和异常处理;\n[0016] HVM layer除了为嵌入式操作系统内核提供统一的功能服务接口外,为了便于扩展和移植到其他硬件平台,还在各层的调用之间设计了统一的调用接口;下层的功能实现需要按照与上层确定的接口规范来进行;其中某些上下层之间的接口,尤其是外围层与上层之间的接口是使用宏定义的方式进行的;HVM layer主要包括对外围I/O接口和设备属性的定义,并且负责对各个外围I/O设备端口寄存器的访问操作;外围层的实现需要根据上层定义的接口进行;通用硬件抽象层的外围层必须提供对存储控制、总线控制、中断控制器、定时器控制器、UART等基本I/O接口和设备的I/O端口寄存器的访问功能。\n[0017] Detection layer内包括对统一的与编译器无关的数据类型、抽象设备的数据结构定义,以及提供给嵌入式操作系统内核的对抽象设备的各种统一的操作服务的接口通用的实现部分;该层中抽象设备操作的实现中需要涉及的操作,是通过调用Adaptation layer以及HVM layer层中统一定义的接口进行的;当扩展或移植到其他硬件平台上时,上层无须修改,而只须进行下层替换。\n[0018] 基于数字电视的多硬件接口兼容驱动系统的软件操作流程为:通过调用Dr_detection()判断硬件是否介入或者拔掉,若判断硬件已经介入,调用Dr_adaption(),然后再调用Dr_insmod()加载相应驱动,通过读取相应的读写设备挂起任务。若判断硬件已经介入,调用Dr_adaption(),然后再调用Dr_rmmod()卸载相应驱动,通过关闭相应的读写设备挂起任务。\n[0019] 本发明具有以下优点:\n[0020] 1)通过基本运行系统和正常运行系统的协作,完成可靠的,可恢复性的驱动加载过程;\n[0021] 2)在正常运行系统中驱动加载本身时,先判断基本运行系统是否已经经过验证,在绝大多数情况下,基本运行系统是经过驱动加载处理验证(或者出厂时验证),可以直接在不中断当前业务的情况下透明驱动加载,完全顾及了用户的业务享受心情,是一种积极、人性化的驱动加载方法。\n附图说明\n[0022] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。\n[0023] 图1为本发明中的数字电视多硬件接口兼容驱动的功能结构图;\n[0024] 图2为本发明中的数字电视多硬件接口兼容驱动的软件模块结构图;\n[0025] 图3为本发明实施例中的数字电视多硬件接口兼容驱动软件操作流程图。\n具体实施方式\n[0026] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。\n[0027] 针对数字电视及数字家庭三网融合、3C融合交互应用中的多硬件接口驱动和通讯问题,结合数字电视系统特点及Linux系统内核的内存管理、进程调度、中断响应、任务管理等优化技术,采用LKM(Linux Kernel Module)机制,设计出屏蔽硬件差异的“硬件套接层”,灵活实现丰富的外部设备接口标准,具有可扩展性,方便硬件加载和升级。数字电视多硬件接口兼容驱动的功能结构如图1所示。其包括三个层次结构:数字电视嵌入式Linux操作系统内核、数字电视底层硬件、数字电视多硬件接口兼容驱动。\n[0028] 所述的数字电视多硬件接口兼容驱动模块,它主要向操作系统以及应用程序提供对硬件进行屏蔽后的服务,为上层数字电视嵌入式操作系统内核提供统一的硬件驱动,实现相关功能服务。多硬件接口兼容驱动对嵌入式操作系统内核所相关的硬件平台的基本硬件组成部分进行抽象,实现多接口兼容驱动技术,提供嵌入式操作系统内核硬件平台的相关功能,并设计相应的支持多硬件接口兼容驱动的协议库文件,提供对应的API接口及使用样例应用程序。当操作系统或应用程序使用该API进行设计时,就能够在下层数字电视底层硬件平台上实现,解决不同硬件接口的兼容问题。\n[0029] 所述的数字电视底层硬件模块,它是上层数字电视多硬件接口兼容驱动的平台,多硬件接口兼容驱动是基于此硬件平台的基础上实现的,根据不同的机顶盒,可选择不同的硬件平台。\n[0030] 基于数字电视的多硬件接口兼容驱动的软件模块结构图如图2所示,将主要包括以下几个部分:Detection layer、Adaptation layer、Insmod layer及Rmmod layer设计。\n[0031] Detection layer用来检测系统中硬件的加卸载信息,并将其反馈给Adaptation layer。Detection layer是不涉及体系结构及外围端口寄存器具体操作的、能够通用于各种硬件平台的一层。Detection layer内包括:对统一的与编译器无关的数据类型、抽象设备的数据结构定义,以及提供给嵌入式操作系统内核的对抽象设备的各种统一的操作服务的接口通用的实现部分。该层中抽象设备操作的实现中需要涉及的操作,是通过调用Adaptation layer以及HVM layer层中统一定义的接口进行的。当扩展或移植到其他硬件平台上时,上层无须修改,而只须进行下层替换。\n[0032] Adaptation layer中对HVM layer相关的数据类型以及数据结构进行定义,包括寄存器上下文保存格式的定义以及对中断异常向量起始地址、各种异常和中断处理的入口偏移等,并负责通用硬件抽象层功能中体系结构相关部分的实现。实现的内容主要是对各个寄存器的访问,对于中断异常向量表的操作以及底层的中断和异常处理。体系结构层的实现是按照上层规定的调用接口来进行的,因而针对不同的体系结构,上层通用层无须进行修改。针对某种体系结构设计实现的体系结构层能够通用于CPU内核体系结构兼容的嵌入式微处理器的硬件平台上,从而易于硬件抽象层在体系结构兼容的嵌入式微处理器硬件平台上的扩展和移植。\n[0033] Insmod layer与Rmmod layer又合称为HVM layer。HVM layer除了为嵌入式操作系统内核提供统一的功能服务接口外,为了便于扩展和移植到其他硬件平台,还在各层的调用之间设计了统一的调用接口。下层的功能实现需要按照与上层确定的接口规范来进行。其中某些上下层之间的接口,尤其是外围层与上层之间的接口是使用宏定义的方式进行的。HVM layer主要包括对外围I/O接口和设备属性的定义,并且负责对各个外围I/O设备端口寄存器的访问操作。外围层的实现需要根据上层定义的接口进行。通用硬件抽象层的外围层必须提供对存储控制、总线控制、中断控制器、定时器控制器、UART等基本I/O接口和设备的I/O端口寄存器的访问功能。\n[0034] 基于数字电视的多硬件兼容驱动的软件操作流程图如图3所示。通过调用Dr_detection()判断硬件是否介入或者拔掉,若判断硬件已经介入,调用Dr_adaption(),然后再调用Dr_insmod()加载相应驱动,通过读取相应的读写设备挂起任务。若判断硬件已经介入,调用Dr_adaption(),然后再调用Dr_rmmod()卸载相应驱动,通过关闭相应的读写设备挂起任务。\n[0035] 以上对本发明实施例所提供的一种基于数字电视的多硬件接口兼容驱动系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
法律信息
- 2013-11-06
- 2011-11-23
实质审查的生效
IPC(主分类): H04N 21/43
专利申请号: 201110131416.3
申请日: 2011.05.19
- 2011-09-21
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2006-11-29
|
2005-05-27
| | |
2
| |
2007-01-10
|
2005-07-07
| | |
3
| |
2007-01-24
|
2006-01-13
| | |
4
| |
2006-08-23
|
2006-01-13
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |