单片机学习小组
直播中

感谢相遇

9年用户 869经验值
擅长:嵌入式技术 制造/封装 控制/MCU
私信 关注

SPI总线的工作方式是什么?

SPI总线具有哪些特点?
SPI总线的工作方式是什么?

回帖(1)

殷夏

2022-1-25 10:45:30
一、定义

:SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线(有些地方会用到三根或两根),节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议
二、特点:

        1、3线或4线    2、高速,    3、全双工    4、同步        5、频率可编程时钟        6、发送结束中断标志;        7、写冲突保护 三、结构:

   SPI总线有 CS(SS) ,SCK,MOSI,MISO, CS  片选信号 (通常低电平表示选中) SCK 时钟信号 MOSI  数据信号(主机输出 从机输入)  MISO  数据信号(主机输入 从机输出 ) SPI 总线在传输过程有主从之分,一般来讲一个主机可以连接多个从机其拓扑结构如下图所示。
SPI 与I2C连接方式一样 多个SPI可以并联在SPI总线之中,通过CS线,选择使用哪一个SPI器件。
当SPI设备作为主机传输时 先发送需要读取的从设备地址,然后再发8个时钟信号,由此看来 SPI设备如果需要读取或者写入一个Byte的数据至少需要16个始终信号,当然实际项目中往往一个操作不止16个时钟信号,
比如我们这里有一个主设备一个从设备,主设备地址0x03主设备向从设备写入0xAA;
要写入的数据是读写操作bit位+地址
一般情况下做高位 1代表写,0代表读
具体操作是 第一步主机拉低CS信号,
主机第一个字节发送0x83,(0x80|0x03)第二个字节发送0xAA,
四、工作方式:

SPI总线根据传输状态分为4种工作方式(SPI0,SPI1,SPI2,SPI3)在实际项目中我们使用比较多的是SPI0和SPI3.
根据时钟极性(CPOL)分:
CPOL=0, 时钟信号(SCLK)空闲状态为低电平,
CPIOL=1,时钟信号(SCLK)空闲状态为高电平,

根据时钟相位分(CPHA)分:
CPHA=0; 时钟信号(SCLK)在第一个跳变沿数据被采样,
CPHA=1; 时钟信号(SCLK)在第二个跳变沿数据被采样,

SPI设备的主机和从机时钟的相位和极性必须保持一致。
特别提示:
在一些特殊情况下有些主机与从机采用3线或者2线进行通信,
3线的情况:比如主机只向从机发数据,而不需要从机回复数据,MISO可以不要;如果只需要主机接收数据,而不需要主机发送数据MOSI可以不要。
2线的情况:如果主机只连接一个从机,从机的片选信号CS可以一直固定在低电平使能状态,CS引脚可以直接用一个下拉电阻或者直接接GND,此时片选CS线和数据线MOSI或MISO可以省略,
3线和2线SPI在在实际项目中用的还是比较多的,希望大家认真学习,当前我们讨论的一般都是指标准的4线SPI,
好吧,今天先写到这里!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分