SPI,UART,I2C都有什么区别,各自的特点是什么?
区别:SPI:高速同步串行口。3~4线接口,收发独立、可同步进行
UART:通用异步串行口。按照标准波特率完成双向通讯,速度慢
SPI:一种串行传输方式,三线制,网上可找到其通信协议和用法的
3根线实现数据双向传输
串行外围接口 Serial peripheral interface
UART:通用异步收发器
UART是用于控制计算机与串行设备的芯片。有一点要注意的是,它提供了RS-232C数据终
端设备接口,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信了
。作为接口的一部分,UART还提供以下功能:
将由计算机内部传送过来的并行数据转换为输出的串行数据流。将计算机外部来的串行
数据转换为字节,供计算机内部使用并行数据的器件使用。在输出的串行数据流中加入
奇偶校验位,并对从外部接收的数据流进行奇偶校验。在输出数据流中加入启停标记,
并从接收数据流中删除启停标记。处理由键盘或鼠标发出的中断信号(键盘和鼠票也是
串行设备)。可以处理计算机与外部串行设备的同步管理问题。有一些比较高档的UART
还提供输入输出数据的缓冲区,现在比较新的UART是16550,它可以在计算机需要处理数
据前在其缓冲区内存储16字节数据,而通常的UART是8250。现在如果您购买一个内置的
调制解调器,此调制解调器内部通常就会有16550 UART。
I2C:能用于替代标准的并行总线,能连接的各种集成电路和功能模块。I2C是多主控总线,所以任何一个设备都能像主控器一样工作,并控制总线。总线上每一个设备都有一个独一无二的地址,根据设备它们自己的能力,它们可以作为发射器或接收器工作。多路微控制器能在同一个I2C总线上共存。
(I) MISO (Master In Slave Out):主机输入、从机输出信号。该信号在主设备中作为输入而在从设备中作为输出,亦即在一个方向上发送串行数据。一般是先发送MSB(最高位)后发送LSB(最低位)。若没有从设备被选中.则主设备的MISO线处于高阻状态。
(2) MOSI (Master Out Slave In):主机输出、从机输入信号.该信号在主设备中作为输出.从设备中作为输入,亦即在另一个方向上发送串行数据。一般地也是先发送MSB后发送LSB.
(3) SCK (Serial Clock):串行时钟信号。SCK俏号使通过MOSI和MISO的数据保持同步。SCK由主设各产生.输出给从设备。通过对时钟的极性和相位进行不同的选择,可实现四种定时关系。此外还要注意,主设备和从设备必须在相同的时序下工作.而SCK的时钟频率决定了整个SPI总线的传输速度,在用MCU作为主设备时,一般可通过对SPI控制寄存器编程.来选择不同的时钟频率。
(4) SS (Slave Select):从机选择信号。此信号用于选择一个从机,它应该在数据发送之前变为低电平,并且必须在整个传送过程中维持为稳定的低电平.主机的SS线应接高电平.
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!