一文介绍SPI串行总线

spi协议是由摩托罗拉公司提出的通讯协议(serialperipheralinterface),即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在adc、lcd等设备与mcu间,要求通讯速率较高的场合。
spi物理层:
spi通讯使用3条总线及片选线,3条总线分别为sck、mosi、miso,片选线为ss,它们的作用介绍如下:
(1)ss(slaveselect):从设备选择信号线,常称为片选信号线,也称为nss、cs,以下用nss表示。当有多个spi从设备与spi主机相连时,设备的其它信号线sck、mosi及miso同时并联到相同的spi总线上,即无论有多少个从设备,都共同只使用这3条总线;而每个从设备都有独立的这一条nss信号线,本信号线独占主机的一个引脚,即有多少个从设备,就有多少条片选信号线。i2c协议中通过设备地址来寻址、选中总线上的某个设备并与其进行通讯;而spi协议中没有设备地址,它使用nss信号线来寻址,当主机要选择从设备时,把该从设备的nss信号线设置为低电平,该从设备即被选中,即片选有效,接着主机开始与被选中的从设备进行spi通讯。所以spi通讯以nss线置低电平为开始信号,以nss线被拉高作为结束信号。
(2)sck(serialclock):时钟信号线,用于通讯数据同步。它由通讯主机产生,决定了通讯的速率,不同的设备支持的最高时钟频率不一样,如stm32的spi时钟频率最大为fpclk/2,两个设备之间通讯时,通讯速率受限于低速设备。
(3)mosi(masteroutput,slaveinput):主设备输出/从设备输入引脚。主机的数据从这条信号线输出,从机由这条信号线读入主机发送的数据,即这条线上数据的方向为主机到从机。
(4)miso(masterinput,,slaveoutput):主设备输入/从设备输出引脚。主机从这条信号线读入数据,从机的数据由这条信号线输出到主机,即在这条线上数据的方向为从机到主机。
协议层:
spi协议定义了通讯的起始和停止信号、数据有效性、时钟同步等环节。
这是一个主机的通讯时序。nss、sck、mosi信号都由主机控制产生,而miso的信号由从机产生,主机通过该信号线读取从机的数据。mosi与miso的信号只在nss为低电平的时候才有效,在sck的每个时钟周期mosi和miso传输一位数据。
stm32的spi外设可用作通讯的主机及从机,支持最高的sck时钟频率为fpclk/2(stm32f407型号的芯片默认fpclk1为84mhz,fpclk2为42mhz),完全支持spi协议的4种模式,数据帧长度可设置为8位或16位,可设置数据msb先行或lsb先行。它还支持双线全双工、双线单向以及单线模式。其中双线单向模式可以同时使用mosi及miso数据线向一个方向传输数据,可以加快一倍的传输速度。而单线模式则可以减少硬件接线,当然这样速率会受到影响。

差示扫描量热仪丨环氧锌粉漆中锌含量的测定
网西环光缆线路发生阻断的原因
什么是摩擦纳米发电机(TENG)?
赵明:荣耀V20需求超过预期 我们加快生产
STM32单片机的FSMC对TFT的驱动
一文介绍SPI串行总线
看海泰方圆类ChatGPT技术模型!
2020年彩电市场 迎来三大发展机遇也有不少的难题
RX产品家族介绍手册 [2] RX产品家族解决方案(下)
不仅着眼于现在:海思麒麟950逆天背后需理性
康佳集团宣布进军时下大热的半导体和环保产业
研华为同济大学主导的校园碳排放核算平台提供技术支持
锂离子电池自放电知识总结
利用激光而实现超快数据读写
看国产机器人如何扛好“中国制造”大旗
小米MIX:跨时代的产品,最保值的安卓“机皇”
小米11加快了节奏,将于今年月底之前发布
物联网32个相关术语集及英文缩写
xisem西圣Ares五大硬核科技加持,正面硬刚千元旗舰机!
随着区块链技术的发展,它已经覆盖到了多个领域