在STM32F0和STM32F3系列MCU上实现红外遥控收发控制协议 + ~1 ]6 x5 A R 前言 红外辐射是指电磁频谱中微波和可见光之间的区域。 红外辐射分两部分。近红外光与可见光的波长最接近,远红外与电磁频谱的微波区域更接近。 远程控制使用的是波长较短的波。信息通过电磁能而非线路进行发送和接收。 红外技术作为一种无线通信形式具有明显的优势。现今,几乎所有音频和视频设备都可以使用红外遥控手段来控制。在接收端,接收器检测光脉冲,并对其进行处理以检索/解码它们所包含的信息。 ; d* ]& X' f/ E/ E. J, s) p+ S 有多种流行的红外协议标准用于通过红外光传送数据,例如 RC5、SIRC... . S6 z) s6 \. K7 }3 f/ q0 r) W 本应用笔记旨在提供一种通用的解决方案,以使用 STM32F0xx 和 STM32F3xx 微控制器在软件中实现 IR 发送器(远程控制器件)和接收器。针对 RC5 和 SIRC 协议提供了软件实现示例。还可以根据需要支持和提供其它协议(有关更多信息,请联系意法半导体当地销售办事处)。 注: 本文档中描述的红外发送器和接收器解决方案使用 C 语言实现,并在 STM320518-EVAL(Config2)、STM32373C-EVAL 和 STM32303C-EVAL 演示包中提供,这些演示包可在http://www.st.com 下载。 7 M7 m4 A- l0 j2 T, f* t 1 红外协议规范 1.1 RC5 协议基础 RC5 编码是一个 14 位字,该字使用 36 kHz IR 载波频率的双相调制(也称为曼彻斯特编码)。所有位的长度均相等,为 1.778 ms,其中位时间的一半填充 36 kHz 载波脉冲,另一半空闲。逻辑 0 由位时间中的前一半脉冲串来表示。逻辑 1 由位时间中的后一半脉冲串来表示。36 kHz 载波频率的占空比为 33% 或 25%,以降低功耗。 / R& x0 H6 w" U8 o$ i& Y* \% h K1 `RC5 帧可以生成 2048 (32 x 64) 个不同的命令,这些命令分为 32 组。每组有 64 个不同的命令。RC5 帧包含下列字段。RC5 帧的示例如图 2 所示。 ● 起始位 (S):长度为 1 位,始终为逻辑 1。 ● 字段位 (F):长度为 1 位,表示发送的命令位于低位字段(逻辑 1 = 十进制数 0 到 63)还是高位字段(逻辑 0 = 十进制数 64 到 127)。该字段位是后来增加的,因为人们意识到每个设备 64 条命令是不够的。以前,该字段位与起始位结合在一起。许多设备仍在使用这种原始体系。 ● 控制位或切换位 (C):长度为 1 位,每次按下按钮时切换。这使得接收设备可以区分两次连续的按钮按下操作(例如“1”、“1”代表“11”)。 ● 地址:长度为 5 位,可选择 32 种可能系统中的一种。 ● 命令:长度为 6 位(与字段位结合使用),表示 128 种可能的 RC5 命令中的一种。 - M6 d6 z2 G3 z# r* R为避免帧冲突,在两个连续帧之间插入一段特定宽度的空闲时间(参见图 3)。空闲时间定义为 50 位宽。因此,一帧的周期为 64 x 1 位宽:64 x 1.778 = 113.792 ms。 / H g& W) _- T3 O9 \& C . }1 d3 ~. ^/ B+ e/ g6 y+ \ |
好资料,赞一个 |
STM32固件库分享,超全系列整理
基于STM32F334的数字电源
三创电子(Tcreate)-STM32F030核心板代码
STM32F0 ADC(DMA中断)多通道,注释超详细
FreeRTOS在STM32F030上的移植
STM32F3DISCOVERY + UCGUI3.90A的移植(源码+视频)
基于STM32移植而引发的疑问经验分享
分享STM32F051中文参考手册(重制书签版)
游名:STM32F0+Trinamic智能步进驱动芯片TMC5160(最高20A)参考原...
基于STM32F303双电机FOC驱动: 无感原理图/BOM表/代码等开源...