zoukankan      html  css  js  c++  java
  • IR(红外线) 接收器的 数据发送结束判断(结束码)

    友晶科技的 《逻辑电路设计 DE2-115 实战宝典》的第7章节 有讲解 IR 接收器的原理以及 有对IR 接收数据的解析。

    但是我看到代码里面提到IR 数据是否传输完成的判断是 :

    parameter IDLE_HIGH_DUR      =  262143;  // data_count    262143*0.02us = 5.24ms, threshold for DATAREAD-----> IDLE
    

      

    我对这个262143非常疑惑,我感觉应该是要测量 引导码 后面的  数据发送时间 (地址码+地址码取反+控制码+控制码取反)? 是不是因为 数据发送时间是不固定的, 因为发送0 和发送1 用的时间不一样, 所以没办法测量,所以 就 有个结束码 标志  测量这个结束码就好了?但我看书中介绍的协议里面没有提到结束码的时间。

     然后我百度了一下也没有找到NEC协议关于结束码的定义。于是我就好奇问了问公司的工程师:

    認定 IR 為IDLE 是當IRDA 為 高 的時間要大於 5.24ms ,故用一個以50Mhz 為clock 的counter來數 ,需要數262143 次 , 5.24ms=262143 *1/50Mhz”,这里的5.24ms 相当于结束码的判断。對要進入 idle  的條件 ,只要測到 hi-pulse >1.7ms(比 0.56 x 3 大)即可。

    然后我测试将 262143 (5.24ms) 改成 85000(1.7ms) 确实也可以正常收码。

  • 相关阅读:
    生物神经网络和人工神经网络浅谈
    卷积神经网络
    DOM进阶之HTMl属性操作(对象属性)
    01 selenium基本使用补充
    01 selenium基本使用
    day4笔记
    03 获取豆瓣电影top250
    02 爬取视频
    day3笔记
    01 requests基本使用
  • 原文地址:https://www.cnblogs.com/DoreenLiu/p/14308535.html
Copyright © 2011-2022 走看看