这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » STM32实例-红外遥控实验①-红外遥控介绍

共10条 1/1 1 跳转至

STM32实例-红外遥控实验①-红外遥控介绍

高工
2022-04-12 08:22:08     打赏

 我们开发板标配了一个一体化红外接收头和红外遥控器, 本文来学习如何使用 STM32F1 解码红外遥控器的信号。使用 STM32F1 的外部中断功能来解码红外遥控器的编码信号。要实现的功能是:使用外部中断功能将遥控器键值编码数据解码后通过串口打印输出,同时 D1 指示灯闪烁,提示系统运行。学习本章可以参考“外部中断实验”。

红外线简介

    人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。其中红光的波长范围为0.62~0.76μm;紫光的波长范围为 0.38~0.46μm。比紫光波长还短的光叫紫外线,比红光波长还长的光叫红外线。红外线遥控就是利用波长为 0.76~1.5μm 之间的近红外线来传送控制信号的。

红外遥控的原理

    红外遥控是一种无线、 非接触控制技术, 具有抗干扰能力强, 信息传输可靠,功耗低, 成本低, 易实现等显著优点, 被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。

    由于红外线遥控不具有像无线电遥控那样穿过障碍物去控制被控对象的能

力,所以,在设计红外线遥控器时,不必要像无线电遥控器那样,每套(****和接收器)要有不同的遥控频率或编码(否则, 就会隔墙控制或干扰邻居的家用电器),所以同类产品的红外线遥控器,可以有相同的遥控频率或编码,而不会出现遥控信号“串门”的情况。这对于大批量生产以及在家用电器上普及红外线遥控提供了极大的方便。由于红外线为不可见光,因此对环境影响很小,再由红外光波动波长远小于无线电波的波长,所以红外线遥控不会影响其他家用电器,也不会影响临近的无线电设备。

    红外遥控通信系统一般由红外****装置和红外接收设备两大部分组成。

(1)红外****装置

    红外****装置,也就是通常我们说的红外遥控器是由键盘电路、红外编码电路、 电源电路和红外****电路组成。红外****电路的主要元件为红外发光二极管。

    它实际上是一只特殊的发光二极管;由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它便发出的是红外线而不是可见光。目前大量的使用的红外发光二极管发出的红外线波长为 940nm 左右, 外形与普通发光二极管相同。红外发光二极管有透明的,还有不透明的,在我们的红外遥控器上可以看到这个红外发光二极管。红外遥控器和红外发光二极管如下图 所示:

image.png

    通常红外遥控为了提高抗干扰性能和降低电源消耗, 红外遥控器常用载波的方式传送二进制编码,常用的载波频率为 38kHz,这是由****端所使用的455kHz晶振来决定的。在****端要对晶振进行整数分频,分频系数一般取 12,所以455kHz÷12≈37.9kHz≈38kHz。也有一些遥控系统采用 36kHz、40 kHz、56 kHz等,一般由****端晶振的振荡频率来决定。所以,通常的红外遥控器是将遥控信号 (二进制脉冲码) 调制在 38KHz 的载波上, 经缓冲放大后送至红外发光二极管,转化为红外信号****出去的。

    二进制脉冲码的形式有多种, 其中最为常用的是NEC Protocol 的 PWM码(脉冲宽度调制)和 Philips RC-5 Protocol 的 PPM 码(脉冲位置调制码,脉冲串之间的时间间隔来实现信号调制)。如果要开发红外接收设备,一定要知道红外遥控器的编码方式和载波频率,我们才可以选取一体化红外接收头和制定解码方案。我们配套的红外遥控器使用的是 NEC 协议,其特征如下:

1、 8 位地址和 8 位指令长度;

2、地址和命令 2 次传输(确保可靠性)

3、 PWM 脉冲位置调制,以****红外载波的占空比代表“ 0”和“ 1”;

4、载波频率为 38Khz;

5、位时间为 1.125ms 或 2.25ms;

    NEC 码的位定义:一个脉冲对应 560us 的连续载波,一个逻辑 1 传输需要2.25ms ( 560us 脉冲+1680us 低电平) , 一个逻辑 0 的传输需要 1.125ms (560us脉冲+560us 低电平)。而红外接收头在收到脉冲的时候为低电平,在没有脉冲的时候为高电平, 这样, 我们在接收头端收到的信号为:逻辑 1 应该是 560us 低+1680us 高,逻辑 0 应该是 560us 低+560us 高。所以可以通过计算高电平时间判断接收到的数据是 0还是1。NEC 码位定义时序图如下图所示:

image.png

    NEC 遥控指令的数据格式为:引导码、地址码、地址反码、控制码、控制反码。引导码由一个 9ms 的低电平和一个 4.5ms 的高电平组成,地址码、地址反码、控制码、控制反码均是 8 位数据格式。按照低位在前,高位在后的顺序发送。采用反码是为了增加传输的可靠性(可用于校验)。数据格式如下:

image.png

    NEC 码还规定了连发码(由 9ms 低电平+2.5m 高电平+0.56ms 低电平

+97.94ms 高电平组成),如果在一帧数据发送完毕之后,红外遥控器按键仍然没有放开,则****连发码,可以通过统计连发码的次数来标记按键按下的长短或次数。

(2)红外接收设备

    红外接收设备是由红外接收电路、红外解码、电源和应用电路组成。红外遥控接收器的主要作用是将遥控****发来的红外光信好转换成电信号,再放大、限幅、检波、整形,形成遥控指令脉冲,输出至遥控微处理器。近几年不论是业余制作还是正式产品,大多都采用成品红外接收头。成品红外接收头的封装大致有两种:一种采用铁皮屏蔽;一种是塑料封装。均有三只引脚,即电源正(VDD) 、电源负(GND)和数据输出(VOUT)。其外观实物图如下图所示:

image.png

    正对接收头的凸起处看,从左至右,管脚依次是 1:VOUT,2:GND,3:VDD。由于红外接收头在没有脉冲的时候为高电平,当收到脉冲的时候为低电平,所以可以通过外部中断的下降沿触发中断, 在中断内通过计算高电平时间来判断接收到的数据是 0 还是 1。外部中断的相关知识,大家可以参考前面的“外部中断实验”。





关键词: STM32     实例     红外     遥控    

院士
2022-04-12 08:32:23     打赏
2楼

谢谢分享


院士
2022-04-12 08:34:44     打赏
3楼

感谢分享


专家
2022-04-12 08:33:55     打赏
4楼

学习


专家
2022-04-12 08:40:14     打赏
5楼

学习


专家
2022-04-12 08:43:28     打赏
6楼

感谢分享


专家
2022-04-12 08:47:50     打赏
7楼

谢谢分享


助工
2022-04-12 09:27:51     打赏
8楼

谢谢分享


专家
2022-04-12 10:10:10     打赏
9楼

谢谢提供分享


工程师
2022-04-16 23:56:52     打赏
10楼

介绍的很详细


共10条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]