当前位置:文档之家› 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针脚信号:

1 CD Carrier Detect

2 RXD Receive Data

3 TXD Transmit Data

4 DTR Data Terminal Ready

5 GND System Ground

6 DSR Data Set Ready

7 RTS Request to Send

8 CTS Clear to Send

9 RI Ring Indicator

DCD、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主从式通讯协议V2.0

RS232通讯协议(SG6电源第二版)V2.0 1 总线结构 A 接口方式双线RS 232 B 传输方式: 异步串行双线半双工,主从应答式。 2 协议说明 A 数据格式和波特率:9600bps,n,8,1。 波特率9600,1起始位,8数据位,1停止位,无奇偶校验 B 报文结构 同步字段命令标识数据长度数据段校验段 2字节1字节1字节N字节1字节 同步字段2字节(规定为0AAH,055H) 命令段1字节具体定义见“命令列表” 数据长度段1字节数据段的字节个数,最小值0最大值16。 数据段N字节,N在数据长度段指明。 校验和1字节,本报文内除本字节外,所有字节的累加和,大于255自动溢出,例如,080H+092H=0112H,校验和值为012H。 3 命令列表 具体含义见命令详细说明。 命令标识功能说明回应标识回应数据说明 081H 查询状态001H 模块状态 082H 设置参数002H 设参数应答

083H 查询参数003H 模块参数 084H 开关机004H 开关机应答(数据长度为0)085H 恢复出厂设置005H 恢复设置应答(数据长度为0) 4 命令详细说明 A (081H)查询状态(无数据段) Byet0 Byet1 Byet2 Byet3 Byet4 0AAH 055H 081H 数据长度校验 B (001H)回复状态 Byet0 Byet1 Byet2 Byet3 Byet4 Byet5 Byet6 Byet7 Byet8 Byet9 Byet10 0AAH 055H 001H 数据长度输出电压输出电流故障代码温度校验 C (082H)设置参数 Byet0 Byet1 Byet2 Byet3 Byet4 Byet5 Byet6 Byet7 Byet8 Byet9 Byet10 0AAH 055H 082H 数据长度输出电压输出电流模块地址保护值1 Byet11 Byet12 Byet13 Byet14 Byet15 Byet16 保护值1 保护值2 CANOPEN波特率选择校验 D (002H)回复设置参数据包 Byet0 Byet1 Byet2 Byet3 Byet4 Byet5 0AAH 055H 002H 数据长度错误标识校验 E (083H)查询参数数据包(无数据段) Byet0 Byet1 Byet2 Byet3 Byet4 0AAH 055H 083H 数据长度校验 F (003H)回复模块参数数据包 Byet0 Byet1 Byet2 Byet3 Byet4 Byet5 Byet6 Byet7 Byet8 Byet9 Byet10 0AAH 055H 082H 数据长度输出电压输出电流模块地址保护值1 Byet11 Byet12 Byet13 Byet14 Byet15 Byet16 保护值1 保护值2 CANOPEN波特率选择校验 G (084H)开关机(无数据段) Byet0 Byet1 Byet2 Byet3 Byet4 Byet4 0AAH 055H 084H 数据长度0开机1关机校验 F(004H)开关机应答(无数据段)

RS232通讯协议

RS232通讯协议 说明:下列表述中,H仅代表数据是十六进制和空格是分隔符。 波特率 9600 bit / s,8bit ,1位停止位,无校验位 格式 EBH,地址,命令,数据长度,数据1,...数据n,冗余 EBH:为帧起始位,以二进制表示为:1110 1011 地址:设备的通讯代号,出厂时已设定好,用户不能修改,同一型号的所有设备共用一个相同的地址。 命令:用十六进制数据代表的操作。 数据长度:发送或接收的信息字节数,它只包括数据1到数据n的个数。 冗余:用来判断发送或接收是否正确的信息,在发送时由发送端计算,在回送信息中由设备自动计算。计算方法为: 冗余 = 地址 + 命令 + 数据长度 + 数1 +…数N 如果冗余= EBH,则发送反码,即冗余= 14H;若冗余有进位,则将进位取消只取低八位即可。例: 冗余=2AH+01H+01H+F3H=11FH 则将进位取消即为冗余=1FH。 在随设备配套的测试程序(CTCOM)中,冗余是由测试程序自动计算出。 回送信息 当转换器接收命令正确但无此命令时,回送信息为: EBH, 地址,命令,01H,F1H,冗余。 当转换器接收命令正确但数据超界时,回送信息为: EBH,地址,命令,01H,F2H,冗余。且不执行命令。 当转换器接收命令正确但有按键时,回送信息为: EBH,地址,命令,01H,F3H,冗余。且不执行命令。 当转换器接收缓冲区数据溢出时,回送信息为: EBH, 地址,命令,01H,F4H,冗余。 当转换器接收命令的冗余不正确时,回送信息为: EBH, 地址,命令,01H,F5H,冗余。 当转换器接收命令正确但数据长度超过协议规定时,回送信息为:

RS232通讯协议要点

RS232通讯协议基本结构 波特率9600 bit/s,8bit,1位停止,无校验位 格式 0EBH,地址,命令,长度(n),数据1,---数据n,冗余 说明: 0EBH为帧起始位 长度小于输出端口数 冗余=地址+命令+长度+数1+---+数n 如果冗余=0EBH,为防止与帧起始位相同,则发送反码,即冗余=14H 当接收正确时, 1)在命令1,2,5,6时,回送0EBH,地址,命令,01H,0FAH,冗余,并执行命令。 2)在命令3,4,7时,回送相应信息。 当接收不正确时, 1)地址正确,冗余不正确,回送0EBH,地址,命令,01H,0F5H,冗余。2)地址不正确,不回送任何信息。 串口通讯—通信协议 所谓通信协议是指通信双方的一种约定。约定包括对数据格式、同步方式、 传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。因此,也叫做通信控制规程,或称传输控制规程,它属于 ISO'S OSI七层参考模型中的数据链路层。 目前,采用的通信协议有两类:异步协议和同步协议。同步协议又有面向字 符和面向比特以及面向字节计数三种。其中,面向字节计数的同步协议主要用于DEC公司的网络体系结构中。 一、物理接口标准 1.串行通信接口的基本任务 (1)实现数据格式化:因为来自CPU的是普通的并行数据,所以,接口电路应具有实现不同串行通信方式下的数据格式化的任务。在异步通信方式下,接口自动生成起止式的帧数据格式。在面向字符的同步方式下,接口要在待传送的数据块前加上同步字符。 (2)进行串-并转换:串行传送,数据是一位一位串行传送的,而计算机处 理数据是并行数据。所以当数据由计算机送至数据发送器时,首先把串行数据转换为并行数才能送入计算机处理。因此串并转换是串行接口电路的重要任务。

通信协议简介及区别(串行、并行、双工、RS232等)

基本的通讯方式有并行通讯和串行通讯两种。 并行通讯:一条信息的各位数据被同时传送的通讯方式称为并行通讯。 并行通讯的特点是:各数据位同时传送,传送速度快、效率高,但有多少数据位就需多少根数据线,因此传送成本高,且只适用于近距离(相距数米)的通讯。 串行通讯:一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。 串行通讯的特点是:数据位传送,传按位顺序进行,最少只需一根传输线即可完成,成本低但送速度慢。串行通讯的距离可以从几米到几千米。 根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。信息只能单向传送为单工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向传送则称为全双工。 而按照串行数据的时钟控制方式,串行通信又可分为同步通信和异步通信两种方式。 异步通信:接收器和发送器有各自的时钟; 同步通信:发送器和接收器由同一个时钟源控制。 1、异步串行方式的特点 所谓异步通信,是指数据传送以字符为单位,字符与字符间的传送是完全异步的,位与位之间的传送基本上是同步的。异步串行通信的特点可以概括为: ①以字符为单位传送信息。 ②相邻两字符间的间隔是任意长。 ③因为一个字符中的比特位长度有限,所以需要的接收时钟和发送时钟只要相近就可以,不需同步。 ④异步方式特点简单的说就是:字符间异步,字符内部各位同步。 2、异步串行方式的数据格式 异步串行通信的数据格式如图1所示,每个字符(每帧信息)由4个部分组成: ①1位起始位,规定为低电0; ②5~8位数据位,即要传送的有效信息; ③1位奇偶校验位; ④1~2位停止位,规定为高电平1。 3、同步串行方式的特点 所谓同步通信,是指数据传送是以数据块(一组字符)为单位,字符与字符之间、字符内部的位与位之间都同步。同步串行通信的特点可以概括为: ①以数据块为单位传送信息。 ②在一个数据块(信息帧)内,字符与字符间无间隔。 ③因为一次传输的数据块中包含的数据较多,所以接收时钟与发送进钟严格同步,通常要有同步时钟。 4、同步串行方式的数据格式 同步串行通信的数据格式如图2所示,每个数据块(信息帧)由3个部分组成: ①2个同步字符作为一个数据块(信息帧)的起始标志; ②n个连续传送的数据 ③2个字节循环冗余校验码(CRC) 图1 异步串行数据格式图2 同步串行数据格式

RS485通信协议

串行数据通信的协议从RS-232到千兆位以太网,虽然每种协议都有特定的应用领域,但任何情况下我们都必须考虑成本和物理层(PHY)性能。 本文主要介绍RS-485协议及该协议所适合的应用。同时给出了根据电缆长度、系统设计以及元件选择来优化数据速率的方法。 传输协议 什么是RS-485?Profibus又是什么?与其它串行协议相比,它们的性能如何?适用于哪些应用?为了回答这些问题,我们对RS-485 物理层(PHY)、RS-232和RS-422的特性、功能进行了总体比较[1](本文中的RS表示ANSIEIA/TIA标准)。 RS-232是一个最初用于调制解调器、打印机及其它PC外设的通讯标准,提供单端20kbps的波特率,后来速率提高至1Mbps。RS-232的其它技术指标包括:标称±5V发送电平、±3V接收电平(间隔/符号)、2V共模抑制、2200pF最大电缆负载电容、300最大驱动器输出电阻、3k最小接收器(负载)阻抗、100英尺(典型值)最大电缆长度。RS-232只用于点对点通信系统,不能用于多点通信系统,所有RS-232系统都必须遵从这些限制。 RS-422是单向、全双工通信协议,适合嘈杂的工业环境。RS-422规范允许单个驱动器与多个接收器通信,数据信号采用差分传输方式,速率最高可达50Mbps。接收器共模范围为±7V,驱动器输出电阻最大值为100,接收器输入阻抗可低至4k。 RS-485标准 RS-485是双向、半双工通信协议,允许多个驱动器和接收器挂接在总线上,其中每个驱动器都能够脱离总线。该规范满足所有RS-422的要求,而且比RS-422稳定性更强。具有更高的接收器输入阻抗和更宽的共模范围(-7V至+12V)。 接收器输入灵敏度为±200mV,这就意味着若要识别符号或间隔状态,接收端电压必须高于+200mV或低于-200mV。最小接收器输入阻抗为12k,驱动器输出电压为±1.5V(最小值)、±5V(最大值)。 驱动器能够驱动32个单位负载,即允许总线上并联32个12k的接收器。对于输入阻抗更高的接收器,一条总线上允许连接的单位负载数也较高。RS-485接收器可随意组合,连接至同一总线,但要保证这些电路的实际并联阻抗不高于32个单位负载(375)。 采用典型的24AWG双绞线时,驱动器负载阻抗的最大值为54,即32个单位负载并联2个120终端匹配电阻。RS-485已经成为POS、工业以及电信应用中的最佳选择。较宽的共模范围可实现长电缆、嘈杂环境(如工厂车间)下的数据传输。更高的接收器输入阻抗还允许总线上挂接更多器件。

RS485通讯协议

RS485 通讯协议 RS-232与RS-422之间转换原理和接法 通常我们对于视频服务器、录像机、切换台等直接播出、切换控制主要使用串口进行,主要使用到RS-232、RS-422与RS-485三种接口控制。下面就串口的接口标准以及使用和外部插件和电缆进行探讨。 RS-232、RS-422与RS-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。例如:视频服务器都带有多个RS422串行通讯接口,每个接口均可通过RS422通讯线由外部计算机控制实现记录与播放。视频服务器除提供各种控制硬件接口外,还提供协议接口,如RS422接口除支持RS422的Profile 协议外,还支持Louth、Odetics、BVW等通过RS422控制的协议。 RS-232、RS-422与RS-485都是串行数据接口标准,都是由电子工业协会(EIA)制订并发布的,RS-232在1962年发布。RS-422由RS-232发展而来,为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mbps,传输距离延长到4000英尺(速率低于100Kbps时),并允许在一条平衡总线上连接最多10个接收器。RS-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A标准。为扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和突保护特性,扩展了总线共模范围,后命名为TIA/EIA485-A标准。 1. RS-232串行接口标准 目前RS-232是PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速率串行通讯中增加通讯距离的单端标准。RS-232采取不平衡传输方式,即所谓单端通讯。收、发端的数据信号是相对于信号地。典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5~+15V,负电平在5~-15V电平。当无数据传输时,线上为TTL,从开始传送数据到结束,线上电平从TTL电平到RS-232电平再返回 TTL电平。接收器典型的工作电平在+3~+12V与-3~-12V。由于发送电平与接收电平的差仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高速率为20Kbps。RS-232是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为3kΩ~7kΩ。所以RS-232适合本地设备之间的通信。 2. RS-422与RS-485串行接口标准 (1)平衡传输 RS-422、RS-485与RS-232不一样,数据信号采用差分传输方式,也称作平衡传输,它使用一对双绞线,将其中一线定义为A,另一线定义为B。通常情况下,发送驱动器A、B之间的正电平在+2~+6V,是一个逻辑状态,负电平在-2V~6V,是另一个逻辑状态。另有一个信号地C,在RS-485中还有一“使能”端,而在RS-422中这是可用可不用的。“使能”端是用于控制发送驱动器与传输线的切断与连接。当“使能”端起作用时,发送驱动器处于高阻状态,称作“第三态”,即它是有别于逻辑“1”与“0”的第三态。 (2)RS-422电气规定 由于接收器采用高输入阻抗和发送驱动器比RS232更强的驱动能力,故允许在相同传输线上连接多个接收节点,最多可接10个节点。即一个主设备(Master),其余为从设备(Salve),从设备之间不能通信,所以RS-422支持点对多的双向通信。RS-422四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必须的信号交换均可以按软件方式(XON/XOFF握手)或硬件方式(一对单独的双绞线)实现。RS-422的最大传输距离为

rs232通讯协议

竭诚为您提供优质文档/双击可除 rs232通讯协议 篇一:Rs232通讯协议 Rs232通讯协议基本结构 波特率9600bit/s,8bit,1位停止,无校验位 格式 0ebh,地址,命令,长度(n),数据1,---数据n,冗余 说明: 0ebh为帧起始位 长度小于输出端口数 冗余=地址+命令+长度+数1+---+数n 如果冗余=0ebh,为防止与帧起始位相同,则发送反码,即冗余=14h 当接收正确时, 1)在命令1,2,5,6时,回送0ebh,地址,命令,01h,0Fah,冗余,并执行命令。 2)在命令3,4,7时,回送相应信息。 当接收不正确时,

1)地址正确,冗余不正确 ,回送0ebh,地址,命令,01h,0F5h,冗余。 2)地址不正确,不回送任何信息。 串口通讯—通信协议 所谓通信协议是指通信双方的一种约定。约定包括对数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。因此,也叫做通信控制规程,或称传输控制规程,它属于isososi七层参考模型中的数据链路层。 目前,采用的通信协议有两类:异步协议和同步协议。同步协议又有面向字符和面向比特以及面向字节计数三种。其中,面向字节计数的同步协议主要用于dec公司的网络体系结构中。 一、物理接口标准 1.串行通信接口的基本任务 (1)实现数据格式化:因为来自cpu的是普通的并行 数据,所以,接口电路应具有实现不同串行通信方式下的数据格式化的任务。在异步通信方式下,接口自动生成起止式的帧数据格式。在面向字符的同步方式下,接口要在待传送的数据块前加上同步字符。 (2)进行串-并转换:串行传送,数据是一位一位串 行传送的,而计算机处理数据是并行数据。所以当数据由计

基于RS232modbus协议的双机串行通信

目 录 一、Modbus 协议分析 (1) 1.1两种传输方式 (2) 1.2 Modbus消息帧 (3) 1.3错误检测方法 (7) 二、程序设计思想 (8) 2.1总体设计 (8) 2.2 硬件设计 (9) 2.2.1单片机串行通信功能 (9) 2.2.2 MAX232芯片 (11) 2.2.3整体电路设计 (11) 2.3 软件设计 (12) 2.3.1主机系统软件设计 (12) 2.3.2从机系统软件设计 (15) 三、程序代码 (18) 基于51单片机的双机串行通信设计

一、Modbus 协议分析 Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。 当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。 1) 在Modbus网络上转输 标准的Modbus口是使用一RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。控制器能直接或经由Modem组网。 控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。典型的主设备:主机和可编程仪表。典型的从设备:可编程控制器。 主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。 从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。 2) 在其它类型网络上传输 在其它网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。这样在单独的通信过程中,控制器既可作为主设备也可作为从设备。

RS-232-C串口通讯协议解析

RS-232-C串口通讯协议解析 串行通信接口标准经过使用和发展,目前已经有几种。但都是在RS-232标准的基础上经过改进而形成的。所以,以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- 323C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在0~20000b/s范围内的通信。这个标准对串行通信接口的有关问题,如信号线功能、电器特性都作了明确规定。由于通行设备厂商都生产与RS-232C 制式兼容的通信设备,因此,它作为一种标准,目前已在微机通信接口中广泛采用。 一、RS-232-C RS-232C标准(协议)的全称是EIA-RS-232C标准,其中EIA(Electronic Industry Association)代表美国电子工业协会,RS(ecommeded standard)代表推荐标准,232是标识号,C代表RS232的最新一次修改(1969),在这之前,有RS232B、RS232A。。它规定连接电缆和机械、电气特性、信号功能及传送过程。常用物理标准还有有EIA�RS-232-C、EIA�RS-422-A、 EIA�RS-423A、EIA�RS-485。这里只介绍EIA�RS-232-C(简称232,RS232)。例如,目前在IBM PC机上的COM1、COM2接口,就是RS-232C接口。 1.电气特性 EIA-RS-232C对电器特性、逻辑电平和各种信号线功能都作了规定。 在TxD和RxD上:逻辑1(MARK)=-3V~-15V 逻辑0(SPACE)=+3~+15V 在RTS、CTS、DSR、DTR和DCD等控制线上: 信号有效(接通,ON状态,正电压)=+3V~+15V

PC 机与单片机通信(RS232 协议)

PC 机与单片机通信(RS232 协议) 目录: 1、单片机串口通信的应用 2、PC控制单片机IO口输出 3、单片机控制实训指导及综合应用实例 4、单片机给计算机发送数据: [实验任务] 单片机串口通信的应用,通过串口,我们的个人电脑和单片机系统进行通信。 个人电脑作为上位机,向下位机单片机系统发送十六进制或者ASCLL码,单片机系统接收后,用LED显示接收到的数据和向上位机发回原样数据。 [硬件电路图] [实验原理] RS-232是美国电子工业协会正式公布的串行总线标准,也是目前最常用的串 行接口标准,用来实现计算机与计算机之间、计算机与外设之间的数据通讯。 RS-232串行接口总线适用于:设备之间的通讯距离不大于15m,传输速率最大为20kBps。RS-232协议以-5V-15V表示逻辑1;以+5V-15V 表示逻辑0。我们是用MAX232芯片将RS232电平转换为TTL电平的。一个完整的RS-232接口有22 根线,采用标准的25芯插头座。我们在这里使用的是简化的9芯插头座。 注意我们在这里使用的晶振是11.0592M的,而不是12M。因为波特率的设置 需要11.0592M的。 “串口调试助手V2.1.exe”软件的使用很简单,只要将串口选择‘CMO1’波 特率设置为‘9600’数据位为8 位。打开串口(如果关闭)。然后在发送区里 输入要发送的数据,单击手动发送就将数据发送出去了。注意,如果选中‘十六

进制发送’那么发送的数据是十六进制的,必须输入两位数据。如果没有选中,则发送的是ASCLL码,那么单片机控制的数码管将显示ASCLL码值。

[C语言源程序] #include "reg52.h" //包函8051 内部资源的定义 unsigned char dat; //用于存储单片机接收发送缓冲寄存器SBUF里面的内容 sbit gewei=P2^4; //个位选通定义 sbit shiwei=P2^5; //十位选通定义 sbit baiwei=P2^6; //百位选通定义 unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,}; //1~10 void Delay(unsigned int tc) //延时程序 { while( tc != 0 ) {unsigned int i; for(i=0; i<100; i++); tc--;} } void LED() //LED显示接收到的数据(十进制) { gewei=0; P0=table[dat%10]; Delay(10); gewei=1; shiwei=0; P0=table[dat/10]; Delay(10); shiwei=1; baiwei=0; P0=table[dat/100]; Delay(10); baiwei=1; } ///////功能:串口初始化,波特率9600,方式1///////// void Init_Com(void) { TMOD = 0x20; PCON = 0x00; SCON = 0x50; TH1 = 0xFd; TL1 = 0xFd; TR1 = 1; } /////主程序功能:实现接收数据并把接收到的数据原样发送回去/////// void main() { Init_Com();//串口初始化 while(1) { if ( RI ) //扫描判断是否接收到数据, { dat = SBUF; //接收数据SBUF赋与dat RI=0; //RI 清零。

RS232通信协议详解

RS232通信协议详解 通信协议 所谓通信协议是指通信双方的一种约定。约定包括对数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。因此,也叫做通信控制规程,或称传输控制规程,它属于ISO'S OSI七层参考模型中的数据链路层。目前,采用的通信协议有两类:异步协议和同步协议。同步协议又有面向字符和面向比特以及面向字节计数三种。其中,面向字节计数的同步协议主要用于DEC公司的网络体系结构中。 一、物理接口标准 1.串行通信接口的基本任务 (1)实现数据格式化:因为来自CPU的是普通的并行数据,所以,接口电路应具有实现不同串行通信方式下的数据格式化的任务。在异步通信方式下,接口自动生成起止式的帧数据格式。在面向字符的同步方式下,接口要在待传送的数据块前加上同步字符。 (2)进行串-并转换:串行传送,数据是一位一位串行传送的,而计算机处理数据是并行数据。所以当数据由计算机送至数据发送器时,首先把串行数据转换为并行数才能送入计算机处理。因此串并转换是串行接口电路的重要任务。 (3)控制数据传输速率:串行通信接口电路应具有对数据传输速率——波特率进行选择和控制的能力。 (4)进行错误检测:在发送时接口电路对传送的字符数据自动生成奇偶校验位或其他校验码。在接收时,接口电路检查字符的奇偶校验或其他校验码,确定是否发生传送错误。 (5)进行TTL 与EIA电平转换:CPU 和终端均采用TTL电平及正逻辑,它们与EIA采用的电平及负逻辑不兼容,需在接口电路中进行转换。 (6)提供EIA-RS-232C 接口标准所要求的信号线:远距离通信采用MODEM 时,需要9根信号线;近距离零MODEM 方式,只需要3 根信号线。这些信号线由接口电路提供,以便与MODEM 或终端进行联络与控制。 2、串行通信接口电路的组成 为了完成上述串行接口的任务,串行通信接口电路一般由可编程的串行接口芯片、波特率发生器、EIA 与TTL 电平转换器以及地址译码电路组成。其中,串行接口芯片,随着大规模继承电路技术的发展,通用的同步(USRT)和异步(UART)接口芯片种类越来越多,如下表所示。它们的基本功能是类似的,都能实现上面提出的串行通信接口基本任务的大部分工作,且都是可编程的。才用这些芯片作为串行通信接口电路的核心芯片,会使电路结构比较简单。

RS232通讯协议

RS232通讯协议模板 RS232通讯协议 说明:下列表述中,H仅代表数据是十六进制和空格是分隔符。 波特率 9600 bit / s ,8bit ,1位停止位,无校验位 格式 EBH地址,命令,数据长度,数据1,..数据n冗余 EBH为帧起始位,以二进制表示为:1110 1011 地址:设备的通讯代号,出厂时已设定好,用户不能修改,同一型号的所有设备共用一个相同的地址。 命令:用十六进制数据代表的操作。 数据长度:发送或接收的信息字节数,它只包括数据1到数据n的个数。 冗余:用来判断发送或接收是否正确的信息,在发送时由发送端计算,在回送信息 中由设备自动计算。计算方法为: 冗余=地址+命令+数据长度+数1 +…数N 如果冗余=EBH则发送反码,即冗余=14H;若冗余有进位,则将进位取消只取低八位即可。例:冗余=2AH+01H+01H+F3H=1仆H则将进位取消即为冗余 =仆耳 在随设备配套的测试程序(CTCOM中,冗余是由测试程序自动计算出。 回送信息 当转换器接收命令正确但无此命令时,回送信息为: EBH,地址,命令,01H, F1H,冗余。 当转换器接收命令正确但数据超界时,回送信息为: EBH地址,命令,01H, F2H,冗余。且不执行命令。 当转换器接收命令正确但有按键时,回送信息为: EBH地址,命令,01H, F3H,冗余。且不执行命令。 当转换器接收缓冲区数据溢出时,回送信息为: EBH,地址,命令,01H, F4H,冗余。 当转换器接收命令的冗余不正确时,回送信息为: EBH,地址,命令,01H, F5H,冗余。 当转换器接收命令正确但数据长度超过协议规定时,回送信息为: EBH地址,命令,01H, F7H,冗余。且不执行命令。 当转换器接收命令正确且设备在允许远程控制时,回送信息为:

山特3C3 EX UPS RS232通讯协议

山特3C3 UPS RS232通讯协议 PROTOCOL COMMAND 山特电子(深圳)有限公司

Hardware : BAUD RATE . . . . . . . . . . . . : 2400 bps DATA LENGTH . . . . . . . . . : 8 bits STOP BIT . . . . . . . . . . . . . . : 1 bits PARITY . . . . . . . . . . . . . . . : NONE Commands : Q2 Q2,XX Status inquiry 2 WA WA,XX KW and KVA S S,XX Shutdown Computer: Q2 UPS: MMM.M MMM.M MMM.M NNN.N PPP.P PPP.P PPP.P QQQ QQQ QQQ RR.R SSS.S TT.T b7b6b5b4b3b2b1b0 MMM.M M is an integer number 0 to 9. The Unit is Volt. Three Phases will represent Input Voltage: Phase R-S-T in sequence I/P fault voltage: NNN.N N is an integer number 0 to 9. The Unit is V olt. Output Voltage: PPP.P P is an integer number 0 to 9. The Unit is Volt. Three Phases will represent Phase R-S-T in sequence Output Current: QQQ QQQ is a percent of maximum current , not an absolute value. Three Phases will represent Phase R-S-T in sequence I/P frequency: RR.R R is an integer number ranging from 0 to 9. The unit is Hz. SSS.S S is an integer number ranging from 0 to 9. Battery voltage: TT.T T is an integer number ranging from 0 to 9. The unit is degree of centigrade. Temperature: UPS Status: . Where is a binary number …0“ or …1“. UPS status : byte Description 7 1 : Utility Fail ( Immediate ) 6 1 : Battery Low 5 1 : Bypass/Boost Active 4 1 : UPS Failed 3 1 : UPS Type is Standby (0 is On_line) 2 1 : Test in Progress 1 1 : Shutdown Active 0 Reserved (always 0 ) Stop Byte: KW and KVA command Computer: WA UPS: WWW.W WWW.W WWW.W VVV.V VVV.V VVV.V TTT.T SSS.S AAA.A AAA.A AAA.A QQQ b7b6b5b4b3b2b1b0

rs422通讯协议要点

RS485通讯协议 计算机知识/心梦岭发表于2007-09-12, 21:12 首先要知道什么是RS232和RS485. 典型的串行通讯标准是RS232和RS485.它们定义了电压,阻抗等.但不对软件协议给予定义 区别于RS232, RS485的特性包括: 1. RS-485的电气特性:逻辑“1”以两线间的电压差为+(2—6) V表示;逻辑“0”以两线间的电压差为-(2—6)V表示。接口信号电平比RS -232-C 降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL 电路连接。 2. RS-485的数据最高传输速率为10Mbps 3. RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。 4. RS-485接口的最大传输距离标准值为4000英尺,实际上可达 3000米,另外RS-232-C接口在总线上只允许连接1个收发器,即单站能力。而 RS-485接口在总线上是允许连接多达128个收发器。即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络。因RS-485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。因为RS485接口组成的半双工网络,一般只需二根连线,所以

RS485接口均采用屏蔽双绞线传输。 RS485接口连接器采用DB-9的9芯插头座,与智能终端RS485接口采用DB-9(孔),与键盘连接的键盘接口RS48 5采用DB-9(针)。 RS485编程 串口协议只是定义了传输的电压,阻抗等,编程方式和普通的串口编程一样!! RS-232与RS-422之间转换原理和接法 通常我们对于视频服务器、录像机、切换台等直接播出、切换控制主要使用串口进行,主要使用到RS -232、RS-422与RS-485三种接口控制。下面就串口的接口标准以及使用和外部插件和电缆进行探讨。 RS-232、RS-422与RS-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此

BOSCH7400主机 RS232 代码(通讯协议)要点

RS232 Serial Interface Specification This document describes the requirements for communicating with the Detection Systems DS7400XI control panel through the Detection Systems DS7412 Serial Interface module. The purpose is to allow control of the panel through a serial interface for applications such as home automation.. TRANSMISSION REQUIREMENTS The serial interface device shall be a standard RS-232 compatible device. The maximum baud rate that can be used to communicate with the panel is 9600 baud. It has been found that 2400 baud produces no faster results because of the necessary time delay at the panel, therefore 2400 baud is recommended as it should be a more reliable speed. The panel or serial interface device shall repeat a transmission up to three times if a REPEAT command is received or a time-out occurs. Each byte will be formatted as: One start bit Eight data bits, least significant first. One odd parity bit One stop bit Each transmission is limited to 64 bytes including the command and column parity bytes. The transmission may be as short as two bytes (command and column parity). Each transmission shall contain only one command. The general form of all transmissions is: Wait 200ms from end of last transmission One command byte (see commands section) Data bytes (length implied by the command type, zero through 62 data bytes) One odd column parity byte (with it's own parity bit) The panel is always a slave, it does not send commands unless it is responding to a command sent by the serial interface device. (except speed sync 77s and a LOGOUT command after a time-out.) INITIAL CONNECTION REQUIREMENTS A ds7400XI must have a DS7412 attached. The DS7412 converts the serial data from the Serial Interface Device to Option bus data that the panel can understand. The DS7400XI control panel must be programmed to enable the DS7412, send no events to the printer, the baud rate must match the serial interface device baud rate (default 2400), odd parity, hardware flow control, 1 stop bit, and 8 data bits. To set this information in the DS7400XI panel version 3.0 or greater, the following addresses should be programmed as noted. Address 0419 must be programmed as 1 0 Address 0420 must be programmed as 2 5

RS232协议标准详解

RS-232-C详解 第一章 使用范围最广的一种接口标准是由ITU-T(国际电信联合会电信标准部)定义的标准 V.24,事实上,这个标准只对接口的功能方面和过程方面做了定义。V.24在电气和机械方面引用了其他标准,在美国有一种包括了所有这四个方面内容的规约:EIA-232-F,实质上V.24和EIA-232是一回事,对应关系如下: 机械规约:ISO 2110(涉及的是DTE到DCE的实际物理连接) 电气规约:V.28 (与电压电平及电压变换的时序有关,DTE和DCE都必须使用相同的编码,相同的电压电平必须表示相同的含义,还必须使用持续时间相同的信号元素,这些特性决定了能够达到的数据率和传输距离。 功能规约:V.24 (定义的各种功能由具有不同含义的各种交换电路来执行,有数据电路,控制电路,时序电路以及电器接地。 过程规约:V.24 (定义了传输数据时发生的事件序列) 大多数数据处理设备的数据传输能力是有限的,并且能够达到的数据传输距离也是有限的,因此,这一类设备很少与传输设备或网络直接连接。D TE通过DCE来使用传输系统。DCE一端通过传输媒体,负责发送和接收数据,另一端又必须与DTE交互作用(交换数据,控制信息);通过传输线路进行信号交换的两台DCE之间必须互相了解。为了减轻数据处理设备厂商的负担,开发出一些标准。这些标准定义了DTE和DCE之间接口的本质。 EIA-232最初是由美国电子工业协会在1962年发布的,当时成为RS-232,现在它已经发展到了第六版EIA-232-F,于1997年发布。目前使用的V.24和V.28规约分别于1996和1993年发布。 在讨论RS-232C接口标准的内容之前,先说明两点: 首先,RS-232-C标准最初是远程通信连接数据终端设备DTE(Data Terminal Equipment)与数据通信设备DCE(Data Communication Equipment)而制定的。因此这个标准的制定,并未考虑计算机系统的应用要求。但目前它又广泛地被借来用于计算机(更准确的说,是计算机接口)与终端或外设之间的近端连接标准。显然,这个标准的有些规定及和计算机系统是不一致的,甚至是相矛盾的。有了对这种背景的了解,我们对RS-232C标准与计算机不兼容的地方就不难理解了。 其次,RS-232C标准中所提到的“发送”和“接收”,都是站在DTE立场上,而不是站在DCE的立场来定义的。由于在计算机系统中,往往是CPU和I/O设备之间传送信息,两者都是DTE,因此双方都能发送和接收。

相关主题
文本预览
相关文档 最新文档