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

网口转串口用的是什么原理
网口到串口的原理:网络端口到串行端口是协议转换器。它包括两种类型的产品:串行服务器和串行端口网络端口模块。后者是一种装置,后者通常用作电子元件。该串口网口模块不仅实现了串口网口功能,更是网络化解决方案。由于每个MCU都有一个串口,如果可以使用串口连接以太网,网络将变得非常方便。串行端口服务器使基于TCP / IP的串行数据流传输成为可能。它可以连接多个串行设备,选择和处理串行数据流,并将现有的RS-232接口数据转换为IP端口。然后,数据由IP管理,基于IP的数据访问。这允许将传统的串行数据发送到流行的IP信道,而不需要过早地消除现有设备,提高现有设备的利用率,节省投资并简化现有网络。接线复杂性。串行服务器完成面向连接的RS 232链路和存储控制,用于无连接以太网之间的通信数据。系统处理各种数据,处理来自串行设备的串行数据流,并执行格式转换。使其成为可以通过以太网传播的数据帧,从以太网判断数据帧,并将其转换为串行设备以进行串行数据传输响应。扩展资料:串口服务器的作用:1、串口服务器能将传统的RS-232/422/485设备立即联网。串口设备联网服务器如同含CPU、实时操作系统和TCP/IP协议的微型电脑,在串口和网络设备中传输数据。使用串口服务器可以在世界的任何位置,通过网络,用您的计算机来存取、管理和配置远程的设备。让只具备串行接口的电气设备,如POS、ATM、显示屏、键盘、刷卡机、读卡器、交换机、小型机、加油机、RTU、数控机床、测试仪表等,微机保护装置轻松连接以太网,实现网络化管理和远程控制。2、串口服务器,可以让您减轻工作而非增加工作负担。首先优质串口服务器会有"友好的管理接口",这些数目繁多的串口设备可能分散在不同的远程,因此优质串口转换器可以利用单一接口完成所有的设定就是一项重要的指标,不论是用Windows软件,Web或是Telnet。高效能与低延迟,在某些传统的串口传输应用,115.2Kbps就已经足够使用,然而如果要转为百兆接口转换器通讯,嵌入式设备模块的速度高230.4kbps将更有保障。参考资料:百度百科-网络转串口
网口转串口的原理:网口转串口是一种协议转化器。包括两类产品:串口服务器和串口转网口模块。后者就是一个设备,而后者常常被作为一种电子元器件来使用,这种串口转网口模块不仅是实现串口转网口功能,更确切地说,它是一种联网的解决方案。因为每个MCU都具有串口,如果能够利用串口连接以太网,那么联网将变得非常方便。串口服务器就使得基于TCP/IP的串口数据流传输成为了可能,它能将多个串口设备连接并能将串口数据流进行选择和处理,把现有的RS-232接口的数据转化成IP端口的数据,然后进行IP化的管理,IP化的数据存取。这样就能将传统的串行数据送上流行的IP通道,而无需过早淘汰原有的设备,从而提高了现有设备的利用率,节约了投资,还可在既有的网络基础上简化布线复杂度。串口服务器完成的是一个面向连接的RS 232链路和面向无连接以太网之间的通信数据的存储控制,系统对各种数据进行处理,处理来自串口设备的串口数据流,并进行格式转换。使之成为可以在以太网中传播的数据帧,对来自以太网的数据帧进行判断,并转换成串行数据送达响应的串口设备。扩展资料:串口服务器的作用:1、串口服务器能将传统的RS-232/422/485设备立即联网。串口设备联网服务器如同含CPU、实时操作系统和TCP/IP协议的微型电脑,在串口和网络设备中传输数据。使用串口服务器可以在世界的任何位置,通过网络,用您的计算机来存取、管理和配置远程的设备。让只具备串行接口的电气设备,如POS、ATM、显示屏、键盘、刷卡机、读卡器、交换机、小型机、加油机、RTU、数控机床、测试仪表等,微机保护装置轻松连接以太网,实现网络化管理和远程控制。2、串口服务器,可以让您减轻工作而非增加工作负担。首先优质串口服务器会有"友好的管理接口",这些数目繁多的串口设备可能分散在不同的远程,因此优质串口转换器可以利用单一接口完成所有的设定就是一项重要的指标,不论是用Windows软件,Web或是Telnet。高效能与低延迟,在某些传统的串口传输应用,115.2Kbps就已经足够使用,然而如果要转为百兆接口转换器通讯,嵌入式设备模块的速度高230.4kbps将更有保障。参考资料:百度百科-网络转串口
原理: 串口转以太网口目前可以采用串口转以太网模块来实现,变得非常简单易用,但是在该技术中出现的一些新问题、使用误区需要引起注意。串口转以太网并不是简单传输媒介的变化,而是串口到TCP/IP的协议转化。其中关系到的关键技术包括:TCP/IP的工作模式问题、串口分帧技术、9位技术。而且 串口一般来说就是UART,它实际只定义了数据链路层的规范,也就是起始位、数据位、停止位。但是在不同的物理层又分为:TTL串口、RS232串口、RS485串口等。 赞 1

RS232通讯协议是什么?
没有通讯协议。RS-232是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的,RS-232在1962年发布,命名为EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。RS-232是个人计算机上的通讯接口之一,由电子工业协会(Electronic Industries Association,EIA) 所制定的异步传输标准接口。通常 RS-232 接口以9个接脚 (DB-9) 或是25个接脚 (DB-25) 的型态出现,一般个人计算机上会有两组 RS-232 接口,分别称为 COM1 和 COM2。扩展资料:RS232接口的缺点:由于RS-232-C接口标准出现较早,难免有不足之处,主要有以下四点:(1) 、接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL 电平不兼容故需使用电平转换电路方能与TTL电路连接。(2) 、传输速率较低,在异步传输时,波特率为20Kbps。(3) 、接口使用一根信号线和一根信号返回线而构成共地的传输形式, 这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。(4) 、传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在50米左右。参考资料来源:百度百科-RS-232协议
参考: http://wenku.baidu.com/link?url=EZmhsas-gprRN3IJEM6nxpxle2LcE7IHKLZSEkJPPVy7qI_kQxgsZpt9Msr8Z7TKXRcC0zpStMg8kGK67W6mqZgYjPyxZEDXiTK_f6vE3vWhttp://wenku.baidu.com/link?url=aH5Xqqw7LWQQNjQKx3e41HyP6WODXv5EMvPViFkJUMBPnfKnvgWqJn87W64l4gckKlHIMNLmZBn-FDi2Hzo57Q7zwMeoSIYaxqiP59ltkL_串口、RS232、COM口2007年09月07日 星期五 11:03什么是串口?------------------------------------------串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS232口。同时,串口通信协议也可以用于获取远程采集设备的数据。串口通信的概念非常简单,串口按位(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个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。什么是RS-232?------------------------------------------RS-232(ANSI/EIA-232标准)是IBM-PC及其兼容机上的串行连接标准。可用于许多用途,比如连接鼠标、打印机或者Modem,同时也可以接工业仪器仪表。用于驱动和连线的改进,实际应用中RS-232的传输长度或者速度常常超过标准的值。RS-232只限于PC串口和设备间点对点的通信。RS- 232串口通信最远距离是50英尺。-DB-9针连接头------------- 1 2 3 4 5 /- 6 7 8 9 /-----------从计算机连出的线的截面。RS-232针脚的功能:数据:TXD(pin 3): 串口数据输出RXD(pin 2): 串口数据输入握手:RTS(pin 7): 发送数据请求CTS(pin 8): 清除发送DSR(pin 6): 数据发送就绪DCD(pin 1): 数据载波检测DTR(pin 4): 数据终端就绪地线:GND(pin 5): 地线其他RI(pin 9): 铃声指示注:COM接口就是遵循RS232标准的物理口。COM口指串口的物理实现,而RS232是一种串口接口标准。COM接口------------------------------------------COM接口是指Component Object Mode接口,是微软定义的标准接口。串口叫做串行接口,现在的PC机一般有两个串行口COM 1和COM 2。串行口不同于并行口之处在于它的数据和控制信息是一位接一位地传送出去的。虽然这样速度会慢一些,但传送距离较并行口更长,因此若要进行较长距离的通信时,应使用串行口。通常COM 1使用的是9针D形连接器,也称之为RS-232接口,而COM 2有的使用的是老式的DB25针连接器,也称之为RS-422接口,这种接口目前已经很少使用。RS232 通信 (VB与C 通讯协议,C版)2007-10-13 10:29:08|分类: C Language |标签: |字号大中小 订阅 ./*=============================================================================PIC RS232收到'S'or's',返回"S:StartADC",开始测量CH0电压,并且将数据通过RS232送出;收到'Q'or'q',返回"Q:EndADC",停止量测CH0电压.============================================================================*////////////////////////////////////////////////////////////////////////////////// MPLAB IDE V7.11 + CCS C3.18// Use 16F877A ADC and Rs232 for MCD2-demo//// by LW7807@163.com// 2005/06/23///////////////////////////////////////////////////////////////////////////////#include <16F877A.h>// PIC16F877 header file#pragma device ADC=10 // 10 bits ADC#pragma use delay(clock=4000000)// for 4Mhz crystal#pragma fuses XT, NOWDT, NOPROTECT, NOLVP // for debug mode,//XT就是选时钟,NOWDT没有看门狗 ,NOPROTECT没保护,NOLVP没低电压编程#pragma use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, stream=MYPC)//stream表示对RS232赋缺省值// rs232 setting#define DO_NOTHING0#define DO_START_ADC1#define DO_END_ADC2/*===========================================================================*/void main(void){int16 int_volt;//定义一个16位的整形变量,CCS C缺省是正数无符号,最大到2^16=65536.int8str_volt[21];//定义一个8位的数组变量,CCS C缺省是正数无符号,最大到2^8=256.float flt_volt;//定义一个32位的浮点数变量int8do_what = DO_NOTHING;int8tmp;while(1){// if rs232 get charif(0 != kbhit())//Return true when a character is received in the buffer in case of hardware RS232.//kbhit()即只要有键盘输入字符发送到RS232缓冲器,就返回TURE-1,否则返回False-0.{tmp = fgetc(MYPC);//fgetc()接收到RS232缓冲器的字符,并赋值给tmp.switch(tmp){case 'S':case 's':printf( "S:StartADCn" );do_what = DO_START_ADC;// init pic16f877a adcsetup_adc_ports(RA0_RA1_RA3_ANALOG);setup_adc(ADC_CLOCK_INTERNAL);set_adc_channel(0);break;case 'Q':case 'q':printf( "Q:EndADCn" );do_what = DO_END_ADC;// adc offsetup_adc(ADC_OFF);break;default : // rs232 get other charputc(tmp);break;}//end switch(tmp)}//end if(kbhit())switch(do_what){case DO_START_ADC:// start adc and send result to PCint_volt = read_adc();flt_volt = 5.0 * int_volt / 0x3ff;sprintf(str_volt, "ADC_CH0:%1.3fVn", flt_volt);printf(str_volt);printf( "delay_ms(300)n" );delay_ms(300);break;case DO_END_ADC:// you want to dobreak;case DO_NOTHING:// you want to dobreak;default:break;}//end switch(do_what)}//end while(1) }//end main()
RS-232/RS-485/RS-422 都是通讯电平标准,其仅仅表示什么是'0',什么是'1'。也可称之为电气协议。而一直相关的UART之类的,称为通讯 "时序" 协议。这两个加起来称为通讯的“物理层”。像Modbus之类的,定义了各个字节的含义的数据串,称之为“应用层”。应用程序就是解析了这些数据串,从而知道要往哪里跑、干什么、跑多少、干多少。 有的通讯定义的层数很多,局域网就定义了5-8层,意义各不相同,各层各干什么(自己的事)。用户一般只接触物理层(底层)和应用层(顶层),即我们玩的网卡(底层)和网页浏览(顶层)。中间层用于路由、管理、诊断、分配...
串口通讯协议是指通信双方的一种约定。约定包括对数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。因此,也叫做通信控制规程,或称传输控制规程,它属于ISO'S OSI七层参考模型中的数据链路层。
没有通讯协议。 RS-232是一种通讯接口标准。个人计算机上的通讯接口之一,由电子工业协会(Electronic Industries Association,EIA) 所制定的异步传输标准接口。通常 RS-232 接口以9个引脚 (DB-9) 或是25个引脚 (DB-25) 的型态出现,一般个人计算机上会有两组 RS-232 接口,分别称为 COM1 和 COM2。RS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道。 在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。

串口通讯 tcp通讯
串口通信就用SerialPort,tcp通信就用Socket,很多串口或者网口调试软件都是这样的。例如格西烽火、串口调试助手等。

串口通信协议有哪些
常见的串行通信协议 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有关)。 若在上沿采样,则数据在下沿输出,因此数据能够稳定的被采样。
串口通信指串口按位(bit)发送和接收字节。尽管比特字节(byte)的串行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。串口通信协议是指规定了数据包的内容,内容包含了起始位、主体数据、校验位及停止位,双方需要约定一致的数据包格式才能正常收发数据的有关规范。在串口通信中,常用的协议包括RS-232、RS-422和RS-485。 中文名串口通信协议外文名Serial communication protocol作用发送和接收字节学科计算机学作用用于获取远程采集设备的串口通信的基本原理串口在嵌入式系统当中是一类重要的数据通信接口,其本质功能是作为 CPU 和串行设备间的编码转换器。当数据从 CPU 经过串行端口发送出去时,字节数据转换为串行的位;在接收数据时,串行的位被转换为字节数据。应用程序要使用串口进行通信,必须在使用之前向操作系统提出资源申请要求(打开串口),通信完成后必须释放资源(关闭串口)。典型地,串口用于 ASCII 码字符的传输。通信使用3根线完成:(1)地线,(2)发送数据线,(3)接收数据线。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配:波特率是一个衡量通信速度的参数,它表示每秒钟传送的 bit 的个数;数据位是衡量通信中实际数据位的参数,当计算机发送一个信息包,标准的值是 5,7 和 8 位。如何设置取决于你的需求;停止位用于表示单个包的最后一位,典型的值为 1,1.5和 2 位,停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会;奇偶校验位是串口通信中一种简单的检错方式,有四种检错方式——偶、奇、高和低,也可以没有校验位。[1]有关规定波特率串口异步通讯中由于没有时钟信号,所以通讯双方需要约定好波特率,即每个码元的长度,以便对信号进行解码。常见的波特率有4800、9600、115200等。起始位、停止位数据包从起始位开始,到停止位结束。起始信号用逻辑0的数据位表示,停止信号由0.5、1、1.5或2个逻辑1的数据位表示,只要双方约定一致即可。有效数据 起始位之后便是传输的主体数据内容了,也称为有效数据,其长度一般被约定为5、6、7或8位长。
串口通信指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 也是串行通信的范畴. 更为复杂
串口是计算机上一种非常通用的设备通信协议(不要与通用串行总线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个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。
一、UART UART是一个大家族,其包括了RS232、RS499、RS423、RS422和RS485等接口标准规范和总线标准规范。它们的主要区别在于其各自的电平范围不相同。嵌入式设备中常常使用到的是TTL、TTL转RS232的这种方式。常用的就三根引线:发送线TX、接收线RX、电平参考地线GND。1.1 电路示意图1.2 通信协议将传输数据的每个字符一位接一位地传输。https://img-blog.csdn.net/20170719232822650” alt=”串口数据传输示意图.png” title=”” />起始位:先发出一个逻辑”0”的信号,表示传输字符的开始。数据位:紧接着起始位之后。数据位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ASCII码。奇偶校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验资料传送的正确性。停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。空闲位:处于逻辑“1”状态,表示当前线路上没有资料传送。波特率:数据传输的速率。有以下几个档位:300、600、1200、2400、4800、9600、19200、38400、43000、56000、57600、115200.当然也可以自定义。在数据传输和接收双方,需要预先统一波特率,以便正确的传输数据。二、I2C 总线2.1 电路示意图I²C (Inter-Integrated Circuit)。其拥有一根数据线SDA和一根时钟线SCL。其总线通过上拉电阻与电源相连接。每个接到I2C总线上的器件都有唯一的地址。其中,主动发起操作的一方为主机,另外一方为从机。2.2 数据传输 当没有数据传输的时候,两根总线都为高电

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