|
在STM32F0和STM32F3系列MCU上实现红外遥控收发控制协议+ @7 K; Q: \0 o( V( j0 a; w7 R . C {6 J3 N7 D! ~9 z2 |9 F' y( o 前言 3 t: Q; [( Z% f, R; w- X " u+ I/ d, a' o" ]9 o& T! v 红外辐射是指电磁频谱中微波和可见光之间的区域。 5 x% y% n6 Z( o' N3 W . ^8 b& G4 F" ~, K& a2 Q; ~ 红外辐射分两部分。近红外光与可见光的波长最接近,远红外与电磁频谱的微波区域更接近。 ( i# u8 q: f" t& s / U8 D5 |* X! w& `* y' t 远程控制使用的是波长较短的波。信息通过电磁能而非线路进行发送和接收。 5 B: @& z9 |6 L" v( O0 o # w3 ]0 F- T% v# i! n 红外技术作为一种无线通信形式具有明显的优势。现今,几乎所有音频和视频设备都可以使用红外遥控手段来控制。在接收端,接收器检测光脉冲,并对其进行处理以检索/解码它们所包含的信息。 " D9 ]- s% @5 I @+ y0 J, v 有多种流行的红外协议标准用于通过红外光传送数据,例如 RC5、SIRC... & G! S$ ?. c2 @2 a+ [2 R$ T 本应用笔记旨在提供一种通用的解决方案,以使用 STM32F0xx 和 STM32F3xx 微控制器在软件中实现 IR 发送器(远程控制器件)和接收器。针对 RC5 和 SIRC 协议提供了软件实现示例。还可以根据需要支持和提供其它协议(有关更多信息,请联系意法半导体当地销售办事处)。 . m; ?9 H( X- r2 b g/ A6 B/ l4 K " [- w7 |0 Q+ |# g3 ^6 V! Y 注: 本文档中描述的红外发送器和接收器解决方案使用 C 语言实现,并在 STM320518-EVAL(Config2)、STM32373C-EVAL 和 STM32303C-EVAL 演示包中提供,这些演示包可在http://www.st.com 下载。
1 红外协议规范 1 G# N! {# O/ J' j+ c4 @1.1 RC5 协议基础 * z2 `2 |0 h# X+ ARC5 编码是一个 14 位字,该字使用 36 kHz IR 载波频率的双相调制(也称为曼彻斯特编码)。所有位的长度均相等,为 1.778 ms,其中位时间的一半填充 36 kHz 载波脉冲,另一半空闲。逻辑 0 由位时间中的前一半脉冲串来表示。逻辑 1 由位时间中的后一半脉冲串来表示。36 kHz 载波频率的占空比为 33% 或 25%,以降低功耗。 ) A! X2 q, i8 ^, y, F" B9 {
RC5 帧可以生成 2048 (32 x 64) 个不同的命令,这些命令分为 32 组。每组有 64 个不同的命令。RC5 帧包含下列字段。RC5 帧的示例如图 2 所示。 ● 起始位 (S):长度为 1 位,始终为逻辑 1。 ) ?* v! T6 D! }6 P● 字段位 (F):长度为 1 位,表示发送的命令位于低位字段(逻辑 1 = 十进制数 0 到 63)还是高位字段(逻辑 0 = 十进制数 64 到 127)。该字段位是后来增加的,因为人们意识到每个设备 64 条命令是不够的。以前,该字段位与起始位结合在一起。许多设备仍在使用这种原始体系。 4 Z' q. w& y( z. ?/ {% |● 控制位或切换位 (C):长度为 1 位,每次按下按钮时切换。这使得接收设备可以区分两次连续的按钮按下操作(例如“1”、“1”代表“11”)。 ● 地址:长度为 5 位,可选择 32 种可能系统中的一种。 ● 命令:长度为 6 位(与字段位结合使用),表示 128 种可能的 RC5 命令中的一种。 h# H" ~: {- N
为避免帧冲突,在两个连续帧之间插入一段特定宽度的空闲时间(参见图 3)。空闲时间定义为 50 位宽。因此,一帧的周期为 64 x 1 位宽:64 x 1.778 = 113.792 ms。 |
| 好资料,赞一个 |
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
基于STM32F303双电机FOC驱动: 无感原理图/BOM表/代码等开源...
stm32cube_pwm配置
stm32f334驱动1.69寸SPI LED屏
stm32f334c8t6实现一个简单的温度湿度检测器
stm32f334温度湿度显示器开发板
stm32f334_硬件IIC跑u8g2移植步骤
详解STM32单片机的堆栈
stm32f334_第二十三章基础定时器6/7非中断方式单次触发
stm32f334_IIC通信点亮0.96OLED
微信公众号
手机版