3种串行总线的区别
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3种串行总线的区别.txt
SPI、I2C、 SPI、I2C、UART 三种串行总线协议的区 别 第一个区别当然是名字: 第一个区别当然是名字: Interface:串行外设接口); SPI(Serial Peripheral Interface:串行外设接口); BUS: 之间总线) I2C(INTER IC BUS:意为 IC 之间总线) Transmitter:通用异步收发器) UART(Universal Asynchronous Receiver Transmitter:通用异步收发器) 第二,区别在电气信号线上: 第二,区别在电气信号线上: 线上 总线由三条信号线组成:串行时钟(SCLK) 串行数据输出(SDO) (SCLK)、 (SDO)、 SPI 总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行 数据输入(SDI)。SPI 总线可以实现 多个 SPI 设备互相连接。提供 SPI 串行时钟 数据输入(SDI)。 设备互相连接。 (SDI) 主机或主设备(Master) (Master), 的 SPI 设备为 SPI 主机或主设备(Master),其他设备为 SPI 从机或从设备 (Slave)。主从设备间可以实现全双工通信,当有多个从设备时, (Slave)。主从设备间可以实现全双工通信,当有多个从设备时,还可以增加一 条从设备选择线。 条从设备选择线。 总线,必须要有一个输出口(SDO) (SDO), 如果用通用 IO 口模拟 SPI 总线,必须要有一个输出口(SDO),一个输入口 (SDI),另一个口则视实现的设备类型而定,如果要实现主从设备, (SDI),另一个口则视实现的设备类型而定,如果要实现主从设备,则需输入输 出口,若只实现主设备,则需输出口即可,若只实现从设备, 出口,若只实现主设备,则需输出口即可,若只实现从设备,则只需输入口即 可。 总线是双向、两线(SCL SDA)、串行、多主控(multi-master) (SCL、 I2C 总线是双向、两线(SCL、SDA)、串行、多主控(multi-master)接口标 具有总线仲裁机制,非常适合在器件之间进行近距离、 准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通 在它的协议体系中,传输数据时都会带上目的设备的设备地址, 信。在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可以 实现设备组网。 实现设备组网。 总线,并实现双向传输, 如果用通用 IO 口模拟 I2C 总线,并实现双向传输,则需一个输入输出口 (SDA),另外还需一个输出口(SCL)。(注 (SCL)。( 资料了解得比较少, (SDA),另外还需一个输出口(SCL)。(注:I2C 资料了解得比较少,这里的描述 可能很不完备) 可能很不完备) 总线是异步串口,因此一般比前两种同步串口的结构要复杂很多, UART 总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一 般由波特率产生器( 接收器、 般由波特率产生器(产生的波特率等于传输波特率的 16 倍)、UART 接收器、UART 发送器组成,硬件上由两根线,一根用于发送,一根用于接收。 发送器组成,硬件上由两根线,一根用于发送,一根用于接收。 显然, 总线,则需一个输入口,一个输出口。 显然,如果用通用 IO 口模拟 UART 总线,则需一个输入口,一个输出口。 第三,从第二点明显可以看出, 可以实现全双工, 不行; 第三,从第二点明显可以看出,SPI 和 UART 可以实现全双工,但 I2C 不行;
第 1 页