SPI协议

1.简介

SPI(Serial Peripheral Interface)协议是一种全双工同步通信协议,支持总线挂载多设备(一主多从),SPI有四根信号线

  • SCK(Serial Clock) 时钟线
  • MOSI(Master Output Slave Input) 主机输出、从机输入
  • MISO(Master Input Slave Output) 主控输入、从机输出
  • SS(Slave Select) 或者 CS(chip select) 从机选择

SPI协议并没有规定通信速率。

2.SPI协议

file

SPI协议是非常粗暴的,所有设备的SCK,MOSI,MISO连接在一起,对于每个设备分配一根连接到主机的SS引脚。
输出引脚配置为推挽输出,输入引脚为浮空或上拉输入

2.1寻址

主机直接向从机的SS发送使能信号

2.2 数据传输

SPI没有起始信号和结束信号,也没有应答。
采用同步方式工作,SCK时钟线在上升沿或下降沿时,向数据线上发送数据,在下一个跳变沿时接收器从数据线上读取数据,完成一位数据传送,八个时钟周期即可完成一个字节数据的传送。

2.3时序基本单元

参数
  • CPOL(Clock Polarity) 时钟极性
  • CPHA(Clock Phase) 时钟相位

SPI有四种工作模式,可以通过配置CPOL和CPHA来调节

  1. 模式0(CPOL=0, CPHA=0):在空闲时刻,时钟线为低电平。数据在时钟的上升沿被采样,即数据在时钟的上升沿变化,下降沿被读取。

  2. 模式1(CPOL=0, CPHA=1):在空闲时刻,时钟线为低电平。数据在时钟的下降沿被采样,即数据在时钟的下降沿变化,上升沿被读取。

  3. 模式2(CPOL=1, CPHA=0):在空闲时刻,时钟线为高电平。数据在时钟的下降沿被采样,即数据在时钟的下降沿变化,上升沿被读取。

  4. 模式3(CPOL=1, CPHA=1):在空闲时刻,时钟线为高电平。数据在时钟的上升沿被采样,即数据在时钟的上升沿变化,下降沿被读取。

可以通过这张图片直观看到

file

3.SPI与IIC

相比于IIC,SPI的速率要快得多,其使用推挽输出模式,上拉能力大大强于IIC,信号变化快,能轻轻松松达到MHz的速度级别,但是对硬件的要求也比较高,也同样是用于短距离之间的芯片通信

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇