当前位置:首页 > 嵌入式 > 嵌入式硬件

  近年来,微机电系统(MEMS)技术广泛用于汽车的系统和稳定系统、医学系统、便携式照相机、运动装置和三维鼠标等领域。简单和小体积的惯性测量系统尤其受到关注,因此,基于MEMS的高精度、重量轻、小体积的姿态测量系统将得到广泛的应用。本文将介绍一种ADI公司的惯性传感器以及由其组成的微小姿态测量系统。

  1 ADISl6300简介

  ADISl6300四自由度(4DoF)IMU是一个完整的惯性测量传感器,其内置单轴陀螺仪和三轴加速计,每个传感器都实现了iMEMS(Motion Sig-nal Processing Technology)技术与信号调理技术的完美结合,可提供最优化的动态性能。工厂校准为每个传感器提供灵敏度、偏置、对准和线性加速度特性。因此,每个传感器都拥有自身的动态补偿,从而可以在4.75~5.25 V的电源范围内进行精确的传感器测量。由于AD-ISl6300所有必要的运动检测与校准都是在工厂完成,大幅缩短了系统集成时间,并降低了测试设备成本。ADISl6300采用改进的SPI接口,可提供更快的数据收集与配置控制,用户实现就像供电及连接SPI(串行外设接口)端口一样简单。ADISl6300采用23 mmx31 mmX7.5 mm封装,具有2 000 g额定耐冲强度,并提供了一个标准的连接接口,使其能方便水平或垂直安装。

  ADISl6300角速度检测的动态范围具有±75、±150以及±300(°)/s 3种选项,三轴加速度的动态范围为±3 g,可提供350 Hz带宽,高达1 200次/秒的采样速率,并具有嵌入式与可编程数字滤波功能。ADISl6300其价格仅为其他同级产品的1/10,可广泛应用于医疗仪器、机器人、惯性测量单元、导航控制等领域。

  2 ADISl6300结构功能

  温度传感器、MEMS角速度传感器和三轴MEMS加速度传感器分别感知环境温度、器件所受角速度和三维加速度,将信号调理并转换,经校准和数字信号处理后将数据存入输出寄存器供外部SPI主控器件读取。ADISl6300是一个智能的传感器,传感器上电后便自动以819.2次/秒采样速率进行惯性测量。每个采样周期结束后,传感器测量结果存放至输出寄存器,并且DI01引脚向器件外产生一个脉冲,表示一个完整的新惯性测量数据已经采集准备好,可供外部SPI主控器件读取。

  3 ADISl6300基本操作

  3.1 ADISl6300的SPI连接

  ADISl6300是一个全数字接口的智能传感器系统,其SPI接口与各种微处理器SPI主控制器件接线如图3所示。微处理器作为SPI主器件各引脚功能分别为:为从器件选择;IRQ为中断请求;MOSI为主器件输出,从器件输入;MISO为器件输入,从器件输出;SCLK为连续时钟。AD-ISl6300对SPI时钟需满足:正常模式下SCLK不高于2 MHz:数据进发模式下SCLK不高于1 MHz;在低电压模式下SCLK不高于300 kHz。

  3.2 传感器数据读取

  通过ADISl6300的SPI接口可读取其传感器的供电电压,陀螺仪值,X,Y,Z轴加速度值,温度值,纵摇角,横摇角等数据。根据ADISl63 00读取数据时序,读取每个寄存器的内容分为两步,即2个16位的时序:第1个16位时序向ADISl6300写入读取命令和寄存器地址;第2个16位时序将对应寄存器内容发送至DOUT数据线上。例如:如果第1个16位时序DIN=0x0A00,那么第2个时序时,XACCL_OUT(X轴加速度值)将被发送到DOUT数据线上。

  数据进发模式是连续读取ADISl6300数据的最好方式。在10个连续的时序周期内,9个常用寄存器数据可方便读到,它们分别是:SUPPLY _0UT(供电电压)、GYRO_OUT(陀螺仪)、XACCL_OUT(X轴加速度)、YACCL_0UT(Y轴加速度)、ZACCL_0UT(Z轴加速度)、TEMP_0UT(温度)、PITCH_ 0UT(俯仰角)、0LL_OUT(横滚角)和AUX_ADC(ADC转换结果)。数据进发模式操作为:在连续10个时序周期内,DIN引脚对应的10个输入数据以0011 111O 0000 0000(Ox3E00)开始,之后9个数据可任选,同时在DOUT引脚上依次输出如上所述9个输出寄存器内的数据。

  3.3 数据处理

  表1说明了ADISl6300数据输出的格式和比例因子。从表1中可知,SUPPLY_0UT和AUX_ADC数据格式都为12位的二进制数据,各惯性传感器输出的数据格式均为14位2的补码,温度传感器输出数据格式和AUX_ADC数据格式都是12位2的补码,而横摇角和纵摇角数据格式为13位的2的补码。也就是说0x0000是0LSB.0x0001是+1 LSB,2n-1(n=12,13,14)为-1 LSB,LSB为满量程输入范围的最小单位。若为GYRO_0UT时,1 LSB=O.05(°)/s。下式可用来将输出数据转换成浮点形式的姿态数据。

  式中,DATA_OUTi为表1中输出数据,OUTi为转换后浮点形式的姿态数据,Scale为表1中最小单位,n为表1中数据位数。

  例如:GYR0_0UT=0x384A,由于,则角速率Rate=(0x4000-Ox384A)×(-0.05)(°)/s=1206x(-0.05)(°)/s=-60.3(°)/s。因此,根据传感器方向坐标定义,当GYRO 0UT为0x384A时,表示传感器z轴以60.3(°)/s的角速率逆时钟旋转。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

嵌入式开发作为信息技术的关键支柱,在全球数字化转型浪潮中扮演着无可替代的角色。从传统的嵌入式微控制器到如今先进的片上系统(SoC),再到与云计算、人工智能深度融合的智能终端,嵌入式系统的演进与发展始终紧跟时代脉搏。本文将...

关键字: 嵌入式开发 智能应用

嵌入式开发是一种专门针对特定硬件平台设计和实现软件系统的工程实践,它涵盖了从需求分析、系统设计、编程实现、调试测试直到产品部署及维护的全过程。本文将深入探讨嵌入式开发的主要阶段,分解其流程并阐述每个步骤的关键要点,以便于...

关键字: 嵌入式开发 嵌入式软件
关闭
关闭