原创 【原创】红外通讯原理及实现详解

2009-1-7 23:24 3485 10 13 分类: 通信
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


 红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。


1 红外通信原理介绍


红外通讯通过使用红外光进行通信,发送设备将电信号转成光信号,接收设备则再将光信号还原成电信号,红外收发系统的框图如图所示:


点击看大图


<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />


1 红外收发系统


目前基于红外通讯的通讯协议有上百种,这些协议大同小异,下面以飞利蒲的RC5协议为例来进行介绍。同别的红外协议一样,飞利蒲的RC5协议也是由下列几部分组成:


1 .1键码


之所以定义键码就是为了规范设计,至少保证飞利蒲公司内部的红外通信设备之间可以互通,不会出现混乱的情况,当然大家也可以自个定义,这有点像TCP/IP中的应用层,你可以自个定义一个协议,也可以用标准定义好的协议。键码是基于数字信号二进制的0/1而言的。比如0x12,换成二进制就是0b00010010。飞利蒲定义的键码如下所示。


1 地址设备对照表(下表中的不同地址用于给不同类型的设备使用)
RC5 Address Device           RC5 Address   Device
$00 - 0      TV1            |$10 - 16      Pre-amp
$01 - 1      TV2            |$11 - 17      Tuner
$02 - 2      Teletext       |$12 - 18      Recorder1
$03 - 3       Video         |$13 - 19      Pre-amp
$04 - 4      LV1            |$14 - 20      CD Player
$05 - 5      VCR1           |$15 - 21      Phono
$06 - 6      VCR2           |$16 - 22      SatA
$07 - 7      Experimental   |$17 - 23      Recorder2
$08 - 8      Sat1           |$18 - 24
$09 - 9      Camera         |$19 - 25
$<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />0A - 10      Sat2          |$1A - 26      CDR
$0B - 11                    |$1B - 27
$0C - 12      CDV           |$1C - 28
$0D - 13      Camcorder     |$1D - 29      Lighting
$0E - 14                    |$1E - 30      Lighting
$0F - 15                    |$1F - 31      Phone


2)命令功能对照表(下表中定应义了常用的遥控的命令)
RC5 Command   |  TV Command        |      VCR Command
------------------------------------------------------
$00 - 0       |  1                 |         1
$01 - 1       |  2                 |         2
$02 - 2       |  2                 |         2
$03 - 3       |  3                 |         3
$04 - 4       |  4                 |         4
$05 - 5       |  5                 |         5
$06 - 6       |  6                 |         6
$07 - 7       |  7                 |         7
$08 - 8       |  8                 |         8
$09 - 9       |  9                 |         9
$0C - 12      |   Standby Standby  |
$10 - 16      |   Volume +         |
$11 - 17      |   Volume -         |
$12 - 18      |   Brightness +     |
$13 - 19      |   Brightness -     |
$32 - 50      |                    |         Fast Rewind
$34 - 52      |                    |         Fast Forward
$35 - 53      |                    |         Play
$36 - 54      |                    |         Stop
$37 - 55      |                    |         Recording
---------------------------------------------------------


1 .2编码


如何实现上述的键码的发送,并保持红外接收解码器件收到并识别呢,当然就必须按一定的格式进行编码并发送。这跟我们常用的IIC有点相仿,必须有开始位和结束位,RC5的数据格式如下:



点击看大图


2 RC5编码


先发三个1,表示发送开始,接下来发送5位地址,然后再发送6位命令,一帧数据共14位。由接收设备再按照上述格式进行解码。其中地址和命令都是先发低位,再发高位。


1 .3 0/1标准


什么是0/1标准呢,传统的TTL电平,只是电平>vIh就是1,小于ViL就是0,这里则不是这样的了,RC5是这样定义的:先发900us的高,再发900us的低电平,则表示为0,反之则为1。如下图所示。



点击看大图


3  RC5 0/1定义


1 .4载波


什么是载波呢,也就是说红外波的发送是以一定的波长的形式发送出去的,0/1标准中介绍的900us的高,并不是一直为高,而是以一定频率的脉冲的形式存在,RC5定义载波频率为38KHZ


2 RC5编码红外遥控器设计实现


红外发送的实现比较简单,可以使用专用的红外发送IC来实现,也可以通过单片机I/O软件模拟来实现。下面介绍基于MSP430F147单片机实现的红外遥控器。带LCD的红外遥控器框图如图所示:


 点击看大图



 


4红外遥控器框图


由于硬件电路非常简单,将不做介绍。


下面介绍一下软件实现。系统软件框图如图5所示


 



点击看大图


5系统软件框图


 


其中LCD和键盘非本文重点,不作介绍。


下面主要介绍一下红外发送。


138KHZ频率的载波由于频率较快,如果使用定时中断,CPU往往难以快速响应,因此发0/1函数的38HZ载波可以使用NOP()延时实现。


2)发0/1中使用的900us间隔则可以使用定时中断控制标志位实现。


3)红外发送函数由发送开始位,发送地址,发送命令字三个子函数组成,通过移位判断是发送0还是发送1



点击看大图


6红外发送软件框图


举例编码如下:


设定本遥控地址码为300x1E0b1_1110,如果我们要发送一个VOLUME+,则命令字为0x10,换成二进制就为0b01_0000.


根据编码规则,一个完整的编码为:(START111_01111_000010END),注意:地址和命令字都是先发送低位。


3 RC5编码红外信接收器实现


RC5编码红外通信接收实现则是红外发送的逆过程,不过,实现上会稍微复杂一些,将在别的文章中再另行介绍。


 


 

PARTNER CONTENT

文章评论3条评论)

登录后参与讨论

用户1059843 2009-2-26 10:54

收获有!!辛苦!!

用户618590 2009-2-22 22:23

有收获

用户518079 2009-1-10 11:14

学习了
相关推荐阅读
用户208467 2009-01-06 22:18
【2008总结】关于工作与生活
2008过去了,这一年注定是不平常的一年。笔者也想对过去一年进行一个总结。【2008总结】关于工作与生活每个人都需要工作,只是从事的职业不同而已,且不说为了伟大的共产主义而奋斗,大多数人工作都是为了生...
用户208467 2009-01-05 22:57
【2008总结】关于创业与技术
2008过去了,这一年注定是不平常的一年。笔者也想对过去一年进行一个总结。1)技术不是唯一的,这个世界上还有很多东西都很精彩,去年因为金融危杨,我开始关注经济,发现也很有意思,并不只是理论。2)不能创...
用户208467 2009-01-04 23:29
uc/os-ii移植到PIC18F252
最近笔者尝试将uc/os移植到PIC18F252上,编译器用的是MPLAB C18 V3.02学生版。编译都搞定了,但是启动测试任务时,CPU就被复位了。仔细检查,想不出来是什么原因?郁闷,有能人搞过...
用户208467 2008-12-30 20:39
【经典】给年轻电子工程师的十大忠告
  给年轻电子工程师的十大忠告 出处:PConline诸位,咱当电子工程师也是十余年了,不算有出息,环顾四周,也没有看见几个有出息的!回顾工程师生涯,感慨万千,愿意讲几句掏心窝子的话,也算给咱们师弟师...
用户208467 2008-12-30 20:12
电子工程师常用站点
常用站点<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />http://www.mcu...
EE直播间
更多
我要评论
3
10
关闭 站长推荐上一条 /3 下一条