嵌入式常见的通信接口嵌入式常见的通信接口/协议协议
0 引言引言
嵌入式开发中,常见的通信接口/协议有SPI,I2C,UART三种,本文先分三个部分对SPI,I2C,UART进行介绍,最后对
这三种协议进行比较。
1 SPI
1.1 SPI的简介的简介
SPI(Serial Peripheral Interface):串行外围设备接口。SPI是一种高速的,全双工的,同步的高速的,全双工的,同步的通信总线。SPI没有定义
速度限制,一般的实现通常能达到甚至超过10 Mbps,已知的有的器件SPI已达到50Mbps。
1.2 SPI接口的引脚接口的引脚
MOSI(Master Out Slave In):主设备数据输出,从设备数据输入
MISO(Master In Slave Out):主设备数据输入,从设备数据输出
SCLK(Serial Clock):时钟信号,由主设备产生,主从设备共用
CS/SS(Slave Select):从设备使能信号,由主设备控制,低电平有效
1.3 SPI的工作原理的工作原理
SPI通过移位寄存器实现数据的交换交换
每经历一个时钟脉冲,主设备和从设备同时发送或或接收一位数据(如上升沿发送数据,下降沿接收数据)。
发送数据时,将移位寄存器中的数据左移一位,最高位发送出去;接收数据时,将数据补充到移位寄存器的最后一位
当完成指定位数的数据发送或接收后,移位寄存器将数据存放到缓冲器中等待读取
1.4 SPI的四种工作方式的四种工作方式
为了和外设进行数据交换,需要根据外设工作要求,设置SPI的时钟极性(CPOL)和时钟相位(CPHA)。CPOL和
CPHA决定数据发送和接收的时序(注意:数据总是先发送后接收的)。
CPOL:时钟极性选择
- CPOL = 0 :SPI总线空闲为低电平
- CPOL = 1 :SPI总线空闲为高电平
CPHA:时钟相位选择
- CPHA = 0 :无相位延时
- CPHA = 1 :1/2个周期的相位延时
下表为SPI的四种工作模式选择
工作模式工作模式 CPOL = 0 CPOL = 1
CPHA =
0
上升沿发送数据,下降沿接收数据 下降沿发送数据,上升沿接收数据
CPHA =
1
下降沿发送数据,上升沿接收数据 上升沿发送数据,下降沿接收数据
下图为四种工作模式的时序图
2 I2C
2.1 I2C的简介的简介
评论0
最新资源