您的位置 首页 知识

SPI、I2C、UART三种串行总线的差异

SPI:SerialPeripheralInterface串行外围接口ISP:InSyestermProgram在系统编程AT89S52在系统编程(ISP)所用到的几个引脚定义:SPI简

SPI:Serial Peripheral Interface串行外围接口

ISP:In SyestermProgram在体系编程

AT89S52在体系编程(ISP)所用到的几个引脚界说:

SPI简述(Serial Peripheral Interface–串行外设接口)总线体系是一种同步串行外设接口,它能够使MCU与各种外围设备以串行方法进行通讯以交流信息。外围设置FLASHRAM、网络操控器、LCD显现驱动器、A/D转换器和MCU等。SPI总线体系可直接与各个厂家出产的多种规范外围器材直接接口,该接口一般运用4条线:串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOST和低电平有用的从机挑选线SS(有的SPI接口芯片带有中止信号线INT或INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。由于SPI体系总线总共只需3~4位数据线和操控即可完结与具有SPI总线接口功用的各种I/O器材进行接口,而扩展并行总线则需求8根数据线、8~16位地址线、2~3位操控线,因而,选用SPI总线接口能够简化电路规划,节约许多惯例电路中的接口器材和I/O口线,进步规划的可靠性。由此可见,在MCS51系列等不具有SPI接口的单片机组成的智能仪器和工业测控体系中,当传输速度要求不是太高时,运用SPI总线能够添加运用体系接口器材的品种,进步运用体系的功用。

SPI四线制引脚功用界说

小结:AT89S52单片机的FLASH烧写程序接口是ISP,所用为烧写程序小板上主控芯片AVR的SPI通讯引脚MOSI、MISO、SCLK。

什么是JTAG?

JTAG是一个通讯规范,用于计算机和单片机进行实时快速通讯。

AVR的JTAG功用(只要部分类型才有)使得AVR的调试作业十分简略,能够经过JTAG接口对Flash、EEPROM、熔丝位和锁定位进行编程。

运用AVR studio软件和JTAG硬件(AVR JTAG编程器,AVR JTAG仿真器)能够进行程序下载(编程)和程序在线调试。

JTAG接口有四个引脚。以JTAG的术语来说,这些引脚组成了测验拜访端口TAP。这些引脚是:

·TMS:测验方式挑选。此引脚用来完结TAP操控器各个状况之间的切换。

·TCK:测验时钟。JTAG操作是与TCK同步的。

·TDI:测验数据输入–需求移位到指令寄存器或数据寄存器(扫描链)的串行输入数据。

·TDO:测验数据输出–自指令寄存器或数据寄存器串行移出的数据。

什么是ISP?

ISP是一种通用的程序下载方法,AVR单片机都有ISP下载接口。能够经过ISP下载线或许STK500把程序下载到单片机中。

ISP下载线本钱低价,制造简略,一个并口ISP下载线只需几十元即可得到。开发工具本钱低也是AVR单片机的优势之一。

JTAG与ISP的差异和联络

差异:JTAG能够调试程序,而ISP只能下载程序。

联络:同作为AVR程序下载工具,都能把程序从电脑下载到单片机中。都能对芯片的熔丝位和锁定位进行编程。

JTAG调试与一般软件仿真的差异和联络

联络:都能够在计算机调试程序终端看到程序的运转作用,都能够设置断点,单步运转,进入循环,跳出循环,接连运转等操作。还能实时调查各寄存器的值,IO口状况等。

差异:软件仿真,用的是计算机来仿照单片机运转,不是全真的环境,许多时分会呈现误差乃至过错。而用JTAG在线调试,程序本身在单片机内运转,彻底实在的硬件环境,更精确的反映程序运转的实际情况,有助于大型程序的调试。

第一个差异当然是姓名:
SPI(SerialPeripheralInterface:串行外设接口);
I2C(INTERICBUS:意为IC之间总线)
UART(UniversalAsynchronousReceiverTransmitter:通用异步收发器)

第二,差异在电气信号线上:
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的支撑,并且I2C运用上拉电阻,我觉得抗干扰才能较弱,一般用于同一板卡上芯片之间的通讯,较少用于远距离通讯。SPI完结要简略一些,UART需求固定的波特率,便是说两位数据的距离要持平,而SPI则无所谓,由于它是有时钟的协议。
quickmouse:I2C的速度比SPI慢一点,协议比SPI杂乱一点,可是连线也比规范的SPI要少。

1、SPI(Serial Peripheral Interface串行外围接口):高速、全双工、同步串行口。
三或四个信号用于数据交流:
SIMO:从进,主出
SOMI:从出,主进
UCLK:时钟,由主机驱动,从机用它发送和接纳数据
STE:从机发送答应,用于四线方式中操控多主从体系中的多个从机

三线SPI组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI);当有多个从设备时,还能够添加一条从设备挑选线。四线SPI方式用附加操控线,来答应从机数据的发送和接纳,它由主机操控。

SPI总线能够完结多个SPI设备相互衔接。
供给SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Slave)。

主从设备间能够完结全双工通讯,SPI接口是在CPU和外围低速器材之间进行同步串行数据传输,在主器材的移位脉冲下,数据按位传输,高位在前,位置在后,为全双工通讯。
假如用通用IO口模仿SPI总线,有必要要有一个输出口(SDO),一个输进口(SDI),另一个口则视完结的设备类型而定,假如要完结主从设备,则需输入输出口,若只完结主设备,则需输出口即可,若只完结从设备,则只需输进口即可。

UART需求固定的波特率,而SPI则无所谓,由于它是有时钟的协议。
SPI接口首要运用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。

2、I2C(Inter %&&&&&% Bus)接口界说
I2C总线是双向两线(SCL——串行时钟、SDA——串行数据线)制同步串行总线,具有竞赛检测和裁定机制,可使多个主机恣意一起发送数据而不损坏总线上的数据信息。十分适合在器材之间进行近距离、非经常性的数据通讯。在它的协议体系中,传输数据时都会带上意图设备的设备地址,因而能够完结设备组网。
特色:
A、每个连到总线上的器材都可由软件仅有的地址寻址,并树立简略的主从关系。主器材既可作为发送器,又可作为接纳器。
B、同步时钟答应器材经过总线以不同的波特率进行通讯
C、同步时钟能够作为中止和重新启动串行口发送的握手方法
D、衔接到同一总线上的%&&&&&%器材数只受400PF的总大总线%&&&&&%的约束
假如用通用IO口模仿I2C总线,并完结双向传输,则需一个输入输出口(SDA),别的还需一个输出口(SCL)。

注:组成I2C总线的串行数据线SDA和串行时钟线SCL有必要经过上拉电阻Rp接到正电源上,衔接到总线上的器材的输出极有必要为“开漏”或“开集”的方式,以便完结“线与”的功用。

I2C需求有双向IO的支撑,并且运用上拉电阻,抗干扰才能较弱,一般用于同一板卡上芯片之间的通讯,较少用于远距离通讯。

各种接口之间的差异如下:

1、UART和USART两个的差异是UART:universal asynchronous receiver and transmitter通用异步收发器USART:universal synchronous asynchronous receiver and transmitter通用同步异步收发器,USART是新出的,是复用功用,能够挑选SPI方式(同步串行通讯)也能够是UART方式(异步串行通讯),比UART功用跟强壮。UART便是两线,一根发送一根接纳,能够全双工通讯,线数也比较少。数据是异步传输的,对两边的时序要求比较严厉,通讯速度也不是很快。在多机通讯上面用的最多。

2、SPI接口和上面UART比较,多了一条同步时钟线,上面UART的缺陷也便是它的优点了,对通讯两边的时序要求不严厉不同设备之间能够很简单结合,并且通讯速度十分快。一般用在产品内部元件之间的高速数据通讯上面,如大容量存储器等。

3、I2C接口也是两线接口,它是两根线之间经过杂乱的逻辑关系传输数据的,通讯速度不高,程序写起来也比较杂乱。一般单片机体系里首要用来和24C02等小简单存储器衔接

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/232725.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部