简单认识I2C、SPI、UART、SDIO、I2S

名称全称详解
I2CInter-Integrated Circuit:内部集成电路总线由SCL、SDA两根线连接,半双工同步串行总线;
空闲时:SDA、SCL都是高电平;
开始传输:SCL高电平时,SDA下降沿触发开始传输;
结束传输:SCL高电平时,SDA上升沿触发结束传输;
传输数据:SCL低电平时,SDA变换高低电平,SCL变换为高电平时传输1Bit数据;
主从模式:传输由Master发起,Slave有唯一地址,每次传输先传地址,地址对应的Slave响应Master,地址的最后一个Bit表示Master的读或写操作,0写,1读;
传输应答:传输完一个字节后,Slave将拉低SDA,给Master传一个ACK信号,此为一个字节真正传输完成;
SPISerial Peripheral interface:串行外围接口(标准SPI)由CS、CLK、MOSI、MISO四根线组成,是一种高速的,全双工,同步串行通信总线。
缺点:没有流控制、没有应答机制,所以可靠性有缺陷;
特点:高速、同步、全双工、非差分、总线式、主从机通信模式;
4种通信模式:通过时钟极性(CPOL)和时钟相位(CPHA)分为4种通信模式;
CPOL:时钟极性,用来配置CLK在空闲状态时是高电平还是低电平;
CPOL=0:空闲时CLK为低电平;
CPOL=1:空闲时CLK为高电平;
CPHA:时钟相位,用来配置Master读写操作对应的CLK时钟边沿;
CPHA=0:CLK时钟前沿读数据,CLK时钟后沿写数据;
CPHA=1:CLK时钟后沿读数据,CLK时钟前沿写数据;
DSPIDual SPI:4线SPISPI半双工工作时,将MOSI和MISO同时作为输入或输出(SIO0、SIO1),就可以同时传输2bit数据,以增加传输速率;
QSPIQuad SPI:6线SPI同样的,再扩展两根IO线(SIO2、SIO3),就可以同时传输4bit数据,就是QSPI;
DSPI和QSPI只在SPI Flash等特殊外设使用;
UARTUniversal Asynchronous Receiver/Transmitter:通用异步收发器UART传输数据格式
由TX、RX两根线连接(共地为前提),全双工传输;
建立传输数据前必须约定好数据传输速率以及传输格式;
空闲:无数据传输时,TX和RX为高电平;
起始位:固定占1bit=0,表示传输开始;
数据位:占5~9bit可设置;
校验位:占0~1bit,设置无校验时,则没有该bit,除此之外可设置:
odd parity:奇校验,数据位中1的数目是奇数,则校验位=0,数据位中1的数据是偶数,则校验位=1;
even parity:偶校验,数据位中1的数目是奇数,则校验位=1,数据位中1的数据是偶数,则校验位=0;
mark parity:标记校验,校验位始终为1;
space parity:空校验,校验位始终为0;
停止位:占1~2bit,可以是1bit、1.5bit、2bit的高电平;
波特率:用来设置数据传输速率;
SDIOSecure Digital Input and Output:安全数字输入输出有三种工作模式:SPI模式、1Bit模式、4Bit模式;
主从工作模式,所有通信都由Host端发出命令开始;
Command:由Host发给Device,用于开始传输,通过CMD信号线传输;
Response:由Device发给Host,作为Command的回应,也是通过CMD信号线传输;
Data:双向传送,通过Data0~Data3信号线传输;
读数据:首先Host向Device发Command,然后Device返回Response,紧接着Device会将数据放在Data0~Data3数据线上,再传送数据同时会跟随着CRC校验码,当整个读数据传送完,Host会再发Command通知Device读操作完毕,Device最后返回Response结束;
写数据:首先Host向Device发Command,然后Device返回Response,紧接着Host会将数据放在Data0~Data3数据线上,再传送数据的同时会跟随着CRC检验码,当真个写数据传送完,Host会再发Command通知Device读操作完毕,Device最后返回Response结束;
I2SInter—IC Sound:集成电路内置音频总线主从模式工作,主要由SCLK、LRCK、SDATA三根信号线,部分设备需要提供MCLK作为从机主时钟;
SCLK:也叫BCLK,位时钟,SCLK = 2 x 采样频率 x 采样位深;
LRCK:帧时钟,高低电平分别代表此时SDATA数据线上是左声道数据还是右声道数据,LRCK = 采样频率;
SDATA:数字音频数据,可以设置MSB或LSB,也可以设置左对齐或右对齐;
### 回答1: SPI:串行外设接口,是一种串行通信协议,用于在微控制器和外部设备之间传输数据。 I2C:双线串行接口,是一种串行通信协议,用于在微控制器和外部设备之间传输数据。 UART:通用异步收发传输器,是一种串行通信协议,用于在微控制器和外部设备之间传输数据。 SDIO:安全数字输入输出,是一种接口标准,用于在移动设备和存储卡之间传输数据。 I2S:集成电路音频总线,是一种串行通信协议,用于在数字音频设备之间传输音频数据。 MIPI DSI:移动行业处理器接口显示串行接口,是一种用于连接显示器和移动设备的串行通信协议。 ### 回答2: SPI是串行外围接口的缩写,是一种通信协议。SPI的特点是传输速度快,但线路只能连接一个主设备和多个从设备,被用于一些需要快速数据交换的场合。 I2C是一种串行通信协议,也被称为双线通信协议。I2C具有一定的灵活性和可扩展性,可以同时连接多个主设备和多个从设备,通信速度比SPI慢但数据传输更加可靠,适用于一些大数据量传输的场合。 UART是通用异步收发传输器的缩写,一般用于串口通信。UART通信的特点是传输速率较低,但很稳定,被广泛应用于一些需要稳定传输的场合。 SDIO是Secure Digital Input/Output的缩写,是一种高速串行接口,通常用于连接存储设备。SDIO兼容性好,可支持高速数据传输,适用于一些需要大容量存储和高速数据传输的场合。 I2S是一种串行音频接口,被广泛应用于音频领域。I2S的特点是数据传输速率高、传输质量好,适合于音频数据的传输。 MIPI DSI是移动产业处理器接口的显示协议,用于连接移动设备的显示器和控制器。MIPI DSI拥有高速数据传输和高质量显示的特点,适用于高清晰度和大尺寸的屏幕显示。 ### 回答3: SPII2CUARTSDIOI2S、MIPI DSI 都是不同的串行通信协议。这些协议都是用来在不同的系统之间传输数据的。 SPI (Serial Peripheral Interface,串行外设接口) 是一种广泛应用于控制器和外围设备之间交互的串行通信协议,特别适用于高速短距离数据传输。SPI有四根信号引脚,其中SCLK是时钟信号,MOSI是主机输出从机输入信号,MISO是主机输入从机输出信号,SS是从机片选信号。 I2C (Inter-Integrated Circuit,集成电路接口) 是一种全双工的、开放的串行总线标准,用于连接数码电路和控制器芯片。I2C使用两根信号引脚,其中SCL是时钟信号,SDA是数据信号。 UART (Universal Asynchronous Receiver/Transmitter,通用异步收发器) 是一种基于异步通信的串行通信协议,主要用于计算机和外围设备之间的数据传输。UART使用两根信号引脚,其中TX是发送信号,RX是接收信号。 SDIO (Secure Digital Input Output,安全数位输入/输出) 是SD卡协会制定的一种基于SD卡的串行总线标准,主要用于在移动设备上连接不同的设备,如Wi-Fi、蓝牙、GPS等。SDIO使用三根信号引脚,其中CLK是时钟信号,CMD是命令信号,DAT是数据信号。 I2S (Inter-IC Sound,集成电路声音)是一种专门用于数字音频信号处理的串行接口协议。I2S使用至少三个信号引脚,其中BCLK是位时钟信号,LRCLK是左右声道选择信号,SD是音频数据信号。 MIPI DSI (Mobile Industry Processor Interface Display Serial Interface,移动行业处理器接口显示串行接口) 是一种用于连接控制器和显示屏的串行总线协议。MIPI DSI使用四根信号引脚,其中CLK是时钟信号,DIO是数据信号,HSYNC是水平同步信号,VSYNC是垂直同步信号。 不同的串行通信协议有各自的特点和使用场景,在不同的应用中可以选择适合的协议来完成相应的数据传输任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值