CN101365078A - 电视接收机中遥控命令码转发方法 - Google Patents
电视接收机中遥控命令码转发方法 Download PDFInfo
- Publication number
- CN101365078A CN101365078A CNA2008103045329A CN200810304532A CN101365078A CN 101365078 A CN101365078 A CN 101365078A CN A2008103045329 A CNA2008103045329 A CN A2008103045329A CN 200810304532 A CN200810304532 A CN 200810304532A CN 101365078 A CN101365078 A CN 101365078A
- Authority
- CN
- China
- Prior art keywords
- state
- data
- interval
- mcu
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Selective Calling Equipment (AREA)
Abstract
本发明涉及遥控命令转发的实现方法,提供一种用基于定时中断的遥控命令码转发方法,将MCU的一个定时器设定为遥控码的基本时间间隔或者其频率的倍数,通过不同的状态机变换来改变I/O端口输出的时间间隔,来实现遥控码输出,保证输出遥控命令转发波形的时序。由于在主程序循环中,只需要设定发送的相应的控制,发送每个步骤通过定时中断自动完成。本发明极大地减少干涉主循环的运行时间,易于在不同的硬件系统移植。
Description
技术领域
本发明涉及遥控电视接收机中主MCU控制其它法家附加功能模块,特别涉及遥控命令转发的实现方法。
技术背景
在电视接收机,有很多新增加功能如流媒体播放,电子相框,内置DVD,内置数字电视接收等等模块。一般来说需要将电视接收机作为主控MCU,来控制相应的功能模块的MCU。但是主控MCU的资源限制,控制方式采用遥控命令转发方式实现。而实现遥控命令的转发方式一般采用在外部中断服务子程序中或者在主循环程序中进行。一,在外部中断服务子程序实现遥控转发命令码,由于外部中断是最高中断级别,采用空操作来延时,这样做,很好地保证了输出遥控命令转发波形的时序,但是极大地影响了主程序的运行和红外遥控信号的接收。二,在主循环程序实现遥控命令码转发,由于外部中断和定时中断的干扰,使得遥控命令转发波形的时序极不稳定,导致其他模块接收问题。
发明内容
本发明所要解决的技术问题是,提供一种用基于定时中断的遥控命令码转发方法。
本发明为解决上述技术问题所采用的技术方案是,电视接收机中遥控命令码转发方法,其特征在于,基于定时中断转发遥控命令码,包括以下步骤:
a、初始化MCU的I/O端口,将MCU的一个定时器的基准时间隔设定为遥控码的基本时间间隔;
b、MCU中每隔所述基准时间隔进入定时中断转发,当进入定时中断转发时进入步骤c;
c、MCU判断是否有转发标志存在,如是,则退出定时中断转发,返回步骤b;如是,则进入步骤d;
d、MCU控制命令转发计数器加1,并判断状态机的状态,进入相应状态,通过I/O端口转发一个基本时间间隔的数据,通过命令转发计数器判断是否到该状态所对应的间隔时间;如否,则退出定时中断转发,返回步骤b;如是,将命令转发计数器清零并退出定时中断转发,返回步骤b;当遥控命令码转发完毕,MCU还需将转发标志清零后,退出定时中断转发,返回步骤b。
本发明的有益效果是,将MCU的一个定时器设定为遥控码的基本时间间隔或者其频率的倍数,通过不同的状态机变换来改变I/O端口输出的时间间隔,来实现遥控码输出,保证输出遥控命令转发波形的时序。由于在主程序循环中,只需要设定发送的相应的控制,发送每个步骤通过定时中断自动完成。这样极大地减少干涉主循环的运行时间,易于在不同的硬件系统移植。
附图说明
图1是本发明的MCU主程序工作流程图。
图2是本发明的MCU中转发命令控制函数工作流程图。
图3是本发明的MCU中定时中断服务子程序工作流程图。
图4是本发明的状态机转换图。
具体实施方式
本发明提出的遥控命令转发方法包括以下内容:
(1)确定的遥控编码方式
(2)MCU的定时器资源以及设置
(3)转发命令状态机
(4)定时中断服务子程序
(5)转发命令码映射表
(6)转发命令控制函数
由于红外遥控编码方式比较多,必须首先确定其编码方式规范。并根据MCU的资源,使用空闲的定时器,按照遥控编码规范,确定最小的时间间隔为定时器的基准时间隔(定时基准),并设置该定时器的中断级别高于其他中断。定时器的基准时间隔为每隔该基准时间隔,定时器控制MCU进入中断服务子程序。
如果没有多余的定时器,那么必须清理该定时中断服务子程序,使用新的定时基准,来实现其他定时状态和时钟的准确性。MCU的定时器的设置一般在主程序的MCU初始化的函数中实现,同时也定义作为转发命令的I/O端口。
在定时中断服务子程序中,有一个转发标志控制,该转发标志是启动命令转发流程的开关,并且设置一个命令转发计数器,用于确定基于基准时钟的定时个数,以便计算时间间隔。状态机按照编码规范设定数据头码,数据码,连续码以及结束码等状态,根据不同的状态和命令转发计数器来精确地控制I/O端口的电平状态和时间间隔。
转发命令控制函数是一个使主程序与定时中断服务子程序产生关系的接口函数,它包括了启动遥控命令转发控制,确定的遥控转发命令数据内容,连续码控制,以及对上次未发完的遥控码的保护。
而在主程序流程中会在需要的地方根据转发命令码映射表直接调用转发命令控制函数。
实施例
本实例使用NEC遥控编码方式。根据NEC遥控码规范,引导头是9ms低+4.5ms高;数据码是4个字节计32位,为系统码+系统反码+数据码+数据反码,“1”码是0.5625ms低+1.6875ms高,“0”码是0.5625ms低加上0.5625ms高;连续码是2.25msd低;每个遥控码总长为108ms,结束码是码总长减去引导码减去数据码得出的时间。
如图1所示为主程序工作流程,该程序需要初始化MCU定时器与I/O端口。当接收到按键后,判断该按键命令是否需要转发,如需要,根据转发命令码映射表直接调用转发命令控制函数;如不需要,则执行该按键命令。例如按照NEC遥控编码方式,基准时间隔可以设为0.5625ms或者更小,所述更小的基准时间隔可以是一些遥控码基本频率的倍数的倒数。设为0.5625ms计算比较方便,例如计算引导码9ms/0.5625=16,也就是16个定时间隔;“0”码是相当于1+1个定时间隔。按NEC编码方式,以0.5625ms为基准,不同状态的间隔个数见下表:
头状态一 | 头状态二 | 连续码状态 | “0”码 | “1”码 |
9ms | 4.5ms | 2.25ms | 0.5625+0.5625ms | 0.5625+1.6875ms |
16 | 8 | 4 | 1+1 | 1+3 |
图2是本发明的转发命令控制函数工作流程,为了防止上次的命令转发动作没有完成,需要在开始等待转发标志结束,然后根据需要按照转发命令码映射表转换键值,将准备发送的命令放入数据缓冲区,设置转发状态机起始状态,计算发送数据的所需的时间,启动转发标志,命令转发计数器清零。
由于在主程序的系统初始化设置了定时参数,确定系统每隔0.5625ms定时中断一次。定时中断服务子程序首先判断转发标志,该标志由转发命令控制函数设置。每次中断的进入转发计数器加1数。本发明将转发状态分为:发送头码状态一,发送头码状态二,数据码状态,连续码状态以及结束码状态。转发状态机是用switch-case语句来实现的,每次中断都只会进入状态机确定的状态处理;每个状态处理完后,转发状态改变,等下个定时中断就会进入下一个状态,直到进入结束码状态,见图4的状态机转换的一般情况为:头码状态一,发送头码状态二,数据码状态,结束码状态;或者,头码状态一,发送头码状态二,连续码状态,结束码状态;其中在数据码状态,主要使用数据位计数依次判断每个数据位地值,再确定发送“1”码或者“0”码。
定时中断服务子程序工作流程如图3所示:
1、初始化MCU的I/O端口,将MCU的一个定时器的基准时间隔设定为遥控码的基本时间间隔或者基本频率的倍数;
2、MCU每隔0.5625ms进入定时中断转发,当进入定时中断转发时进入步骤3;
3、MCU判断是否有转发标志存在,如是,则退出定时中断转发,返回步骤2;如是,则进入步骤4;
4、MCU控制命令转发计数器加1,并判断状态机的状态,进入相应状态,通过I/O端口转发一个基本时间间隔的数据,通过命令转发计数器判断是否到该状态所对应的间隔时间:
4.1、当状态机的状态为头码状态一,MCU控制其I/O端口输出一个0.5625ms的电平,通过命令转发计数器判断是否到数据头状态的间隔时间,即判断命令转发计数器是否计算达到16;如否,则退出定时中断转发,返回步骤2;如是,将状态机的状态设为头码状态二,命令转发计数器清零并退出定时中断转发,返回步骤2;
4.2、当状态机的状态为头码状态二,MCU控制其I/O端口输出一个0.5625ms的高电平,通过命令转发计数器判断是否到数据头状态的间隔时间,即判断命令转发计数器是否计算达到8;如否,则退出定时中断转发,返回步骤2;如是,MCU判断是否设置了连续码,如设置有,则将状态机的状态设为连续码状态控制,命令转发计数器清零并退出定时中断转发,返回步骤2;如没有设置,则将状态机的状态设为数据码状态,控制命令转发计数器清零并退出定时中断转发,返回步骤2;
4.3、当状态机的状态为连续码状态,MCU控制其I/O端口输出一个0.5625ms的低电平,通过命令转发计数器判断是否到连续码状态的间隔时间,即判断命令转发计数器是否计算达到4;如否,则退出定时中断转发,返回步骤2;如是,将状态机的状态设为结束码状态,控制命令转发计数器清零并退出定时中断转发,返回步骤2;
4.4、当状态机的状态为数据码状态,MCU先判断数据位计数是否结束,如是,将状态机的状态设为结束码状态,控制命令转发计数器与数据位计数清零并退出定时中断转发,返回步骤2;如否,控制I/O端口输出一个0.5625ms的数据码数据(高电平或低电平),数据位计数加1并退出定时中断转发,返回步骤2;
4.5、当状态机的状态为结束码状态,MCU控制其I/O端口输出一个0.5625ms的高电平,通过命令转发计数器判断是否到结束码状态的间隔时间;如否,则退出定时中断转发,返回步骤2;如是,将转发标志清零并退出定时中断转发,返回步骤2。
Claims (4)
- 【权利要求1】电视接收机中遥控命令码转发方法,其特征在于,基于定时中断转发遥控命令码,包括以下步骤:a、初始化MCU的I/O端口,将MCU的一个定时器的基准时间隔设定为遥控码的基本时间间隔;b、MCU每隔所述基准时间隔进入定时中断转发,当进入定时中断转发时进入步骤c;c、MCU判断是否有转发标志存在,如是,则退出定时中断转发,返回步骤b;如是,则进入步骤d;d、MCU控制命令转发计数器加1,并判断状态机的状态,进入相应状态,通过I/O端口转发一个基本时间间隔的数据,通过命令转发计数器判断是否到该状态所对应的间隔时间;如否,则退出定时中断转发,返回步骤b;如是,将命令转发计数器清零并退出定时中断转发,返回步骤b;当遥控命令码转发完毕,MCU还需将转发标志清零后,退出定时中断转发,返回步骤b。
- 【权利要求2】如权利要求1所述电视接收机中遥控命令码转发方法,其特征在于,所述状态机的状态包括:数据头状态、连续码状态、数据码状态、结束码状态;状态机的初始状态为头状态一;所述步骤d中判断状态机的状态,进入相应状态,通过I/O端口转发一个基本时间间隔的数据,通过命令转发计数器判断是否到该状态所对应的间隔时间,具体包括以下步骤:d1、当状态机的状态为数据头状态,MCU控制其I/O端口输出一个基本时间间隔的数据头数据,通过命令转发计数器判断是否到数据头状态的间隔时间;如否,则退出定时中断转发,返回步骤b;如是,MCU判断是否设置了连续码,如设置有,则将状态机的状态设为连续码状态控制,命令转发计数器清零并退出定时中断转发,返回步骤b;如没有设置,则将状态机的状态设为数据码状态,控制命令转发计数器清零并退出定时中断转发,返回步骤b;d2、当状态机的状态为连续码状态,MCU控制其I/O端口输出一个基本时间间隔的连续码数据,通过命令转发计数器判断是否到连续码状态的间隔时间;如否,则退出定时中断转发,返回步骤b;如是,将状态机的状态设为结束码状态,控制命令转发计数器清零并退出定时中断转发,返回步骤b;d3、当状态机的状态为数据码状态,MCU先判断数据位计数是否结束,如是,将状态机的状态设为结束码状态,控制命令转发计数器与数据位计数清零并退出定时中断转发,返回步骤b;如否,控制I/O端口输出一个基本时间间隔的数据码数据,数据位计数加1并退出定时中断转发,返回步骤b;d4、当状态机的状态为结束码状态,MCU控制其I/O端口输出一个基本时间间隔的结束码数据,通过命令转发计数器判断是否到结束码状态的间隔时间;如否,则退出定时中断转发,返回步骤b;如是,将转发标志清零并退出定时中断转发,返回步骤b。
- 【权利要求3】如权利要求2所述电视接收机中遥控命令码转发方法,其特征在于,所述数据头状态由头状态一、头状态二组成,头状一数据为16个基本时间间隔的低电平,头状态二数据为8个基本时间间隔的高电平,连续码数据为4个基本时间间隔的低电平;所述数据码由0码和1码组成,所述0码为1个基本时间间隔的低电平与1个基本时间间隔的高电平,所述1码为1个基本时间间隔的低电平与3个基本时间间隔的高电平,所述结束码为168减数据码或连续码总长个基本时间间隔的高电平。
- 【权利要求4】如权利要求3所述电视接收机中遥控命令码转发方法,其特征在于,所述一个基本时间间隔为0.5625ms。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008103045329A CN101365078B (zh) | 2008-09-17 | 2008-09-17 | 电视接收机中遥控命令码转发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008103045329A CN101365078B (zh) | 2008-09-17 | 2008-09-17 | 电视接收机中遥控命令码转发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101365078A true CN101365078A (zh) | 2009-02-11 |
CN101365078B CN101365078B (zh) | 2010-09-29 |
Family
ID=40391183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008103045329A Expired - Fee Related CN101365078B (zh) | 2008-09-17 | 2008-09-17 | 电视接收机中遥控命令码转发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101365078B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867844A (zh) * | 2010-05-31 | 2010-10-20 | 深圳创维-Rgb电子有限公司 | 一种实现面板按键检测的方法、装置及电视 |
CN102185602A (zh) * | 2011-03-01 | 2011-09-14 | 无锡和晶科技股份有限公司 | 一种冰箱控制器触摸按键采样方法 |
CN105242968A (zh) * | 2015-10-30 | 2016-01-13 | 江门市银狐美容美发设备有限公司 | 一种遥控射频信号接收软件解码方法 |
-
2008
- 2008-09-17 CN CN2008103045329A patent/CN101365078B/zh not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867844A (zh) * | 2010-05-31 | 2010-10-20 | 深圳创维-Rgb电子有限公司 | 一种实现面板按键检测的方法、装置及电视 |
CN102185602A (zh) * | 2011-03-01 | 2011-09-14 | 无锡和晶科技股份有限公司 | 一种冰箱控制器触摸按键采样方法 |
CN102185602B (zh) * | 2011-03-01 | 2013-04-24 | 无锡和晶科技股份有限公司 | 一种冰箱控制器触摸按键采样方法 |
CN105242968A (zh) * | 2015-10-30 | 2016-01-13 | 江门市银狐美容美发设备有限公司 | 一种遥控射频信号接收软件解码方法 |
CN105242968B (zh) * | 2015-10-30 | 2018-08-21 | 广东银狐医疗科技股份有限公司 | 一种遥控射频信号接收软件解码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101365078B (zh) | 2010-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104581646B (zh) | 一种蓝牙设备的动态广播方法及装置 | |
CN101365078B (zh) | 电视接收机中遥控命令码转发方法 | |
US10778281B2 (en) | Method and device for controlling frequency hopping, transmitter and receiver | |
CN103516423B (zh) | 一种用于光纤时钟拉远的方法和装置 | |
CN109743140B (zh) | 基于低功耗广域网的通讯控制方法和装置 | |
CN103034236B (zh) | 一种基于时分复用的多星敏感器时序同步处理方法 | |
CN102710979A (zh) | 触摸式遥控器自学习编码的方法、系统以及触摸式遥控器 | |
CN102970300A (zh) | 一种异步通信协议 | |
CN103024498A (zh) | 一种能同时响应两种遥控编码方式的电视机控制方法 | |
CN103984511A (zh) | 一种远程控制中屏幕分区块传输的方法 | |
CN104426987A (zh) | 基于网络指令的智能家居管控系统 | |
CN111988417A (zh) | 物理网终端的通信控制方法 | |
US9712993B2 (en) | System and method of trigger service | |
CN105959384A (zh) | 一种智能交互方法和系统 | |
CN113873353B (zh) | 电量统计处理方法、智能模组、服务器及数据处理系统 | |
CN101685576B (zh) | 红外线遥控器、红外线遥控信号的产生方法 | |
CN101127156A (zh) | 通用辨识遥控指令的方法及其相关装置 | |
EP2503295A1 (en) | Communication module, point of entry electricity metering device, metering system of a metered user area and method for self organized regulating a power consumption via a point of entry electricity metereing device in a metered user area of an electricity grid | |
CN103186978B (zh) | 控制红外遥控发射的电路结构 | |
CN103353977A (zh) | 一种基于发电厂机组调节中优先选择重要遥测进行传输的方法 | |
CN203151681U (zh) | 远程媒体播放信号时延的检测系统 | |
CN110879791B (zh) | 一种非阻塞的两线串口通讯模拟方法 | |
CN201549069U (zh) | 一种按键编码电路及采用该按键编码电路的遥控发射电路 | |
US10353846B2 (en) | Communication system with train bus architecture | |
CN117460033B (zh) | 群组通信方法、装置、基站、终端、群组通信系统及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100929 Termination date: 20210917 |
|
CF01 | Termination of patent right due to non-payment of annual fee |