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) 确实也可以正常收码。

  • 相关阅读:
    css 图片的无缝滚动
    有时间研究下这个
    js的类数组对象
    js的this什么时候会出现报错
    js前端分页
    js队列
    js前端处理url中的参数为对象
    随机看的一点代码
    js的callee和caller方法
    js的Object和Function
  • 原文地址:https://www.cnblogs.com/DoreenLiu/p/14308535.html
Copyright © 2011-2022 走看看