通信协议——SPI

本文详细介绍了SPI接口,包括其全双工、同步特性,4根信号线的功能(SCK、CS、MOSI、MISO),以及时钟极性和相位对模式的影响。重点讲解了SPI在现代单片机中的广泛应用,如Flash和NRF24L01模块。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SPI

简述

SPI是串行外设接口(Serial Peripheral Interface),Motorola公司提出,现在单片机的的许多模块(FLASH,NRF24L01)都在使用这种,主要有以下特点:

  • 全双工
  • 同步
  • 简单
  • 没有流控和应答机制

信号线

标准的SPI总线上,只存在一个主机(Master)和若干从机(Slaver)。SPI接口包含4四根信号线,分别为:

信号线控制方描述
SCK/SCLK/CLK 时钟线
(serial clock)
主机用来传输SPI的同步信号,一般是8个时钟周期为单位,传输一个Byte。
根据时钟极性和时钟相位的区别,共有4种模式。
CS/CSN/CE 片选
(chip select/enable)
主机片选信号是主机控制从机是否通信的使能信号。
一般规定低电平选中(使能),所有的片选信号是带N的,表示负极性
MOSI
Master Output Slaver Input
主机主机数据输出,从机数据输入。
这是一根从主机到从机的信号线。
MISO
Master Input Slaver Output
从机主机数据输入,从机数据输出。
这是一根从从机到主机的信号线。

时序

为了能够兼容更多的设备,SPI总线根据时钟极性(CPOL, Clock Polarity)和时钟相位(CPHA, Clock Phase)总共有4种模式。

在这里插入图片描述

上面展示了CS的作用和SCK的在4种模式下的作用。

只有CS在低电平的的情况下,SCK、MOSI和MISO的信号线才有作用。CPOL决定了时钟空闲的电平,CPOL为0,SCK空闲状态为0;CPOL为1,SCK空闲状态为1。CPHA决定了是在奇数边沿输出还是在偶数边沿输出,相应的就在另一个边沿输入。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值