- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SPII2CUART三种串行总线协议的区别
SPI、I2C、UART三种串行总线协议的区别
第一个区别当然是名字:
????SPI(Serial?Peripheral?Interface:串行外设接口);
????I2C(INTER?IC?BUS:意为IC之间总线)
????UART(Universal?Asynchronous?Receiver?Transmitter:通用异步收发器)
第二,区别在电气信号线上:
????SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)。SPI总线可以实现?多个SPI设备互相连接。提供SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Slave)。主从设备间可以实现全双工通信,当有多个从设备时,还可以增加一条从设备选择线。
????如果用通用IO口模拟SPI总线,必须要有一个输出口(SDO),一个输入口(SDI),另一个口则视实现的设备类型而定,如果要实现主从设备,则需输入输出口,若只实现主设备,则需输出口即可,若只实现从设备,则只需输入口即可。
????I2C总线是双向、两??(SCL、SDA)、串行、多主控(multi-master)接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信。在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可以实现设备组网。
????如果用通用IO口模拟I2C总线,并实现双向传输,则需一个输入输出口(SDA),另外还需一个输出口(SCL)。(注:I2C资料了解得比较少,这里的描述可能很不完备)
????UART总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UART发送器组成,硬件上由两根线,一根用于发送,一根用于接收。
????显然,如果用通用IO口模拟UART总线,则需一个输入口,一个输出口。
第三,从第二点明显可以看出,SPI和UART可以实现全双工,但I2C不行;
第四,看看牛人们的意见吧!
????wudanyu:I2C线更少,我觉得比UART、SPI更为强大,但是技术上也更加麻烦些,因为I2C需要有双向IO的支持,而且使用上拉电阻,我觉得抗干扰能力较弱,一般用于同一板卡上芯片之间的通信,较少用于远距离通信。SPI实现要简单一些,UART需要固定的波特率,就是说两位数据的间隔要相等,而SPI则无所谓,因为它是有时钟的协议。
quickmouse:I2C的速度比SPI慢一点,协议比SPI复杂一点,但是连线也比标准的SPI要少
*****
串口进行通信的方式有两种:同步通信方式和异步通信方式?
1 串行通信的概念
?
图1-1
所谓“串行通信”是指外设和计算机间使用一根数据信号线(另外需要地线,可能还需要控制线),数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。如图1-1所示。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,当然,其传输速度比并行传输慢。
由于CPU与接口之间按并行方式传输,接口与外设之间按串行方式传输,因此,在串行接口中,必须要有“接收移位寄存器”(串→并)和“发送移位寄存器”(并→串)。典型的串行接口的结构如1-2所示。
?
图1-2
在数据输入过程中,数据1位1位地从外设进入接口的“接收移位寄存器”,当“接收移位寄存器”中已接收完1个字符的各位后,数据就从“接收移位寄存器”进入“数据输入寄存器”。CPU从“数据输入寄存器”中读取接收到的字符。(并行读取,即D7~D0同时被读至累加器中)。“接收移位寄存器”的移位速度由“接收时钟”确定。
在数据输出过程中,CPU把要输出的字符(并行地)送入“数据输出寄存器”,“数据输出寄存器”的内容传输到“发送移位寄存器”,然后由“发送移位寄存器”移位,把数据1位1位地送到外设。“发送移位寄存器”的移位速度由“发送时钟”确定。
接口中的“控制寄存器”用来容纳CPU送给此接口的各种控制信息,这些控制信息决定接口的工作方式。
“状态寄存器”的各位称为“状态位”,每一个状态位都可以用来指示数据传输过程中的状态或某种错误。例如,用状态寄存器的D5位为“1”表示“数据输出寄存器”空,用D0位表示“数据输入寄存器满”,用D2位表示“奇偶检验错”等。
能够完成上述“串- -并”转换功能的电路,通常称为“通用异步收发器”(UART:Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251,16550.
******?
第一个区别当然是名字:????SPI(Serial?Peripheral?Interface:串行外设接口)
您可能关注的文档
- S-078-等离子去钻污参数对PCB去钻污量的影响-冯春皓.doc
- S-080-PCB设备热平衡节能改造实践应用-闵秀红.doc
- S7-200存储卡的应用.docx
- S355NL风电法兰低温冲击韧性的工艺研究.doc
- S7-300和S7-400的CPU及性能指标.doc
- S7-300PLC在四辊可逆冷轧机系统中的应用任务书.doc
- S7-300的功能模块.doc
- S7-414HPLC控制系统在能量回收三机组控制中的应用.doc
- s700k型电动转辙机故障处理及分析.doc
- S7200PLC在烟草新型湿式除尘器上的应用.doc
- 福建省厦门市湖里中学2022年九年级化学第一学期期中联考试题含解析.pdf
- 道德与法治-(哈尔滨卷)【试题猜想】2022年中考考前最后一卷(解析版).pdf
- 粉末检验规范 .pdf
- 行政工作总结范文精选十五篇_行政总结 .pdf
- 端午节日记 _原创精品文档.pdf
- 秋姑娘的信教案秋姑娘写信教案(5篇) .pdf
- 福建省厦门市双十中学2023-2024学年八年级上学期期末物理试卷.pdf
- 福建省泉州市鲤城区2023-2024学年九年级上学期期末教学质量跟踪监测化 .pdf
- 福建省政和县第一中学2023-2024学年高三上学期第一次月考地理试题.pdf
- 第12课《汉武帝巩固大一统王朝》学案-word文档资料 .pdf
文档评论(0)