当前位置:问答库>论文摘要

题目:无缝切换不同协议遥控器驱动设计与实现

关键词:驱动,红外协议,遥控器

  摘要


随着数字电视行业的不断发展,各类终端设备层出不穷。IPTV,数字电视机顶盒,dongle等,由以数字电视机顶盒为主。各类芯片厂商针对数字电视都提供了自己的一套芯片解决方案。每一家芯片方案的厂家又使用了不同协议的遥控器,为了适应每一款遥控器,每次驱动都会重新编写。由于现在的数字芯片方案都以linux操作系统为主,课题基于此研发了一款驱动程序能够无缝解析切换不同协议遥控器。一方面减少了每一款遥控都要花时间去编写相应驱动的工作量,另一方面当驱动应用于不同的终端设备时增加了单个遥控器的使用率。最终的目的是使驱动程序既能保证一对多,也能保证多对一,方便用户使用。

由于常规的驱动都是硬件解码一体化,系统启动时寄存器已储存对应协议的原始键值脉冲宽度,当原始键码发生变化时将解析失败。为了能够解析不同协议驱动程序主要进行了一下几部分工作:

第一,判断起始码和引导码,通过比较再适配相应的红外协议。这样做的目的是快速识别不同的遥控协议,舍去不必要的解析,降低内存的消耗。

第二,将解码过程分为上下两部分,上半部接收所有红外键码值,下半部解析键值并转化标准的Linux键值。上半部接收信号存入缓存,下半部对信号抽样,量化,编码处理。通过以上两个步骤接收并处理所有信号,达到解析不同红外遥控协议的目的。

第三、关键步骤处理。防抖处理,当键值码由于各种原因不能按正确的有效位数发送给cpu时,将舍去这段键值码的解析,保证用户体验良好,解码稳定,同时也避免解析无效数据时间过长引起cpu堵塞。 同步处理,使缓存能及时的清理掉不用的键值码数据,保证每次操作系统响应红外遥控的正确性。协议暂存,当解析完一种类型的协议时,会保留本次的协议,下一次会直接运用本协议,降低系统的开销,加快了协议的解析。