基于红外协议的信号调制方法、电路及遥控终端与流程

文档序号:22111616发布日期:2020-09-04 15:08阅读:291来源:国知局
基于红外协议的信号调制方法、电路及遥控终端与流程

本发明涉及红外通信技术领域,特别涉及一种基于红外协议的信号调制方法、电路及遥控终端。



背景技术:

在智能家居的物联系统里,作为控制中枢的智能设备,需要控制和使用很多外围设备,如空调、电视、风扇、电动窗帘等,因此,控制中枢需要支持各种红外协议。而作为控制中枢的智能设备一般搭载操作系统,需要处理非常耗费cpu的各种算法,还需要实时精准采集和响应外界的信号。

目前控制中枢的智能设备支持多种红外协议的方式中的软件模拟,通常依赖于ndelay这种cpu忙等待延时函数,循环地延时和切换gpio高低电平来模拟红外协议信号,发送过程中不能被其他任务抢占,包括硬件中断,可能导致部分需要实时响应的中断堵塞,影响系统其他模块的工作。



技术实现要素:

本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种基于红外协议的信号调制方法,能够实现软件模拟且对cpu负载低。

本发明还提出一种使用上述基于红外协议的信号调制方法的基于红外协议的信号发射电路。

本发明还提出一种包括基于红外协议的信号发射电路的遥控终端。

根据本发明的第一方面实施例的基于红外协议的信号调制方法,包括:接收红外控制命令,根据所述红外控制命令的目标控制设备确定红外协议类型;根据所述红外协议类型,对所述红外控制命令进行编码,获得若干脉冲编码数据,所述脉冲编码数据中包括脉冲类型及脉冲时长;根据搭载系统的类型,通过软件定时器超时回调或硬件定时中断的其中之一,控制内置的pwm模块在所述脉冲时长内输出所述脉冲类型的红外协议波形。

根据本发明实施例的基于红外协议的信号调制方法,至少具有如下有益效果:无需专用红外编码和信号调制硬件单元,由软件实现红外编码,通过内置的pwm模块及定时器实现红外协议调制并发送,发送过程对cpu负载影响很低,不影响其他中断的响应和处理,可以支持多种协议。

根据本发明的一些实施例,所述脉冲编码数据的获得方法包括:根据所述红外协议类型的帧格式特征,获得引导区的信号特征及数据区的信号特征;根据所述引导的区信号特征,获得若干引导区的所述脉冲编码数据,根据所述数据区的信号特征及所述红外控制命令,获得若干数据区的脉冲编码数据。

根据本发明的一些实施例,若所述搭载系统为linux或者andriod,则通过linux内核高精度定时器的超时回调控制所述pwm模块输出所述红外协议波形。

根据本发明的一些实施例,若所述搭载系统为rtos,则通过硬件定时中断控制所述pwm模块输出所述红外协议波形。

根据本发明的一些实施例,所述红外协议波形的输出方法包括:所述pwm模块在软件定时器超时回调或硬件定时中断的其中之一中,依次读取所述脉冲编码数据,根据所述脉冲类型配置pwm占空比,并根据所述脉冲时长设置超时时间。

根据本发明的一些实施例,若所述脉冲类型属于载波类型,则根据所述红外协议类型相应的载波阶段,配置pwm占空比;若所述脉冲类型属于电平类型,则根据所述红外协议类型配置pwm的占空比为0或1。

根据本发明的一些实施例,根据所述脉冲类型配置pwm占空比的方法包括:若所述脉冲类型属于载波类型,则根据所述红外协议类型相应的载波阶段,配置pwm占空比;若所述脉冲类型属于电平类型,则根据所述红外协议类型配置pwm的占空比为0或1。

根据本发明的一些实施例,所述红外协议波形的输出方法还包括:在所述pwm模块输出所述红外协议波形之前,根据所述红外协议类型设置所述pwm模块的频率并使能所述pwm模块,并初始化软件定时器或者所述硬件定时器,设置第一定时;检测到所述pwm模块处理完所述脉冲编码数据,关闭所述硬件定时器及所述pwm模块。

根据本发明的一些实施例,所述第一定时为1ms。

根据本发明的第二方面实施例的基于红外协议的信号发射电路,包括:主控cpu,用于本发明的第二方面实施例的方法,控制pwm端口输出红外协议波形;红外发射器件,用于发送所述红外协议波形;驱动器件,分别与所述主控cpu的pwm端口及红外发射器件的输入端相连接,用于驱动所述红外发射器发送所述红外协议波形。

根据本发明实施例的基于红外协议的信号发射电路,至少具有如下有益效果:通过内置的pwm输出模块及定时器实现红外协议调制并发送,发送过程对cpu负载影响很低,不影响其他中断的响应和处理,可以支持多种协议;只需要通用的主控cpu芯片,降低了生产成本。

根据本发明的第三方面实施例的遥控终端,包括有本发明的第二方面实施例的的基于红外协议的信号发射电路。

根据本发明实施例的遥控终端,至少具有如下有益效果:通过内置的pwm模块及定时器实现红外协议调制并发送,发送过程对cpu负载影响很低,不影响其他中断的响应和处理,可以支持多种协议;仅需要使用通用的主控cpu芯片,有效地降低了生产成本。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例的方法的步骤示意图;

图2为本发明实施例的方法中的红外编码逻辑位的示意图;

图3为本发明实施例的方法中的红外编码帧格式的示意图;

图4是本发明实施例的方法中的软件框图;

图5是本发明实施例的方法中红外调制发射的软件流程图;

图6是本发明实施例的红外发射电路的硬件电路框图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。

参照图1,本发明实施例的方法包括以下步骤。接收到一条红外控制命令,该红外控制命令中包括:要操作的对象(即目标控制设备)及相应的命令内容,根据目标控制设备确定红外协议类型,确保该红外控制命令将以目标控制设备接收信号时所采用的红外协议类型进行转发。根据红外协议类型,对红外控制命令进行分段及编码,得到若干脉冲编码数据,每个脉冲编码数据中均包括相应的脉冲类型及脉冲时长,这些脉冲编码数据组成形成一条完整的待发送红外信号数据。根据搭载系统的类型,通过软件定时器超时回调或硬件定时中断的其中之一,控制内置的pwm模块逐个处理脉冲编码数据,在脉冲时长内输出相应脉冲类型的红外协议波形,处理完红外控制命令对应的脉冲编码数据,即生成完整的红外信号数据波形。

根据红外协议类型对红外控制命令的编码过程包括:根据红外协议类型的帧格式特征,获得引导区的信号特征及数据区的信号特征,其中数据区包括地址区及命令区;根据引导区的信号特征,获得若干引导区的脉冲编码数据,根据数据区的信号特征及红外控制命令,获得若干数据区的脉冲编码数据。

参照图2,以nec协议为例,一帧nec红外命令帧由引导码、地址字段及命令字段组成;引导码包括9ms载波及4.5ms低电平。而每位数据,参见图3,则由560us的载波和不同时间低电平表示,低电平的长短区分定义了逻辑1和逻辑0。引导区的信号根据不同的协议类型有不同的格式,对于nec协议,引导区可分为两个脉冲编码数据,第一个脉冲编码数据的脉冲类型属于载波类型,脉冲时间为9ms,另一个脉冲编码数据的脉冲类型属于电平类型,脉冲时间为4.5ms,且为低电平子类型。对于nec协议,数据区(包括地址字段及命令字段)可以理解为若干逻辑位数据,每个逻辑位数据中包括两个脉冲编码数据,第一个脉冲编码数据的脉冲类型属于载波类型,脉冲时间为560us。第二个脉冲编码数据的脉冲类型属于电平类型,且为低电平子类型,若逻辑位为1,则相应的脉冲时间为2.25ms-560us,否则逻辑位为0则相应的脉冲时间为1.12ms-560us。对于其它类型的协议,可以按照上述类似的方法进行划分,获取若干脉冲编码数据,每个脉冲编码数据中包括脉冲类型及脉冲时间。显然,若协议帧格式中的各载波频率或占空比并不一致,可以分成不同的载波子类型。在本发明的一些实施例中,脉冲编码数据中可以仅包括脉冲类型及脉冲时间,也可以直接包括脉冲相关特性数据,如频率占空比等。

本发明的实施例的方法中的软件构架图参见图4,红外应用层根据红外控制命令确定红外协议类型,并调用红外编码接口进行红外协议编码。红外编码接口将红外控制命令及红外协议类型等参数传送给红外编码库。红外协议编码库会根据红外协议类型将该红外控制命令转换为若干脉冲编码数据,脉冲编码数据中包括脉冲类型及脉冲时间。然后红外编码接口层将得到脉冲编码数据传递给红外发送驱动模块,由驱动调用pwm模块及相应的定时器完成红外协议波形的调制。在本发明的实施例中,若搭载的系统为linux或者andriod,则通过linux内核高精度定时器(hrtimer,其响应精度在20us内)的超时回调控制pwm模块输出红外协议波形;若搭载系统为rtos,则通过硬件定时中断控制pwm模块输出红外协议波形(精度在us级别)。

本发明的实施例之一的方法中,以linux或andriod等linux内核的操作系统为搭载系统,使用linux内核高精度定时器的超时回调来实现红外协议波形的输出,参照图5。接收到红外脉冲编码数据后,对pwm模块进行初始化,包括设置pwm的频率,并使能pwm模块,并初始化linux内核高精度定时器,设置第一定时为1ms。定时到达1ms后,进入软件超时回调。进入软件超时回调中,每次先判断本帧脉冲编码数据是否发送完,若未完成,则获取本次脉冲编码数据,包括脉冲类型及脉冲时间。若脉冲类型属于载波类型,则配置pwm模块的占空比输出相应波形,若不是载波类型,则为电平类型,以nec协议为例,应输出低电平,此时将pwm的占空比设置为0%即可。若电平类型为高电平,则将pwm的占空比设置为100%(即1);并根据脉冲时长设置超时时间。若在软件超时回调中发现本帧脉冲编码数据已发送完成,则将相应状态返回给红外发送函数。红外发送函数检测到发送完成的状态,关闭linux内核高精度定时器及pwm模块。

本发明的另一些实施例的方法中,以rtos等实时系统为搭载系统,则使用硬件定时器的定时中断来实现红外协议波形的输出。包括以下步骤:对pwm模块进行初始化,包括设置pwm的频率,并使能pwm模块,并初始化相应硬件定时器,设置第一定时。进入硬件定时中断,则根据脉冲类型配置pwm模块的占空比,根据脉冲时长设置为超时时间,直到本帧脉冲编码数据全部发送完毕。检测到本帧脉冲编码数据已发送完成,关闭相应硬件定时器及pwm模块。

本发明的实施例的基于红外协议的信号发射电路,参照图6,包括:主控cpu,用于使用上述方法,控制pwm端口输出红外协议波形;红外发射器件,用于发送红外协议波形;驱动器件,分别与主控cpu的pwm端口及红外发射器件的输入端相连接,用于驱动红外发射器发送红外协议波形。

本发明的实施例的遥控终端,包括上述基于红外协议的信号发射电路,用于接收红外控制命令,发送相应的红外协议波形,操控对应的目标控制设备。本发明实施例的遥控终端,包括,但不仅限于,智能音箱及遥控器等。

上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所述技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1