导图社区 SPI
这是一篇关于SPI的思维导图,包括框架,总线工作原理,数据结构,三方面的内容要点梳理。小伙伴们赶快学习起来吧~
这是一篇关于程序和库信息的思维导图,主要内容包括:(查看基础信息),获取ELF节的长度信息,显示可执行文件或库需要静态加载的动态库完整列表--显示加载时的依赖项,列出二进制文件的节信息,查看动态节,列出并查看段,查看重定位节,反汇编,列出库中未定义的符号,列出动态符号,列出二进制文件或库的符号表,查看节中的数据,符号的类型。
这是一篇关于设备驱动的思维导图,主要内容包括:主要功能,设备驱动模型。阐述了设备驱动的主要功能、信号定义、设备驱动模型等内容。
这是一篇关于算法的思维导图,主要内容包括:云计算,内存管理算法,分布式同步算法,避免死锁算法,进程调度算法,磁盘调度算法。
社区模板帮助中心,点此进入>>
论语孔子简单思维导图
《傅雷家书》思维导图
《童年》读书笔记
《茶馆》思维导图
《朝花夕拾》篇目思维导图
《昆虫记》思维导图
《安徒生童话》思维导图
《鲁滨逊漂流记》读书笔记
《这样读书就够了》读书笔记
妈妈必读:一张0-1岁孩子认知发展的精确时间表
SPI
基本流程
用户请求 =>protocol driver分析请求 生成SPI通信帧 =>Controller driver将通信帧发送到SPI总线上 =>SPI设备传回数据 =>Controller driver从SPI总线上读回 =>Protocol解析通信数据并上报
数据结构
总线工作原理
SPI接口是在CPU和外围低速器件之间进行同步串行数据传输 其时钟由Master控制 在主器件的移位脉冲下 数据按位传输 高位在前 低位在后 SPI接口有2根单向数据线 为全双工通信
接口信号线
MISO
主器件数据输入 从器件数据输出
MOSI
主器件数据输出 从器件数据输入
SCLK
时钟信号 由主器件产生 用来同步主从设备的数据传输 Slave设备按SCLK的步调接收或发送数据
SS
从器件使能信号 由主器件控制 用于选择激活某Slave设备 低有效 只有当SS信号线为低电平时 对应Slave设备的SPI接口才处于工作状态
传输时序
时钟极性选择CPOL
在设备被使能激活后还未进行数据传输时 或2个字节数据传输间歇期间 SCLK处于空闲Idle电平 通过CPOL空闲状态极性控制位 可以选择此空闲电平是0还是1 CPOL=0=> 串行同步时钟的空闲状态为低电平{ 第一阶段(前沿)的时候会处于上升沿 第二阶段(后沿)是下降沿 } CPOL=1=> 串行同步时钟的空闲状态为高电平{ 第一阶段(前沿)的时候会处于下降沿 第二阶段(后沿)是上升沿 }
时钟相位选择CPHA
配置用于选择2种不同的传输协议 进行数据传输 该控制位用来选择数据接收端设备的采样时刻 CPHA=0 数据接收端在串行同步时钟第一个跳变沿(前沿)数据被采样 CPHA=0 数据接收端在串行同步时钟第二个跳变沿(前沿)数据被采样
CPHA=0
CPHA=1
框架
SPI核心层
提供 SPI 控制器驱动和设备驱动的注册方法、注销方法、 SPI 通信硬件无关接口函数
SPI 主机驱动
主要包含 SPI 硬件体系结构中适配器 (spi 控制器) 的控制,用于产生 SPI 读写时序
SPI 设备驱动
通过 SPI 主机驱动与 CPU 交换数据