好记性不如铅笔头

网络通讯

【转】红外通信原理

本文转自【 https://www.cnblogs.com/cposture/p/4321293.html 】,有删改。

CONTENTS

总述

红外遥控由发送和接收两个组成部分。发送端采用单片机将待发送的二进制信号编码调制为一系列的脉冲串信号,通过红外发射管发射红外信号。红外接收完成对红外信号的接收、放大、检波、整形,并解调出遥控编码脉冲。为了减少干扰,采用的是价格便宜性能可靠的一体化红外接收头(HS0038,它接收红外信号频率为 38kHz,周期约 26μs,采用NEC红外编码) 接收红外信号,它同时对信号进行放大、检波、整形得到 TTL 电平的编码信号,再送给单片机,经单片机解码并执行去控制相关对象。如图 1 所示:

红外发射和接收组成电路

调制与发射

红外遥控发射芯片采用PPM 编码方式,当发射器按键按下后,将发射一组 110ms 的编码脉冲。遥控编码脉冲由前导码、16 位用户码(8 位用户码、8 位用户码的反码)和 16 位操作码(8 位操作码、8 位操作码的反码)组成。
前导码的作用:前导码是一个遥控码的起始部分,由一个 9ms 的高电平 (起始码) 和一个 4.5ms 的低电平 (结果码) 组成。
用户码的作用:16 位用户码(8 位用户码、8 位用户码的反码),通过对用户码的检验,每个遥控器只能控制一个设备动作,这样可以有效地防止多个设备之间的干扰。编码后面还要有编码的反码,用来检验编码接收的正确性,防止误操作,增强系统的可靠性。
0和1的表示:0和1均以0.56ms的高电平开始,不同的是后面出现的低电平,如果低电平是0.56ms,则表示0,如果低电平是1.68ms(0.56*3=1.68)则表示1

二进制信号的调制由单片机来完成,它把编码后的二进制信号调制成频率为38kHz 的间断脉冲串(周期约26us的脉冲),相当于用二进制信号的编码乘以频率为 38kHz 的脉冲信号得到的间断脉冲串,即是调制后用于红外发射二极管发送的信号,如图 4 二进制码的调制所示。

待发射的二进制编码(注意是未调制的)


如果我们一直按着键不放,会产生什么效果呢?这一些称为重复码,以110ms为周期的重复码,如下图:

就是说,发了一次命令码之后,不会再发送命令码,而是每隔110ms时间,发送一段重复码。重复码由9ms高电平和2.25ms的低电平以及560us的高电平组成。如下图:

红外接收头只接受38K信号(误差范围内),我们把接收头看出一个转换器。遇到38K就输出低电平,没有遇到38K就被上拉成高电平。于是所谓的“编码”的概念就这样产生了,我们利用有38K信号 跟 没有38K信号 这两种状态,利用红外接收头就翻译成低电平、高电平的信号。

红外接收需先进行解调,解调的过程是通过红外接收管进行接收的。其基本工作过程为:当接收到调制信号时,输出低电平,否则输出为高电平, 是调制的逆过程。


发送方的电平跟接收方解调出来的电平是反向的。

接收到的信号经过HS0038B解调后得到一系列的高低电平,即遥控码,分为3部分:
前导码:9ms的低电平+4.5ms的高电平(和发射的时候相反)
用户码:区别不同的红外设备
操作码:8bit操作码和8bit的操作反码组成

0和1均以0.56ms的低电平开始,不同的是后面出现的高电平,如果高电平是0.56ms,则表示0,如果高电平是1.68ms(0.56*3=1.68)则表示1

参考链接:
http://www.cnblogs.com/yulongchen/archive/2013/04/12/3017409.html
http://www.geek-workshop.com/thread-2322-1-1.html
http://www.cnblogs.com/heiyue/p/3333019.html
http://blog.sina.com.cn/s/blog_533074eb0100xlhl.html
http://www.geek-workshop.com/thread-3564-1-1.html

发表评论

12 − 7 =

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据