ADIS16203角度传感器的stm32驱动实现要点

一、前言

ADIS16203是一款完整的倾斜角测量系统,采用ADI公司的 iSensor™集成技术制造,全部功能均集成于一个紧凑的封装中。该器件采用嵌入式信号处理解决方案来增强ADI公司的 iMEMS®传感器技术,可提供适当格式的工厂校准、传感器数字倾斜角数据,从而利用串行外设接口(SPI)即可方便地访问数据。通过SPI接口可以访问多个测量结果:360°线性倾斜角、±180°线性倾斜角、温度、电源和一个辅助模拟输入。由于可以轻松访问校准的数字传感器数据,因此开发者能够获得可立即供系统使用的器件,使开发时间、成本和编程风险得以减少。

通过数个内置特性,如单命令失调校准等,以及方便的采样速率控制和带宽控制,该器件很容易适应终端系统的独特特征。

ADIS16203提供下列嵌入式特性,无需外部电路,并提供简化的系统接口:

  • 可配置报警功能
  • 辅助12位模数转换器(ADC)
  • 辅助12位数模转换器(DAC)
  • 可配置数字I/O端口
  • 数字自测功能

二、怎样从datasheet里面提取与驱动编写有关的信息

1.spi的通讯速率

从时序规格表可知该芯片的spi通讯速率最快是2.5MHz,普通模式是1MHz。

2.SPI的极性和相位


从时序图可知该芯片的相位CPHA=1(时钟空闲时高电平),极性CPOL=1(上升沿采样)

3.CS片选信号

由上图可知CS是低电平有效。

4.spi一个数据帧的位数

由图可知一个数据帧是16位的。

5.spi发送数据位的顺序


由图可知是先发高位(MSB)

6.spi的读写控制


由图可知控制spi读写是由地址字节的最高位控制的,READ=0,WRITE=1

7.spi的复位控制


复位只需要把RST引脚拉低一会再拉高即可。

8.SPI写数据的时序控制

从手册可知该芯片写一个字节的数据需要发两帧数据,每帧数据有两个字节,高字节是寄存器地址,低字节是要写的数据内容,地址的字节还需要把字节高位置1来表示写数据。


每个寄存器有两个字节的地址,对应可以存储两个字节的数据内容。

9.SPI读数据的时序控制

读数据的时候需要发送一个读取数据的命令帧,该数据帧分两个字节,高字节需携带寄存器的地址(6位)(寄存器有两个地址,随便一个地址都可以),地址字节高位需置1表示读操作,数据帧的低字节可以不用管(填入任意数据都可以)。芯片接收该读数据的命令帧则会通过MISO返回寄存器存储的16位数据。

10.  ADIS16203芯片的数据解析

通过spi读取到的数据是16进制数,按照不同寄存器你可以乘以一个单位值就能得到采样的数据。

假如当前读取的内容是INCL_180_OUT寄存器,读到的数据值0x0019,则换算方式是:25x0.025=0.625度

下图是换算的参考表








参考:

1.adis16203角度传感器datasheet

2.adis16203官网

猜你喜欢

转载自blog.csdn.net/MENGHUANBEIKE/article/details/80380774