我是靠谱客的博主 动听裙子,最近开发中收集的这篇文章主要介绍SCI,SPI,UART三种串行总线协议的区别,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前前后后分别接触到了这几种串行通信。刚开始自己的理解有多么的狭隘。。。做过才知道呵呵~

 

SCI (串行通讯接口)模块对其进行控制。(注:“SCI”首先由Motorola微串口微控制器而得名,SCI另一种说法是“UART控制器”)常用的许多芯片中都包含了SCI ,例如ARM的S3C2410X芯片内嵌了3个串行接口控制器,而Nios等软核芯片则可以用选用UART(RS232) 的IP对UART进行控制。PC机则常用 16650 UART,16750 UART等控制串口。--这样说来SCI只不过属于UART里面比较特殊的一种串行通讯方式了。确实也只是在飞思卡尔芯片上遇见过。

 

第一个区别当然是名字:

SCI(Serial Communicate Interface:串行通信接口)
    SPI(Serial Peripheral Interface:串行外设接口)另外曾在一官方datasheet里面看见这种说法:Serial Parallel Interface:串并行接口
    UART(Universal Asynchronous Receiver Transmitter:通用异步收发器)

第二,区别在电气信号线上:
    SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)。SPI总线可以实现多个SPI设备互相连接。提供SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Slave)。主从设备间可以实现全双工通信,当有多个从设备时,还可以增加一条从设备选择线。
    如果用通用IO口模拟SPI总线,必须要有一个输出口(SDO),一个输入口(SDI),另一个口则视实现的设备类型而定,如果要实现主从设备,则需输入输出口,若只实现主设备,则需输出口即可,若只实现从设备,则只需输入口即可。

UART总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UART发送器组成,硬件上由两根线,一根用于发送,一根用于接收。
    显然,如果用通用IO口模拟UART总线,则需一个输入口,一个输出口。

第三,显然都是全双工的。

最后

以上就是动听裙子为你收集整理的SCI,SPI,UART三种串行总线协议的区别的全部内容,希望文章能够帮你解决SCI,SPI,UART三种串行总线协议的区别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(78)

评论列表共有 0 条评论

立即
投稿
返回
顶部