汽车电子中开关类项目需要霍尔芯片来采集角度,霍尔芯片可以用在方向盘的组合开关上,采集左右拨杆的角度,也可以用来采集方向盘的角度。
霍尔芯片型号有多种,至于芯片选型就看自己公司的需求了。
霍尔芯片的工作原理如下,可以做一个宏观的了解:
霍尔芯片是一种利用霍尔效应工作的磁敏传感器,它基于霍尔效应的物理现象设计。霍尔效应是指当一个电导体中的电流通过磁场时,电子会受到洛伦兹力的作用偏离原运动轨迹,在垂直于电流和磁场的方向上会产生电压,这就是所谓的霍尔电压。霍尔芯片内部包含一块薄片型半导体材料,如硅或砷化镓等,当磁场作用在其上面时:
- 电流沿芯片的一边流入,另一边流出。
- 磁场使得电子在垂直于电流路径的方向上移动,形成额外的电荷分布。
- 这导致在芯片的另一侧产生霍尔电压,其大小与磁场强度、材料性质以及电流密度有关。
通过测量这个霍尔电压,芯片可以转换成电信号,进而用于检测磁场强度、方向或相对运动速度等。霍尔芯片广泛应用于各种应用中,如电机控制、位置传感器、车辆导航系统等,能提供高精度的磁信号读取。
当然霍尔芯片本身集成了霍尔阵列、前端模拟信号放大器以及用于信号转换的模数转换器(ADC)等,至于内部功能是如何实现的,我们作为使用者知道其原理其实也够用了,如果有时间可以深入研究一下,关于霍尔芯片内部的原理及运行逻辑这里就不多讲了。
这里主要讲讲MCU和霍尔芯片的通信如何实现~
这里又要唠叨一句,就是常见的通信方式:SPI/IIC/UART,这几个的基本原理还是要自己看看,各自的通信协议要熟悉。
拿我实际做的项目来分享一下MCU和霍尔芯片是如何实现通信的:
关于芯片型号就不说了,这两个芯片是用Spi来传输数据的,所以重点在SPI,下图是霍尔芯片的SPI协议
SPI的读写都在上图中体现了,值得注意的是这款霍尔芯片用的是3线SPI,与传统的4线SPI相比,这个只有一条双向SDA数据传输线,所以上位机(其实就是主MCU)要切换输入和输出,避免数据丢失,甚至是通信失败。
实现SPI通信有两种方式,一种就是用实际的SPI,通过配置工具来配置SPI模块,具体可参考EB MCAL配置----Spi配置,然后调用SPI的初始化、数据读写等接口函数实现相应的功能就可以了;另外一种是用模拟的SPI,就是用GPIO来模拟SPI,但是这种情况下就要有4根线了,片选CS、时钟SCK以及数据线MOSI和MISO,用模拟SPI的话驱动就要自己手写了,可以网上找找,通讯协议是死的,驱动代码基本都一样,稍作改动就行。
通讯协议的驱动搞定了之后就是应用方面的事情了,至于最后是用来获取左右拨杆还是方向盘的角度,那就看项目实际需求了,应用层的控制逻辑我就不讲了,每个公司每个产品的需求都不一样,讲了意义也不大。
另外现在的芯片一般都有自诊断,涉及到功能安全,所以在做功能的时候最好把芯片自诊断的功能也做上,具体的芯片厂家在芯片手册里都会有描述,根据芯片描述做就可以了。
标签:SPI,芯片,通信,----,霍尔,模块,MCU,磁场 From: https://blog.csdn.net/m0_73359931/article/details/144238648