SPI、I2C、UART、USB串行总线协议的区别_第1页
SPI、I2C、UART、USB串行总线协议的区别_第2页
SPI、I2C、UART、USB串行总线协议的区别_第3页
SPI、I2C、UART、USB串行总线协议的区别_第4页
SPI、I2C、UART、USB串行总线协议的区别_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.可修编..可修编.SPI、I2C、UART、USB串行总线协议的区别SPI、I2C、UART三种串行总线协议的区别第一个区别当然是名字:SPI(SerialPeripheralInterface:串行外设接口);I2C(INTERICBUS)UART(UniversalAsynchronousReceiverTransmitter:通用异步收发器)第二,区别在电气信号线上:SPI总线由三条信号线组成:串行时钟(53内、串行数据输出(SDO)、串行数据输入(SDI)。SPI总线可以实现多个SPI设备互相连接。提供SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Slave)°±M设备间可以实现全双工通信,当有多个从设备时,还可以增加一条从设备选择线。如果用通用IO口模拟SPI总线,必须要有一个输出口(5口。),个输入口6口国另一个□则视实现的设备类型而定,如果要实现主从设备,则需输入输出口,若只实现主设备,则需输出口即可,若只实现从设备,则只需输入口即可。I2C总线是双向、两线(SCL、SDA)、串行、多主控(multi-mas10「)接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信。在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可以实现设备组网。如果用通用IO口模拟I2C总线,并实现双向传输,则需一个输入输出口(5口外,另外还需一个输出口(SCL)。(注:I2C资料了解得比较少,这里的描述可能很不完备)UART总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UART发送器组成,硬件上由两根线,一根用于发送,一根用于接收。显然,如果用通用IO口模拟UART总线,则需一个输入口,一个输出口。第三,从第二点明显可以看出,SPI和UART可以实现全双工,但吃不行;第四,看看牛人们的意见吧!wudanyu:I2C线更少,我觉得比UART、SPI更为强大,但是技术上也更加麻烦些,因为I2C需要有双向IO的支持,而且使用上拉电阻,我觉得抗干扰能力较弱,一般用于同一板卡上芯片之间的通信,较少用于远距离通信。SPI实现要简单一些,UAR丁需要固定的波特率,就是说两位数据的间隔要相等,而SPI则无所谓,因为它是有时钟的协议。quickmouse:I2C的速度比SPI慢一点,协议比SPI复杂一点,但是连线也比标准的SPI要少。UARTUART:UniversalAsynchronousReceiver/Transmitter,通用异步接收/发送装置,UART是一个并行输入成为串行输出的芯片,通常集成在主板上,多数是16550AFN芯片。因为计算机部采用并行数据,不能直接把数据发到Modem,必须经过UART整理才能进行异步传输,其过程为:CPU先把准备写入串行设备的数据放到UART的寄存器(临时存块)中,再通过FIFO(FirstInputFirst0仇口仇,先入先出队列)传送到串行设备,若是没有叶0,信息将变得杂乱无章,不可能传送到Modem。它是用于控制计算机与串行设备的芯片。有一点要注意的是,它提供了RS-232C数据终端设备接口,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信了。作为接口的一部分,UART还提供以下功能:将由计算机部传送过来的并行数据转换为输出的串行数据流。将计算机外部来的串行数据转换为字节,供计算机部使用并行数据的器件使用。在输出的串行数据流中加入奇偶校验位,并对从外部接收的数据流进行奇偶校验。在输出数据流中加入启停标记,并从接收数据流中删除启停标记。处理由键盘或鼠标发出的中断信号(键盘和鼠标也是串行设备)。可以处理计算机与外部串行设备的同步管理问题。有一些比较高档的UART还提供输入输出数据的缓冲区,现在比较新的UART是16550,它可以在计算机需要处理数据前在其缓冲区存储16字节数据,而通常的UART是8250。现在如果您购买一个置的调制解调器,此调制解调器部通常就会有16550UART。什么是UARTUART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中川人口丁用来与PC进行通信,包括与监控调试器和其它器件,如EEPROM通信。UART通信UART首先将接收到的并行数据转换成串行数据来传输。消息帧从一个低位起始位开始,后面是7个或8个数据位,一个可用的奇偶位和一个或几个高位停止位。接收器发现开始位时它就知道数据准备发送,并尝试与发送器时钟频率同步。如果选择了奇偶,UART就在数据位后面加上奇偶位。奇偶位可用来帮助错误校验。在接收过程中,UARTM消息帧中去掉起始位和结束位,对进来的字节进行奇偶校验,并将数据字节从串行转换成并行。UART也产生额外的信号来指示发送和接收的状态。例如,如果产生一个奇偶错误,UART就置位奇偶标志。数据方向和通信速度数据传输可以首先从最低有效位化58)开始。然而,有些UART允许灵活选择先发送最低有效位或最高有效位的58)。微控制器中的UART传送数据的速度围为每秒几百位到1.5Mb。例如,嵌入在ElanSC520微控制器中的高速UART通信的速度可以高达1.1152Mbps。UART波特率还受发送和接收线对距离(线长度)的影响。目前,市场上有只支持异步通信和同时支持异步与同步通信的两种硬件可用于UART。前者就是UART名字本身的含义,在摩托罗拉微控制器中被称为串行通信接口(50);乂七「0。川口微控制器中的通用同步异步收发器354口丁)和在富士通微控制器中的UART是后者的两个典型例子。UART是通用异步收发器(异步串行通信口)的英文缩写,它包括了RS232、RS499、RS423、口5422和口5485等接口标准规和总线标准规,即UART是异步串行通信口的总称。而RS232、RS499、RS423、RS422和RS485等,是对应各种异步串行通信口的接口标准和总线标准,它规定了通信口的电气特性、传输速率、连接特性和接口的机械特性等容。实际上是属于通信网络中的物理层(最底层)的概念,与通信协议没有直接关系。而通信协议,是属于通信网络中的数据链路层(上一层)的概念。口是PC(个人计算机)上,异步串行通信口的简写。由于历史原因/BM的PC外部接口配置为RS232,成为实际上的PC界默认标准。所以,现在PC机的口均为RS232。若配有多个异步串行通信口,则分别称为1、2...USARTUSART:(UniversalSynchronous/AsynchronousReceiver/Transmitter)通用同步/异步串行接收/发送器USART是一个全双工通用同步/异步串行收发模块,该接口是一个高度灵活的串行通信设备。其主要特点如下:全双工操作(相互独立的接收数据寄存器和发送数据寄存器);#支持同步和异步操作;同步操作时,可主机时钟同步,也可从机时钟同步;独立的高精度波特率发生器,不占用定时/计数器;#支持5、6、7、8和9位数据位,1或2位停止位的串行数据桢结构;由硬件支持的奇偶校验位发生和检验;数据溢出检测;桢错误检测;包括错误起使位的检测噪声滤波器和数字低通滤波器;#三个完全独立的中断,TX发送完成、TX发送数据寄存器空、RX接收完成;支持多机通信模式;支持倍速异步通信模式。USART收发模块一般分为三大部分:时钟发生器、数据发送器和接收器。控制寄存器为所有的模块共享。时钟发生器由同步逻辑电路(在同步从模式下由外部时钟输入驱动)和波特率发生器组成。发送时钟引脚XCK仅用于同步发送模式下,发送器部分由一个单独的写入缓冲器(发送UDR)、一个串行移位寄存器、校验位发生器和用于处理不同浈结构的控制逻辑电路构成。使用写入缓冲器,实现了连续发送多浈数据无延时的通信。接收器是USART模块最复杂的部分,最主要的是时钟和数据接收单元。数据接收单元用作异步数据的接收。除了接收单元,接收器还包括校验位校验器、控制逻辑、移位寄存器和两级接收缓冲器(接收UDR)。接收器支持与发送器相同的桢结构,同时支持桢错误、数据溢出和校验错误的检测。SPISPI接口的全称是36e1PeripheralInterface",意为串行外围接口,是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI接口是以主从方式工作的,这种模式通常有一个主器件和一个或多个从器件,其接口包括以下四种信号:(1)MOSI-主器件数据输出,从器件数据输入(2)乂6。-主器件数据输入,从器件数据输出(3)SCLK-时钟信号,由主器件产生(4)/55-从器件使能信号,由主器件控制IICI2C(Inter-IntegratedCircuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线是一种串行数据总线,只有二根信号线,一根是双向的数据线5口人,另一根是时钟线53。在I2C总线上传送的一个数据字节由八位组成。总线对每次传送的字节数没有限制,但每个字节后必须跟一位应答位。(这是与SPI总线最显著的不同之处)。 AxbbPostat2010-12-1321:17:24IISI2S(Inter-ICSoundBus)是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准。125有3个主要信号:1.串行时钟53人也叫位时钟,即对应数字音频的每一位数据,5^^有1个脉冲。2.帧时钟LRCK,用于切换左右声道的数据。LRCK为“1”表示正在传输的是左声道的数据,为“0”则表示正在传输的是右声道的数据。3.串行数据$口人丁人,就是用二进制补码表示的音频数据。有时为了使系统间能够更好地同步,还需要另外传输一个信号乂^_h称为主时钟,也叫系统时钟(SysClock)。 AxbbPostat2010-12-1321:17:46UARTUART(UniversalAsynchronousReceiver/Transmitter)通用异步收发器将由计算机部传送过来的并行数据转换为输出的串行数据流。将计算机外部来的串行数据转换为字节,供计算机部使用并行数据的器件使用。在输出的串行数据流中加入奇偶校验位,并对从外部接收的数据流进行奇偶校验。在输出数据流中加入启停标记,并从接收数据流中删除启停标记。处理由键盘或鼠标发出的中断信号(键盘和鼠票也是串行设备)。可以处理计算机与外部串行设备的同步管理问题。有一些比较高档的UART还提供输入输出数据的缓冲区。手机中常用TXD,RXD,/RTS,/CTS。 AxbbPostat2010-12-1321:18:16JTAGJTAG(JointTestActionGroup联合测试行动小组)是一种国际标准测试协议(IEEE1149.1兼容),主要用于芯片部测试。标准的1丁46接口是4线:TMS、丁^丁口1、丁口0,分别为模式选择、时钟、数据输入和数据输出线。测试复位信号1口5工一般以低电平有效)一般作为可选的第五个端口信号。一个含有JTAGDebug接口模块的CPU,只要时钟正常,就可以通过」丁46接口访问CPU的部寄存器和挂在CPU总线上的设备,如FLASH,RAM,置模块的寄存器,象UART,Timers,GPIO等等的寄存器。 AxbbPostat2010-12-1321:28:25部资料,给大家分享下!我只略知一二。19最简单的控制接口,控制各种外设经常用到,比如camera,PA,0以。偶尔也做简单的数据传输控制。IIS,音频数据传输,可以分左右声道,输音频数据比较方便。UART,可以串行并行数据转换,奇偶校验,对速度和准确度貌似有比较大的提升,多见于蓝牙数据传输。略知一二,不对还请各位指正啊[em08]SPI,我只在WLAN和一个指纹识别里见过这种总线,有啥优势就完全不懂了[em11] fengmo44Postat2010-12-1410:15:38非常感人*66的回答!I2C是简单控制接口和简单数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论