文章目录
-
- 一、SPI协议:全双工、同步、高速、无中断传输(不限制传输的位宽)、片选信号选slave、单主多从、四根线、无应答信号(无法判断数据传输是否成功)、无错误检查、自定义传输速率
-
- 1、1、SPI信号线:四根(MOSI、MISO、SCLK、SS/CS)
- 1、2、SPI的连接方式:多NSS形式(slave之间无关联)和菊花链形式(slave之间有关联)
- 1、2、1、多NSS形式:master有多个片选信号
- 1、2、2、菊花链形式:master有1个片选信号,只有第一个slave直接接收M的命令
- 1、2、工作原理:通过M、S内部的`缓存区(Memory)`和`串行移位寄存器`实现数据传输
- 1、2、1、通信流程:拉低CS;发clk(同时设置好传输模式:主从模式、采样沿等);主机:数据-》主机mem-》主机移位寄存器-》MOSI-》从机移位寄存器;从机:数据-》从机mem-》从机移位寄存器-》MISO-》主机移位寄存器
- 1、2、2、四种通信模式:时钟极性(CPOL):总线空闲电平状态;时钟相位(CPHA):哪个跳变沿采样
- 1、2、3、时序图:注意SPI没有读写之分,读写必须是同步进行的!!!
- 二、I2C协议:半双工、同步、比SPI慢、限制数据位宽为8位、寻址选slave、多主多从、有`应答机制`、无错误检查、支持五种速率模式
-
- 2、1、I2C信号线:SDA数据线、SCL时钟线(只有一个数据线,因此半双工)
- 2、2、工作速率模式:标准100kb、快速400kb、快速+ 1Mb、高速3.4Mb、超快5Mb
- 2、3、I2C通信的四种信号:起始信号、停止信号、应答、非应答信号、数据采样时间(SCL为高)
- 2、4、数据传输形式:将从机地址、数据、控制信号(读写方式、应答信号、开始、停止)打包成msg,进行数据传输
- 2、5、读操作、写操作、读写复合操作(先将指定寄存器写入从机,重新起始,再进行读写操作)、10bit地址传输操作
- 2、6、通用广播传输协议(master访问总线上的所有从设备)
- 2、7、多主多从传输:需要用到I2C的仲裁机制
- 2、7、1、SCL时钟同步:每个master的SCL线与
- 2、7、2、SDA数据同步:每个master发出的SDA线与
- 2、8、I2C(Inter-Integrated Circuit)协议使用开漏(open-drain)输出,加上拉电阻
- 三、UART协议:全双工、异步(含起始、停止位)、串行通信、限制数据位宽最大为9位、不支持多主多从、无应答信号、有奇偶校验位错误检查、两条线
这三种通信协议都是针对:低距离、低速芯片
SPI的高速是相对而言的
- 1、通信的三种类型:单工、半双工、全双工
类型 | 描述 |
---|---|
单工 | 只允许A发给B |
半双工 | A可以给B,B也可以给A,但不能同时进行 |
全双工 | A可以给B,B也可以给A,可以同时进行 |
- 2、SPI协议、I2C协议、UART通信协议对比
名称 | 通信类型 | 信号线及含义 | 同步/异步 | 优点 | 缺点 | 数据传输形式 |
---|---|---|---|---|---|---|