串口通信协议有哪些(通讯协议的方式有哪几种rs485通讯基于什么原理)

2025-02-09 12:00:04 0

串口通信协议有哪些(通讯协议的方式有哪几种rs485通讯基于什么原理)

本文目录

通讯协议的方式有哪几种rs485通讯基于什么原理

通讯协议只是一种双方约定的“暗语”用0和1传输应答信息而已。RS485基于串口通讯,所以基于串口应答通讯方式的半双工协议都可以使用。你可以用MODBUS,也可以自拟协议。只要主从双方能解析数字表达的意义就能完成通讯。同样你可以把MODBUS协议用在其他支持串口通讯半双工的硬件上,如二总线POWERBUS,RS232等。

电气原理TTL接口电平常见的有3.3V和5V的。通过在0和TTL电平之间摆动,来传输数据。需要通讯双方“约定” 好速率。也就是说,通过TTL电平传输的UART接口是一种不传输时钟的“异步通讯“方式。

一般通讯格式以一个字节为最小单位,有8位,和9位的常见格式。第九位有的人用于奇偶效验用。如下图:

而RS485接口,简单说就是把TTL的“0-3.3V/5V之间摆动”的信号,转换为“5V压差颠倒反转的AB线信号”,并且扩流驱动电缆电容。简单说就是这样。所以可以理解为,RS485是以TTL数据源的总线驱动芯片。

当然了。如果扩展RS485来说。作为总线技术,RS485在现场问题很多,不支持任意拓扑,不支持无极性,需要隔离,需要加终端电阻等。如果作为现场施工使用方便布线,二总线方便的多,例如POWERBUS等

什么是串口通信协议

串口通信指l两个或两个以上的设备使用串口按位(bit)发送和接收字节。可以在使用一根线发送数据的同时用另一根线接收数据。 串口通信协议就是串口通讯时共同遵循的协议。 协议的内容是每一个bit 所代表的意义。 常用的串口通信协议 有以下几种1 RS-232(ANSI/EIA-232标准) 只支持 点对点, 最大距离 50英尺。最大速度为128000bit/s, 距离越远 速度越慢。 支持全双工(发送同时也可接收)。2 RS-422(EIA RS-422-AStandard),支持点对多一条平衡总线上连接最多10个接收器 将传输速率提高到10Mbps,传输距离延长到4000英尺(约1219米),所以在100kbps速率以内,传输距离最大。支持全双工(发送同时也可接收)。RS-485(EIA-485标准)是RS-422的改进, 支持多对多(2线连接),从10个增加到32个,可以用超过4000英尺的线进行串行通行。速率最大10Mbps。支持全双工(发送同时也可接收)。2线连接时 是半双工状态。广义上来说USB 协议 sata 硬盘 PCI_E 也是串行通信的范畴. 更为复杂

串口通信协议有哪些

常见的串行通信协议1.UARTUART是通用异步收发传输器,使用RxD和TxD两根线实现异步全双工通信;为确保通信可靠,可以在通信两边接共地;因此,完整的UART通信只需最少3根线即可。RxD是发送数据线,TxD是接收数据线,通信双方使用交叉互联,RxD接对方TxD,TxD接对方RxD。UART使用标准的TTL/CMOS电平(0~5V,0~3.3V,0~2.5V,0~1.8V)来表示数据,高电平表示1,低电平表示0.为了增强抗干扰能力,提高传输长度,可将TTL/CMOS 电平转换为RS232电平逻辑电平,3~12V表示0,-3~-12V表示1(RS232为负逻辑)1)UART平时处于空闲状态,逻辑1状态。2)当有数据发送时,先发送起始位,即将TxD拉低并维持1位时间,接收方在检测到起始位下降沿,等待1.5位后开始一位一位检测数据。3)发送数据,UART数据一帧可以是5,6,7,8位等,一般是8bit,一个字节。数据发送是先发送低位,依次发送,直到最高位。4)可以使用0或者1bit的校验位,校验位可以是奇校验或者偶检验。奇校验:数据加校验位中1的个数为奇数;偶校验:数据加校验位中1的个数为偶数。5)最后是停止位,数据线恢复到空闲状态,停止位可以是1,1.5,2位。1位时间由波特率决定,在UART通信中,波特率(一秒钟传输的符号数)等于比特率(一秒钟传输的字符数),通信双方使用约定的一致的波特率进行通信,常见的波特率有4800,9600,115200等。2.I2C与UART不同,I2C 是同步半双工通信协议。I2C使用SCL,SDA两根双向数据线进行通信,同时为了支持线与逻辑,需要使用开漏输出,同时使用上拉电阻;上拉电阻大小常见的有1.8K,4.7K,10K;在低速场合,为了降低功耗,可以使用10K上拉电阻,1.8K的上拉电阻具有最好的性能,可满足较高速的应用。I2C常见的通信速率有普通:100K,快速:400K,高速:3.4M。I2C最大的从机数量受从机地址和最大总线电容400pF电容的限制。I2C的数据帧格式如下:开始位 | 7bit从机地址 | 1bit读写方向位(0写,1读) | 1bit应答 | 8bit数据1 | 1bit应答1| 。.. | 8bit数据N |1bit非应答N | 停止位 。空闲状态:空闲时,SCL,SDA同时处于高电平。此时,各器件的输出场效应管处于截止状态,释放总线,总线信号由上拉电阻上拉至高电平。开始START:SCL为高电平时,SDA有下降沿。数据传输:数据传输已字节为单位,第一个字节表示从机地址+读写方向,后续数据格式由器件自己定义。数据传输中,SDA的只能在SCL低电平时变化,并在SCL上升沿进行数据采样。应答:每发送一个字节后,接收方必须回应答信号ACK,但发送最后一个字节后,回非应答信号NACK。停止STOP :SCL为高电平时,SDA有上升沿。握手机制:I2C提供握手机制,当主机速度太快而从机无法满足快速通信时,从机可以拉低SCL来与主机握手,从而延长SCL低电平的时间。(SCL高电平由所有器件发出最短的高电平决定,低电平则有低电平最长的决定)。仲裁:SDA是线与逻辑,因此,只要有一端输出低,总线就为低电平,因此是低电平优先仲裁。仲裁规则是发送低电平个数多的主机获得总线权。由于I2C通信的方向性,在一次通信中不能改变数据流方向,因此读过程中需要一次dummy写过程:dummy写完后,在restart,然后将数据流方向改为读,接着就可以读取从机数据内容了。3.SPISPI是同步全双工串行通信协议。SPI定义了4根信号线:SCK:时钟线,主机提供MISO:主入从出MOSI:主出从入SS:片选。片选信号可选,因此通信最少需要3根信号线。SPI在时钟上升沿下进行双向数据交换,主机在输出的同时,也会接收到从机的数据。在设计上,主机从机均需要一个移位寄存器。SPI不区分读写方向,只进行数据交换,要读也必须写,才能将数据交换过来。SPI通过时钟极性和时钟相位定义了4种通信模式:时钟极性CPOL:0:空闲时SCK为0,1:空闲时SCK为1.时钟相位CPHA:0:数据在第一个时钟跳沿采样(可能是上升沿,可能是下降沿,与CPOL有关),1:数据在第二个时钟跳沿采样(可能是上升沿,可能是下降沿,与CPOL有关)。若在上沿采样,则数据在下沿输出,因此数据能够稳定的被采样。

串口用的什么协议

您好,串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线UniversalSerialBus或者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个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。

R232串口通讯协议是指什么内容是它与R485的区别在哪

RS232接口是1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”。该标准规定采用一个25个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。DB25的串口一般只用到的管脚只有2(RXD)、3(TXD)、7(GND)这三个,随着设备的不断改进,现在DB25针很少看到了,代替他的是DB9的接口,DB9所用到的管脚比DB25有所变化,是2(RXD)、3(TXD)、5(GND)这三个。因此现在都把RS232接口叫做DB9。  市场上把公头的接插件叫做DRXX,母头的叫DBXX,比如我们电脑上的串口,在市场上叫做DR9,不是DB9,很多人都误叫做DB9,实际上的DB9是两个把两个DR9互相连接在一起的接口。 一般在教材或者文章中,大家常常把所有的串口设备接口都统一叫做RS232接口。  由于RS232接口标准出现较早,难免有不足之处,主要有以下四点:  (1) 接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL 电平不兼容故需使用电平转换电路方能与TTL电路连接。  (2) 传输速率较低,在异步传输时,波特率为20Kbps。   (3) 接口使用一根信号线和一根信号返回线而构成共地的传输形式,容易产生共模干扰,所以抗噪声干扰性弱。  (4) 传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在50米左右。  针对RS232接口的不足,于是就不断出现了一些新的接口标准,RS-485就是其中之一,它具有以下特点:  (1) RS-485的电气特性:逻辑“1”以两线间的电压差为+(2-6) V表示;逻辑“0”以两线间的电压差为-(2-6)V表示。接口信号电平比RS-232降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL 电路连接。  (2) RS-485的数据最高传输速率为10Mbps 。   (3) RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。  (4) RS-485接口的最大传输距离标准值为4000英尺,实际上可达3000米,另外RS-232接口在总线上只允许连接1个收发器,即单站能力。而RS-485接口在总线上是允许连接多达128个收发器。即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络。  因为RS485接口组成的半双工网络,一般只需二根连线(我们一般叫AB线),所以RS485接口均采用屏蔽双绞线传输。   由于有的设备是232接口的,有的是485接口的,如果有一台232接口的设备与一台485接口的设备通信,那就需要一个RS232/RS485转换器,把232接口的设备的232信号转换成485信号,然后再与485接口的设备通信。如果是两台232接口的设备要进行远距离的通信,那只要加上两个RS232/RS485转换电路就可以了。市场上所谓的“无源RS232/RS485转换器”采用从计算机串口偷电技术,而“有源RS232/RS485转换器”在电路原理图与跟前者差不多,只是电源部分有所改动而已。

怎么写串口通信协议

串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。什么是串口串口是计算机上一种非常通用的设备通信协议(不要与通用串行总线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个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。串口通讯协议是指通信双方的一种约定。约定包括对数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。因此,也叫做通信控制规程,或称传输控制规程,它属于ISO’S OSI七层参考模型中的数据链路层。

51单片机串口通信,和I2C串口通信协议有什么区别和相同

I2C总线是内部总线,用来连接内部系统内的芯片。比如mcu和存储器、键盘现实芯片、ad转换等等。串口通信是用来和系统外部的设别通信的。比如设备和设备之间通信。I2C和串口在通信协议上可以做到一样,也可做到不一样,这取决与具体的情况。mcu和2402通信,mcu和电脑通信它们之间的协议软件可以做到完全一样比如mcu发送1 2402和电脑发送2。

串口通信协议的握手

RS-232通信方式允许简单连接三线:Tx、Rx和地线。但是对于数据传输,双方必须对数据定时采用使用相同的波特率。尽管这种方法对于大多数应用已经足够,但是对于接收方过载的情况这种使用受到限制。这时需要串口的握手功能。在这一部分,我们讨论三种最常用的RS-232握手形式:软件握手、硬件握手和Xmodem。a,软件握手:我们讨论的第一种握手是软件握手。通常用在实际数据是控制字符的情况,类似于GPIB使用命令字符串的方式。必须的线仍然是三根:Tx,Rx和地线,因为控制字符在传输线上和普通字符没有区别,函数SetXModem允许用户使用或者禁止用户使用两个控制字符XON和XOFF。这些字符在通信中由接收方发送,使发送方暂停。例如:假设发送方以高波特率发送数据。在传输中,接收方发现由于CPU忙于其他工作,输入buffer已经满了。为了暂时停止传输,接收方发送XOFF,典型的值是十进制19,即十六进制13,直到输入buffer空了。一旦接收方准备好接收,它发送XON,典型的值是十进制17,即十六进制11,继续通信。输入buffer半满时,LabWindows发送XOFF。此外,如果XOFF传输被打断,LabWindows会在buffer达到75%和90%时发送XOFF。显然,发送方必须遵循此守则以保证传输继续。b,硬件握手:第二种是使用硬件线握手。和Tx和Rx线一样,RTS/CTS和DTR/DSR一起工作,一个作为输出,另一个作为输入。第一组线是RTS(Request to Send)和CTS(Clear toSend)。当接收方准备好接收数据,它置高RTS线表示它准备好了,如果发送方也就绪,它置高CTS,表示它即将发送数据。另一组线是DTR(DataTerminal Ready)和DSR(Data SetReady)。这些线主要用于Modem通信。使得串口和Modem通信他们的状态。例如:当Modem已经准备好接收来自PC的数据,它置高DTR线,表示和电话线的连接已经建立。读取DSR线置高,PC机开始发送数据。一个简单的规则是DTR/DSR用于表示系统通信就绪,而RTS/CTS用于单个数据包的传输。在LabWindows,函数SetCTSMode使能或者禁止使用硬件握手。如果CTS模式使能,LabWindows使用如下规则:当PC发送数据:RS-232库必须检测CTS线高后才能发送数据。当PC接收数据:如果端口打开,且输入队列有空接收数据,库函数置高RTS和DTR。如果输入队列90%满,库函数置低RTS,但使DTR维持高电平。如果端口队列近乎空了,库函数置高RTS,但使DTR维持高电平。如果端口关闭,库函数置低RTS和DTR。c,XModem握手:最后讨论的握手叫做XModem文件传输协议。这个协议在Modem通信中非常通用。尽管它通常使用在Modem通信中,XModem协议能够直接在其他遵循这个协议的设备通信中使用。在LabWindows中,实际的XModem应用对用户隐藏了。只要PC和其他设备使用XModem协议,在文件传输中就使用LabWindows的XModem函数。函数是XModemConfig,XModemSend和XModemReceive。XModem使用介于如下参数的协议:start_of_data、end_of_data、neg_ack、wait_delay、start_delay、max_tries、packet_size。这些参数需要通信双方认定,标准的XModem有一个标准的定义:然而,可以通过XModemConfig函数修改,以满足具体需要。这些参数的使用方法由接收方发送的字符neg_ack确定。这通知发送方其准备接收数据。它开始尝试发送,有一个超时参数start_delay;当超时的尝试超过max_ties次数,或者收到接收方发送的start_of_data,发送方停止尝试。如果从发送方收到start_of_data,接收方将读取后继信息数据包。包中含有包的数目、包数目的补码作为错误校验、packet_size字节大小的实际数据包,和进一步错误检查的求和校验值。在读取数据后,接收方会调用wait_delay,然后向发送方发送响应。如果发送方没有收到响应,它会重新发送数据包,直到收到响应或者超过重发次数的最大值max_tries。如果一直没有收到响应,发送方通知用户传输数据失败。由于数据必须以pack_size个字节按包发送,当最后一个数据包发送时,如果数据不够放满一个数据包,后面会填充ASCII码NULL(0)字节。这导致接收的数据比原数据多。在XModem情况下一定不要使用XON/XOFF,因为XModem发送方发出包的数目很可能增加到XON/OFF控制字符的值,从而导致通信故障。

串口通信用的是什么协议

就是RS-232的串口通信协议。一个TX端,一个RX端,分别用于发送和接收数据。具体如下:串行通信协议分同步协议和异步协议。(1)异步通信协议的实例——起止式异步协议图3特点与格式:起止式异步协议的特点是一个字符一个字符传输,并且传送一个字符总是以起始位开始,以停止位结束,字符之间没有固定的时间间隔要求。其格式如图3所示。每一个字符的前面都有一位起始位(低电平,逻辑值0),字符本身有5~7位数据位组成,接着字符后面是一位校验位(也可以没有校验位),最后是一位,或意味半,或二位停止位,停止位后面是不定长度的空闲位。停止位和空闲位都规定为高电平(逻辑值),这样就保证起始位开始处一定有一个下跳沿。从图中可以看出,这种格式是靠起始位和停止位来实现字符的界定或同步的,故称为起始式协议。传送时,数据的低位在前,高位在后,图4表示了传送一个字符E的ASCAII码的波形1010001。当把它的最低有效位写到右边时,就是E的ASCII码1000101=45H。 图4起/止位的作用:起始位实际上是作为联络信号附加进来的,当它变为低电平时,告诉收方传送开始。它的到来,表示下面接着是数据位来了,要准备接收。而停止位标志一个字符的结束,它的出现,表示一个字符传送完毕。这样就为通信双方提供了何时开始收发,何时结束的标志。传送开始前,发收双方把所采用的起止式格式(包括字符的数据位长度,停止位位数,有无校验位以及是奇校验还是偶校验等)和数据传输速率作统一规定。传送开始后,接收设备不断地检测传输线,看是否有起始位到来。当收到一系列的“1”(停止位或空闲位)之后,检测到一个下跳沿,说明起始位出现,起始位经确认后,就开始接收所规定的数据位和奇偶校验位以及停止位。经过处理将停止位去掉,把数据位拼装成一个并行字节,并且经校验后,无奇偶错才算正确的接收一个字符。一个字符接收完毕,接收设备有继续测试传输线,监视“0”电平的到来和下一个字符的开始,直到全部数据传送完毕。由上述工作过程可看到,异步通信是按字符传输的,每传输一个字符,就用起始位来通知收方,以此来重新核对收发双方同步。若接收设备和发送设备两者的时钟频率略有偏差,这也不会因偏差的累积而导致错位,加之字符之间的空闲位也为这种偏差提供一种缓冲,所以异步串行通信的可靠性高。但由于要在每个字符的前后加上起始位和停止位这样一些附加位,使得传输效率变低了,只有约80%。因此,起止协议一般用在数据速率较慢的场合(小于19.2kbit/s)。在高速传送时,一般要采用同步协议。(2)面向字符的同步协议特点与格式:这种协议的典型代表是IBM公司的二进制同步通信协议(BSC)。它的特点是一次传送由若干个字符组成的数据块,而不是只传送一个字符,并规定了10个字符作为这个数据块的开头与结束标志以及整个传输过程的控制信息,它们也叫做通信控制字。由于被传送的数据块是由字符组成,故被称作面向字符的协议。特定字符(控制字符)的定义:由上面的格式可以看出,数据块的前后都加了几个特定字符。SYN是同步字符(synchronous Character),每一帧开始处都有SYN,加一个SYN的称单同步,加两个SYN的称双同步设置同步字符是起联络作用,传送数据时,接收端不断检测,一旦出现同步字符,就知道是一帧开始了。接着的SOH是序始字符(Start Of Header),它表示标题的开始。标题中包括院地址、目的地址和路由指示等信息。STX是文始字符(Start Of Text),它标志着传送的正文(数据块)开始。数据块就是被传送的正文内容,由多个字符组成。数据块后面是组终字符ETB(End Of Transmission Block)或文终字符ETX(End Of Text),其中ETB用在正文很长、需要分成若干个分数据块、分别在不同帧中发送的场合,这时在每个分数据块后面用文终字符ETX。一帧的最后是校验码,它对从SOH开始到ETX(或ETB)字段进行校验,校验方式可以是纵横奇偶校验或CRC。另外,在面向字符协议中还采用了一些其他通信控制字,它们的名称如下表所示:数据透明的实现:面向字符的同步协议,不象异步起止协议那样,需要在每个字符前后附加起始和停止位,因此,传输效率提高了。同时,由于采用了一些传输控制字,故增强了通信控制能力和校验功能。但也存在一些问题,例如,如何区别数据字符代码和特定字符代码的问题,因为在数据块中完全有可能出现与特定字符代码相同的数据字符,这就会发生误解。比如正文有个与文终字符ETX的代码相同的数据字符,接收端就不会把它当作为普通数据处理,而误认为是正文结束,因而产生差错。因此,协议应具有将特定字符作为普通数据处理的能力,这种能力叫做“数据透明”。为此,协议中设置了转移字符DLE(Data Link Escape)。当把一个特定字符看成数据时,在它前面要加一个DLE,这样接收器收到一个DLE就可预知下一个字符是数据字符,而不会把它当作控制字符来处理了。DLE本身也是特定字符,当它出现在数据块中时,也要在它前面加上另一个DLE。这种方法叫字符填充。字符填充实现起来相当麻烦,且依赖于字符的编码。正是由于以上的缺点,故又产生了新的面向比特的同步协议。(3)面向比特的同步协议特点与格式:面向比特的协议中最具有代表性的是IBM的同步数据链路控制规程SDLC(Synchronous Data Link Control),国际标准化组织ISO(International Standard Organization)的高级数据链路控制规程HDLC(High Level Data link Control),美国国家标准协会(Americal National Standard Institute)的先进数据通信规程ADCCP(Advanced Data Communication Control Procedure)。这些协议的特点是所传输的一帧数据可以是任意位,而且它是靠约定的位组合模式,而不是靠特定字符来标志帧的开始和结束,故称“面向比特”的协议。这中协议的一般帧格式如图5所示:图5帧信息的分段:由图5可见,SDLC/HDLC的一帧信息包括以下几个场(Filed),所有场都是从有效位开始传送。(1)SDLC/HDLC标志字符:SDLC/HDLC协议规定,所有信息传输必须以一个标志字符开始,且以同一个字符结束。这个标志字符是 01111110,称标志场(F)。从开始标志到结束标志之间构成一个完整的信息单位,称为一帧(Frame)。所有的信息是以帧的形传输的,而标志字符提供了每一帧的边界。接收端可以通过搜索“01111110”来探知帧的开头和结束,以此建立帧同步。(2)地址场和控制场:在标志场之后,可以有一个地址场A(Address)和一个控制场C(Control)。地址场用来规定与之通信的次站的地址。控制场可规定若干个命令。SDLC规定A场和C场的宽度为8位或16位。接收方必须检查每个地址字节的第一位,如果为“0”,则后面跟着另一个地址字节;若为“1”,则该字节就是最后一个地址字节。同理,如果控制场第一个字节的第一位为为“0”,则还有第二个控制场字节,否则就只有一个字节。(3)信息场:跟在控制场之后的是信息场I(Information)。I场包含有要传送的数据,并不是每一帧都必须有信息场。即数据场可以为0,当它为0时,则这一帧主要是控制命令。(4)帧校验信息:紧跟在信息场之后的是两字节的争校验,帧校验场称为FC(Frame Check)场或称为帧校验序列FCS(Frame check Squence)。SDLC/HDLC均采用16位循环冗余校验码CRC(Cyclic Redundancy Code)。除了标志场和自动插入的“0”以外,所有的信息都参加CRC计算。实际应用时的两个技术问题:(1)“0”位插入/删除:如上所述,SDLC/HDLC协议规定以01111110为标志字节,但在信息场中也完全有可能有同一种模式的字符,为了把它与标志区分开来,所以采取了“0”位插入和删除技术。具体作法是发送端在发送所有信息(除标志字节外)时,只要遇到连续5个“1”,就自动插入一个“0”,当接收端在接收数据时(除标志字节)如果连续收到5个“1”,就自动将其后的一个“0”删除是,以恢复信息的原有形式。这种“0”位的插入和删除过程是由硬件自动完成的。(2)SDLC/HDLC异常结束:若在发送过程中出现错误,则SDLC/HDLC协议常用异常结束(Abort)字符,或称为失效序列使本帧作废。在HDLC规程中,7个连续的“1”被作为失效字符,而在SDLC中失效字符是8个连续的“1”。当然在试销序列中不使用“0”位插入/删除技术。SDLC/HDLC协议规定,在一帧之内不允许出现数据间隔。在两帧之间,发送器可以连续输出标志字符序列,也可以输出连续的高电平,它被称为空闲(Idle)信号。

串口通信协议有哪些(通讯协议的方式有哪几种rs485通讯基于什么原理)

本文编辑:admin

更多文章:


模板多少钱一张(建筑工地用的木板多少钱一张)

模板多少钱一张(建筑工地用的木板多少钱一张)

本文目录建筑工地用的木板多少钱一张建筑模板1830*915*15MM的木模板多少一张建筑工地用的木板多少钱一张1、模板基本上采用的是多层胶合板、竹膜板等,多层胶合板的规格主要是:90*180cm、100*200cm、120*240cm,厚度

2025年3月31日 14:50

适合编程初学者的编程软件(C语言程序设计哪些编程软件适合初学者)

适合编程初学者的编程软件(C语言程序设计哪些编程软件适合初学者)

本文目录C语言程序设计哪些编程软件适合初学者什么C语言编程软件适合初学者C语言程序设计哪些编程软件适合初学者初学者建议学习中文版的编程软件,因为英文版的什么也看不懂。目前我一直用的是c++6.0中文企业版的,简单易上手,C语言代码,c++的

2025年4月3日 16:50

家装循环水系统有什么作用?火力发电的循环水系统非常重要,都包含什么设备

家装循环水系统有什么作用?火力发电的循环水系统非常重要,都包含什么设备

本文目录家装循环水系统有什么作用火力发电的循环水系统非常重要,都包含什么设备请问热水器循环水系统是怎么回事循环水系统都有哪几种呢发动机的循环水系统是起什么作用循环水系统中存在哪些危害循环水的家用循环水系统是什么循环水怎么做不用电 的自动循环

2025年4月3日 19:50

textmate2(textmate 2 是用什么开发的)

textmate2(textmate 2 是用什么开发的)

本文目录textmate 2 是用什么开发的如何启动TextMate的命令行textmate有windows版本吗TextMate 有哪些优点Sublime Text 2 与 TextMate 2 相比有哪些优缺点textmate 2 是用

2025年2月17日 05:20

hashset实现原理(Java中的HashMap的工作原理是什么)

hashset实现原理(Java中的HashMap的工作原理是什么)

本文目录Java中的HashMap的工作原理是什么java的LinkedHashSet是怎样实现存取有序的, 底层原理是什么对Java如何判断HashSet和HashMap中相同元素的研究java iterator循环遍历集合(比如Hash

2025年2月20日 04:10

数据恢复精灵收费吗(手机恢复精灵软件必须花钱买吗)

数据恢复精灵收费吗(手机恢复精灵软件必须花钱买吗)

本文目录手机恢复精灵软件必须花钱买吗有什么数据恢复软件是不要钱的吗比特数据恢复软件收费吗手机数据恢复精灵收不收费手机恢复精灵软件必须花钱买吗手机恢复精灵软件不需要花钱的。1、百度搜索输入“手机数据恢复精灵”,找到手机数据恢复精灵的百科,点击

2025年3月29日 02:50

constraints是什么意思(constraint与restraint有什么区别)

constraints是什么意思(constraint与restraint有什么区别)

本文目录constraint与restraint有什么区别cascade constraints 是什么意思sql语句中constraint是什么意思constraint中文是什么意思电力系统中thermal constraints是什么意

2025年3月10日 18:20

continuation(为了实现continuation,是不是需)

continuation(为了实现continuation,是不是需)

本文目录为了实现continuation,是不是需continuation这个词 什么时候用比较合适continuation. page和continuity这三个词的区别是什么什么是continuationcontinuity,conti

2025年3月22日 15:40

网关的作用是什么(什么是网关及其作用)

网关的作用是什么(什么是网关及其作用)

本文目录什么是网关及其作用什么是网关,网关的作用是什么什么是网关及其作用一、网关(Gateway),将两个使用不同协议的网络段连接在一起的设备。二、网关的作用就是对两个网络段中的使用不同传输协议的数据进行互相的翻译转换。三、举个例子,一个商

2025年3月16日 21:30

ecshop模板开发哪家好?安装模板后的网页底部有模板堂的超链接,如何去除

ecshop模板开发哪家好?安装模板后的网页底部有模板堂的超链接,如何去除

本文目录ecshop模板开发哪家好安装模板后的网页底部有模板堂的超链接,如何去除ecshop模板开发哪家好二次开发使网站无限接近“完美”ECShop已经是国内最强的的开源电子商务系统了,但并非完美,因为任何程序都会有一些问题,或者改进之处。

2025年3月23日 14:20

redol是什么牌子(手机vivo是什么牌子)

redol是什么牌子(手机vivo是什么牌子)

本文目录手机vivo是什么牌子vivo是什么牌子手机redolbook是什么电脑手机vivo是什么牌子就是vivo这个牌子,前身是步步高公司的,跟OPPO一个公司,后来分开了。VIVO是一个独立的手机品牌,不是其他公司旗下的子品牌。vivo

2025年2月28日 10:10

hotfix是什么意思(hotfix文件夹是干什么的)

hotfix是什么意思(hotfix文件夹是干什么的)

本文目录hotfix文件夹是干什么的U8hotfix是什么文件文件夹hotfix中都是什么文件能不能删除hotfix for windows xp(kb954550-v5)是什么hotfix文件夹是干什么的下载补丁目录,hotfix就是补丁

2025年3月26日 05:00

html5导航条(html5如何做到使用导航栏切换页面时不重新加载页面)

html5导航条(html5如何做到使用导航栏切换页面时不重新加载页面)

本文目录html5如何做到使用导航栏切换页面时不重新加载页面html5中menu和nav的区别如何使用HTML5+CSS制作通明导航条 就是这种的CSS html5如何做到点击导航栏切换页面html5+css3导航条的背景图片怎么添加htm

2025年3月24日 14:50

在线时间戳转换(13位的时间戳怎么转换成标准时间)

在线时间戳转换(13位的时间戳怎么转换成标准时间)

本文目录13位的时间戳怎么转换成标准时间怎么把指定时间转为时间戳如何把10位时间戳转换成时间13位的时间戳怎么转换成标准时间可以用date的-d参数,致于函数可以自己写一个: date命令可以将标准的时间格式转换成unix时间戳 例如: #

2025年2月24日 22:50

软件配置管理工程师(软件配置管理,测试工程师,数据分析,项目经理助理)

软件配置管理工程师(软件配置管理,测试工程师,数据分析,项目经理助理)

本文目录软件配置管理,测试工程师,数据分析,项目经理助理软件配置管理工程师是什么部门的软通动力——配置管理工程师怎么样,面试问什么啊软件配置管理培训课程需求!软件工程师要学什么软件配置管理,测试工程师,数据分析,项目经理助理鉴于你想要长期性

2025年3月25日 07:00

xposed模块商店(xposed pokemon 怎么用)

xposed模块商店(xposed pokemon 怎么用)

本文目录xposed pokemon 怎么用如何安装Xposed模块xposed有什么好玩的模块,请推荐xposed pokemon 怎么用Xposed 框架需要Android 4.0.3及更高版本才能安装,目前还不支持Android 4.

2025年3月23日 14:40

僵尸福星为什么没有国语?僵尸福星如梦扮演者是谁

僵尸福星为什么没有国语?僵尸福星如梦扮演者是谁

本文目录僵尸福星为什么没有国语僵尸福星如梦扮演者是谁《僵尸福星》讲的是什么是电视剧还是电影僵尸福星仔女演员名字僵尸福星为什么没有国语有国语版的,可以在互联网上进行搜索,便可以找到国语版。拓展资料《僵尸福星》是庄伟建执导的奇幻神怪剧,由元华、

2025年2月23日 01:30

嵌入式系统特点(嵌入式计算机系统同通用型计算机系统相比有什么特点呢)

嵌入式系统特点(嵌入式计算机系统同通用型计算机系统相比有什么特点呢)

本文目录嵌入式计算机系统同通用型计算机系统相比有什么特点呢嵌入式系统开发的特点嵌入式系统的定义及特点是什么48嵌入式系统有那些特点呢嵌入式计算机系统同通用型计算机系统相比有什么特点呢嵌入式计算机系统同通用型计算机系统相比具有以下特点: 

2025年2月10日 20:50

androidstudio的sdk安装(android studio怎么配置sdk)

androidstudio的sdk安装(android studio怎么配置sdk)

本文目录android studio怎么配置sdkandroid studio怎样安装sdkandroid studio安装包没有sdk 安装sdk未成功如何解决android studio 怎么安装sdk安装android studio怎

2025年3月6日 18:50

jdk16环境变量配置(安装好jdk1.6.0_16后,如何设置环境变量)

jdk16环境变量配置(安装好jdk1.6.0_16后,如何设置环境变量)

本文目录安装好jdk1.6.0_16后,如何设置环境变量关于JDK环境变量配置的问题如何配置jdk1.6的环境变量jdk1.6的环境变量怎么配置啊jdk环境变量怎么配置安装好jdk1.6.0_16后,如何设置环境变量JDK安装完成之后我们来

2025年3月26日 07:30

近期文章

drains(drin是什么意思)
2025-04-04 04:30:01
本站热文

harbor,port,pier的区别?谁能解释“harbour“(港口)与“pier“(码头)的区别
2025-02-22 17:40:03 浏览:16
ibatis foreach(ibatis 批量update操作)
2025-02-10 23:40:06 浏览:7
endless rain(endless rain表达什么情感)
2025-02-14 06:00:02 浏览:6
标签列表

热门搜索