HMC5883L概述
霍尼韦尔 HMC5883L 是一种表面贴装的高集成模块,并带有数字接口的弱磁传感器芯片,应用于低成本罗盘和磁场检测领域。HMC5883L 包括最先进的高分辨率HMC118X系列磁阻传感器,并附带霍尼韦尔专利的集成电路包括放大器、自动消磁驱动器、偏差校准、能使罗盘精度控制在1°~2°的12位模数转换器。简易的I2C 系列总线接口。HMC5883L 是采用无铅表面封装技术,带有16引脚,尺寸为3.0X3.0X0.9mm。HMC5883L 的所应用领域有手机、笔记本电脑、消费类电子、汽车导航系统和个人导航系统。
HMC5883L 采用霍尼韦尔各向异性磁阻(AMR)技术,该技术领先于其他磁传感器技术。这些各向异性传感器具有在轴向高灵敏度和线性高精度的特点。传感器具有的对正交轴的低灵敏度的固相结构能用于测量地球磁场的方向和大小,其测量范围从毫高斯到 8 高斯(gauss)。 霍尼韦尔的磁传感器在低磁场传感器行业中是灵敏度最高和可靠性最好的传感器。
HMC5883L引脚图及功能
HMC5883L应用说明
1、HMC5883L通过IIC总线与主机进行通信,其IIC控制字节地址如下
可以发现,HMC5883L的IIC控制字节地址与IIC总线控制字节地址是一致的。其中高4位为器件类型标识符,接着3位为片选,最低位为读写控制位(1为读操作,0为写操作)。
HMC5883L IIC接口特性说明:
HMC5883L作为一个IIC兼容装置,该装置包含一个7-bit串行地址,并支持IIC协议。HMC5883L可以支持标准和快速模式,分别为100kHz和400kHz,但不支持高速模式(Hs)。
要求主机的活动(寄存器读取和写入)优先于内部活动,例如测量,这一优先次序的安排是为了不让主机等待,同时IIC总线占用的事件比必须的时间长。
2、HMC5883L一些引脚说明
3、HMC5883L寄存器说明
4、HMC5883L读写说明
HMC5883L利用地址指针来说明读取或者写入的寄存器位置。这些指针由主机发往从机,并且跟在7-bit地址和1-bit读/写控制位之后。
下面以读数据为例说明HMC5883L IIC读取数据时应该进行的操作时序。
1、发送从器件控制字节0x3C(写入操作)。注意,此操作之后主机再往从机发送的数据就是主机写入从机的数据
2、发送数据3(由器件手册可知,3为数据输出X MSB寄存器的地址)。此操作也就是写想要读取数据的寄存器地址。
3、发送从器件控制字节0x3D(读取操作)。注意,此操作之后从机便向主机发送步骤2所发送的地址处的数据。
4、将从器件发送过来的数据写入相应的数组。
关于HMC5883L读数据需要作如下说明。
HMC5883L为了尽可能减少主机与从机之间的通信,地址指针会在不需要主机干涉的情况下自动更新。这种自动更新的地址更新有两种附加的特性。
1)当访问12或者更高的地址时,指针会自动更新到00。也就是返回首寄存器的地址。
2)当指针达到08时,指针回滚到地址03。也就是说此时指针一直在6个数据寄存器之间滚动,从机一直滚动向主机发送数据。
To move the address pointer to a random register location, first issue a “write” to that register location with no data byte following the commend. For example, to move the address pointer to register 10, send 0x3C 0x0A.
为了将地址指针移动到随机的寄存器地址,首先应该发送写指令,之后再跟一个无数据字节(在这里我自己理解我所要移动到随机的寄存器的地址)。例如,要将地址指针移动到寄存器10 ,就发送0x3C 0x0A。
0x3C为HMC5883L的写控制字节,告诉从机下一个发送的字节为写入到从机的字节。
0x0A为HMC5883L的寄存器10的地址,此时地址指针就指向寄存器10了。如果要进行读操作,则发送HMC5883L的读控制字节0x3D,然后从机将会发送相应的寄存器中的数据返回至主机。如果要进行写操作,则发送HMC5883L的写控制字节0x3C,然后再发送的数据就会写入当前指针指向的寄存器。
评论
查看更多