你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【中文文档】AN4099_在STM32F0和STM32F3系列MCU上实现红外遥控...

[复制链接]
STMCU-管管 发布时间:2019-3-25 11:04
在STM32F0和STM32F3系列MCU上实现红外遥控收发控制协议
" K$ e/ `+ V5 L. k3 u
+ ~1 ]6 x5 A  R
前言
% b3 e/ B$ ]3 E0 u! z7 z/ t7 p

: ?$ n  C' ^/ ?" c红外辐射是指电磁频谱中微波和可见光之间的区域。
( L7 S' B( h  e' }" N* w3 e) C
9 H$ n) X7 x; j1 j红外辐射分两部分。近红外光与可见光的波长最接近,远红外与电磁频谱的微波区域更接近。
7 _! m+ ~) z' k' _6 n
6 \$ y# r- x2 F4 z" _1 Z$ y远程控制使用的是波长较短的波。信息通过电磁能而非线路进行发送和接收。
: F# O/ V& V8 G/ G+ ^1 y) d

) c1 t- c# J8 |# @/ x( y7 q红外技术作为一种无线通信形式具有明显的优势。现今,几乎所有音频和视频设备都可以使用红外遥控手段来控制。在接收端,接收器检测光脉冲,并对其进行处理以检索/解码它们所包含的信息。
+ y) X& t% N# `. W+ Q- D  t% t& `2 n
; d* ]& X' f/ E/ E. J, s) p+ S
有多种流行的红外协议标准用于通过红外光传送数据,例如 RC5、SIRC...
- z! q7 A: ^' S4 D. S6 z) s6 \. K7 }3 f/ q0 r) W
本应用笔记旨在提供一种通用的解决方案,以使用 STM32F0xx 和 STM32F3xx 微控制器在软件中实现 IR 发送器(远程控制器件)和接收器。针对 RC5 和 SIRC 协议提供了软件实现示例。还可以根据需要支持和提供其它协议(有关更多信息,请联系意法半导体当地销售办事处)。
3 l$ L! ^! g- e8 i

) k# a8 |; k, M6 q7 x- C" O注: 本文档中描述的红外发送器和接收器解决方案使用 C 语言实现,并在 STM320518-EVAL(Config2)、STM32373C-EVAL 和 STM32303C-EVAL 演示包中提供,这些演示包可在http://www.st.com 下载。
! k1 z2 O+ Y8 [2 D7 M7 m4 A- l0 j2 T, f* t
1.png

7 P- f$ x; l& E: \& W7 K: f
1 红外协议规范

) O6 `/ h. Q- s+ R) a7 D
1.1 RC5 协议基础

. [1 A# f; Z: H! _+ i; P
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 `
1.png

; i7 B) y2 A2 o/ |) G# l0 ~" O
RC5 帧可以生成 2048 (32 x 64) 个不同的命令,这些命令分为 32 组。每组有 64 个不同的命令。RC5 帧包含下列字段。RC5 帧的示例如图 2 所示。

% T- C# d9 Z8 ?, t+ O9 g
● 起始位 (S):长度为 1 位,始终为逻辑 1。

5 F5 Z0 P& W5 C* ^
● 字段位 (F):长度为 1 位,表示发送的命令位于低位字段(逻辑 1 = 十进制数 0 到 63)还是高位字段(逻辑 0 = 十进制数 64 到 127)。该字段位是后来增加的,因为人们意识到每个设备 64 条命令是不够的。以前,该字段位与起始位结合在一起。许多设备仍在使用这种原始体系。

# w5 o9 ~6 q' J: g: S* J
● 控制位或切换位 (C):长度为 1 位,每次按下按钮时切换。这使得接收设备可以区分两次连续的按钮按下操作(例如“1”、“1”代表“11”)。

# j3 x& ~  k% H* [* H/ S" ?
● 地址:长度为 5 位,可选择 32 种可能系统中的一种。

3 G: X/ f) a4 d# n
● 命令:长度为 6 位(与字段位结合使用),表示 128 种可能的 RC5 命令中的一种。
- M6 d6 z2 G3 z# r* R
1.png
% l; }1 |- A  A
为避免帧冲突,在两个连续帧之间插入一段特定宽度的空闲时间(参见图 3)。空闲时间定义为 50 位宽。因此,一帧的周期为 64 x 1 位宽:64 x 1.778 = 113.792 ms。

2 h( M$ Z6 f# n$ s' Y% J- a/ H  g& W) _- T3 O9 \& C
..............
1 ~$ E5 B, M3 n
想了解更多,请下载原文阅读
. }1 d3 ~. ^/ B+ e/ g6 y+ \
收藏 评论1 发布时间:2019-3-25 11:04

举报

1个回答
frank171 回答时间:2019-6-17 13:28:26
好资料,赞一个
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版