1. SPI通信
1.1 SPI总线介绍
SPI接口是Motorola 首先提出的全双工三线/四线同步串行外围接口采用主从模式(Master Slave)架构。
时钟由Master控制,在时钟移位脉冲下,数据按位传输,高位在前,低位在后(MSB first);SPI接口有2根单向数据线,为全双工通信。
SPI总线被广泛地使用在FLASH、ADC、LCD等设备与MCU间,要求通讯速率较高的场合。
一主多从的同步串行全双工通信
Master 主机 Slave 从机
MISO 主机输入从机输出 MOSI 主机输出从机输入 SS Slave Select(片选线)从机选择
SCK system clock 时钟
所有的输出口在输出的时候要配置成推挽输出,这样在没有外部上拉电阻的情况的也可以有较强的输出高低电平的能力。但需要考虑一点:当主机跟从机3进行通信的时候,从机2和从机1的MISO线如果是推挽输出(推挽必输出高电平或低电平的一种)那肯定会影响主机跟从机三的正常通信,所以为了消去这一影响,让从机SS片选线为高电平,即非选中状态时对应从机输出口置为高阻态,这样既不是高电平也不是低电平不会影响主机跟所选中从机的正常通信。
1.2 字节交换原理
字节交换基于位交换的
位交换分为两部分:移出 移入
移出:就是把当前移位寄存器的最高位写到信号线上,然后整体往左移动一位
移入(采样):读取信号线的状态,然后把读到的状态放到寄存器的最低位
移入 主机和从机同时进行
移出 主机和从机同时进行
移入和移出的时机是由时钟线控制约定的,约定好第几个边沿一起移出,第几个边沿一起移入。
1.3 时序单元
•起始条件:SS从高电平切换到低电平
•终止条件:SS从低电平切换到高电平
1.4 SPI模式
由CPOL及CPHA的不同状态,SPI分成了四种模式,主机与从机需要工作在相同的模式下才可以正常通讯,因此通常主机要按照从机支持的模式去设置
CPOL: 时钟极性
CPHA: 时钟相位
1.4.1 模式0
1.4.2 模式1
10.29.10.10的录课