跳至内容
深圳市捷比信实业有限公司 · 产品选型与采购咨询联系业务人员
精密电阻捷比信 · 专业器件主题站

红外遥控38KHz载波,收发信机调制解码工作原理

跟随+明星公众号,不要错过令人兴奋的内容来自|的糖转移MultiMCU EDU红外遥控器对我们并不陌生,我们到处都能看到它,最常见的是家用电器中的红外遥控器,您知道发送和接收的原理吗?今天,我将分享一篇有关红外解码的文章。 1硬件连接红外解码仅需连接3根线(2个电源+ 1个数据),如下图TSOP382所示。 2NEC协议解码本文介绍的红外编解码器采用NEC协议。在通信数据帧中使用高电平时间来区分0和1。对于按下然后按住的时间,NEC协议的处理如下:上图中写的也称为“重复启动代码”。对于红外通信协议,搜索关键词“ IR指导码”。将使查找结果更加容易。 NEC的编码规则非常简单,如下图所示:逻辑分析仪捕获的实际波形如下,可以通过上述规则相互确认:3Arduino红外解码复制上图中的代码如下所示:#include const int irReceiverPin = 2; IRrecv irrecv(irReceiverPin);解码结果结果;解码结果res_last;无效setup(){Serial.begin(9600); irrecv.enableIRIn();} void loop(){if(irrecv.decode(& results)){if(res_last。value!= results.value){res_last.value = results.value; Serial.print(“ irCode:”); Serial.print(results.value,HEX); Serial.print(“,”位:“)”;序列号。 println(results.bits);} irrecv.resume(); }} 4STM32红外解码1.参见“江涛带你玩STM32-CubeMX红外NEC解码实战(外部)外部中断模式”。外部中断模式的优点关键是:可以使用任何引脚。由于不使用片上定时器外设,因此需要使用CPU计数方法来计算时间。 2.定时器捕获方法是指“江涛带你玩STM32-CubeMX红外NEC解码实战(第二部分)-定时器TIM捕获方法”。定时器捕获方法需要使用定时器相关的引脚。优点是CPU不参与计时。解放的CPU可以做其他事情。 PS除NEC协议外,还有许多其他用于红外通信的协议,可以在Mixly图形编程软件中看到,如下图所示:本文选择了最简单的NEC协议来讨论红外解码,并且旨在简单地反映红外通信的应用。因此,没有介绍38kHz载波的概念。如果您想了解更多,可以参考“ STM32红外遥控信号自学习实现”。 5接收和发送解码之间的区别如上图所示,红外通信的特殊方面是发送和接收数据的反转。这导致尽管可以从发送方或接收方解析正确的数据,但是在解码时必须注意极性。如果极性接反,则无法解析数据或无法正确解析数据。通讯实验:如上图所示,作者认为发送和接收之间的相位差增强了实验的真实性。作者使用两个单片机ATMega 2560和ATMega644。选择Arduino系列单片机的原因是懒惰而不是编写软件。让我们放大一段数据并仔细查看38KHz载波的样子:上图中的结论是“发送者”的行为。从“接收器”的角度写的。换句话说:1.如果您希望接收方接收到0,则发送方将发送一个38KHz的载波; 2.如果您希望接收方接收1,则发送方将停止发送载波。不可避免地有人会在这里问:停止载波实际上会使接收器收到1,因此如何区分“停止通信”和“停止通信”。和“通讯1”?可以从NEC协议的作用中看出这个答案:一个数据帧有一个头和一个尾,在头和尾之间发送的停止是数据1,不在头和尾之间发送的停止是no。沟通。 ------------结束------------推荐读物:专题摘要|列|目录|搜索特色摘要| ARM,Cortex-M特色摘要| ST工具,下载编程工具,关注微信公众号“嵌入式列”,在底部菜单中查看更多内容,然后在“添加组”中回复“添加组”。按照规定加入技术交流小组。点击“阅读原件”查看更多分享,欢迎分享,喜欢,喜欢,观看。免责声明: