网站设计与建设ppt,最新军事新闻最新消息视频,seo全站优化全案例,网站建设与运行的盈利收入前言
I2C (Inter-Integrated Circuit)和SPI (Serial Peripheral Interface)是两种常见的串行通信协议#xff0c;用于连接集成电路芯片之间的通信#xff0c;选择I2C或SPI取决于具体的应用需求。如果需要较高的传输速度和简单的接口#xff0c;可以选择SPI。如果需要连接多…前言
I2C (Inter-Integrated Circuit)和SPI (Serial Peripheral Interface)是两种常见的串行通信协议用于连接集成电路芯片之间的通信选择I2C或SPI取决于具体的应用需求。如果需要较高的传输速度和简单的接口可以选择SPI。如果需要连接多个设备或硬件复杂性较低的解决方案可以选择I2C。
一、SPI介绍
SPISerial Peripheral Interface是一种同步串行通信协议用于在微控制器和外围设备之间传输数据。SPI使用四根线进行通信即主设备和从设备之间的主时钟线SCLK、数据输出线MOSI、数据输入线MISO和片选线SS。
SPI协议可以实现高速数据传输和多设备通信并且具有简单的硬件实现和低功耗特点常用于与外围设备如传感器、存储器、显示屏等的通信。 二、硬件电路 MOSI主机输出从机输入主机接入这根线就是MO从机接入这根线就是SI
MISO主机输入从机输出主机接入这根线就是MI从机接入这根线就是SO
SS片选用来指定和哪个从机通信,主机想指定与谁通信就把对应的SS输出线置低电平但同一时间只能指定一个从设备否则会导致数据冲突
三、SPI基本原理--移位示意图
假设上升沿开始移位 时钟的上升沿 时钟的下降沿 由主机提供的时钟控制着主机的移位寄存器一般SPI都是高位先行每来一个时钟主机的移位寄存器就会向左进行移位同时这个时钟也通过SCK引脚进行输出控制从机的移位寄存器进行左移。然后主机移位寄存器左边移除的数据通过MOSI引脚输入到从机移位寄存器的右边从机移位寄存器左边移除的数据通过MISO引脚输入到主机移位寄存器的右边。
四、SPI时序基本单元
1、起始与终止 2、交换一个字节
SPI可以通过配置两个位来选择什么时候开始移位上升沿移位或下降沿移位
CPOLClock Polarity时钟极性CPHAClock Phase时钟相位每一位都可以选择0或1共4种模式。
模式1 因为可能有多个从机设备在MISO线如果多个从机设备始终是推挽输出会导致冲突所以在从机的SS为高电平时MISO引脚必须切换为高阻态就是相当于引脚断开不输出任何电平。
模式0 与模式1的区别就是相位提前在SS下降沿就要移除数据。
模式0与模式2模式1与模式3的区别都只是SCK的极性取反。
五、SPI通信流程 SPI协议的通信方式是通过主设备向从设备发送时钟信号并在时钟信号的上升沿或下降沿传输数据。主设备控制片选线选择要与之通信的从设备。
一般来说SPI协议的通信流程如下
主设备将片选线拉低选中一个从设备。主设备将数据发送到从设备的数据输出线。主设备发送时钟信号从设备根据时钟信号接收数据。从设备将数据发送到主设备的数据输入线。主设备继续发送时钟信号从设备继续传输数据。主设备将片选线拉高结束通信。
SPI协议的数据传输一般是指令码加读写数据
从设备一般都会有一个指令集来规定该指令的功能。