ARM 裸机开发 DAY10 学习笔记

一、通信速率

1.I2C:100K、400K、1.xM、3.4MHZ

2.SPI:1MHZ ~ 几百 MHZ,OLED 设备常使用 SPI 通信

二、SPI 硬件引脚定义

1.SCLK:时钟线

2.MOSI:主发从收,主机输出、从机输入

3.MISO:主收从发,主机输入、从机输出

4.CS/SS:片选线,选中要通信的从机设备

三、SPI 时序两个核心参数

1.CPOL(时钟极性):定义 SCLK 空闲状态电平

①CPOL = 0:空闲时 SCLK 为低电平

②CPOL = 1:空闲时 SCLK 为高电平

2.CPHA(时钟相位):定义接收方在哪一边沿采样数据

①CPHA = 0:接收方在 SCLK 第一个边沿采样

②CPHA = 1:接收方在 SCLK 第二个边沿采样

四、SPI 的四种工作模式

1.模式 1:CPOL = 1,CPHA = 0:空闲 SCLK 高电平,下降沿采样

2.模式 2:CPOL = 1,CPHA = 1:空闲 SCLK 高电平,上升沿采样

3.模式 3:CPOL = 0,CPHA = 0:空闲 SCLK 低电平,上升沿采样

4.模式 4:CPOL = 0,CPHA = 1:空闲 SCLK 低电平,下降沿采样

五、协议对比

六、SPI 核心特性

1.全双工同步串行,写即是读,读即是写,收发同步进行

2.架构为一主多从,依靠 CS 片选选择目标从机

3.数据传输规则:高位先行

七、imx6ull SPI 内部模块

1.TXFIFO:发送 FIFO 缓冲区

2.shift register:移位寄存器

3.RXFIFO:接收 FIFO 缓冲区

4.Dummy:占位符虚拟字节,常用 0xFF、0x00

八、SPI 读写操作流程

1.SPI 写:主机发送寄存器地址 → 主机发送待写入数据

2.SPI 读:主机发送寄存器地址 → 主机发送 Dummy 占位字节 → 从机回复返回数据

九、ADXL345 加速度传感器参数

1.分辨率:13 位,数值范围 0 ~ 2¹³‑1

2.量程:±16g,1g = 9.8m/s²

3.单位换算:32g / (2¹³‑1) = 0.0039g,采样数值每加 1 代表 0.0039g

4.加速度计算

x 轴 = x 采样值 * 0.0039

y 轴 = y 采样值 * 0.0039

z 轴 = z 采样值 * 0.0039

十、硬件框架要点

mx6ull 作为 SPI 主机,可挂载多个 SPI 从设备,每个从机使用独立 CS 片选

SCLK 时钟可分频,例:60MHZ 分频输出 1MHZ SPI 时钟

相关推荐
我命由我123451 小时前
动火作业极简理解
学习·职场和发展·产品运营·求职招聘·职场发展·产品经理·学习方法
He BianGu1 小时前
【笔记】WPF中CachingHint的功能
笔记·wpf
andrsted2 小时前
练题簿助学教学:在线刷题、随堂考试,让一门课拥有自己的题库
学习·微信小程序·小程序·学习方法·刷题
问心无愧05132 小时前
[ACTF2020 新生赛]Exec
运维·服务器·笔记
apple_692658852 小时前
GitHub fqapp 番茄开源魔改版:小短剧+漫剧+听书聚合工具 安装指南使用
学习·开源
番茄灭世神2 小时前
PN学堂GD32教程第14篇——Arm单片机启动流程
arm开发·单片机·嵌入式硬件
云半S一2 小时前
Agent 学习总结一
经验分享·笔记·学习·agent
跨知易知识产权3 小时前
美国发明专利和外观专利的保护期限分别是多久,外观专利是否需要缴纳维持费?
笔记
八月的雨季 最後的冰吻3 小时前
C++ 面试要点笔记(续)
c++·笔记·面试