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

发布者:极地征服者最新更新时间:2019-08-14 来源: eefocus关键字: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度


下图是换算的参考表

关键字:ADIS16203  角度传感器  stm32驱动 引用地址:ADIS16203角度传感器的stm32驱动实现要点

上一篇:关于stm32的spi发送命令时的注意事项
下一篇:STM32-DHT11(温湿度传感器)之学习笔记

推荐阅读最新更新时间:2024-11-06 16:03

TDK推出电动汽车新型马达控制角度传感器
    TDK展出了用于混合动力车及电动汽车马达控制的角度传感器。该产品采用了GMR元件。与目前使用线圈和磁铁的主流角度传感器相比,其特点是传感器精度高达0.35度,并且尺寸较小。   角度传感器和安装于马达轴的金属圆盘配套使用。传感器采用圆弧形状,内置有4个GMR元件。各GMR元件后侧配备有永久磁铁。金属圆盘呈微椭圆形,当马达轴旋转时,由于圆盘和传感器之间的距离会改变,因此磁场也会由此发生变化。通过GMR元件可检测出磁场变化,以此来掌握角度。   该公司表示,对于混合动力车及电动汽车,为起动时动作顺畅,有需求希望能以0.5~0.8度的测量精度检测静止时的马达角度。今后,将面向高级车型的混合动力车及电动汽车销售该传感器。目前已开
[汽车电子]
STM32学习笔记-L298N驱动模块-电机
新手上路,十几天的学习感觉弯路走了不少,所以打算把学习的知识记录下来,和大家分享,不要嫌弃我,我从非常新手的角度来写。 1、STM32F103RCT6 我也是第一次学习单片机,选择了正点原子家的迷你版,学习到后面才发现什么板子都差不多,只要学会看手册就好了。推荐论坛:CSDN、正点原子官网、51黑论坛等。可以跟着正点原子提供的手把手视频教程把基本的实验做出来再去学习更深入的原理,就能得到事半功倍的效果。不要因为自己不会而畏怯,一旦遇到不懂的知识就马上查资料,还是不懂就去问,好了,感想有点多了。 2、L298N电机驱动模块 以后不要只认为淘宝是买东西的,上面可以找到的资料也很多。解释一下: 马达A输出(OUT1和OUT
[单片机]
<font color='red'>STM32</font>学习笔记-L298N<font color='red'>驱动</font>模块-电机
STM32开发笔记88: SX1268驱动程序设计(天线控制)
单片机型号:STM32L053R8T6 本系列开发日志,将详述SX1268驱动程序的整个设计过程,本篇介绍天线控制的相关驱动程序。 上篇日志,提到在SX126xCheckDeviceReady函数中,如果芯片处于启动、硬复位、SLEEP模式、RX_DC模式,转换到STDBY模式时,需唤醒芯片,并将天线打开,程序如下: void CSX1268::SX126xCheckDeviceReady(void) { if((this- OperatingMode == MODE_SLEEP) || (this- OperatingMode == MODE_RX_DC)) { SX126xWakeup(); SX126
[单片机]
<font color='red'>STM32</font>开发笔记88: SX1268<font color='red'>驱动</font>程序设计(天线控制)
STM32驱动MAX6675读取K型热电偶温度
MAX6675 进行热电偶冷端补偿和数字化 K 型热电偶信号。输出 12 位分辨率、 SPI 兼容、只读的数据。转换器的精度为 0.25℃,最高可读+1024℃,如果使用数据的 8LSB 则温度范围为 0℃到+700℃。 MAX6675模块的原理图: 从网上看到max6675模块并不便宜,正好手头又有MAX6675的芯片于是自己便根据原理图在洞洞板上搭建了一个测试模块 测试结果:将测得的温度信息通过串口1输出到上位机显示 max6675模块部分的测试代码: #include stm32f10x.h #include usart.h #include delay.h #include max6675.h
[单片机]
<font color='red'>STM32</font><font color='red'>驱动</font>MAX6675读取K型热电偶温度
汽车侧向倾斜角度传感器的应用初探
  引言   概述随着电子技术的发展和应用,汽车的安全性、舒适性和智能性越来越高。汽车侧向倾斜角度传感器的应用是防止汽车在行驶中发生倾翻事故的一种有效方法,是提高汽车安全性的重要措施,特别是越野车、双层客车等重心较高的汽车更有必要。   汽车倾翻的实质是:行驶中向外的倾翻力矩大于向里的稳定力矩,当重心高度一定时,倾翻力矩由倾翻力(向外的侧向力)决定。根据物理学知识,倾翻力由路面的侧向(亦称横向)坡度产生的下滑力F1和转弯时所受向心力F2共同作用所产生,具体如下:     式中   m——汽车质量   g——重力加速度   α——路面与水平面的侧向夹角   v——汽车行驶速度   R——转弯半径
[嵌入式]
STM32驱动DP83848注意事项
检查STM32的MAC时钟是否已开启。 检查以太网50M的时钟是否正确配置。 检查STM32的以太网复用IO是否连接到重映射端口上。 检查STM32的以太网RMII端口是否已正确初始化,IO端口的时钟是否已开启。 检查连接DP83848的RST引脚的IO是否已初始化。 检查DP83848的CONFIG引脚在复位状态下的电平是否正确。 检查DP83848的地址引脚配置是否与STM32中初始化定义的地址一致。 检查DP83848的时钟接法,如果是外接晶振,检查晶振是否起振,否则查看是否接到STM32的MOC脚,如果是,检查STM32是否已配置MOC脚输出50M时中。。。。。。。。。。。
[单片机]
STM32的IO口灌入电流和输出驱动电流最大是多少?
最大可以输出8mA,灌入20mA,但要保证所有进入芯片VDD的电流不能超过150mA,同样所有从VSS流出的电流也不能超过150mA。 详细请看STM32的数据手册中的相关内容。 例如,STM32F103中容量产品,需要看5.2节和5.3.12节,里面有更详细的数据: http://www.st.com/stonline/products/literature/ds/13587.pdf STM32F103X8B
[单片机]
<font color='red'>STM32</font>的IO口灌入电流和输出<font color='red'>驱动</font>电流最大是多少?
stm32六步法驱动bldc的步骤
STM32系列微控制器可以通过外部驱动电路实现BLDC(无刷直流电机)的六步法驱动。以下是基本的步骤和配置方法: 1. 硬件连接:将BLDC电机连接到STM32微控制器的外部驱动电路,通常包括功率驱动芯片和相关电路。确保正确连接三个电机线圈和电源。 2. 配置GPIO引脚:使用STM32的GPIO模块配置相应的引脚,用于控制外部驱动器的使能、PWM信号输出以及电机相序的切换。 3. 配置定时器:使用STM32的定时器模块来生成PWM波形。根据BLDC电机的要求,配置一个或多个定时器和通道来产生相应的PWM信号,以控制电机的速度和方向。 4. 编写驱动程序:根据BLDC电机的控制算法,编写一个驱动程序来控制GPIO引脚的状态和定时器
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved