串行通信为什么要协议(为什么要采用串行通信)

      最后更新:2023-04-02 06:31:55 手机定位技术交流文章

      为什么会出现串口通信,I2C通信,SPI通信,UART通信等等这么多的通信协议,

      UART用在与主机(比如计算机)接口外设相连。 I2C是由飞利浦公司提出的,用于与芯片与芯片之间的通信。spi是摩托罗拉最先提出的,用于芯片与芯片间的通信,与i2c不同的是传输需要四根线,i2c传输需要两根线,所以速率比i2c快。 最早是没有统一的串行接口标准的,各个公司在自己的领域分别提出来,最终成为了通用的标准。
      1、串口通信协议。 串口是计算机上一种非常通用的设备通信协议(不要与通用串行总线Universal SerialBus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信接口;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是比特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配:a,比特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,就是指比特率,例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的比特率为14400,28800和36600。比特率可以远远大于这些值,但是波特率和距离成反比。高比特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语"包"指任何通信的情况。c,停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。d,奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位为1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。2、I2C通信协议。工作速率有100K和400K两种;支持多机通讯;支持多主控模块,但同一时刻只允许有一个主控;由数据线SDA和时钟SCL构成的串行总线;每个电路和模块都有唯一的地址;每个器件可以使用独立电源二. 基本工作原理:以启动信号START来掌管总线,以停止信号STOP来释放总线;每次通讯以START开始,以STOP结束;启动信号START后紧接着发送一个地址字节,其中7位为被控器件的地址码,一位为读/写控制位R/W,R. /W位为0表示由主控向被控器件写数据,R/W为1表示由主控向被控器件读数据;当被控器件检测到收到的地址与自己的地址相同时,在第9个时钟期间反馈应答信号;每个数据字节在传送时都是高位(MSB)在前;写通讯过程:1. 主控在检测到总线空闲的状况下,首先发送一个START信号掌管总线;2. 发送一个地址字节(包括7位地址码和一位R/W);3. 当被控器件检测到主控发送的地址与自己的地址相同时发送一个应答信号(ACK);4. 主控收到ACK后开始发送第一个数据字节;5. 被控器收到数据字节后发送一个ACK表示继续传送数据,发送NACK表示传送数据结束;6. 主控发送完全部数据后,发送一个停止位STOP,结束整个通讯并且释放总线;读通讯过程:1. 主控在检测到总线空闲的状况下,首先发送一个START信号掌管总线;2. 发送一个地址字节(包括7位地址码和一位R/W);3. 当被控器件检测到主控发送的地址与自己的地址相同时发送一个应答信号(ACK);4. 主控收到ACK后释放数据总线,开始接收第一个数据字节;5. 主控收到数据后发送ACK表示继续传送数据,发送NACK表示传送数据结束;6. 主控发送完全部数据后,发送一个停止位STOP,结束整个通讯并且释放总线;四. 总线信号时序分析1. 总线空闲状态SDA和SCL两条信号线都处于高电平,即总线上所有的器件都释放总线,两条信号线各自的上拉电阻把电平拉高;2. 启动信号START时钟信号SCL保持高电平,数据信号SDA的电平被拉低(即负跳变)。启动信号必须是跳变信号,而且在建立该信号前必修保证总线处于空闲状态;3. 停止信号STOP时钟信号SCL保持高电平,数据线被释放,使得SDA返回高电平(即正跳变),停止信号也必须是跳变信号。4. 数据传送SCL线呈现高电平期间,SDA线上的电平必须保持稳定,低电平表示0(此时的线电压为地电压),高电平表示1(此时的电压由元器件的VDD决定)。只有在SCL线为低电平期间,SDA上的电平允许变化。5. 应答信号ACKI2C总线的数据都是以字节(8位)的方式传送的,发送器件每发送一个字节之后,在时钟的第9个脉冲期间释放数据总线,由接收器发送一个ACK(把数据总线的电平拉低)来表示数据成功接收。6. 无应答信号NACK在时钟的第9个脉冲期间发送器释放数据总线,接收器不拉低数据总线表示一个NACK,NACK有两种用途:a. 一般表示接收器未成功接收数据字节;b. 当接收器是主控器时,它收到最后一个字节后,应发送一个NACK信号,以通知被控发送器结束数据发送,并释放总线,以便主控接收器发送一个停止信号STOP。五. 寻址约定地址的分配方法有两种:1. 含CPU的智能器件,地址由软件初始化时定义,但不能与其它的器件有冲突;2. 不含CPU的非智能器件,由厂家在器件内部固化,不可改变。高7位为地址码,其分为两部分:1. 高4位属于固定地址不可改变,由厂家固化的统一地址;2. 低三位为引脚设定地址,可以由外部引脚来设定(并非所有器件都可以设定);3、SPI通信协议。SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共有的,它们是SDI(数据输入)、SDO(数据输出)、SCLK(时钟)、CS(片选)。(1)SDO – 主设备数据输出,从设备数据输入;(2)SDI – 主设备数据输入,从设备数据输出;(3)SCLK – 时钟信号,由主设备产生;(4)CS – 从设备使能信号,由主设备控制。其中,CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成为可能。接下来就负责通讯的3根线了。通讯是通过数据交换完成的,这里先要知道SPI是串行通讯协议,也就是说数据是一位一位的传输的。这就是SCLK时钟线存在的原因,由SCLK提供时钟脉冲,SDI,SDO则基于此脉冲完成数据传输。数据输出通过 SDO线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,输入也使用同样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。要注意的是,SCLK信号线只由主设备控制,从设备不能控制信号线。同样,在一个基于SPI的设备中,至少有一个主控设备。这样传输的特点:这样的传输方式有一个优点,与普通的串行通讯不同,普通的串行通讯一次连续传送至少8位数据,而SPI允许数据一位一位的传送,甚至允许暂停,因为SCLK时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,主设备通过对SCLK时钟线的控制可以完成对通讯的控制。SPI还是一个数据交换协议:因为SPI的数据输入和输出线独立,所以允许同时完成数据的输入和输出。不同的SPI设备的实现方式不尽相同,主要是数据改变和采集的时间不同,在时钟信号上沿或下沿采集有不同定义,具体请参考相关器件的文档。最后,SPI接口的一个缺点:没有指定的流控制,没有应答机制确认是否接收到数据。SPI的片选可以扩充选择16个外设,这时PCS输出=NPCS,说NPCS0~3接4-16译码器,这个译码器是需要外接4-16译码器,译码器的输入为NPCS0~3,输出用于16个外设的选择。4、UART通信协议。UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用来主机与辅助设备通信,如汽车音响与外接AP之间的通信,与PC机通信包括与监控调试器和其它器件,如EEPROM通信。计算机内部采用并行数据,不能直接把数据发到Modem,必须经过UART整理才能进行异步传输,其过程为:CPU先把准备写入串行设备的数据放到UART的寄存器(临时内存块)中,再通过FIFO(First Input First Output,先入先出队列)传送到串行设备,若是没有FIFO,信息将变得杂乱无章,不可能传送到Modem。它是用于控制计算机与串行设备的芯片。有一点要注意的是,它提供了RS-232C数据终端设备接口,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信了。作为接口的一部分,UART还提供以下功能:将由计算机内部传送过来的并行数据转换为输出的串行数据流。将计算机外部来的串行数据转换为字节,供计算机内部并行数据的器件使用。在输出的串行数据流中加入奇偶校验位,并对从外部接收的数据流进行奇偶校验。在输出数据流中加入启停标记,并从接收数据流中删除启停标记。处理由键盘或鼠标发出的中断信号(键盘和鼠标也是串行设备)。可以处理计算机与外部串行设备的同步管理问题。有一些比较高档的UART还提供输入输出数据的缓冲区,比较新的UART是16550,它可以在计算机需要处理数据前在其缓冲区内存储16字节数据,而通常的UART是8250。如果您购买一个内置的调制解调器,此调制解调器内部通常就会有16550 UART。UART作为异步串口通信协议的一种,工作原理是将传输数据的每个字符一位接一位地传输。其中各位的意义如下:起始位:先发出一个逻辑"0"的信号,表示传输字符的开始。资料位:紧接着起始位之后。资料位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ASCII码。从最低位开始传送,靠时钟定位。奇偶校验位:资料位加上这一位后,使得"1"的位数应为偶数(偶校验)或奇数(奇校验),以此来校验资料传送的正确性。停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。 由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。空闲位:处于逻辑"1"状态,表示当前线路上没有资料传送。 波特率:是衡量资料传送速率的指标。表示每秒钟传送的符号数(symbol)。一个符号代表的信息量(比特数)与符号的阶数有关。例如资料传送速率为120字符/秒,传输使用256阶符号,每个符号代表8bit,则波特率就是120baud,比特率是120*8=960bit/s。这两者的概念很容易搞错。
      这些协议分别用在不同的通信,分别完成不通的功能。就像人体内有很多肌肉。但由于完成的功能不同而结构不同。
      有个老师,无所不知! 百度 是耶! 当然,谷歌 通晓 洋文,也十分了得!
      为什么会出现串口通信,I2C通信,SPI通信,UART通信等等这么多的通信协议,

      为什么要有通信协议

      通信协议主要是为了解决设计的标准化问题,现实中,从横向来看,完成一个通信过程,往往需要多种设备、多种传送通道、不同厂家的产品共同来承担,这样的一个链路要协同工作,必然要制定统一的标准规范,这就是协议.从纵向来看,从设计的标准化考虑,通信本身可分为多个层次,最上层的当然是人的操作,最底层的就是物理层的传输,首先要制定分层的标准规范,其次每个层次都需要制定相应的标准规范,也就是协议. 总之,通过标准化的协议制定,可以使平台具备良好的开放性,而良好的开放性可以有效降低成本,并且使得系统具备良好的可移植性.
      为什么要有通信协议

      串行通信的通信协议

      最被人们熟悉的串行通信技术标准是EIA-232、EIA-422和EIA-485,也就是以前所称的RS-232、RS-422和RS-485。由于EIA提出的建议标准都是以“RS”作为前缀,所以在工业通信领域,仍然习惯将上述标准以RS作前缀称谓。EIA-232、EIA-422和EIA-485都是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的,EIA-232在1962年发布,后来陆续有不少改进版本,其中最常用的是EIA-232-C版。目前EIA-232是PC机与通信工业中应用最广泛的一种串行接口。EIA-232被定义为一种在低速率串行通信中增加通信距离的单端标准。EIA-232采取不平衡传输方式,即所谓单端通信。标准规定,EIA-232的传送距离要求可达50英尺(约15米),最高速率为20kbps。由于EIA-232存在传输距离有限等不足,于是EIA-422诞生了。EIA-422标准全称是“平衡电压数字接口电路的电气特性”,它定义了一种平衡通信接口,将传输速率提高到10Mbps,传输距离延长到4000英尺(约1219米),并允许在一条平衡总线上连接最多10个接收器。当然,EIA-422也有缺陷: 因为其平衡双绞线的长度与传输速率成反比,所以在100kbps速率以内,传输距离才可能达到最大值,也就是说,只有在很短的距离下才能获得最高传输速率。一般在100米长的双绞线上所能获得的最大传输速率仅为1Mbps。另外有一点必须指出,在EIA-422通信中,只有一个主设备(Master),其余为从设备(Slave),从设备之间不能进行通信,所以EIA-422支持的是点对多点的双向通信。为扩展应用范围,EIA于1983年在EIA-422基础上制定了EIA-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。由于EIA-485是从EIA-422基础上发展而来的,所以EIA-485许多电气规定与EIA-422相仿,如都采用平衡传输方式、都需要在传输线上接终接电阻、最大传输距离约为1219米、最大传输速率为10Mbps等。但是,EIA-485可以采用二线与四线方式,采用二线制时可实现真正的多点双向通信,而采用四线连接时,与EIA-422一样只能实现点对多点通信,但它比EIA-422有改进, 无论四线还是二线连接方式总线上可接多达32个设备。 USB是英文 Universal Serial Bus 的缩写,翻译成中文的含义是“通用串行总线”。从技术上看,USB是一种串行总线系统,它的最大特性是支持即插即用和热插拔功能。在Windows 2000的操作系统中,任何一款标准的USB设备可以在任何时间、任何状态下与计算机连接,并且能够马上开始工作。USB诞生于1994年,是由康柏、IBM、Intel和Microsoft共同推出的,旨在统一外设接口,如打印机、外置Modem、扫描仪、鼠标等的接口,以便于用户进行便捷的安装和使用,逐步取代以往的串口、并口和PS/2接口。发展至今,USB共有四种种标准:1996年发布的USB1.0,1998年发布的USB1.1以及刚刚发布的最新标准USB2.0,2008年USB 3.0 Promoter Group宣布新一代USB 3.0标准已经正式完成并公开发布。此四种标准最大的差别就在于数据传输速率方面,当然,在其他方面也有不同程度的改进。就目前的USB3.0而言,最大传输带宽高达5.0Gbps,也就是640MB/s,同时能够兼容USB2.0。目前在IT领域,USB接口可谓春风得意。人们在市场上可以看到,每一款计算机主板都带有不少于2个USB接口,USB打印机、USB调制解调器、USB鼠标、USB音箱、USB存储器等产品越来越多,USB接口已经占据了串行通信技术的垄断地位。但是,在工业领域,使用USB接口的产品则甚为少见。在工业领域,人们更要求产品的可靠性和稳定性,目前,EIA标准下的串行通信技术完全可以满足人们对工业设备传输的各种性能要求,而且,这些产品价格非常低廉。相比之下,USB价格较高,并且其即插即用的功能在工业通信中没有优势。因为工业设备一般连接好以后很少进行重复插拔,USB特性的优越性不能很好地被体现出来,也就得不到工业界的普遍认可。因此,在工业领域,EIA标准依然占据统治地位。 IEEE 1394是一种与平台无关的串行通信协议,标准速度分为100Mbps、200Mbps和400Mbps,是IEEE(电气与电子工程师协会)于1995年正式制定的总线标准。目前,1394商业联盟正在负责对它进行改进,争取未来将速度提升至800Mbps、1Gbps和1.6Gbps这三个档次。相比于EIA接口和USB接口,IEEE 1394的速度要高得多,所以,IEEE 1394也称为高速串行总线。IEEE 1394提供了一种高速的即插即用总线。接入这条总线,各种外设便不再需要单独供电,它也支持等时的数据传输,是将计算机和消费类电器连接起来的重要桥梁。例如,用户可以在计算机上接驳一部数字VCR,把它当作一个普通的外设使用,既可用来播放电影,亦可以录制在计算机上编辑视频流。除此以外,带有IEEE 1394接口的DV(数字视频)摄影机和数字卫星接收器目前均已上市。由于速度非常快,所以它是消费类影音(A/V)电器、存储、打印、高分辨率扫描和其他便携设备的理想选择。从技术上看,IEEE 1394具有很多优点,首先,它是一种纯数字接口,在设备之间进行信息传输的过程中,数字信号不用转换成模拟信号,从而不会带来信号损失;其次,速度很快,1Gbps的数据传输速度可以非常好地传输高品质的多媒体数据,而且设备易于扩展,在一条总线中,100Mbps、200Mbps和400Mbps的设备可以共存;另外,产品支持热插拔,易于使用,用户可以在开机状态下自由增减IEEE 1394接口的设备,整个总线的通信不会受到干扰。
      串行通信的通信协议

      为什么要有通信协议?

      网络协议即网络中(包括互联网)传递、管理信息的一些规范。如同人与人之间相互交流是需要遵循一定的规矩一样,计算机之间的相互通信需要共同遵守一定的规则,这些规则就称为网络协议。常见的协议有:TCP/IP协议、IPX/SPX协议、NetBEUI协议等。在局域网中用得的比较多的是IPX/SPX。用户如果访问Internet,则必须在网络协议中添加TCP/IP协议。 TCP/IP是“transmission Control Protocol/Internet Protocol”的简写,中文译名为传输控制协议/互联网络协议)协议, TCP/IP(传输控制协议/网间协议)是一种网络通信协议,它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据往来格式以及传送方式。TCP/IP是INTERNET的基础协议,也是一种电脑数据打包和寻址的标准方法。在数据传送中,可以形象地理解为有两个信封,TCP和IP就像是信封,要传递的信息被划分成若干段,每一段塞入一个TCP信封,并在该信封面上记录有分段号的信息,再将TCP信封塞入IP大信封,发送上网。在接受端,一个TCP软件包收集信封,抽出数据,按发送前的顺序还原,并加以校验,若发现差错,TCP将会要求重发。因此,TCP/IP在INTERNET中几乎可以无差错地传送数据。 对普通用户来说,并不需要了解网络协议的整个结构,仅需了解IP的地址格式,即可与世界各地进行网络通信。IPX/SPX是基于施乐的XEROX’S Network System(XNS)协议,而SPX是基于施乐的XEROX’S SPP(Sequenced Packet Protocol:顺序包协议)协议,它们都是由novell公司开发出来应用于局域网的一种高速协议。它和TCP/IP的一个显著不同就是它不使用ip地址,而是使用网卡的物理地址即(MAC)地址。在实际使用中,它基本不需要什么设置,装上就可以使用了。由于其在网络普及初期发挥了巨大的作用,所以得到了很多厂商的支持,包括microsoft等,到现在很多软件和硬件也均支持这种协议。 NetBEUI即NetBios Enhanced User Interface ,或NetBios增强用户接口。它是NetBIOS协议的增强版本,曾被许多操作系统采用,例如Windows for Workgroup、Win 9x系列、Windows NT等。NETBEUI协议在许多情形下很有用,是WINDOWS98之前的操作系统的缺省协议。总之NetBEUI协议是一种短小精悍、通信效率高的广播型协议,安装后不需要进行设置,特别适合于在“网络邻居”传送数据。所以建议除了TCP/IP协议之外,局域网的计算机最好也安上NetBEUI协议。另外还有一点要注意,如果一台只装了TCP/IP协议的WINDOWS98机器要想加入到WINNT域,也必须安装NetBEUI协议。
      没有通信协议,我们都用自己的协议,那接口不就是不同的了吗?那样就没有办法通信了.
      通讯协议就和说话一样如果说两种话就俩人就听不懂了
      为什么要有通信协议?

      什么是协议?通信双方为什么要使用相同的协议

      协议就相当于一种规定、规则。 通信设备完成通信或服务所必须遵循的规则和约定。通过通信信道和设备互连起来的多个不同地理位置的数据通信系统,要使其能协同工作实现信息交换和资源共享,它们之间必须具有共同的语言,交流什么、怎样交流及何时交流,都必须遵循某种互相都能接受的规则。
      是为保证数据通信网中通信双方能有效,可靠通信而规定的一系列约定.这些约定包括数据的格式,顺序和速率,数据传输的确认或拒收,差错检测,重传控制和询问等操作.数据通信协议分两类:一类称为基本型通信控制协议,用于以字符为基本单位的数据传输,如BSC协议(二进制同步同步通信协议);另一类称为高级键路控制协议,用于以比特为基本单位的数据传输,如HDLC(高级数据键路控制协议)和SDLC(同步数据键路控制协议). 基本型协议使用于简单的低速通信系统,传输速度一般不超过9600bps,通信为异步/同步半双工方式.超错控制为方针码效验.高级键路控制协议采用统一的帧格式,可靠性高,效率高,透明性高,广泛用于公用数据网和计算机网.传输速率一般在2.4kbps到64kbps,通信为同步全双工方式连续发送,差错控制为循环冗余码效验.实际上,通信协议一般分成互相独立的若干层次.按ISO的OSI七层参考模型功用数据网的数据通信协议主要涉及前三层,即物理层.数据键路层和网络层.
      什么是协议?通信双方为什么要使用相同的协议

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/64085.html

          热门文章

          文章分类