画图描述DSP的RS232串口通信协议
上位机-串口通信详解(以RS232为例))

上位机-串⼝通信详解(以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 是结束位。
数控机床RS232通讯接口及参数介绍

数控机床RS232通讯接⼝及参数介绍数控机床RS232通讯接⼝及参数介绍RS-232-C接⼝在数控机床上有9针或25针串⼝,其特点是简单,⽤⼀根RS232C电缆和电脑进⾏连接,实现在计算机和数控机床之间进⾏系统参数、PMC 参数、螺距补偿参数、加⼯程序、⼑补等数据传输,完成数据备份和数据恢复,以及DNC加⼯和诊断维修。
⼀、RS-232-C简介RS-232-C接⼝(⼜称 EIA RS-232-C)在各种现代化⾃动控制装置上应⽤⼗分⼴泛,是⽬前最常⽤的⼀种串⾏通讯接⼝。
它是在1970年由美国电⼦⼯业协会(EIA)联合贝尔系统、调制解调器⼚家及计算机终端⽣产⼚家共同制定的⽤于串⾏通讯的标准。
它的全名是“据终端设备(DTE)和数据通讯设备(DCE)之间串⾏⼆进制数据交换接⼝技术标准”,该标准规定采⽤⼀个25个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定,⼀般只使⽤3~9根引线。
1、RS232C接⼝连接器引脚分配及定义DB-25和DB-9型插头座针脚功能如下:DB-9串⾏⼝的针脚功能 DB-25串⾏⼝的针脚功能针脚符号信号名称针脚符号信号名称1 DCD 载波检测8 DCD 载波检测2 RXD 接受数据3 RXD 接受数据3 TXD 发送数据 2 TXD 发出数据4 DTR 数据终端准备好20 DTR 数据终端准备好5 SG 信号地7 SG 信号地6 DSR 数据准备好 6 DSR 数据准备好7 RTS 请求发送 4 RTS 请求发送8 CTS 清除发送 5 CTS 清除发送9 RI 振铃指⽰22 RI 振铃指⽰DB-25插头外形DB-9插头外形2、端⼝参数和设置串⼝通信最重要的参数是波特率、数据位、停⽌位、奇偶校验和流控制。
对于两个进⾏通⾏的端⼝,这些参数必须相同:2.1 波特率:这是⼀个衡量通信速度的参数。
它表⽰每秒钟传送的bit的个数。
例如300波特表⽰每秒钟发送300个bit。
串口通信RS232与RS458简介

串口通信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等等。
rs232 通信原理

rs232 通信原理RS232通信原理是一种串行通信协议,用于在计算机及外设之间进行数据传输。
其通信原理基于两个基本概念:数据位和波特率。
首先,数据位是指在每个数据字节中传输的二进制位数。
RS232通信协议中的数据位可以是5位、6位、7位或8位,其中8位是最常用的。
数据位数的选择取决于所传输的数据量和精确度要求。
其次,波特率指的是数据传输的速率,即每秒钟传输的位数。
RS232通信协议中常用的波特率包括9600bps、19200bps和115200bps等。
选择合适的波特率要根据设备之间的数据传输要求和通信距离来确定。
RS232通信原理中,数据的传输是通过发送方将二进制数据转换为电压信号,并通过串行线路进行传输。
接收方则将接收到的电压信号转换为二进制数据。
通信双方需要事先约定好数据位、波特率和其他协议参数,以确保数据能够正确传输和解析。
通信的开始和结束由起始位和停止位确定。
起始位是一个逻辑低电平,用于通知接收方数据的传输将要开始。
停止位是一个逻辑高电平,用于表示数据传输已经结束。
起始位和停止位的长度可以根据需求进行设置。
此外,RS232通信原理还包括奇偶校验位的概念。
奇偶校验位用于检测数据传输中的错误。
发送方会根据要传输的数据计算奇偶校验位,并将其添加到数据中一起传输。
接收方则根据接收到的数据和奇偶校验位进行校验,以确保数据的正确性。
总结来说,RS232通信原理涉及数据位、波特率、起始位、停止位和奇偶校验位等概念。
通过约定好的协议参数和电压信号的传输,可以实现计算机与外设之间的可靠数据传输。
RS232基本接线方法

RS232基本接线方法RS232是一种常见的串行通信协议,用于在计算机和外部设备之间进行数据传输。
它定义了信号的电气特性、信号的传输方式和数据格式等。
在进行RS232通信时,通常需要用到标准9针或25针的D型连接器,以及正确的接线方法。
本篇文章将详细介绍RS232的基本接线方法,以及各个引脚的作用和连接方式。
1. DCD(Data Carrier Detect):用于指示数据载波的状态,一般连接到外部设备的DCD引脚。
2. RXD(Received Data):用于接收数据,一般连接到外部设备的TXD引脚。
3. TXD(Transmitted Data):用于发送数据,一般连接到外部设备的RXD引脚。
4. DTR(Data Terminal Ready):用于指示数据终端就绪状态,一般连接到外部设备的DSR引脚。
5. GND(Ground):地线,用于连接设备之间的共同地。
6. DSR(Data Set Ready):用于指示数据集就绪状态,一般连接到外部设备的DTR引脚。
7. RTS(Request To Send):请求发送数据,一般连接到外部设备的CTS引脚。
8. CTS(Clear To Send):准备好接收数据,一般连接到外部设备的RTS引脚。
根据RS232协议规定,TXD引脚和RXD引脚是进行数据传输的主要引脚,而其他引脚可以按需使用。
下面是几种常见的RS232接线方法:1.直连方式:在直连方式中,将一台计算机与另一台计算机或外部设备直接相连,通常需要使用一根将两台设备连接在一起的串口线。
接线方法如下:-将计算机的TXD引脚连接到另一台设备的RXD引脚。
-将计算机的RXD引脚连接到另一台设备的TXD引脚。
-将两台设备的GND引脚连接在一起。
2.线路交换方式:当需要连接多个设备时,可以使用线路交换方式,通过一些辅助设备(如集线器、转换器等)将多个设备连接在一起。
接线方法如下:-将每个设备的TXD引脚连接到线路交换设备的RXD引脚。
RS232通讯原理

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.发送端将按照数据帧的格式将一帧数据从发送线发送到接收线,并发送起始位,数据位,校验位和停止位。
这些位形成一个双向传输的数据信号。
rs232串口是什么,RS232串口介绍
串口是计算机上一种非常通用的设备通信协议。串口的电气特性:
1)RS-232串口通信最远距离是50英尺;2)RS232可做到双向传输,全双
工通讯,最高传输速率20kbps3)RS-232C上传送的数字量采用负逻辑,且
与地对称逻辑1:-3~-15V逻辑0:+3~+15V。我们来详细了解一下
所以单片机与电脑串口通信就应该遵循下面的连接方式:
在单片机与上位机给出的rs232口之间通过电平转换电路(最上面
图中的Max232芯片)实现TTL电平与RS232电平之间的转换
PC串口与单片机串口连接方式图:
注意这两个DB9:DB91是在电脑上的DB92是在单片机实验板上
焊接着的
这里的交叉连接的意思是DB91的RXD连着DB92的TXD
DB92的RXD连着DB91的TXD这样交叉着连接
如果电脑没有rs232口只有USB口可以用串口转接线转出串口
如图:
这个时候在电脑上位机上需要安装驱动程序
注意这个驱动程序驱动的是PL2303芯片(在上图的大头里面)使
得RS232信息转换成usb信息
下图为上图的内部结构:
用串口通信比USB简单因为串口通信没有协议使用方便简单
RS232串口信息。
台式机电脑后面的9针接口就是com口(串口)2接口 (封装DB9)
通信过程中只有两个脚参与通信
2脚:电脑的输入RXD
3脚:电脑的输出TXD通过2,3脚就可以实现全双工(可同时收
发)的串行异步通信
5脚:接地
RS232的引脚电路连接完成(就三个脚)
对于单片机
单片机的P3口是有两个复用接口RXD和TXD这是单片机进行串
RS232RS485通信原理
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通信原理涉及到物理连接、数据传输、波特率、数据帧格式等方面,下面将详细介绍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总线
串口是计算机上一种非常通用设备通信的协议, 同时也是仪器仪表设备通用的通信协议,也可以用于获取远程采集设备的数据。
串口通信接口标准经过使用和发展,目前已经有好几种,最被人们熟悉的有rs-232、rs-422和rs-485。
rs-232串行接口标准RS-232是美国电子工业联盟(Electronic Industry Association)制定的串行数据通信的接口标准,原始编号全称是EIA-RS-232(简称232,RS232)。
RS-232标准中,字符是以一序列的比特串来一个接一个的串行方式传输,优点是传输线少,配线简单,传送距离可以较远。
机械特性:RS232标准采用的接口是9芯或25芯的D型插头,常用的一般是9针插头(如下图)DB9 公头 (Pin Side) DB9 母头 (Pin Side) ------------- -------------\ 1 2 3 4 5 / \ 5 4 3 2 1 /\ 6 7 8 9 / \ 9 8 7 6 /--------- ---------RS-232C规标准接口有25条线,常用的只有9根,它们是:(1)接收线信号检出(Received Line detection-RLSD)——用来表示DCE已接通通信链路,告知DTE准备接收数据。
当本地的MODEM收到由通信链路另一端(远地)的MODEM送来的载波信号时,使RLSD信号有效,通知终端准备接收,并且由MODEM将接收下来的载波信号解调成数字两数据后,沿接收数据线RxD送到终端。
此线也叫做数据载波检出(Data Carrier dectection-DCD)线。
(2)接收数据(Received data-RxD)——通过RxD线终端接收从MODEM发来的串行数据,(DCE→DTE)。
(3)发送数据(Transmitted data-TxD)——通过TxD终端将串行数据发送到MODEM,(DTE→DCE)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
画图描述DSP的RS232串口通信协议篇一:RS232通讯协议[转]串口(9,25针)通信、串口引脚定义与连接目前较为常用的串口有9针串口(DB9)和25针串口(DB25),通信距离较近时(<12m),可以用电缆线直接连接标准RS232端口 (RS485较远),若距离较远,需附加调制解调器(MODEM)。
最为简单且常用的是三线制接法,即地、接收数据和发送数据三脚相连,本文只涉及到最为基本的接法,且直接用RS232相连,以回答前段网友的咨询。
1.DB9和DB25的常用信号脚说明2.RS232C串口通信接线方法(三线制)首先,串口传输数据只要有接收数据针脚和发送针脚就能实现:同一个串口的接收脚和发送脚直接用线相连,两个串口相连或一个串口和多个串口相连同一个串口的接收脚和发送脚直接用线相连对9针串口和25针串口,均是2与3直接相连;两个不同串口(不论是同一台计算机的两个串口或分别是不同计算机的串口)上面表格是对微机标准串行口而言的,还有许多非标准设备,如接收GPS数据或电子罗盘数据,只要记住一个原则:接收数据针脚(或线)与发送数据针脚(或线)相连,彼些交叉,信号地对应相接,就能百战百胜。
3.串口调试中要注意的几点:不同编码机制不能混接,如RS232C不能直接与RS422接口相连,市面上专门的各种转换器卖,必须通过转换器才能连接;线路焊接要牢固,不然程序没问题,却因为接线问题误事;串口调试时,准备一个好用的调试工具,如串口调试助手、串口精灵等,有事半功倍之效果;强烈建议不要带电插拨串口,插拨时至少有一端是断电的,否则串口易损坏。
附: 9针脚信号:1CDCarrierDetect 2RXD ReceiveData3TXD TransmitData4DTR DataTerminalReady5GND SystemGround6DSR DataSetReady7RTS RequesttoSend8CTSCleartoSend9RIRingIndicatorDCD、DTR、DSR、RTS及CTS等五个状态指示分别代表什么意思?DCD ( Data Carrier Detect 数据载波检测) DTR(Data Terminal Ready,数据终端准备好) DSR(Data Set Ready 数据准备好) RTS( Request To Send 请求发送) CTS (Clear To Send 清除发送)在这五个控制信号中,DTR和RTS是DTE设备(数据终端设备,在实际应用中就是路由器)发出的,DSR、CTS和DCD是DCE设备(数据电路终结设备,在实际中就是各种基带MODEM)发出的。
这五个控制信号的协商机制如下:1、在路由器的串口没有配置流控命令的情况下,只要一上电,DTR和RTS就会被置成有效(即只要一加电这两个状态就UP,不管串口有没有接电缆),当路由器检测到对端送过来的DSR、CTS和DCD三个信号时,串口的物理状态就上报UP(任何一个物理信号无效都不会报UP,或者说,这三个信号中只要有一个为DOWN,路由器串口的物理状态就处于DOWN 的状态)。
另外,如果在路由器的串口上配置了NO DETECT DSR-DTR命令,DTE侧(路由器)就不会检测对端是否送过来DSR和CTS 信号,只要检测到DCD信号,物理层就报UP。
2、如果在路由器的串口上配置了流控命令(具体命令为flowcontrol auto),RTS和CTS两个信号就会用于流量控制(路由器串口和基带Modem之间的数据发送、接收流控)。
当出现数据处理不及时的情况,这两个控制信号就可能处于DOWN的状态串口通信协议百科名片串口通信的概念非常简单,串口按位(bit)发送和接收字节。
尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。
目录什么是串口什么是RS-232 什么是RS-485 什么是握手DB-9针连接头 ------------- \ 1 2 3 4 5 / \ 6 7 8 9 / --------------从计算机连出的线的截面。
RS-232针脚的功能:数据:TXD(pin 3):串口数据输出(Transmit Data) RXD(pin 2):串口数据输入(Receive Data) 握手:RTS(pin 7):发送数据请求(Request to Send) CTS(pin 8):清除发送(Clear to Send) DSR(pin 6):数据发送就绪(Data Send Ready) DCD(pin 1):数据载波检测(Data Carrier Detect) DTR(pin 4):数据终端就绪(Data Terminal Ready) 地线:GND(pin 5):地线其他RI(pin 9):铃声指示RS-485(EIA-485标准)是RS-422的改进,因为它增加了设备的个数,从10个增加到32个,同时定义了在最大设备个数情况下的电气特性,以保证足够的信号电压。
有了多个设备的能力,你可以使用一个单个RS-422口建立设备网络。
出色抗噪和多设备能力,在工业应用中建立连向PC机的分布式设备网络、其他数据收集控制器、HMI或者其他操作时,串行连接会选择RS-485。
RS-485是RS-422的超集,因此所有的RS-422设备可以被RS-485控制。
RS-485可以用超过4000英尺的线进行串行通行。
DB-9 引脚连接 ------------- \ 1 2 3 4 5 / \ 6 7 8 9 / -------从计算机连出的线的截面。
RS-485的引脚的功能数据:1(DATA-) 2(DATA+) 地线:5 什么是握手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,但使DRT 维持高电平。
如果端口关闭,库函数置低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控制字符的值,从而导致通信故障篇二:RS232串口通信协议RS-232串口通信协议RS-232是个人计算机上的通讯接口之一,由电子工业协会(Electronic Industries Association,EIA) 所制定的异步传输标准接口。