历史上的今天
今天是:2025年08月14日(星期四)
2019年08月14日 | ADIS16203角度传感器的stm32驱动实现要点
2019-08-14 来源:eefocus
一、前言
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度
下图是换算的参考表
史海拾趣
|
跪求高手帮忙 我的毕业设计是基于单片机控制的数据采集设计 现在一点头绪都没 有资料的发我171597708@qq.com [ 本帖最后由 171597708 于 2008-10-16 16:12 编辑 ]… 查看全部问答> |
|
可编程控制器(Programmble Controller)简称PC或PLC。它是在电器控制技术和计算机技术的基础上开发出来的,并逐渐发展成为以微处理器为核心,把自动化技术、计算机技术、通讯技术融为一体的新型工业控制装置 目录 1、可编程控制器的 ...… 查看全部问答> |
|
平台:S3c6410 + winCE6.0 BSP:三星官方BSP(七月的) 我要实现的功能是Nandflash当U盘功能,现在把SD卡当U盘是没有问题的,在实现U盘功能时 USB驱动的注册表要给 [HKEY_LOCAL_MACHINE\\Drivers\\USB\\FunctionDrivers\\Mass_Sto ...… 查看全部问答> |
|
小弟我刚买了块开发板(arm9 2410), 自己写了个小程序, 在ADS下可以正确编译了, 但是不知道怎么下载到板子里面调试. 好像是用超级终端下载, 但是我在超级终端里面找不到下载的按钮什么的, 郁闷中, 请教各位了. 谢谢各位大侠了!!… 查看全部问答> |




