RS232串口通信详解
- 格式:doc
- 大小:288.50 KB
- 文档页数:4
串口通讯—RS-232-C详解蓝鸟发表于 2005-9-22 16:19:34串行通信接口标准经过使用和发展,目前已经有几种。
但都是在RS-232标准的基础上经过改进而形成的。
所以,以RS-232C为主来讨论。
RS-323C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。
它适合于数据传输速率在0~20000b/s范围内的通信。
这个标准对串行通信接口的有关问题,如信号线功能、电器特性都作了明确规定。
由于通行设备厂商都生产与RS-232C制式兼容的通信设备,因此,它作为一种标准,目前已在微机通信接口中广泛采用。
在讨论RS-232C接口标准的内容之前,先说明两点:首先,RS-232-C标准最初是远程通信连接数据终端设备DTE(Data Terminal Equipment)与数据通信设备DCE(Data Communication Equipment)而制定的。
因此这个标准的制定,并未考虑计算机系统的应用要求。
但目前它又广泛地被借来用于计算机(更准确的说,是计算机接口)与终端或外设之间的近端连接标准。
显然,这个标准的有些规定及和计算机系统是不一致的,甚至是相矛盾的。
有了对这种背景的了解,我们对RS-232C标准与计算机不兼容的地方就不难理解了。
其次,RS-232C标准中所提到的“发送”和“接收”,都是站在DTE立场上,而不是站在DCE的立场来定义的。
由于在计算机系统中,往往是CPU和I/O设备之间传送信息,两者都是DTE,因此双方都能发送和接收。
一、RS-232-CRS-232C标准(协议)的全称是EIA-RS-232C标准,其中EIA(Electronic Industry Association)代表美国电子工业协会,RS(ecommeded standard)代表推荐标准,232是标识号,C代表RS232的最新一次修改(1969),在这之前,有RS232B、RS232A。
上位机-串⼝通信详解(以RS232为例))1、什么是串⼝通信?写这个的时候我在想应该怎么解释串⼝通信,因为串⼝通信很多朋友不了解的原因是涉及到硬件的知识,对于没有相关专业知识的朋友很难理解串⼝通信。
所以我这⾥只做部分的解释,需要了解更多硬件相关信息的朋友可以看这篇博⽂:串⼝通信在百度词条上的解释是:串⼝通信(Serial Communications)的概念⾮常简单,串⼝按位(bit)发送和接收的。
简单的解释就是:两个⼈说话,⼀个⼈说,⼀个⼈听。
是的,就是这个么简单。
如果不需要了解硬件,那么我们只需要了解通信,串⼝不需要理解,那是硬件⼯程师需要考虑的事情。
我们今天讲的是上位机与串⼝通信,重点是通信。
2、串⼝通信协议所谓通信协议是指通信双⽅的⼀种约定。
约定包括对数据格式、同步⽅式、传送速度、传送步骤、检纠错⽅式以及控制字符定义等问题做出统⼀规定,通信双⽅必须共同遵守。
串⼝通信协议中,很多朋友很疑惑,RS232,RS485这些协议怎么⽤?但实际上这些准确来说,是⼀种标准。
我们可以直接使⽤这种标准进⾏通信,完全没有任何问题。
还有⼀种⾃定义通信协议,顾名思义,⾃定义通信协议是基于需求编写的,符合RS232等标准的协议。
这部分对于上位机来说,我们只需要得到第三⽅提供的⾃定义通信协议,根据其中的内容进⾏编程即可,具体的功能实现是由硬件⼯程师实现。
在通信协议中,最重要的是端⼝(com)、波特率、数据位、校验位、停⽌位。
3、实现⼀个demo通过上⾯的了解,上位机⼯程师应该有⼀个概念,上位机与串⼝的通信重点是通信,常⽤的通信可以直接使⽤标准的完成,但是如果是属于⾃定义通信协议的,需要提供⾃定义的通信协议。
1)⾸先我们实现⼀个界⾯,如下:2)配置串⼝参数-打开串⼝3)发送数据4)接收数据1、使⽤异步接收数据2、如果需要写完之后直接读,参考以下⽅法:5)效果图:6)基于⾃定义协议的通信(发送和接收都使⽤16进制进⾏)⾸先⾃定义⼀个通信协议:1、使⽤RS232进⾏通信,设定如下:波特率:9600数据位:8停⽌位:1奇偶校验:⽆2、通信协议内容:1)寄存器1 置1 执⾏功能1 地址 0b2)寄存器2 置1 执⾏功能2 地址 1b3)crc校验:将数据+地址等通过与或等操作⽣成的⼀个值(⼀般⾃定义的都会进⾏校验)4)开始位:015)结束位: 056)地址位:0a(根据不同寄存器决定)7)结果位:0e (成功0e,失败00)发送例⼦:执⾏功能101 0b 01 00 00 00 00 00 00 00 06 0e 05解析:01是开始位,0b是对应寄存器1的地址,数据长度是8,没有数据的置00,06是crc校验⽣成值,0e是结果位,05 是结束位。
串口通信详解一、RS-232RS-232在1962年发布,命名为EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。
RS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。
RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。
RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道。
在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。
RS-232-C标准规定的数据传输速率为每秒50、75、 100、150、300、600、1200、2400、4800、9600、19200波特。
RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。
传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。
目前RS-232是PC机与通信工业中应用最广泛的一种串行接口。
RS-232被定义为一种在低速率串行通讯中增加通讯距离的单端标准。
RS-232采取不平衡传输方式,即所谓单端通讯。
收、发端的数据信号是相对于信号地,如从DTE设备发出的数据在使用DB25连接器时是2脚相对7脚(信号地)的电平,DB25各引脚定义参见图1。
典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5~+15V,负电平在-5~-15V 电平。
当无数据传输时,线上为TTL,从开始传送数据到结束,线上电平从TTL电平到RS-232电平再返回TTL电平。
接收器典型的工作电平在+3~+12V与-3~-12V。
由于发送电平与接收电平的差仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高速率为20kb/s。
串口就是计算机上一种非常通用的设备通信协议。
---------------------------------串口的引脚定义:9芯信号方向来自缩写描述1调制解调器CD载波检测2调制解调器RXD接收数据3PC TXD发送数据4PC DTR数据终端准备好5GND信号地6调制解调器DSR通讯设备准备好7PC RTS请求发送8调制解调器CTS允许发送9调制解调器RI响铃指示器两个串口连接时,接收数据针脚与发送数据针脚相连,彼此交叉,信号地对应相接即可。
---------------------------------串口的电气特性:1)RS-232串口通信最远距离就是50英尺2)RS232可做到双向传输,全双工通讯,最高传输速率20kbps3)RS-232C上传送的数字量采用负逻辑,且与地对称逻辑1:-3 ∼-15V逻辑0:+3∼+15V所以与单片机连接时常常需要加入电平转换芯片:---------------------------------串口通信参数:a)波特率:RS-232-C标准规定的数据传输速率为每秒50、75、100、150、300、600、1200、2400、4800、9600、19200波特。
b)数据位:标准的值就是5、7与8位,如何设置取决于您想传送的信息。
比如,标准的ASCII码就是0∼127(7位);扩展的ASCII码就是0∼255(8位)。
c)停止位:用于表示单个包的最后一位,典型的值为1,1、5与2位。
由于数就是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。
因此停止位不仅仅就是表示传输的结束,并且提供计算机校正时钟同步的机会。
d)奇偶校验位:在串口通信中一种简单的检错方式。
对于偶与奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。
例如,如果数据就是011,那么对于偶校验,校验位为0,保证逻辑高的位数就是偶数个。
串口通信RS232和RS485简介PLC与控制设备之间的通信基本上都是基于串行通信接口,采用其对应的通信协议进行控制的,而对于串行通信接口,常用的包括RS232、RS422、RS485。
一、RS232串行通信接口RS-232接口符合美国电子工业联盟(EIA)制定的串行数据通信的接口标准,被广泛用于计算机串行接口外设连接,有些老式PC机上就配置有RS232接口。
RS232的工作方式是单端工作方式,这是一种不平衡的传输方式,收发端信号的逻辑电平都是相对于信号地而言的,RS232最初是DET(数字终端设备)和DCE(数据通信设备)一对一通信,也就是点对点,一般是用于全双工传送,当然也可以用于半双工传送。
此外,RS232是负逻辑,逻辑电平是±5~±15V,传输距离短,只有15米,实际应用可以达到50米,但是再长的距离就须加调制了。
最初RS232标准物理接口是25个引脚的,因为常用的是9个引脚,后来就基本采用DB9连接器了,RS232的DB9连接器的引脚定义见下图:在DB9的9个引脚中,并不是所有的信号端都使用的,比如说RTS/CTS只有在半双工方式中作发送和接收时的切换用,而在全双工方式中,因配置双向通道所以不需要。
一般来说,在全双工方式中RS232标准接线只要三条线就足够了,两根数据信号线TXD/RXD,一根信号地线GND。
双方连接的方式是将TXD和RXD交叉连接,信号地直接相接,然后将各自的RTS/CTS,DSR/DTR短接,将DCD和RI悬空就可以。
二、RS485串行通信接口1、概况为改进RS232通信距离短、速率低的缺点,1983年,RS-485通讯接口被电子工业协会(Electronics Industries Association EIA)批准为一种通讯接口标准。
使用RS-485作为物理层的常用标准协议主要有工业HART总线、modbus协议、Profibus DP等等。
串口是计算机上一种非常通用的 设备通信协议。
串口的电气特性:1) RS-232串口通信最 远距离是50英尺2) RS232可做到双向 传输,全双工通 讯,最高 传输速率20kbps3) RS-232C 上传送的数字量采用 负逻辑,且与地 对称 逻辑1 : -3〜-15V逻辑0 : +3〜+15V所以与单片机连接时常常需要加入 电平转换芯片:9芯 信号方向来自 缩写 描述1 调制解调器 CD 载波检测2 调制解调器 RXD 接收数据3 PC TXD 发送数据4 PC DTR 数据终端准备好5GND 信号地6 调制解调器 DSR 通讯设备准备好7 PC RTS 请求发送8 调制解调器 CTS 允许发送9 调制解调器 RI 响铃指示器两个串口连接时,接收数据 针脚与发送数据针脚相连,彼此交叉,信号地对应相接即可。
串口的引脚定义:串口通信参数:a )波特率: RS-232-C 标准 规定的数据传输速率 为每秒50、75、 100、150、300、600、1200、2400、4800、9600、19200波特。
b )数据位:标准的值是5、7和8位,如何 设置取决于你想 传送的信息。
比如, 标准的 ASCII 码是0〜127 ( 7位);扩 展的ASCII 码是0〜255 ( 8位)。
c )停止位:用于表示 单个包的最后一位,典型的 值为1, 1.5和2位。
由于数是在 传输线 上定时的,并且 每一个设备 有其自己的 时钟,很可能在通信中两台 设备间出现了小小的不同 步。
因此停止位不 仅仅是表示传输的结束,并且提 供计算机校正 时钟同步的机会。
d )奇偶校 验位:在串口通信中一 种简单的检错方式。
对于偶和奇校 验的情况,串 口会设置校验位(数据位后面的 一位),用一个 值确保传输的数据有偶个或者奇个 逻辑高位。
例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。
如果是奇校 验,校验位位1 ,这样就有3个逻辑高位。
RS232通讯原理RS232通讯原理是一种串行通信协议,最早由美国电气和电子工程师协会(American National Standards Institute,ANSI)规定,用于计算机和外设之间传输数据。
RS232通常用于短距离(不超过15米)的数据传输,它定义了数据的传输格式、物理接口和电气特性。
1. 传输格式:RS232使用异步传输方式,即数据以字节为单位传输。
每个字节分为起始位(Start Bit),数据位(Data Bit),校验位(Parity Bit)和停止位(Stop Bit)。
起始位将信号从高电平转换为低电平,标志着一帧的开始。
数据位用来传输实际的数据,可以是5至9位。
校验位用于检测数据传输过程中可能出现的错误,常见的校验方式有奇偶校验(Odd Parity)和偶校验(Even Parity)。
停止位用于将信号从低电平转换为高电平,标志着一帧的结束。
2.物理接口:RS232定义了连接计算机和外设的物理插口,常用的插口类型有9针(DB9)和25针(DB25)。
这些插口包括数据传输所需的引脚,如发送数据线(TXD),接收数据线(RXD),数据终端就绪线(RTS),数据设备就绪线(DTR)等。
发送数据线和接收数据线用于双向数据传输,数据终端就绪和数据设备就绪线用于双向通信的协调。
3.电气特性:RS232规定了数据传输的电气特性,包括逻辑电平、电压范围和电流要求。
逻辑电平分为“1”和“0”,通常使用正电平表示“1”,负电平表示“0”。
电压范围在-25V至25V之间,实际使用中通常在-12V至12V之间。
为了确保可靠的数据传输,RS232的发送器和接收器必须能够提供足够的电流。
1.发送端将要传输的数据转换为二进制编码,并根据RS232的数据格式将数据转换为适当的数据帧。
2.发送端将按照数据帧的格式将一帧数据从发送线发送到接收线,并发送起始位,数据位,校验位和停止位。
这些位形成一个双向传输的数据信号。
串口是计算机上一种非常通用的设备通信协议。
---------------------------------串口的引脚定义:两个串口连接时,接收数据针脚与发送数据针脚相连,彼此交叉,信号地对应相接即可。
---------------------------------串口的电气特性:1)RS-232串口通信最远距离是50英尺2)RS232可做到双向传输,全双工通讯,最高传输速率20kbps3)RS-232C上传送的数字量采用负逻辑,且与地对称逻辑1:-3 ∼-15V逻辑0:+3∼+15V所以与单片机连接时常常需要加入电平转换芯片:---------------------------------串口通信参数:a)波特率:RS-232-C标准规定的数据传输速率为每秒50、75、100、150、300、600、1200、2400、4800、9600、19200波特。
b)数据位:标准的值是5、7和8位,如何设置取决于你想传送的信息。
比如,标准的ASCII码是0∼127(7位);扩展的ASCII码是0∼255(8位)。
c)停止位:用于表示单个包的最后一位,典型的值为1,1.5和2位。
由于数是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。
因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。
d)奇偶校验位:在串口通信中一种简单的检错方式。
对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。
例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。
如果是奇校验,校验位位1,这样就有3个逻辑高位。
--------------------------------- 串口通信的传输格式:串行通信中,线路空闲时,线路的TTL电平总是高,经反向RS232的电平总是低。
一个数据的开始RS232线路为高电平,结束时Rs232为低电平。
RS232RS485通信原理1.RS232通信原理:在RS232通信中,数据是通过电压的高低来表示的。
逻辑1通常表示为低电平(-15V至-3V),而逻辑0通常表示为高电平(+3V至+15V)。
发送器将数据转换为电压信号,并通过发送线发送给接收器。
接收器接收电压信号,并将其转换回原始数据。
数据的传输速率可以在通信连接的两端进行配置。
2.RS485通信原理:RS485是一种多点通信方式,即一对多或多对多的通信连接。
在RS485通信中,可以有多个设备同时连接在同一总线上。
每个设备都有一个唯一的地址。
数据在RS485通信中同样是通过串行方式传输的,但与RS232不同的是,RS485使用差分信号传输。
差分信号是由两个线,一个正极性线和一个负极性线组成的。
逻辑1由正极性线为高电平,负极性线为低电平表示,逻辑0则相反。
这种差分信号可以减小干扰和串扰的影响,提高通信的可靠性。
RS485通信需要使用一个总线驱动器来驱动差分信号的发送,以及一个接收器来接收差分信号并将其转换为原始数据。
多个设备可以同时发送和接收数据,但需要注意冲突检测和数据帧的区分。
在RS485通信中,总线上的设备必须共享相同的地线,以提供参考电压。
3.RS232和RS485的区别:- 点对点 vs 多点:RS232是一对一的通信连接,而RS485可以支持一对多或多对多的通信连接。
- 单端信号 vs 差分信号:RS232使用单端信号传输,而RS485使用差分信号传输。
差分信号提供更好的抗干扰性能。
-速率和距离:RS232通常用于较短距离和较低速率的通信,而RS485可以支持较长距离和较高速率的通信。
-引脚和连接:RS232通常使用9针或25针的D型连接器,而RS485使用通常使用2线或4线连接。
总结:RS232和RS485是两种常见的串口通信协议,用于在计算机和外部设备之间进行数据传输。
RS232是一对一的点对点通信连接,使用单端信号传输;而RS485可以支持一对多或多对多的通信连接,使用差分信号传输。
RS232通讯原理RS232是一种串行通信接口标准,用于连接计算机和外部设备,它被广泛应用于计算机与调制解调器、打印机、数码相机等设备之间的数据传输。
RS232通信原理涉及到物理连接、数据传输、波特率、数据帧格式等方面,下面将详细介绍RS232通信的原理。
1.物理连接:RS232通信使用的是一对串行线,其中一条线为发送线Tx,另一条线为接收线Rx。
发送端将串行数据转换为电压信号,通过发送线发送到接收端,接收端将电压信号解码为串行数据。
此外,RS232通信还使用了共地线GND来提供共同的参考电平。
2.数据传输:RS232通信使用非归零电平编码,即逻辑1不产生电平变化,逻辑0产生一定的电平变化。
一般情况下,逻辑1对应于高电平,逻辑0对应于低电平。
数据传输是以位为单位进行的,发送端每次发送一个位的数据,接收端每次接收一个位的数据。
3.波特率:4.数据帧格式:RS232通信使用的数据帧包含起始位、数据位、校验位和停止位。
起始位用于表示数据帧的开始,一般为逻辑0。
数据位是实际的数据位数,一般为8位。
校验位用于检查数据传输的正确性,可以是奇校验、偶校验或无校验。
停止位用于表示数据帧的结束,一般为逻辑15.控制信号:RS232通信还使用了一些控制信号,包括RTS(Request to Send)、CTS(Clear to Send)、DTR(Data Terminal Ready)和DSR(Data Set Ready)等。
这些控制信号用于控制数据的流向和设备之间的握手信号。
6.RS232电平:RS232通信使用的电平范围为-15V至+15V,其中-3V至-15V表示逻辑1,+3V至+15V表示逻辑0。
为了适应不同的应用场景,RS232通信还定义了+12V至+15V表示逻辑1,-3V至-12V表示逻辑0的低压版本(称为RS232-L)和+3V至+12V表示逻辑1,-12V至-3V表示逻辑0的高压版本(称为RS232-H)。
rs232串口通信原理
RS232串口通信是一种常用的串行通信协议,用于在计算机和外部设备之间传输数据。
它采用的是一种全双工的通信方式,即可以同时进行数据的发送和接收。
在RS232串口通信中,数据通过一根称为串口线的物理连接
来传输。
这根串口线由三根信号线构成:数据线(TXD和RXD)、控制线(CTS、RTS、DTR和DSR)和地线(GND)。
其中,数据线负责传输数据,控制线用于控制数
据的流动,而地线用于连接串口设备的地。
数据的传输是通过电压的变化来实现的。
当发送数据时,计算机会将数据转换为相应的电压信号,并通过TXD线发送出去。
接收数据时,外部设备会将电压信号转换为相应的数据,并通过RXD线发送回计算机。
为了确保数据的正确传输,RS232串口通信引入了一些控制信号。
其中,RTS(请求发送)、CTS(清除发送)、DSR(数
据设备就绪)和DTR(数据终端就绪)用于控制数据的流动,以避免数据的丢失或冲突。
例如,当计算机希望发送数据时,会先发送一个RTS信号给外部设备,请求数据发送的权限。
外部设备在接收到RTS信号后,会发送一个CTS信号给计算机,表示已经清除发送,并可以开始传输数据。
类似地,DSR 和DTR信号用于设备之间的就绪状态的通知。
除了控制信号外,RS232串口通信还定义了一些数据格式,如起始位、数据位、停止位和奇偶校验位等。
这些数据格式的定
义旨在保证数据的准确性和可靠性。
总的来说,RS232串口通信通过物理连接和控制信号的交互,实现了计算机与外部设备之间的数据传输,为各种设备的连接和通信提供了一种简单可靠的方式。
RS232通讯协议RS232通讯协议是一种常用的串口通讯协议,用于定义串行通信数据的格式和传输规则。
RS232协议在计算机和外部设备之间传输数据,例如打印机、调制解调器、串行鼠标等。
本文将详细介绍RS232通讯协议的特点、工作原理和常见应用。
一、RS232通讯协议的特点1.单工通信:RS232协议只能实现单工通信,即数据的传输只能在一个方向上进行。
发送端称为DTE(数据终端设备),接收端称为DCE(数据通讯设备)。
2.异步通信:RS232协议使用异步通信模式,数据的传输不依赖于时钟信号。
发送端和接收端通过起始位、数据位、校验位和停止位来识别数据的边界。
3.硬件电平:RS232协议使用正负电平表示数据的逻辑值,-3V到-25V表示逻辑1,+3V到+25V表示逻辑0。
这种电平差异可以有效地抵抗干扰,并提高信号的可靠性。
4.数据位数可变:RS232协议支持数据位数的灵活配置,常见的有7位、8位和9位。
数据位数越多,传输的数据范围越广。
二、RS232通讯协议的工作原理1.物理层:物理层负责定义RS232通信的电气规范,包括电平范围、接口类型和接线方式。
通过物理层的规范,确保数据能够正确地在发送端和接收端之间传输。
2.数据链路层:数据链路层负责定义数据的帧结构和传输规则。
每一帧数据由起始位、数据位、校验位和停止位组成,起始位表示数据的开始,停止位表示数据的结束,数据位和校验位用于传输数据和校验数据的准确性。
3.应用层:应用层负责定义数据的具体格式和处理方法。
例如,发送端发送的数据可能是一条命令,接收端则根据命令执行相应的操作。
三、RS232通讯协议的应用1.打印机:计算机通过RS232协议将要打印的数据发送给打印机,打印机通过RS232协议接收数据并进行打印操作。
3.串行鼠标:计算机通过RS232协议接收鼠标发送的数据,根据鼠标的移动和点击等操作进行相应的处理。
4.工业控制系统:RS232通讯协议常用于工控系统中,用于与各种传感器、执行器等设备进行数据交互,实现自动化控制。
RS232通信原理是一种基于电压变化的异步串行通信方式。
以下是其主要的通信原理和特点:
传输方式:RS232使用一对传输线(发送线和接收线)通过发送和接收电信号来传输数据。
发送线负责将数据位从计算机发送到外部设备,而接收线则负责将数据位从外部设备发送到计算机。
电平表示:在RS232通信中,逻辑1和逻辑0是通过不同的电压电平来表示的。
通常,正电压表示逻辑0,负电压表示逻辑1。
但需要注意的是,有些设备可能采用相反的电平表示方式。
数据帧格式:RS232通信将数据划分为数据帧进行传输。
每个数据帧包括一个起始位、数据位、校验位和停止位。
起始位用于指示数据的开始,数据位是实际传输的数据,校验位用于验证数据的准确性,停止位用于指示数据的结束。
异步通信:RS232通信是异步的,这意味着发送方和接收方没有共同的时钟信号来同步数据传输。
相反,它们依赖于数据帧中的起始位和停止位来识别每个字节的边界。
电气特性:为了使RS232通信正常工作,发送方和接收方的电气特性需要匹配。
这包括电压范围、驱动能力和接收灵敏度等方面。
电缆和连接器:RS232通信使用满足一定要求的电缆和连接器来确保数据的传输质量和稳定性。
常见的RS232电缆类型包括DB9和DB25等。
总的来说,RS232通信原理基于电压的变化,通过发送和接收电信号来传输数据。
它具有简单、可靠、低成本等优点,在计算机与外部设备之间的通信中得到了广泛应用。
然而,随着技术的发展,RS232通信已经逐渐被更高速、更稳定的通信方式所取代,如USB、Ethernet等。
rs232串口通信协议详解篇一:RS232通讯协议RS232通讯协议基本结构波特率 9600 bit/s,8bit,,位停止,无校验位格式0EBH,地址,命令,长度(,),数据1,---数据,,冗余说明:0EBH为帧起始位长度小于输出端口数冗余=地址+命令+长度+数1+---+数,如果冗余=0EBH,为防止与帧起始位相同,则发送反码,即冗余=14H当接收正确时,1) 在命令1,2,5,6时,回送 0EBH,地址,命令,01H,0FAH,冗余,并执行命令。
2) 在命令3,4,7时,回送相应信息。
当接收不正确时,1) 地址正确,冗余不正确,回送0EBH,地址,命令,101H,0F5H,冗余。
2) 地址不正确,不回送任何信息。
串口通讯—通信协议所谓通信协议是指通信双方的一种约定。
约定包括对数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。
因此,也叫做通信控制规程,或称传输控制规程,它属于ISO'S OSI七层参考模型中的数据链路层。
目前,采用的通信协议有两类:异步协议和同步协议。
同步协议又有面向字符和面向比特以及面向字节计数三种。
其中,面向字节计数的同步协议主要用于DEC 公司的网络体系结构中。
一、物理接口标准1.串行通信接口的基本任务(1)实现数据格式化:因为来自CPU的是普通的并行数据,所以,接口电路应具有实现不同串行通信方式下的数据格式化的任务。
在异步通信方式下,接口自动生成起止式的帧数据格式。
在面向字符的同步方式下,接口要在待传送的数据块前加上同步字符。
(2)进行串,并转换:串行传送,数据是一位一位串行传送的,而计算机处理数据是并行数据。
所以当数据由计算机送至数据发送器时,首先把串行数据转换为并行数才能送2入计算机处理。
因此串并转换是串行接口电路的重要任务。
(3)控制数据传输速率:串行通信接口电路应具有对数据传输速率——波特率进行选择和控制的能力。
RS232串口使用说明RS232串口是一种异步串行通信接口,它使用一对差分信号,即正负两个信号线来进行数据传输。
其中,TXD(发送数据)和RXD(接收数据)是最基本的信号线,还有RTS(请求发送)、CTS(清除发送)、DTR(数据终端就绪)、DSR(数据集就绪)、DCD(数据载波检测)和RI(响铃指示)等信号线。
在使用RS232串口之前,我们需要了解如何连接它。
一般来说,RS232串口使用9针或25针连接器,其中9针连接器包括3根控制线和5根信号线,而25针连接器包括8根控制线和16根信号线。
我们需要将串口线插入计算机的串口插槽中,并确保插入正确的插槽。
在连接完串口之后,我们需要设置串口参数。
首先,打开计算机的串口设置界面,在资源管理器中找到串口的名称(如COM1、COM2等),并选择相应的串口。
然后,设置波特率、数据位、停止位和奇偶校验位等参数。
波特率表示数据传输的速度,常见的波特率有1200、2400、4800、9600等选项。
数据位表示每个数据字节所使用的位数,常见的数据位有7位和8位。
停止位表示数据字节之间的停止位数,常见的停止位有1位和2位。
奇偶校验位用于检测和纠正数据传输中的错误。
设置完串口参数之后,我们可以开始通过串口进行数据通信了。
首先,我们需要打开一个串口通信软件,如Tera Term、HyperTerminal等。
在软件的设置界面中,选择正确的串口和参数,然后点击连接按钮。
连接成功后,我们可以在软件的命令行界面中输入命令或发送数据,然后通过串口发送给目标设备。
在接收数据时,我们可以通过串口接收到目标设备发送的数据,并在软件的命令行界面中显示出来。
除了通过串口通信软件进行数据通信,我们还可以使用编程语言来控制串口。
常见的编程语言如C、C++、Python、Java等都提供了相应的串口编程接口。
通过编写程序,我们可以实现与目标设备的高级数据通信功能,如发送命令、接收数据、解析数据等。
RS232串口通信详解串口是计算机上一种非常通用的设备通信协议。
串口的引脚定义:9芯信号方向来自缩写描述1 调制解调器CD 载波检测2 调制解调器RXD 接收数据3 PC TXD 发送数据4 PC DTR 数据终端准备好5 GND 信号地6 调制解调器DSR 通讯设备准备好7 PC RTS 请求发送8 调制解调器CTS 允许发送9 调制解调器RI 响铃指示器两个串口连接时,接收数据针脚与发送数据针脚相连,彼此交叉,信号地对应相接即可。
串口的电气特性:1)RS-232串口通信最远距离是50英尺2)RS232可做到双向传输,全双工通讯,最高传输速率20kbps3)RS-232C上传送的数字量采用负逻辑,且与地对称逻辑1:-3 ~-15V逻辑0:+3~+15V所以与单片机连接时常常需要加入电平转换芯片:---------------------------------串口通信参数:a)波特率:RS-232-C标准规定的数据传输速率为每秒50、75、 100、150、300、600、1200、2400、4800、9600、19200波特。
b)数据位:标准的值是5、7和8位,如何设置取决于你想传送的信息。
比如,标准的ASCII码是0~127(7位);扩展的ASCII码是0~255(8位)。
c)停止位:用于表示单个包的最后一位,典型的值为1,1.5和2位。
由于数是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。
因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。
d)奇偶校验位:在串口通信中一种简单的检错方式。
对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。
例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。
如果是奇校验,校验位位1,这样就有3个逻辑高位。
---------------------------------串口通信的传输格式:串行通信中,线路空闲时,线路的TTL电平总是高,经反向RS232的电平总是低。
rs232通信原理RS232通信原理RS232是指国际电信联盟(ITU-T)定义的一种串行通信接口标准,它是一种用于在数据通信设备之间传输二进制数据的通信协议。
RS232通信原理主要涉及数据传输的物理接口、信号电平和数据帧格式等方面。
1. 物理接口RS232使用一对差分信号线进行数据传输,其中TXD(Transmit Data)线用于发送数据,RXD(Receive Data)线用于接收数据。
这两条信号线通常使用DB9或DB25接口进行连接。
RS232使用单端信号进行数据传输,即发送和接收两端的信号相对于地线(GND)的电位差来表示数据。
2. 信号电平RS232使用正负电平表示逻辑1和逻辑0。
在空闲状态时,发送和接收线的电平都保持为负电平(逻辑1)。
当发送端需要发送一个逻辑1时,将发送线的电平变为正电平;当发送端需要发送一个逻辑0时,将发送线的电平变为负电平。
接收端通过接收线的电平变化来识别发送端发送的逻辑1和逻辑0。
3. 数据帧格式RS232通信使用数据帧的形式进行数据传输。
一个数据帧由起始位、数据位、校验位和停止位组成。
起始位是一个逻辑0,用于标识数据帧的开始;数据位用于传输实际的数据,可以是5位、6位、7位或8位;校验位用于验证数据的正确性,可以是奇校验、偶校验或无校验;停止位是一个逻辑1,用于标识数据帧的结束。
4. 通信流程RS232通信的典型流程如下:- 发送端准备好要发送的数据,并将起始位设置为逻辑0。
- 发送端按照数据位的设置,将数据逐位发送到发送线上。
- 发送端计算并设置校验位,将校验位发送到发送线上。
- 发送端设置停止位为逻辑1,将停止位发送到发送线上。
- 接收端检测到起始位为逻辑0后,开始接收数据。
- 接收端按照数据位的设置,接收并存储数据位。
- 接收端接收校验位,并验证数据的正确性。
- 接收端检测到停止位为逻辑1后,表示数据帧接收完成。
5. 通信速率RS232通信的速率由波特率(Baud Rate)来表示,它表示每秒传输的比特数。
RS232通信协议详解RS-232(又名EIA-232)是指一种标准,用于串行传输数据。
RS-232 协议是由美国电子工业协会制定的,用来规定计算机、通信设备等之间串行的数据通信标准。
这种协议早期主要是用于计算机与调制解调器的通信,现在则应用广泛。
RS-232协议定义了电气信号、数据格式、波特率及其他物理层面的参数。
它的标准约定了串行通信所使用的数据线是双向的,而且有一定的物理接口规范,常见的接口是DB-9和DB-25接口。
RS-232通信可以采用两段通信方式,分别是同步和异步通信。
同步通信要求发送数据方和接收数据方同步接收和发送数据,需要在传输数据的时候使用时钟信号。
这种通信方式数据传输相对较快但比较麻烦,所以现在一般采用异步通信。
而异步通信则是数据通过起始位、数据位、校验位和停止位进行传输,每个字节的传输是独立的,不需要使用时钟信号,这种通信方式更加简单,但是数据传输速率相对慢一些,通常在115200 bps以下。
关于数据传输,RS-232可以发送ASCII码数据和二进制数据,由于标准协议规定了数据的格式,因此在RC-232协议中每个数据字节是由最少5位,最多8位包括1个奇偶校验位和1个停止位组成。
奇偶校验位可以检测出字节中是否有误,事实上,很多情况下是不需要奇偶校验的,所以可以通过配置省略它。
在RS-232中,DTE(数据终端设备)和DCE(数据通信设备)通信的数据线分为两类:控制线和数据线。
控制线主要用于信号控制,如地线、数据就绪、请求发送、清除发送、时钟等等;而数据线则用于数据的传输。
总之,RS-232是一个用于串行数据通信的标准协议,它定义了通信的物理层面、数据格式和各种参数。
因此,RS-232在很多应用中都有很大的作用,其应用范围广泛,并且可以和许多设备通信,包括计算机、调制解调器、打印机、扫描仪等等。
在从事硬件开发和通信调试方面时需要熟练掌握RS-232协议的应用。
RS232通信协议简介RS232是一种串行通信协议,它是由美国电子工业协会制定的一套标准,用于在计算机和外部设备之间传输数据。
它是一种经典的通信协议,常被用于串口通信。
RS232特点•点对点通信:RS232协议是一种点对点通信协议,即只能在两个设备之间进行通信,不能实现多个设备同时通信。
•串行传输:RS232协议采用串行传输方式,即数据位逐位地传输,与并行传输相比,串行传输只需使用一根线缆,因此更加节省成本。
•异步通信:RS232协议采用异步通信方式,即数据传输的时钟信号由发送方和接收方的时钟不同步产生,发送端按照一定的协议将数据逐位地发送,接收端则根据协议进行解码。
RS232通信流程RS232通信的流程大致可以分为三个步骤:建立连接、数据传输和断开连接。
1. 建立连接在RS232通信中,建立连接需要确保以下几点:•串口设置:发送方和接收方的串口设置(波特率、数据位、停止位、校验位等)必须一致,以保证数据能够正确传输。
•物理连接:发送方的串口输出引脚(TX)连接到接收方的串口输入引脚(RX),同时发送方的串口输入引脚(RX)连接到接收方的串口输出引脚(TX)。
2. 数据传输一旦建立连接,数据传输可以开始。
数据传输的基本单位是字节,发送方将数据按照一定的顺序和协议逐字节地发送给接收方。
在RS232通信中,数据传输的顺序是由发送方控制的。
发送方按照一定的协议将数据逐字节地发送给接收方,接收方则根据协议进行解码。
3. 断开连接当数据传输完成后,需要断开连接。
断开连接的方式可以是发送一个特定的断开连接指令,或者直接关闭串口。
RS232常见应用RS232通信协议广泛应用于各种领域,如工业控制、通信设备、计算机外设等。
以下是一些常见的RS232应用场景:•串口调试:RS232通信协议可以用于串口调试,通过串口连接计算机和调试工具,可以实现对设备的配置、数据传输和调试等功能。
•数据采集:RS232通信协议可以用于数据采集,通过串口连接采集器和计算机,可以实现对各种传感器数据的采集和处理。
RS232串⼝通信基本知识与实例1,RS232串⼝通信基本知识(1)⽬前较为常⽤的串⼝是9针串⼝(DB9。
通信距离较近时(<12m),可以⽤电缆线直接连接标准RS232端⼝;若距离较远,需附加调制解调器(MOD EM)。
(2)RS232C串⼝通信接线⽅法(三线制)接收数据针脚(或线)与发送数据针脚(或线)相连,彼些交叉,信号地对应相接(3)DB9接⼝三线引脚定义2 ---- RXD 接收数据3 ---- TXD 发送数据5 ---- GND 信号地(4)串⾏通信⽅式1)单⼯:信息只能单向传送2)半双⼯:信息可双向传送但不能同时进⾏3)全双⼯:信息可同时进⾏双向传送(5)RS232逻辑电平逻辑0电平规定为+5 ~ +15V之间;逻辑1是电平为-5 ~ -15V之间,因此在与单⽚机进⾏通信时需要进⾏电平转换(6)RS232串⾏通信接⼝电路设计(7)51单⽚机串⾏通信接⼝软件设计1)两个重要指标:可靠性和速度,可靠性是第⼀位。
2)与串⼝通信相关的⼏个寄存器和控制位TMOD:可以⽤它来设置定时器⼯作⽅式(如果在MCU中使⽤的是定时器来产⽣波特率,就需要对这个寄存器进⾏设置,通常设为0x20,即设置定时器1为8位⾃动重装定时器,即⼯作⽅式1)TH1和TL1:定时器1初始值(可通过波特率计算软件获得)TR1:开启定时器1SCON:串⼝控制寄存器,通常设为0x50,即10位异步传输,由定时器1产⽣波特率,⽆奇偶校验位,允许接收PCON:这个寄存器主要⽤到它的最⾼位SMON,当最⾼位设为1时,原波特率加倍ES:串⼝中断使能位EA:全局中断使能位3)波特率计算⽅法(使⽤⼀个名为“51波特率初值计算.exe”的⼩软件)第1步:选择定时器⼯作⽅式(⽅式2)第2步:输⼊晶振值(11.0592)第3步:选择波特率(9600)第4步:设置SMOD值(0)第5步:点击确定第6步:将软件上显⽰值赋给TH1和TL14)串⼝初始化程序void Initial_RS232(unsigned char rate){ //默认晶振值为11.0592MHzunsigned char Reload1;switch(rate) //根据拨码器设置波特率{case 0:Reload1 = 0xE8; //2400bpsbreak;case 1:Reload1 = 0xF4; //4800bpsbreak;case 2:Reload1 = 0xFA; //9600bpsbreak;case 3:Reload1 = 0xFD; //19200bpsbreak;default:Reload1 = 0x00;break;}PCON = PCON|0x80; //SMOD = 1 ;波特率加倍TMOD = 0x20; //0011,00010设置定时器1为8位⾃动重装计数器SCON = 0x50; //0101,0000 8位可变波特率,⽆奇偶校验位TH1 = Reload1; //设置定时器1⾃动重装数TL1 = Reload1;TR1 = 1; //开定时器1ES = 1; //允许串⼝中断EA = 1; //开总中断}5)串⼝发送程序void Send_RS232(unsigned char i){ES = 0; //关串⼝中断TI = 0; //清零串⼝发送完成中断请求标志 SBUF = i;while(TI ==0); //等待发送完成TI = 0; //清零串⼝发送完成中断请求标志 ES = 1; //允许串⼝中断}6)串⼝接收程序void Receive_RS232(void) interrupt 4{unsigned char temp= 0;ES = 0;if(RI==1){RI = 0;temp = SBUF;}ES = 1;}。
.
串口是计算机上一种非常通用的设备通信协议。
---------------------------------
串口的引脚定义:
9芯信号方向来自缩写描述
1调制解调器CD载波检测
2调制解调器RXD接收数据
3PC TXD发送数据
4PC DTR数据终端准备好
5GND信号地
6调制解调器DSR通讯设备准备好
7PC RTS请求发送
8调制解调器CTS允许发送
9调制解调器RI响铃指示器
两个串口连接时,接收数据针脚与发送数据针脚相连,彼此交叉,信号地对应相接即可。
---------------------------------
串口的电气特性:
1)RS-232串口通信最远距离是50英尺
2)RS232可做到双向传输,全双工通讯,最高传输速率20kbps
3)RS-232C上传送的数字量采用负逻辑,且与地对称
逻辑1:-3 ∼-15V
逻辑0:+3∼+15V
所以与单片机连接时常常需要加入电平转换芯片:
---------------------------------
串口通信参数:
a)波特率:RS-232-C标准规定的数据传输速率为每秒50、75、100、150、300、600、1200、2400、
4800、9600、19200波特。
b)数据位:标准的值是5、7和8位,如何设置取决于你想传送的信息。
比如,标准的ASCII码是0∼127(7位);扩展的ASCII码是0∼255(8位)。
c)停止位:用于表示单个包的最后一位,典型的值为1,1.5和2位。
由于数是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。
因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。
d)奇偶校验位:在串口通信中一种简单的检错方式。
对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。
例如,如果数据是011,那么对于偶校验,校验位为
0,保证逻辑高的位数是偶数个。
如果是奇校验,校验位位1,这样就有3个逻辑高位。
--------------------------------- 串口通信的传输格式:串行通信中,线路空闲时,线路的TTL电平总是高,经反向RS232的电平总是低。
一个数据的开始RS232线路为高电平,结束时Rs232为低电平。
数据总是从低位向高位一
位一位的传输。
示波器读数时,左边是数据的高位。
例如,对于16进制数据55aaH,当采用8位数据位、1位停止位传输时,它在信号线上的波形如图1(TTL电平)和图
2(RS-232电平)所示。
55H=01010101B,取反后10101010B,加入一个起始位1,一个停止位0,55H的数据格式为1010101010B;
aaH=10101010B,取反后01010101B,加入一个起始位1,一个停止位0,55H的数据格式为1101010100B;
---------------------------------
串口通信的接收过程:
(异步通信:接收器和发送器有各自的时钟;同步通信:发送器和接收器由同一个时钟源控制。
RS232是异步通信)(1)开始通信时,信号线为空闲(逻辑1),当检测到由1到0的跳变时,开始对“接收时钟”计数。
(2)当计到8个时钟时,对输入信号进行检测,若仍为低电平,则确认这是“起始位”,而不是干扰信号。
(3)接收端检测到起始位后,隔16个接收时钟,对输入信号检测一次,把对应的值作为D0位数据。
若为逻辑1, 作为数据位1;若为逻辑0,作为数据位0。
(4)再隔16个接收时钟,对输入信号检测一次,把对应的值作为D1位数据。
….,直到全部数据位都输入。
(5)检测校验位P(如果有的话)。
(6)接收到规定的数据位个数和校验位后,通信接口电路希望收到停止位S(逻辑1),若此时未收到逻辑1,说明出现了错误,在状态寄存器中置“帧错误”标志。
若没有错误,对全部数据位进行奇偶校验,无校验错时,把数据位从移位寄存器中送数据输入寄存器。
若校验错,在状态寄存器中置奇偶错标志。
(7)本幀信息全部接收完,把线路上出现的高电平作为空闲位。
(8)当信号再次变为低时,开始进入下一幀的检测。
--------------------------------- 单片机常用11.0592M的的晶振,
这个奇怪数字是有来历的:波特率为9600BPS每位位宽
t1=1/9600s 晶振周期t2=1/11.0592/1000000S
单片机机器周期t3=12*t2
t1/t3=96
即对于9600BPS的串口,单片机对其以96倍的速率进行采样。
如果单片机晶振用的不正确,会对串口接受产生误码。
---------------------------------
RS485和RS422
RS485总线,在要求通信距离为几十米到上千米时,广泛采用RS-485 串行总线标准。
RS485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。
加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。
RS485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。
RS485用于多点互连时非常方便,可以省掉许多信号线。
应用RS485可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。
RS422总线,RS485和RS422电路原理基本相同,都是以差动方式发送和接受,不需要数字地线。
差动工作是同速率条件下传输距离远的根本原因,这正是二者与RS232的根本区别,因为RS232是单端输入输出,双工工作时至少需要数字地线发送线和接受线三条线(异步传输),还可以加其它控制线完成同步等功能。
RS422通过两对双绞线可以全双工工作收发互不影响,而RS485只能半双工工作,发收不能同时进行,但它只需要一对双绞线。
RS422 和RS485在19kpbs下能传输1200米。
用新型收发器线路上可连接台设备。