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

使用 STM32F0xx 和 STM32F3xx 微控制器为红外遥控协议实现发送器和接收器

[复制链接]
STMCU小助手 发布时间:2022-7-21 18:48
前言$ V6 u" z* s7 e- x2 y+ h
红外辐射是指电磁频谱中微波和可见光之间的区域。
0 x: F4 }& U9 P) c$ K红外辐射分两部分。近红外光与可见光的波长最接近,远红外与电磁频谱的微波区域更接近。
- ?1 k+ x% p; p, l9 p3 z( h  t3 s远程控制使用的是波长较短的波。信息通过电磁能而非线路进行发送和接收。
5 w. R9 X  O/ _, ~6 }红外技术作为一种无线通信形式具有明显的优势。现今,几乎所有音频和视频设备都可以使用红外遥控手段来控制。在接收端,接收器检测光脉冲,并对其进行处理以检索/解码它们所包含的信息。
0 s4 [! e1 w) h0 R8 G& i8 B( i有多种流行的红外协议标准用于通过红外光传送数据,例如 RC5、SIRC...本应用笔记旨在提供一种通用的解决方案,以使用 STM32F0xx 和 STM32F3xx 微控制器在软件中实现 IR 发送器(远程控制器件)和接收器。针对 RC5 和 SIRC 协议提供了软件实现示例。还可以根据需要支持和提供其它协议(有关更多信息,请联系意法半导体当地销售办事处)。9 X1 |( U2 T+ l" o5 t
9 {( o- d2 p, V& @, Q0 o* y7 l
' e: C6 `& ?+ v
SU2@$@VN%BZ4H}44@2M1.png
0 @! j' a# T( t/ Y+ p
1 |* V( k& t3 T* R
1 红外协议规范1 |$ @# ~. l) S1 ~
1.1 RC5 协议基础  ^) P6 L7 w2 G5 ]  k5 ~
RC5 编码是一个 14 位字,该字使用 36 kHz IR 载波频率的双相调制(也称为曼彻斯特编码)。所有位的长度均相等,为 1.778 ms,其中位时间的一半填充 36 kHz 载波脉冲,另一半空闲。逻辑 0 由位时间中的前一半脉冲串来表示。逻辑 1 由位时间中的后一半脉冲串来表示。36 kHz 载波频率的占空比为 33% 或 25%,以降低功耗。( @) X% q! n8 D& ~- X% ~

: U9 f4 C* v4 r$ L/ B3 G: H AUR9D{D2}}]9@BO4QRC@TE4.png ! o0 B; A0 L! E, F

8 G' d" _' l$ c) W% g* N" q

6 B0 s0 E% d4 n# }. gRC5 帧可以生成 2048 (32 x 64) 个不同的命令,这些命令分为 32 组。每组有 64 个不同的命令。RC5 帧包含下列字段。RC5 帧的示例如图 2 所示。1 @( j7 O7 P8 u/ `# v3 g
● 起始位 (S):长度为 1 位,始终为逻辑 1。
$ N% P* ?1 v5 w5 x( W9 {. g● 字段位 (F):长度为 1 位,表示发送的命令位于低位字段(逻辑 1 = 十进制数 0 到 63)还是高位字段(逻辑 0 = 十进制数 64 到 127)。该字段位是后来增加的,因为人们意识到每个设备 64 条命令是不够的。以前,该字段位与起始位结合在一起。许多设备仍在使用这种原始体系。. a0 F; a$ I* T9 b! q4 V/ E
● 控制位或切换位 (C):长度为 1 位,每次按下按钮时切换。这使得接收设备可以区分两次连续的按钮按下操作(例如“1”、“1”代表“11”)。
  i+ e+ j* Q0 |$ \6 e● 地址:长度为 5 位,可选择 32 种可能系统中的一种。5 g5 |$ t; k& K& l5 l
● 命令:长度为 6 位(与字段位结合使用),表示 128 种可能的 RC5 命令中的一种。
6 S' y3 y; C' j  Y. ~
7 t& V. L. H3 v6 c0 k' a
$ [7 m4 |5 Z8 @0 k
I$DL8[BDB(9@8VIE2(44~3R.png
7 C! P1 y$ r1 G8 g3 X2 M
' W: t. n- |& `+ o# G/ J5 Q! z) Z* c NRFXZ)G}(EYUV$D~0OHUH51.png , ]1 W! w" h" R6 K. y( z

& {, F$ Q2 R4 X3 r+ H+ u4 n/ P

( u, G) Y( |+ |: x+ U8 S1 u+ U4 f1.2 SIRC 协议基础
) q) C: m, L! a9 O' oSIRC 代码是一个 12 位字。它使用 40 kHz IR 载波频率的调制。SIRC 协议使用脉冲串距离来对位进行编码。每个位的脉冲串都是由 600 us 长的 40 KHz 载波脉冲群组成。发送逻辑“1”需要 1.8 ms,而发送逻辑“0”需要 1.2 ms(图 4)。* y9 o% ?2 i/ e. H1 J7 K2 ?9 h
4 c# l# N& Z" m# A
2 N7 n' V) e2 `
([P{ZQ{XF1Q9L~SEOY3NK.png 2 c1 v+ k6 ?! v, O

2 K$ v6 ^  A, d* N1 P9 l; d
# c' x* D2 M, A: I
SIRC 帧包含下列字段。: W" F+ M3 k; Q7 j
● 起始位:起始脉冲群始终为 2.4 ms 宽,然后是一个 0.6 ms 的标准间隔。# _) C# ?, s0 o( E5 g  q' r, T
● 长度为 7 位的命令:此字段有 7 位,用作命令字段。
* B( h8 C% w8 e+ b2 B6 z9 w● 长度为 5 位的地址:此字段有 5 位,用作地址字段。
! h4 _# s4 k. c8 T5 p) e
& A& B, S1 z/ B

& Q5 V# H* C* n: f 8D49$FU}3YHSZ@~TFW})~]B.png
- G. K! P9 Q( K4 Q
- G% y9 c9 l$ G1 }0 d7 y- x, V1 Q6 @9 ^
: a, i  z# ^$ P% k7 U- Q* t

$ x: s$ Z% a. Q2 j3 `( z5 V, p7 |图 6 显示了 SIRC 帧的示例。; ]+ @% g8 j1 t/ W; A, f# g
在此例中:命令为 26h (0100110b),地址为 Ah (01010b)。   q$ M  I4 e* @9 f5 B. w

9 g% B+ W, ^% }% a/ s" }
" z$ K. a' k- o9 @. p$ u
KZN6G}(8`JGSHC~5Z}X86]0.png
" @: q- y9 N2 K& e! A, r& R; C- U$ Z5 E" P0 Q3 V) k1 x
在两个连续帧之间插入一段空闲时间以避免冲突。每 45 ms 发送一次重复代码。4 H: R- F1 ~3 \) b
' b3 t: E+ z  P/ H, y
TI1HJ3{C4IEE(T5CB4J9AUW.png
8 A3 p9 `. b8 z. R+ Y4 _8 d; O1 d/ G
$ s7 |8 W1 B$ B4 }: O; m: ^/ c! N5 P" _. H& Q
完整版请查看:附件

/ U( {! k$ m3 [7 R8 d, B8 Q5 s- J8 G" S7 D/ ]

DM00053084_ZHV2.pdf

下载

1.15 MB, 下载次数: 2

赞 收藏 评论0 发布时间:2022-7-21 18:48

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版