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

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

[复制链接]
STMCU-管管 发布时间:2019-3-25 11:04
在STM32F0和STM32F3系列MCU上实现红外遥控收发控制协议
( U, k! |2 C0 R& e
4 F) D" F. g" b! z8 D2 k
前言
! i9 }3 L9 h) e8 q, w

4 o5 N+ I0 P5 `6 l, w% s9 ~红外辐射是指电磁频谱中微波和可见光之间的区域。
* H# u0 U# V5 ?  A  w7 ]
, I6 F7 |) X* y* ~红外辐射分两部分。近红外光与可见光的波长最接近,远红外与电磁频谱的微波区域更接近。 1 N# F# K. B$ Y( Q: N
. K* J& D8 Z' [2 R: S9 f; M% r
远程控制使用的是波长较短的波。信息通过电磁能而非线路进行发送和接收。
& y7 a6 F% Z6 p. @. Z) i" s

. u3 A( d6 o% S7 A* @- Y2 d红外技术作为一种无线通信形式具有明显的优势。现今,几乎所有音频和视频设备都可以使用红外遥控手段来控制。在接收端,接收器检测光脉冲,并对其进行处理以检索/解码它们所包含的信息。
4 N2 \- r6 e( J+ _& m% d9 g& L7 O

; b# h; r+ D& }3 f+ D$ B5 f* v/ e4 M+ r  Y有多种流行的红外协议标准用于通过红外光传送数据,例如 RC5、SIRC... * M2 n7 D1 R+ I: X5 ]! F! ~5 b5 B) y
, \, B4 r' O6 M$ E: k9 V4 Y2 Y
本应用笔记旨在提供一种通用的解决方案,以使用 STM32F0xx 和 STM32F3xx 微控制器在软件中实现 IR 发送器(远程控制器件)和接收器。针对 RC5 和 SIRC 协议提供了软件实现示例。还可以根据需要支持和提供其它协议(有关更多信息,请联系意法半导体当地销售办事处)。
1 G0 A6 N* O9 H7 E, c& m
$ V  u2 r" h: Q( d
注: 本文档中描述的红外发送器和接收器解决方案使用 C 语言实现,并在 STM320518-EVAL(Config2)、STM32373C-EVAL 和 STM32303C-EVAL 演示包中提供,这些演示包可在http://www.st.com 下载。
9 _# Y* L! s: C! |4 M; v
" N1 [! r$ k* G7 r" {, O( R" H4 C! _
1.png
7 M7 E5 y: X+ ~' ?
1 红外协议规范

/ Y' M/ W* o  J
1.1 RC5 协议基础
! \. i$ l" Z+ l2 g1 X$ C
RC5 编码是一个 14 位字,该字使用 36 kHz IR 载波频率的双相调制(也称为曼彻斯特编码)。所有位的长度均相等,为 1.778 ms,其中位时间的一半填充 36 kHz 载波脉冲,另一半空闲。逻辑 0 由位时间中的前一半脉冲串来表示。逻辑 1 由位时间中的后一半脉冲串来表示。36 kHz 载波频率的占空比为 33% 或 25%,以降低功耗。

$ |" [# |+ C1 |% E0 `* F2 L
1.png

" O  ]( Z. i/ j& B
RC5 帧可以生成 2048 (32 x 64) 个不同的命令,这些命令分为 32 组。每组有 64 个不同的命令。RC5 帧包含下列字段。RC5 帧的示例如图 2 所示。
8 `% {! e0 K; L, N+ k
● 起始位 (S):长度为 1 位,始终为逻辑 1。

2 @+ e. E5 t/ ~% r/ X# w
● 字段位 (F):长度为 1 位,表示发送的命令位于低位字段(逻辑 1 = 十进制数 0 到 63)还是高位字段(逻辑 0 = 十进制数 64 到 127)。该字段位是后来增加的,因为人们意识到每个设备 64 条命令是不够的。以前,该字段位与起始位结合在一起。许多设备仍在使用这种原始体系。

8 z/ o! j$ }4 o4 y1 p2 u+ I, L
● 控制位或切换位 (C):长度为 1 位,每次按下按钮时切换。这使得接收设备可以区分两次连续的按钮按下操作(例如“1”、“1”代表“11”)。
3 t. y$ m3 H7 O2 d
● 地址:长度为 5 位,可选择 32 种可能系统中的一种。
" L; T+ h* }6 J  Q
● 命令:长度为 6 位(与字段位结合使用),表示 128 种可能的 RC5 命令中的一种。
6 U9 ?, M9 I. X7 `& S- @' Z
1.png

' v1 A, D+ A4 K  S
为避免帧冲突,在两个连续帧之间插入一段特定宽度的空闲时间(参见图 3)。空闲时间定义为 50 位宽。因此,一帧的周期为 64 x 1 位宽:64 x 1.778 = 113.792 ms。
' q2 A7 l/ K% N1 L

6 s* m' s+ O% J, N) p/ ]
..............

# o/ ~0 x' n7 u! E( R
想了解更多,请下载原文阅读
- _2 u% x8 \4 Q8 ~, J
收藏 评论1 发布时间:2019-3-25 11:04

举报

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