IMU调试方案

简介: 本文是关于IMU(惯性测量单元)QMI8658C型号的调试方案,包括I2C和SPI通信协议的详细介绍、接线方法、工作原理以及优缺点分析,并提供了相关的数据手册和开发资源链接。

1.IMU

型号 QMI8658C
IMU英文数据手册
参照连线与数据手册使用
类似的惯导模块开发https://www.cnblogs.com/rockyching2009/p/15071669.html
微雪 https://www.waveshare.net/wiki/RP2040-LCD-1.28
micro python :https://docs.micropython.org/en/latest/esp32/tutorial/intro.html
https://github.com/scottshambaugh/mpl\_quaternion\_views

1.I2C协议

一般 I²C 芯片常用的传输格式有下列二种:

(启始)-[控制]-[指令]-[资料]-(结束)
(启始)-[控制0]-[指令]-(r启始)-[控制1]-[资料]-(结束)
I²C-Bus
一个由单一主控端(一个微控制器)及三个从属节点(一个模拟数字转换器)、一个数字模拟转换器以及一另一个微控制器)所构成,并使用了上拉电阻Rp。

I²C只使用两条双向漏极开路(Open Drain)线,其中一条线为传输数据的串行资料线(SDA),另一条线是启动或停止传输以及发送时钟序列的串行时脉(SCL)线,这两条线上都有上拉电阻[2]。I²C允许相当大的工作电压范围,但典型的电压准位为+3.3V或+5v。
i2c阻抗50,usb阻抗100在做信号转换时阻抗不匹配会造成信号极差
相关资料:wiki_I2C

I2C协议下IMU接线

使用模式

按照使用模式,若IMU全程仅作为从设备使用,不作为外部磁力计的主设备,外部传感器总线被禁用,此时为Default Mode,即如下模式
Mode 1: Default mode of operation. In this mode, the QMI8658C is a slave device to a host processor that
communicates to it using one of the following interfaces: I2C, I3C, and SPI (3-wire or 4-wire modes). This slave
relationship to the host is the same for all operating modes. In Mode 1, the secondary interface is not enabled

O SDO/SA0 I2C Slave LSB bit of the device Address (SA0) ? 此处可能有200kΩ的内部上拉电阻
IO SDx VDDIO or GND
IO SCx VDDIO or GND
O INT1 Programmable Interrupt 1 for I2C and SPI 可编程中断口1
I VDDIO Power Supply for IO Pins IO引脚供电入口 3.3V
I GND Ground (0 V supply); is internally No Connect.
I GND Ground (0 V supply)
I VDD Power supply 供电入口3.3V
O INT2 Programmable Interrupt 2(INT2)/ Data Enable (DEN) 可编程中断口2 或 数据使能引脚
I CS I2C/ I3C /SPI-UI selection Pin. 片选引脚 chip select
(If 1: I2C-UI Mode: I2 C/I3C communication enabled, SPI idle mode)
(If 0: SPI-UI mode: I 2 C/I3C disabled)
IO SCL SPI-UI Serial Clock (SPC) (2)(3) SPI串行时钟 此处图纸文字有错漏
IO SDA I2C/I3C-UI Data (SDA) I2C数据接口 SPI四线模式的Data In(SDI)SPI三线模式下的Data IO(SDIO)

2.SPI协议

特别注意:In SPI mode (not in I2 C Mode), there is an internal pull down 200 kΩ resistor.
SCl口与SDA口 SPI模式下有内部下拉电阻200kΩ

串行外设接口(Serial Peripheral Interface Bus,SPI)

SPI协议下IMU接线

使用模式

按照使用模式,若IMU全程仅作为从设备使用,不作为外部磁力计的主设备,外部传感器总线被禁用,此时为Default Mode,即如下模式
Mode 1: Default mode of operation. In this mode, the QMI8658C is a slave device to a host processor that
communicates to it using one of the following interfaces: I2C, I3C, and SPI (3-wire or 4-wire modes). This slave
relationship to the host is the same for all operating modes. In Mode 1, the secondary interface is not enabled

O SDO/SA0 SPI-UI Data Out (SDO) in SPI-UI 4-Wire Mode. SPI data out口 ?此处可能有200kΩ的内部上拉电阻
IO SDx VDDIO or GND
IO SCx VDDIO or GND
O INT1 Programmable Interrupt 1 for I2C and SPI 可编程中断口1
I VDDIO Power Supply for IO Pins IO引脚供电入口 3.3V
I GND Ground (0 V supply); is internally No Connect.
I GND Ground (0 V supply)
I VDD Power supply 供电入口3.3V
O INT2 Programmable Interrupt 2(INT2)/ Data Enable (DEN) 可编程中断口2 或 数据使能引脚
I CS I2C/ I3C /SPI-UI selection Pin. 片选引脚 chip select
(If 1: I2C-UI Mode: I2 C/I3C communication enabled, SPI idle mode)
(If 0: SPI-UI mode: I 2 C/I3C disabled)
IO SCL SPI-UI Serial Clock (SPC) (2)(3) SPI串行时钟 SPI模式有内部下拉电阻200kΩ
IO SDA/SDI/SDIO SPI四线模式的Data In(SDI)SPI三线模式下的Data IO(SDIO)SPI模式有内部下拉电阻200kΩ

SPI总线规定了4个保留逻辑信号接口:

SCLK(Serial Clock):串列时脉,由主机发出
MOSI(Master Output, Slave Input):主机输出从机输入信号(数据由主机发出)
MISO(Master Input, Slave Output):主机输入从机输出信号(数据由从机发出)
SS(Slave Select):片选信号,由主机发出,一般是低电位有效

SPI设备之间使用全双工模式通信,是一个主机和一个或多个从机的主从模式。主机负责初始化帧,这个数据传输帧可以用于读与写两种操作,片选线路可以从多个从机选择一个来响应主机的请求。
SPI是一种事实标准,也就是说这种规范没有对应的技术标准。因此各个厂家生产的SPI器件配置不一样,不一定有互操作性。
SPI总线的通信操作可以在单个主设备与一或多个从机之间进行。

在只有单一从机的情况下,如果从机允许,SS线可以固定为逻辑低电平。然而有一些从机需要片选讯号的下降沿来触发动作,例如Maxim MAX1242 ADC在高→低转换时才会开始进行模数转换。对于多个从机,每个从机都需要一个独立的SS讯号。

大多数从属设备具有三态逻辑的特性,所以当器件未被选中时,它们的MISO讯号变为高阻抗(逻辑断开)。没有三态输出的器件不能与其他器件共享SPI总线段,但是可以使用外接的三态逻辑缓存来解决这个问题。
在这里插入图片描述

如图1所示,如果一个从芯片或从设备(slave)的SS管脚处于非激活状态(通常是低电平),那么这个从芯片或从设备就相当于一个聋子,不会对任何外来的输入信号做出反应。而如果其中某一从芯片的SS管脚处于激活状态的话,那它就能听到外来的输入信号,就能做出接收或回应。图1中,MISO是从芯片向主芯片传输数据的信道,MOSI是主芯片向从芯片传输数据的信道,SCLK是时钟信道(主芯片->从芯片)。

优点

SPI协议默认是全双工通信。
与漏极开路输出相反,SPI的推挽输出可提供良好的信号完整性和高速度
比I²C或SMBus更高的传输带宽 。 不限于任何最大时钟频率,可实现高速运行

缺点

也需要比I²C更多的IC线路
不支持动态添加节点(热插拔)。

没有从机检测机制,主机无法检测是否与从机断开。
没有错误检测机制,不像I²C在每个字节后有回复信号
没有规定中断,必须通过带外信号来实现中断,或者通过使用类似于USB 1.1和2.0的定期轮询来模拟中断

相关资料:wiki_SPI

微雪IMU设计:相关链接
https://www.waveshare.net/w/upload/6/60/RP2040-LCD-1.28-sch.pdf

目录
相关文章
|
前端开发 Dubbo Java
医疗管理系统-项目概述和环境搭建
医疗管理系统-项目概述和环境搭建
405 0
|
数据处理 Windows
Inertial Explorer v8.8航测pos解算软件安装教程
Inertial Explorer v8.8航测pos解算软件安装教程
2517 1
|
算法 程序员 编译器
美丽的代码:规范go应用代码注释
【6月更文挑战第30天】本文介绍注释应与代码同步,避免误导,且关键点解释。使用LLVM构建编译器示例展示Go语言规范。注释虽有局限,但在解释复杂逻辑、业务规则时仍有其价值。程序员需平衡注释与代码的关系,创造更优的代码。
1198 0
美丽的代码:规范go应用代码注释
|
7月前
|
机器学习/深度学习 人工智能 算法
ToddlerBot:告别百万经费!6000刀就能造人形机器人,斯坦福开源全套方案普及机器人研究
ToddlerBot 是斯坦福大学推出的低成本开源人形机器人平台,支持强化学习、模仿学习和零样本模拟到现实转移,适用于运动操作研究和多场景应用。
604 3
ToddlerBot:告别百万经费!6000刀就能造人形机器人,斯坦福开源全套方案普及机器人研究
ly~
|
11月前
|
监控 安全 生物认证
针对身份验证错误和漏洞,有哪些应急响应措施 发消息、输入 @ 或 / 选择技能
针对身份验证错误和漏洞,应立即停止相关服务,锁定受攻击账户,排查问题,修复漏洞,加强密码安全,完善身份验证流程,强化会话管理,建立安全监控和预警机制,通知用户并进行沟通,最后进行事后评估和总结。
ly~
342 2
|
11月前
|
监控 测试技术 数据安全/隐私保护
新产品测试流程如何?
新产品测试流程如何?【10月更文挑战第10天】
482 0
|
存储 监控 安全
服务器安全:构建数字时代的坚固堡垒
在数字化时代,服务器安全至关重要,它直接影响企业业务连续性和客户数据保护。服务器遭受攻击或数据泄露将给企业带来巨大损失。服务器面临网络攻击、恶意软件、内部与物理威胁。关键防护措施包括严格访问控制、数据加密与备份、安全审计与监控、部署防火墙和入侵检测系统、及时安全更新及物理安全防护。最佳实践涵盖制定全面安全策略、采用先进技术、员工培训、定期安全评估与测试及建立应急响应团队。通过这些措施,企业能构建坚实的服务器安全防护体系。
821 55
|
机器人 Linux 数据安全/隐私保护
一键部署 botpress windows和linux 傻瓜式安装智能对话机器人 chatbot
一键部署 botpress windows和linux 傻瓜式安装智能对话机器人 chatbot
367 0
一键部署 botpress windows和linux 傻瓜式安装智能对话机器人 chatbot
语音识别(ASR)基础介绍第三篇——经典做法及术语概念
上一章介绍了万金油特征MFCC,相当于数据的输入已经确定了。 本章尽可能的介绍经典asr做法。其中涉及到的各种概念和思考,了解了之后,和相关专业的人交流,大概就不再迷茫了:D 传统方法也可以按 声学模型 和 语言学模型 的方式来划分。 声学模型主要的职责是,把一段音频处理成类似拼音的形式, 然后交给语言模型来猜: 能够发这些音的单词,怎么组合起来更常见一些。然后找到最可能的组合,便是asr的结
7161 0
|
搜索推荐 前端开发 JavaScript
深入理解后端开发中的服务端渲染(SSR)技术
在现代Web开发领域,服务端渲染(Server-Side Rendering, SSR)技术因其独特的性能优化和SEO优势而受到重视。本文将探讨SSR的工作原理、实现方法及其与客户端渲染(CSR)的比较,同时分析SSR在现代Web应用中面临的挑战和解决方案。通过实例分析,我们将深入了解SSR如何提升用户体验和提高搜索引擎排名,以及开发者如何在项目中有效实施SSR。