zoukankan      html  css  js  c++  java
  • 编码器芯片MLX90363的使用

    文档资料

    使用

    • 对于编码器来说,Rotary Application模式
    • SPI驱动中,CS必须在8个字节都发送完成后才禁能,不能每发送一个字节就使能+禁能
    • 检验SPI通讯的方法,发送NOP帧,然后如果通讯正常,MLX90363回复的应该是回显
    while(1)
    {
    	send NOP command
    }
    
    • 发送和接收,master发送和回复帧的格式。!!!特别注意,上述表格只是正常情况,也可能回复错误帧,必须查看具体命令(例如Get1命令如果超时就会回复错误帧)此表描述了发送和回复之间的功能码。但是对于具体的帧格式没有单独列表列出来,得自己整理。这要求必须对datasheet有框架层次的了解。例如Get1命令,发送帧格式,回复正常时格式,回复不正常时格式,必须到每一张每一节去找出来。
    • 三种查询模式,Trigger Mode1、2和3,我们记住的是目前只用Mode1
      • Trigger Mode1为常用,
      • Trigger Mode2为多个MLX90363时用,需发送同步帧
      • Trigger Mode3和Mode1区别时,Mode3发送的数据为缓存数据(??还没弄懂)
    • 发送查询命令(无论Get1、2和3)都要设置一个Timeout参数,这个参数的意义是:(摘抄自Datasheet)

    The parameter TimeOutValue tells the maximum life time of the Regular Data Message.
    The time step is t1us (See table in Section 10), the maximum time-out is 65535 * t1us. The timeout
    timer starts when the message is ready, and stops on the SS rising edge of the next
    message.

    翻译过来就是:两个帧之间的空闲间隔,这个情况很明显,如果仿真打断点后,再次Get1时会回复错误帧,根据错误提示发现是Time out故障

    • MLX90363另一得注意的是:发送和回复的不同步。如下图:

      其中第一次发送GET1命令时,如果刚上电回复的是版本号;如果非刚上电且第一次发送Get1,回复NTT,如果此时再发送GET1命令,才能实时回复当前采集的数据;如果此时再发送NOP命令,根据NOP命令的特性,回复的是上一条命令的数据。总结:通过Get1查询数据的流程是:发送Get1命令初始化MLX90363->发送Get1命令获取实时数据

    • ???(不确定的地方)NOP命令分为chanllenge模式和NOP模式,chanllenge模式回复回显;NOP模式发送上一次帧。但是什么情况下是chanllerge模式,什么情况下是NOP模式,初步理解为当NOP跟前一帧组成一个序列时,NOP为NOP模式;当和前一帧部组成一个序列时,回复回显。(这是自己的理解,待确认)如下为NOP模式:

    while(1)
    {
        Get1();
        NOP();
    }
    
    • 时钟周期允许为8us
  • 相关阅读:
    Django框架基础之分页
    Django框架基础之session
    Django框架基础之COOKIE
    Django框架基础(二)
    linux挂载/卸载windows共享文件夹
    std::string 字符串操作(分割,去空格)
    Ubuntu sudo不用输入密码的方法
    Qt学习
    ubuntu上利用 checkinstall/dpkg 制作/安装/卸载deb或rpm包
    wxWidgets编译安装
  • 原文地址:https://www.cnblogs.com/smileintheday/p/6286988.html
Copyright © 2011-2022 走看看