当前位置:首页 > 问问

hx711读取值为什么要亦或 为什么HX711读取值要异或?

1、hx711是什么

首先,hx711是一款高精度称重传感器,常用于电子秤、压力传感器等应用领域。它的工作原理是通过变换电桥的输出信号来测量载荷重量,并将其转化为数字信号输出。因为需要传输的是模拟信号,而HX711只有数字接口,所以需要进行模/数转换,这就涉及到了为什么要进行亦或运算。

2、亦或运算的作用

在进行模/数转换的过程中,需要对采集到的数据进行处理,一般的处理方式是将数据进行亦或运算。亦或运算又叫异或运算,简单来说就是将两个相同位上的数字相比较,如果相同则输出0,如果不同则输出1。

那么为什么要进行亦或运算呢?主要是由于HX711传感器的数字信号接口采用的是两个引脚:DT(Data)和SCK(Clock),对于这种接口来说,数据传输是双向的,不仅会将传感器收集到的数据发送给单片机,还需要单片机给传感器发送一些控制信号以确保数据的正确传输。

为了实现这种双向传输的功能,HX711采用了一个时钟同步的机制,即每次发送8位数据后,会在SCK上输出一次脉冲,以通知HX711进入下次等待数据的状态。这个时钟同步机制最终实际上将DT(Data)和SCK(Clock)合并成了一个双向传输信号。

而在这种情况下,如果不进行亦或运算,则会导致数据传输出现错误。因为数据传输是双向的,单片机发送的控制信号也会被传感器接收到,如果不进行亦或运算,就有可能出现单片机发送的控制信号被HX711误认为是数据信号的情况,从而岀现传输错误的情况。

3、亦或运算的具体实现方法

具体来说,亦或运算会将接收到的正常数据与一个固定值进行异或。而这个固定值的生成方式则与HX711内部的寄存器设置有关,一般来说,会通过设置HX711内部的增益值(gain),来决定固定值的具体数值。

增益值是HX711的一个寄存器参数,可以在增益系数为128、32、64之间进行设置。对于每个增益值,HX711内部会设定一个对应的固定值。在进行模/数转换时,会使用单片机发送的控制信号,将其增益值发送给HX711,然后在HX711内部计算得出对应的固定值进行亦或运算,从而实现数据的正确传输。

4、总结

综上所述,HX711读取值为什么要亦或的原因是因为它的数字信号接口采用的是双向传输模式,需要进行时钟同步机制的控制,而控制信号可能被误认为是数据信号,出现传输错误。通过进行亦或运算,将接收到的数据与固定值进行异或处理,可以保证数据的正确传输。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com
标签:

  • 关注微信

相关文章