首页 > 其他分享 >NEC协议

NEC协议

时间:2024-10-09 12:22:54浏览次数:7  
标签:协议 反码 脉冲 NEC 低电平 地址码 数据包

NEC协议是一种红外线通信协议,广泛应用于家电遥控器和其他红外线设备之间的通信。以下是对NEC协议的详细解释和介绍:

一、开发背景与应用

NEC协议由日本电子公司NEC(日本电气公司)开发,因其简单、易于实现和广泛兼容的特点,被广泛应用于各种消费电子产品中,如电视、DVD播放器、空调等。这些设备通常使用NEC协议来实现遥控功能,方便用户进行远程操作。

二、载波频率与数据编码

NEC协议使用38kHz的红外线载波进行通信。在数据编码方面,NEC协议采用脉冲宽度编码(Pulse Width Encoding)来表示二进制数据。具体来说,每个数据位由一系列的脉冲组成,逻辑0和逻辑1分别由不同的脉冲宽度表示。逻辑0的传输需要1.125ms(包括一个560μs的载波脉冲和一个560μs的低电平间隔),而逻辑1的传输需要2.25ms(包括一个560μs的载波脉冲和一个1690μs的低电平间隔)。这种编码方式确保了数据的准确性和可靠性。

三、数据包结构

NEC协议的数据包结构非常规范,每个数据包都由多个部分组成,包括同步码、地址码、地址反码、命令码和命令反码。

  1. 同步码(Sync Header):用于同步接收器和发送器之间的通信。同步码由一个持续约9ms的高电平脉冲(Mark)和一个大约4.5ms的低电平脉冲(Space)组成。
  2. 地址码(Address Code):8位数据,用于标识接收器。地址码以二进制格式发送,遵循“先低位后高位”的顺序。每一位数据以脉宽调制方式发送,与逻辑0和逻辑1的编码方式相同。
  3. 地址反码(Address Inverted Code):地址码的8位二进制反码,用于错误校验。通过比较地址码和地址反码,可以检测数据包在传输过程中是否发生错误。
  4. 命令码(Command Code):8位数据,代表具体的操作指令,如开关机、温度调节等。命令码同样以二进制格式发送,并遵循“先低位后高位”的顺序。
  5. 命令反码(Command Inverted Code):命令码的8位二进制反码,同样用于校验数据的正确性。

四、重复码与长按处理

为了提高通信可靠性,NEC协议还定义了重复码。当用户长按遥控器上的某个按键时,遥控器会周期性地发送重复码,以确保接收方正确接收到连续的按键数据。重复码以一个9ms的高电平脉冲(Mark)和一个4.5ms的低电平脉冲(Space)作为同步头,然后包含一个固定的脉冲序列(通常是一个9ms的高电平脉冲和一个2.25ms的低电平脉冲),而不包含地址码、地址反码、命令码或命令反码。

五、接收端工作原理

在接收端,红外线接收模块负责接收红外线信号,并通过解调将其转换为数字数据。接收端在接收到同步码后,开始解析地址码和数据码,并进行校验。如果校验通过,则执行相应的操作指令。如果校验失败,则忽略该数据包并等待下一个数据包的到来。

标签:协议,反码,脉冲,NEC,低电平,地址码,数据包
From: https://blog.csdn.net/m0_59091453/article/details/142771878

相关文章

  • 第十九篇:NAT协议,上网绕不开的协议
    通过前面的介绍,我们知道每台主机上网都要通过DHCP协议从运营商的DHCP服务器哪里获得一个未被其他主机使用的IP地址;那么这个IP地址是内网IP还是外网IP呢?答案是内网IP!!!我们可以看到,家庭的无线Wi-Fi使用的局域网IP,只有一个路由器有一个外网IP;如此两个不同的局域网里的设备IP可能......
  • 【网络协议大花园】应用层 http协议的使用小技巧,用好了都不用加班,效率翻两倍(上篇)
    本篇会加入个人的所谓鱼式疯言❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言而是理解过并总结出来通俗易懂的大白话,小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.......
  • Error: There was a timeout while attempting to connect to the network at undefin
     trufflemigrate--networksepolia报错Error:Therewasatimeoutwhileattemptingtoconnecttothenetworkatundefined.Checktoseethatyourproviderisvalid.Ifyouhaveaslowinternetconnection,tryconfiguringalongertimeoutin......
  • 前端的全栈混合之路Meteor篇:分布式数据协议DDP深度剖析
    本文属于进阶篇,并不是太适合新人阅读,但纯粹的学习还是可以的,因为后续会实现很多个ddp的版本用于web端、nodejs端、安卓端和ios端,提前预习和复习下。ddp协议是一个C/S架构的协议,但是客户端也同时可以是服务端。什么是DDP?DDP(DistributedDataProtocol)是Meteor框架中......
  • 大麦协议新版
    1.网络请求:您可以使用合适的编程语言和库来发起与大麦网的网络请求。通常使用HTTP或HTTPS协议进行通信。例如,在Python中,您可以使用requests库来发送GET或POST请求。```pythonimportrequestsurl="https://www.damai.cn/api/getTickets"params={  "e......
  • dy私信协议
    在开发抖音私信协议时,您需要考虑以下几个方面:1.了解抖音的API文档阅读:首先,查阅抖音开放平台的API文档,了解私信功能的具体接口和使用权限。权限申请:确保您已申请到相关的API访问权限。2.私信功能设计用户身份验证:确保用户在发送私信之前完成身份验证。消息格式:确定消息......
  • dy关注协议
      首先这里有一篇关于Android逆向工程的文章,反编译了抖音的libuserinfo.so文件的种种加密入口限制,使得自己的Android程序可以调用该so文件直接加密校验。这样的效果就是无需真正意义破解加密算法。这里直接讲抖音的加密算法本身。火山小视频也一样。我们拿来进行研究分析学......
  • 嵌入式通信协议-- I²C 协议篇(IIC)
    目录总述: 1.1主机和从机1.2发送器和接收器1.3总结2.1I²C通信过程第一步:主机发送起始信号:第二步:主机发送从机地址(寻址):第三步:从机应答信号:第四步:发送器发送数据:第五步:接收器发送应答信号:第n步:循环步骤4、5最后一步:主机发送停止信号:3时钟同步4.三种经典时序......
  • 编写connect,发送了信号,但却进入不了connect信号连接中
    错误原因:连接信号写在了发送信号之后,得把连接信号写在发送信号之前(切记先初始化再写连接信号)原理:1. 确保槽函数被调用:如果您在发出信号之前没有连接相应的槽,那么当信号被发出时,没有任何槽会处理该信号。这通常会导致程序行为不如预期,可能会错过重要的事件处理。2. 逻辑清......
  • 使用LPD协议来共享打印机
    平台:WIN7、WIN10问题:win10上共享了打印机,WIN7电脑无法访问,连接时提示0x0000011B错误,我记得这是WIN10里安装了某个补丁造成的BUG,无法卸载补丁,改用LPR协议访问共享打印机。方法:一、启动LPD服务。win7和win10上均打开“控制面板”,“程序和功能”,“启动或关闭Windows功能”,下拉找到......