LSM6DS3,SO, SPI

2023-11-12

一、

LSM6DS3是ST的一款6轴力学传感器,3轴加速度+3轴陀螺仪

特别注意,后缀不一样,功能有很大不一样,有的有OIS功能,有的没有

LSB的意思是最小有效位,为数字输出方式,一般我们可以用mdps/LSB来表示灵敏度。8.75 mdps/LSB,表示一个bit为8.75mdps。

dps :Degree Per Second的缩写。 °/S的意思。就是一种角速度的单位

在CS(pin12)引脚为高时启用I2C接口
在CS引脚为低时启用SPI接口
上电CS默认为高电平

(LSM6DS3_WHO_AM_I==0x0F),ID寄存器

LSM6DS3 ------- id=0x69, 把CS接地是不行的,需要读写前才拉低。
LSM6DS3TR-C ------- id=0x6A, 主SPI原厂FAE说有BUG,读取id不稳定,读的时候MOSI必须是0x00
LSM6DSO ------- id=-0x6C----使用主SPI时,SDX,SCX需要下拉,不然读ID不正确,没发现其它问题。
在这里插入图片描述

使用辅助SPI2时:
1、3线SPI,读的时候,MOSI也需要是0x00, 而且发现需要连续读才行,中间加入延时或其它就不行。
2、4线SPI,读的时候,MOSI也需要是0x00。不用连续读也可以。

在这里插入图片描述

SPI, 时钟下降沿时,MOSI,MISO上的数据更新,上升沿时被芯片采样。第一个下降沿和最后一个上升沿也算,不像I2C有停止位。 空闲时,时钟是高电平
在这里插入图片描述
第1BIT是区分读写标志

二、

如果使用I2C,从机地址可设置2个,根据1脚电平可设置为0xD4 /0xD6
在这里插入图片描述

把IF_INC设置成1,地址会自动加1(默认就是1),可以连续读取多个字节
在这里插入图片描述


三、

1、使用专用连接模式,可以实现传感器集合功能,IC的PIN2,3作为I2C主机连接其它传感器

在这里插入图片描述
FUNC_CFG_EN置1时,可访问地址为2-32H 寄存器,对这些寄存器的修改必须在GRYO和ACC处理掉电模式时进行。

2、加速度和陀螺仪是同步的,两个的数据率彼此为整数倍。陀螺仪的数据准备好信号DRDY_G始终跟随在加速度计数据准备好信号DRDY_XL后面,所以可以简单利用DRDY_G判断两个数据都准备好了。

1

3、可以利用 CTRL1_XL 寄存器的输出数据率 ( ODR_XL)位和CTRL6_C 寄存器的高性能禁止 ( XL_HM_MODE)位,来选择功耗模式和加速度计传感器的输出数据率

在这里插入图片描述
如果 CTRL4_C 寄存器中的 XL_BW_SCAL_ODR 位被置为 1,则此模拟滤波器的带宽可通
过设置 CTRL1_XL 寄存器的 BW_XL 位来确定,如果为0,则由速率决定。
在这里插入图片描述

4、陀螺仪设置

在这里插入图片描述
在这里插入图片描述
高通滤波器是为了滤去 DC分量

5、低功耗模式只有3种速率 12.5 Hz、 26 Hz 和 52 Hz

当只有加速度计且为低功耗模式时(陀螺仪处于掉电),CTRL10_C 寄存器的 FUNC_EN 位必须设置为 1。

6、睡眠模式

在这里插入图片描述

7、改变速率或模式时需要复位链路

8、加速度计的高通和低通数字滤波器的使能信号为 TAP_CFG 寄存器 SLOPE_FDS 位和 CTRL10_C寄存器 FUNC_EN 位的逻辑 “ 或 ”

CTRL8_XL 的位 LPF2_XL_EN、 HP_SLOPE_XL_EN 和 HPCF_XL [1:0] 用来选择应用于加
速度计输出数据和 FIFO 数据上的滤波器

9、陀螺仪滤波器

10、读取加速度数据

通过CTRL1_XL 选择一种工作模式,并通过CTRL9_XL使能至少一个轴。
在这里插入图片描述
在这里插入图片描述


通过设置INT1_CTRL的最后2位,当数据OK时,INT1引脚输出信号。也可以通过查询STATUS_REG看数据是否准备好。
在这里插入图片描述

11、读取陀螺仪数据

在这里插入图片描述
在这里插入图片描述

12、可以高低字节交换以兼容大小端模式

在这里插入图片描述

13、方向

orientation = Lsm6d3s_ReadByte(D6D_SRC);
printf(“orientation=%x\r\n”,orientation);
根据测试,发现不同的6个面会在D6D_SRC寄存器读取到不同的6个值。这样,就可以用来判断方向了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LSM6DS3,SO, SPI 的相关文章

  • vue实现文件批量上传及进度条展示

    主要实现功能 1 多文件拖拽上传 2 显示文件上传进度条 3 上传期间 还可以继续拖拽上传 4 可以支持手动修改上传并发任务数 5 上传失败自动重试 最大重试次数3次 6 上传过程中可以手动取消上传 本次使用的是element ui 上传拖
  • CUDA实现多batch基数排序

    CUDA实现多batch基数排序 基数排序是具有固定迭代次数的排序算法 其通过对最低位到最高位的一一比较 对数值排序 GPU版的基数排序将数据分为N个部分并行进行基数排序 随后并行规约得到排序后的数组 这里实现了一版多batch的基数排序实
  • 对stdin,stdout 和STDOUT_FILENO,STDIN_FILENO的学习

    在unix系统调用中 标准输入描述字用stdin 标准输出用stdout 标准出错用stderr表示 但在一些调用函数 引用了STDIN FILENO表示标准输入才 同样 标准出入用STDOUT FILENO 标准出错用STDERR FIL
  • C# 异步编程的三种方式

    一 通过委托实现异步 namespace Test1 class AsyncDemo public void async string i 参数 Console WriteLine 调用异步方法前 PostAsync i Console W
  • Java api中文在线版

    转载自 http blog csdn net qw599186875 article details 52265995ticket ST 213719 sl0mP1mtz9GcbY44tTbE passport csdn net java
  • 在Linux虚拟机上安装QT

    一 安装虚拟机 运行VMware workstation full 11 1 0 2496824 exe 二 在虚拟机上安装Linux 1 下载Ubuntu桌面版 从官网进入 选择 桌面版 按照提示进行下载 国内的一个镜像网址是 http
  • NC65 查询模板参照字段启用参照是否包含下级

    NC65 查询模板参照字段 勾选参照是否包含下级时 选择完参照字段返回的查询条件 参照字段的值是一个sql语句 无法查询到正确数据 当查询模板字段勾选了是否查询条件时 通过getQryDLGDelegator getGeneralCondt
  • 华为有没有公开鸿蒙系统,华为捐赠鸿蒙最核心基础架构该如何看待?

    原标题 华为捐赠鸿蒙最核心基础架构该如何看待 6月2日 华为 鸿蒙操作系统 正式发布 这是一款面向全场景的分布式操作系统 和苹果安卓等手机电脑系统不同 鸿蒙系统可用于物联网各种设备 从目前市场上的操作系统市场比例上看 安卓占据了全球68 6
  • 拉链表设计详解

    拉链表设计原理 将拉链表和每日增量数据做左连接 每日增量没有匹配的数据和拉链表endtime lt 99991231的数据保持不变 其他的endtime变为每日增量的starttime 1 如果数据发生修改 拉链表和增量数据左连接 将拉链表
  • Flask之methods、url_for进行反解析、request的使用、上传文件、abort函数与自定义异常处理、元组、使用jsonify返回json数据、设置和读取cookie

    Flask利用methods限制访问方式 在flask中 可以使用在路由装饰器中使用methods 访问方式 同一视图中可以同时存在多种访问方式 通过methods限定访问方式 app route post only methods POS
  • docker-py(Docker SDK for Python)使用指南

    文章目录 前言 1 docker客户端 2 docker镜像 3 docker容器 4 使用示例 结束语 前言 本篇博客围绕官方提供的python版的docker Engine API Docker SDK for Python 结合具体示
  • 敏感数据明文传输(密码)

    1 加密过程 加密分为单向和双向 拿登录功能来说 密码的加密发送 双向加密就是可逆的 这边加密 那边解密后跟数据库里的密码比对 单向是不可逆的 这边加密 那边无法解密 比对的方式是从数据库里拿出该用户的密码 进行同样的加密 比对加密后的值是
  • Python 下opencv 应用: 物体数数

    物体数数 物体个数计算 就是计算一个图形中有多少物体 python 下用opencv 打开一个图形文件 图形处理 计算图中物体的个数 除了opencv 要安装好外 还要装好 imutils imutils 的下载和安装在 Python 下应
  • 【深入理解C++】给表达式赋值

    在 C 语言中表达式是不可以被赋值的 但是在 C 中可以 include
  • linux设备驱动之USB主机控制器驱动分析

    inux设备驱动之USB主机控制器驱动分析 本文系本站原创 欢迎转载 转载请注明出处 http ericxiao cublog cn 一 前言 Usb是一个很复杂的系统 在usb2 0规范中 将其定义成了一个分层模型 linux中的代码也是
  • npm安装指定版本的npm、typescript、yarn、lerna并查看版本号+nvm安装切换不同版本node

    nvm安装后 nvm ls列出所有node已安装版本 nvm install 版本号 安装node指定版本 nvm use 版本号 使用 切换 node版本 要使用nvm才能安装npm 先全局卸载 npm uninstall g types
  • 数据库判断

    正确 索引可以加快数据的查找速度 但是会给数据更新带来额外性能消耗 数据库管理系统软件都是基于某种数据模型而设计的 逻辑模型和物理模型都是按照计算机系统的观点对数据建模的 所有教师抽象为一类实体 使用 教师 工号 姓名 性别 表达起来的概念
  • 全连接层

    1 将前一层输出的二维特征图综合起来转化为一维向量 它的每一个节点都与上一层的每个节点连接 2 全连接层的主要作用是将输入图像在经过卷积和池化操作后提取的特征进行压缩 并且根据压缩的特征完成模型的分类功能 在整个卷积神经网络中起到 分类器
  • __attribute__((weak))的使用

    一 背景 我们不确定外部模块是否提供一个函数func 但是我们不得不用这个函数 举个例子 A B两个模块 A模块调用了B模块的函数 但是不确定B模块是否提供了该函数 但是又不得不调用 这个时候在A模块中再申明一个弱符号函数 即用weak 如

随机推荐

  • 浮点精度 加减乘除 原生方法

    关于JavaScript 二进制精度问题 浮点数的计算精度会存在缺失问题 专门去百度了一下解决方案 发现有的不是很全 再不就是在项目里面使用会报错 不支持with用法 等等问题 所以针对这四个方法 自己 写了一下 一般我们是放在utils或
  • Linux 分区扩容

    虚拟机磁盘空间250G 克隆后系统分区空间只有200G 通过resize2fs扩容分区 suer pro 22 244 sudo fdisk l 磁盘 dev sda 268 4 GB 268435456000 字节 524288000 个
  • 【C++】C语言基础部分知识点总结 (指针,函数,内存,关键字,预处理等)(秋招篇)

    文章目录 前言 讲一下32位系统常用数据类型的字节大小 stm32f103为例 讲一些C C 中常见的库 什么是易变变量 代码的转化和构建通常会经历哪几个步骤 预处理 编译 汇编 链接 介绍一下C C 常用的关键字 介绍一些const的使用
  • python 基础绘图(关于随时间序列变动的图的画法)

    画这种图要考虑两点 1 如何生成连续的时间轴 2 如何在图中适当的显示轴标签的样式和数量 import matplotlib pyplot as plt import matplotlib as mpl import numpy as np
  • Collection排序

    使用Collection的sort方法可以对List对象进行排序 其中Record为自己定义的类 包含value index count三个成员变量 ArrayList
  • 记录获取蓝鲸智云token的过程

    一 使用python脚本获取蓝鲸智云token python版本环境 3 11 coding utf 8 import requests def get user token domain user password 模拟用户登录 并返回
  • 判断IP是否能够ping成功

    public bool IsCondtion object condtion CondtionPing vData condtion as CondtionPing int m pingNum 3 if vData null return
  • 操作系统 --- 多线程 Multithreading

    操作系统 多线程 Multi Threading 什么是线程和多线程 进程的缺点 线程 Thread 线程的优点 线程和进程的区别 关于线程的资源 线程独有的资源 线程共享的资源 同步线程和异步线程 Asynchronous thread
  • 物联网采集数据存储到MySQL_物联网中的数据分类、存储与应用

    本文主要介绍物联网的数据从传感器采集 存储到分析处理的过程 数据分类 物联网数据可以分为静态数据和动态数据 静态数据 被测设备地址类 地点 GIS信息 设备名称编号 资产属性相关 设备相关的标签类 设备的规格 静态数据多以结构性 关系型数据
  • 【计算机视觉

    文章目录 一 Mask R CNN 二 Hybrid Task Cascade 三 Cascade Mask R CNN 四 Contour Proposal Network 五 GCNet 六 PANet 七 K Net 八 Center
  • Ubuntu安装“启动引导器”的设备选哪一项,选默认还是选/boot分区?

    如果你要用Ubuntu的引导器代替Windows的引导器 就选 dev sda 如果你要保留Windows的引导器 就选 boot分区 但这样一来 装完Ubuntu重启后 只能启动Windows 还必须在Windows上面安装Easybcd
  • 多元函数的泰勒展开公式

    泰勒定理 泰勒展开是一个很有趣的方法 应该大部分人都看过下面这么一条定理 泰勒定理 若函数f x 在闭区间 a b 上存在直至n阶的连续导函数 在开区间 a b 内存在 n 1 阶导函数 则对任意给定的 x x0 a b x x 0 a
  • CentOS 7系统安装配置图解教程

    操作系统 CentOS 7 3 备注 CentOS 7 x系列只有64位系统 没有32位 生产服务器建议安装CentOS 7 x86 64 Minimal 1611 iso版本 一 安装CentOS 7 3 成功引导系统后 会出现下面的界面
  • Zookeeper安装(服务注册与发现)

    第一步 先准备安装包 这里我推荐在Apache官网下载 Zookeeper下载地址 https archive apache org dist zookeeper zookeeper 3 6 1 https archive apache o
  • c++以空格分开的输入数组_C++处理输入字符串并转为数组的操作

    最近在做题的时候在处理输入时遇到一个令人头疼的问题 今天解决了和大家分享一下 比如题目要求的输入为一行数 数与数之间用空格间隔开 数的个数未知 数也有正有负 11 2 65 7 那么如何把这个输入保存到数组a中 且数组a中的值为a 0 11
  • 4G DTU

    4G DTU是一种可以将RS232 485采集的数据通过3G 4G发送到云端服务器进行数据交互的传输设备 实现串口设备的无线长距离数据传输 进而实现远程数据通信管理 主要应用在远程数据采集和远程控制项目 卓岚的4G DTU分为2种类型 1
  • vue中tree-transfer树形穿梭框的使用

    首先安装插件 npm install el tree transfer save 或者 npm i el tree transfer S 安装 效果图 代码
  • vue点击导航菜单,展示选中样式,菜单路由存在嵌套路由时也可以判断为当前路由

    采用计算属性监听跳转页面后url拼接的路由路径来判断是否在当前页面 包括解决嵌套路由带来的判断干扰 效果图 定义路由 router js import Vue from vue import VueRouter from vue route
  • 睿智的智能优化算法2——遗传算法的python实现

    睿智的智能优化算法2 遗传算法的python实现 什么是遗传算法 求解过程 整体代码分解 1 编码解码部分 2 求取适应度部分 3 自然选择部分 4 组合交叉 5 基因突变 实现代码 GITHUB下载连接 睿智的智能优化算法小课堂再次开课啦
  • LSM6DS3,SO, SPI

    一 LSM6DS3是ST的一款6轴力学传感器 3轴加速度 3轴陀螺仪 特别注意 后缀不一样 功能有很大不一样 有的有OIS功能 有的没有 LSB的意思是最小有效位 为数字输出方式 一般我们可以用mdps LSB来表示灵敏度 8 75 mdp