spi 知识
SPI(Serial Periphral Interface)最早是由摩托罗拉公司设计并实现,它是一种高速的、全双工的通信总线,采用主机(Master)-从机(Slave)的方式进行通信。SPI占用芯片的四个引脚,也就是说采用四条信号线来进行通信。这四条线分别是:主设备输入与从设备输出线(Master In Slave Out,MISO);主设备输出与从设备输入线(Master Out Slave In,MOSI);串行同步时钟信号线(Serial Clock,SCK);外围设备片选信号线(Slave Selection,SS)。
SPI总线的主机和从机都有一个移位寄存器,当主机向自己的移位寄存器写入数据时,数据会通过MOSI信号线进入到从机的移位寄存器;同时,从机移位寄存器里的数据,通过MISO信号线进入到主机的移位寄存器。这样,主机和从机就完成了一次数据交换。下面这张图,是SPI通信的简明原理图:
SPI数据的传输是在串行同步时钟信号(Serial Clock,SCK)的控制下进行的,主机的时钟发生器一方面控制主机的移位寄存器,另一方面通过从机的SCK信号线来控制从机的移位寄存器,从而保证主机与从机的数据交换是同步进行的
SPI串行同步时钟可以设置为不同的极性(Clock Polarity ,CPOL)与相位(Clock Phase ,CPHA)。
时钟的极性(CPOL)用来决定在总线空闲时,同步时钟(SCK)信号线上的电位是高电平还是低电平。当时钟极性为0时(CPOL=0),SCK信号线在空闲时为低电平;当时钟极性为1时(CPOL=1),SCK信号线在空闲时为高电平;
时钟的相位(CPHA)用来决定何时进行信号采样。
当时钟相位为1时(CPHA=1),在SCK信号线的第二个跳变沿进行采样;这里的跳变沿究竟是上升沿还是下降沿?取决于时钟的极性。当时钟极性为0时,取下降沿;当时钟极性为1时,取上升沿;如下图:
【转】(101条消息) 怎样理解SPI总线时钟的极性(CPOL)与相位(CPHA)?_野猪力量的博客-CSDN博客_时钟极性
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2020-09-06 mylocale
2020-09-06 物证比对
2019-09-06 判断Xen虚拟机随想
2019-09-06 安全工具箱
2019-09-06 安全sysmon