I2C, UART和SPI 三种串口

基本理论知识

i. 并行通信/串行通信

ii. 异步通信/同步通信

iii. 半双工通信/全双工通信

i. 并行通信/串行通信

I2C, UART和SPI 三种串口 - 第1张

并行通信:传输速度快,  —次传输8bit,但是通信成本高,需要8个独立的通道,另外不支 持长距离传输。用于打印机和扫描仪等设备,例如DB-25接口。

串行通信:传输速度慢,成本低,支持长距离传输,是计算机通信的主要方式,例如DB- 接口。

I2C, UART和SPI 三种串口 - 第2张

ii. 异步同步/同步通信

I2C, UART和SPI 三种串口 - 第3张

异步通信:用于低速设备,会有更高的误码率。

同步通信:用于高速设备传输,同步传输有同步时钟为节拍进行传输数据。

iii. 半双工通信/全双工通信

I2C, UART和SPI 三种串口 - 第4张

单工通信:发送机只能给接收机发送数据,不允许从接收机发送给发送机。

半双工通信:发送机和接收机可以相互读写通信,但不能同时读写。

全双工工信: 发送机和接收机可以相互读写通信,且能同时读写。

I2C, UART和SPI 三种串口 - 第5张   I2CUARTSPI串口

i. UART串口

UART(Universal Asynchronous Receiver Transmitter) ,具有串行通信 、异步通信 、全 双工通信的特点,  两线制(TX, RX), 传输速度慢,点对点的异步通信,  —般用于RJ45 Console、打印机等。

ii. I2C串口

I2C(Inter-Integrated Circuit), 具有串行通信 、同步通信 、半双工通信的特点,两线制 (SDA, SCLK),用于监控、存储和数字信号处理器等。

iii.SPI串口

SPI(Serial Peripheral Interface),具有串行通信 、同步通信 、全双工通信的特点,四线制 (CS, SCLK, MOSI, MISO), 传输速度快, 时许同步准确, —般用于存储器、数字信号处 理、传感器和语音识别等。

I2C, UART和SPI 三种串口 - 第6张

i. UART串口

I2C, UART和SPI 三种串口 - 第7张

UART工作原理:

发送器UART1从发送端数据总线接收到并行数据,将起始位、校验位和停止位添加到数据 帧中,打包成数据包;然后将数据包以串行方式发送给接收器UART2;UART2以预配置的 波特率对数据进行采样,将数据包还原成数据帧;最后UART2将数据帧串行转并传输给接 收端的数据总线。

ii. I2C串口

I2C, UART和SPI 三种串口 - 第8张

I2C是两线制(SDA, SCLK),通过上拉电阻接到电源线,总线空闲时,SDA,SCLK都保持高 电平。

I2C的数据传输过程:

Step1: I2C总线空闲时,上拉电阻使SDA, SCLK处于高电平。

Step2:Master发送start后,将SDA由高电平切换成低电平,然后SCLK线也由高电平切换 成低电平。

Step3: Master在发送start后,再发送 slave的地址和读/写的命令 ,其中write是0,read 是1,slave收到地址和读写命令后, 向master回复ASK。

Step4 :Master收到ASK后,再发送特定寄存器的地址, slave收到后回复master ASK。

Step5: Master再次收到ASK后,再像特定的寄存器发送8bit数据,slave收到数据后回复 ASK,重复这—动作直至数据发完。

Step6 :Master收到stop,SCLK由低电平切换成高电平,随后SDA也从低电平切换成高电 平。

iii. SPI串口

I2C, UART和SPI 三种串口 - 第9张

SPI是—种四线制的串口总线,有CS, SCK,MOSI和MISO四种信号。

I2C, UART和SPI 三种串口 - 第10张

时钟极性:Clock Polarity(CPOL)分为空闲时刻和通讯时刻,CPOL=1表示时钟空闲为高电 平;CPOL=0表示时钟空闲为低电平。

时钟相位:Clock Phase(CPHA),数据从产生到稳定需要—定时间,如果Master上升沿采 样,那么Slave只能下降沿采样。CPHA=1 表示数据采样在第—个时钟沿上,这个时钟是上 升沿还是下降沿由 CPOL决定;CPHA=0表示在第二个时钟沿上进行数据采样。

本文原创,作者:二牛学FPGA,其版权均为FPGA线上课程平台|最全栈的FPGA学习平台|FPGA工程师认证培训所有。
如需转载,请注明出处:https://z.shaonianxue.cn/9499.html