SPI通讯协议学习记录

本文详细介绍了串行外围设备接口(SPI)的全双工工作原理、同步数据传输、主从模式控制、流控制机制(如CTS/RTS)、以及SSPBUF、FIFO、DMA等关键概念的应用。
摘要由CSDN通过智能技术生成

串行外围设备接口(Serial Peripheral interface)是高速、全双工、同步的通讯总线。

全双工两台设备同时进行双向数据传输。

SPI的缺点:没有指定的控制,缺少应答机制确认是否接收到数据。

串口流控(CTS/RTS):由于两个设备通信时,处理速度不同,导致一方缓存区满时丢失数据,串口流控就是在数据处理不过来时发送“不再接收”的信号,发送端直到收到“继续发送”时才继续发送数据。

SPI通信的特点:

一、采用主-从模式(Master-Slave) 控制

两个SPI设备通信时必须由主机来控制从机,主机通过向从机提供时钟和片选来控制多个从机,从机设备的时钟必须由主机提供。

二、采用同步方式(Synchronous)传输数据

主机会根据将要交换的数据来产生相应的时钟脉冲(Clock Pulse),时钟脉冲组成了时钟信号(Clock Signal) ,时钟信号通过时钟极性 (CPOL) 和 时钟相位 (CPHA) 控制着两个 SPI 设备间何时数据交换以及何时对接收到的数据进行采样,来保证数据在两个设备之间是同步传输的。

数据交换:SPI设备间的数据传输被称作数据交换,因为SPI设备不能仅作为发送者/接收者。在读取一个数据的同时必须发送一个数据。

三、工作机制

SSPBUF:指SPI设备中的内部缓冲区,物理上以FIFO的形式,用来在传输中临时存储数据。

FIFO(First in First out):

        (1)对连续的数据流进行缓存,防止在进机和存储操作时丢失数据。

        (2)数据集中起来进行进机和存储,可以避免频繁的总线操作,减轻CPU负担。

        (3)允许系统进行DMA操作,提高数据的传输速度

                 DMA(Direct Memory Access)直接存储器访问:DMA传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。当CPU初始化这个传输动作,传输动作本身是由DMA控制器来实现和完成的。DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场过程,通过硬件为RAM和IO设备开辟一条直接传输数据的通道,使得CPU的效率大大提高。

SSPSR:指 SPI 设备里面的移位寄存器,它的作用是根据设置好的数据位宽(bit-width) 把数据移入或者移出 SSPBUF。

Controller:泛指 SPI 设备里面的控制寄存器,可以通过配置它们来设置 SPI 总线的传输模式。

SPI引脚:

        SCK:主要的作用是主设备往从设备传输时钟信号, 控制数据交换的时机以及速率。

        SS/CS:用于主设备片选从设备,使被选中的从设备能够被主设备所访问。

        SDO/MOSI:在主设备上输出,在从设备上输入。

        SDI/MISO:在主设备上输入,在从设备上输出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清泠泠rya

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值