当前位置: 首页 > news >正文

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-24.5,6 SPI驱动实验-ICM20608 ADC采样值

前言:

本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。

引用:

正点原子IMX6U仓库 (GuangzhouXingyi) - Gitee.com

《【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.5.2.pdf》

正点原子资料下载中心 — 正点原子资料下载中心 1.0.0 文档

SPI学习参考资料:

简述SPI通信协议-01_cpha选择为第一个边沿-CSDN博客

SPI中的CPHA,CPOL详解-CSDN博客

一文搞懂SPI通信协议_spi协议-CSDN博客

摩托罗拉 《SPI Block Guide V03.06》 手册

链接:https://pan.baidu.com/s/1_mvR5AD0-OBI2bYyx2i4Sw?pwd=f4bo 
提取码:f4bo

正文:

本文是 “正点原子[第二期]Linux之ARM(MX6U)裸机篇--第24讲 SPI驱动。本节将参考正点原子的视频教程第24讲和配套的正点原子开发指南文档进行学习。

0. 概述

通I2C一样,SPI是很常用的通信接口,也可以通过SPI来连接众多的传感器。相比I2C接口,SPI接口的通信速度很快,I2C最多400KHz,但是SPI可以到达即使MHz。I.MX6U 也有4个SPI接口,可以通过这4个SPI接口来连接一些SPI外设。I.MX6U-ALHPA使用SPI3接口连接了一个6周传感器 ICM-20608,本章我们就来学习如何使用I.MX6U的SPI接口来驱动ICM-20608,读取ICM-20608的六轴数据。

1. ICM20608 6轴传感器量程

icm20608 6轴传感器,支持陀螺仪x,y,z三轴的角速度测量和加速度计x,y,z三轴的加速度计测量。icm20608 陀螺仪的量程范围可选配置为±250,±500,±1000和±2000 °/s,角速度计的量程范围可选配置为±2g,±4g,±8g和±16g。icm20608 x,y,z 轴的输出是一个 16位的 ADC 采样值,16位值的表示范围为 0 ~ 65535,那么采样值和量程范围的关系是什么哪?

参考链接:

IMX6ULL裸机篇之SPI实验-ICM20608传感器_icm20608数据手册-CSDN博客

  • 陀螺仪量程

如果陀螺仪所设置的分辨率范围为 ±250,即 -250~+250,也就是 500°/s
ADC数据的位数为 16位,即 0~65535,也就是 65536。那么一度对应多大的数据呢?
65536/500 = 131.07

举例说明:

如果所设置的分辨率范围为 ±250,读取到的  ADC值是 1000,那么陀螺仪的角速度是多少?

当前陀螺仪的角速度为:

1000 / 131  = 7.6°/s

  • 加速度计量程

加速度计计算公式与陀螺仪相似。

 举例说明:
如果加速度计设置的分辨率范围为 ±2,即 -2~+2,也就是 4
ADC值的位数为 16位,即 0~65535,也就是 65536。一度则对应多大的 ADC值呢?
65536/4 = 16384

如果此时读取到的 ADC值为 16384,则这时的加速度计的加速度是多少?
16384 / 16384  = 1g

2. ICM20608传感器ADC采样值计算

http://www.lryc.cn/news/361749.html

相关文章:

  • 安装vllm的时候卡主:Collecting vllm-nccl-cu12<2.19,>=2.18 (from vllm)
  • O2O : Finetuning Offline World Models in the Real World
  • 嵌入式学习(Day:31 网络编程2:TCP)
  • 正则表达式 0.1v
  • 免费的仓库出入库管理软件有哪些?
  • python 办公自动化-生成ppt文本和图
  • 「动态规划」买卖股票的最佳时机
  • Java 并发编程面试二
  • 成功解决“ModuleNotFoundError: No Module Named ‘utils’”错误的全面指南
  • Nvidia Jetson/Orin +FPGA+AI大算力边缘计算盒子:公路智能巡检解决方案
  • 【Maxcompute】geohash转经纬度,经纬度转geohash,计算geohash九宫格
  • 【R语言基础】如何更新R版本
  • Python知识点10---函数
  • 有哪些挣钱软件一天能赚几十元?盘点十个能长期做下去的挣钱软件
  • CentOS7安装MySQL教程
  • 师彼长技以助己(3)逻辑思维
  • LeetCode:反转链表I
  • oracle linux7安装oracle11g0204
  • STM32--ADC
  • 【TB作品】msp430f149单片机,读取ds18b20温度,显示到数码管,串口发送温度到电脑
  • vue组合式和选项式
  • 使用OpenCV创建全景图像
  • Nios II 实现流水灯实验
  • Spring boot 随笔 1 DatasourceInitializer
  • vue3_组件间通信方式
  • mysql的锁(全局锁)
  • Spring Boot 整合开源 Tess4J库 实现OCR图片文字识别
  • 使用 Docker 和 Docker Compose 部署 Vue
  • 力扣linkedlist
  • springboot 启动原理、启动过程、启动机制的介绍