RSSP I 铁路信号安全通信协议

RSSP-I铁路信号安全通信协议

(V1.0)

2010年4月

目录

1.简介 (3)

1.1目的及范围 (3)

1.2参考文献 (3)

1.3术语和定义 (3)

1.4缩略语 (4)

2.参考结构 (6)

2.1综述 (6)

2.2系统结构及接口 (8)

3.安全防御技术 (10)

3.1序列号 (10)

3.2时间戳 (10)

3.3超时 (10)

3.4源标识 (11)

3.5反馈报文 (11)

3.6双重校验 (11)

4.报文定义 (12)

5.安全通信交互协议 (16)

5.1安全数据交互原则 (16)

5.2安全校验过程 (19)

6.参数配置要求 (22)

1.简介

1.1目的及范围

1.1.1.1.本规范规定了信号安全设备之间通过封闭式传输系统进行安全相关信息

交互的功能结构和协议。

1.1.1.

2.本规范适用于铁路信号安全设备之间的安全通信接口。

1.2参考文献

[1]GB/T24339.1—2009 轨道交通通信、信号和处理系统第1部分:

封闭式传输系统中的安全相关通信

[2]GB/T24339.2—2009 轨道交通通信、信号和处理系统第2部分:

开放式传输系统中的安全相关通信

[3]EN-50128:2001 Railway applications –Communications,

signalling and processing systems – Software for

railway control and protection systems 铁道应用:

铁路控制和防护系统软件

[4]EN-50129:2003 Railway applications–Communication, signalling

and processing systems–Safety related electronic

systems for signalling铁道应用:安全相关电子

系统

1.3术语和定义

本文件中使用了标准GB/T 24339.1和GB/T 24339.2的定义,并附加使用了以下术语。

变量名称 (依赖变量参数名) 在本规范算法描述中,用于表示本

变量根据括号内指示的变量参数名

称具有不同的取值

1.4缩略语

RSSP Railway Signal Safety Protocol 铁路信号安全协议

SID Source Identifier 通信源标识,每个计算通道有一个

预定的标记参数(32位长)

T(N) Time stamp at cycle ?N‘通信方在第N周期时的时间戳,每

个计算通道有一个实时演算的取值

参数(32位长)

SVC Safety Verify Code 通信方的安全校验码,每个计算通

道有一个实时演算的取值参数(32

位长)

SCW System Check Word 系统校验字(32位长),用于标识

安全层协议的正确特性

SINIT Sequence Initialisation 序列初始作为启动安全数据信息交

换过程前的通信建立要求生成的结

果。每个计算通道有一个预定的标

记参数(32位长)

CRC Cyclic Redundancy Check 循环冗余码校验,以循环码为基

础,用于保护报文免受数据损坏的

影响

LFSR Linear Feedback Shift Register 线性反馈移位寄存器

~

<使用 LFSR 的左移位运算符

~

>使用 LFSR 的右移位运算符

2.参考结构

2.1综述

2.1.1.1 封闭式网络在GB/T 24339.1中定义为:―连接的设备数量固定或最大数量固定,有已知且固定的特性的传输系统,对于此系统可以忽略非法访问的风险。‖

2.1.1.2 参照GB/T 24339.2中关于传输系统的威胁源说明,对于封闭式传输系统而言,可存在的威胁有:

数据帧重复;

数据帧丢失;

数据帧插入;

数据帧次序混乱;

数据帧错误;

数据帧传输超时。

2.1.1.3 为降低上述威胁风险,RSSP-I采用从接收端角度设计的保护算法,要求接收端必须对接收到的信息做出以下检查:

发送端的源信息(真实性);

信息帧的正确性(完整性);

信息帧的时效性(实时性);

信息帧序列的正确性(有序性)。

2.1.1.4 参照GB/T 24339.2中关于具体防护说明,RSSP-I选用以下具体防护措施:

序列号

时间戳;

超时;

源标识;

反馈报文;

双重校验。

有关上述防护威胁措施的适用性,可参见表1:

表 1 威胁/防御矩阵

2.2 系统结构及接口

2.1.1.1 参照GB/T 24339.2中关于参考结构说明,安全通信系统间的总体结构为图 1所示。

设备1

设备2

安全相关协议数据单元

图 1 安全通信系统的总体结构

2.1.1.2 安全信息传输的应用协议(A 接口)参见各安全设备间应用层协议,不属于本规范范围。

2.1.1.3 应用程序与安全功能模块间(B 接口)为软件内部实现要求,不属于本规范范围。

2.1.1.4 安全功能模块(C 接口)采用RSSP-I 安全协议机制,实现对传输系统中的通信威胁防护,具体描述参见后续章节。

2.1.1.5 安全功能模块与通信功能模块间(D 接口)为软件内部实现要求,不属于本规范范围。

2.1.1.6 通信功能模块提供非置信的传输(E 接口),应提供以下功能:

物理传输层的适配,须根据具体接口应用要求描述,不在本规范

中定义;

通信链路的冗余处理功能,须遵守本规范第5.1节要求;

数据的可靠、透明和双向传输,参照本规范第5.1节要求;

通道可用性监测,并交由应用层报告给外部系统:须根据具体接口应用的超时时限要求进行检测判定。

2.1.1.7 本规范不对数据链路层作规定。

2.1.1.8 本规范不对物理层作规定。

2.1.1.9 操作和维护(O&M)属于具体实施的范畴,本规范不作规定。

3.安全防御技术

3.1序列号

3.1.1.1 顺序编号是在通信双方交换的每条报文上加一个32位的流水号。这样,接收端可以校验发送端提供的报文顺序。

3.1.1.2 本序列号采用的是系统通信周期序号,故即可作为系统发送报文时的序号,也可作为存储在本地存储器中的报文超时。

3.2时间戳

3.2.1.1 由两个32位长的伪随机数表示,用于确认在每个系统周期时的强制增量。

3.2.1.2 时间戳与序列号保持同步递增。

3.3超时

3.3.1.1 报文应从生成时刻起的有限时间段内保持有效。

3.3.1.2 接收端对接收报文经检验确认有效后,应更新存储为最近接收的报文时间戳。

3.3.1.3 接收端需执行以下两种超时处理,超时时间参见本文第6节:

若是存储的报文时效检验超时,应完全清除该报文数据。

若是接收的报文时效检验超时,须启动时序校正机制,方可接受新报文。

3.4源标识

3.4.1.1 所有通信方均有一对唯一的32位长ID,随同安全数据一起发送。

3.5反馈报文

3.5.1.1 时间戳同时包含序列信息,随同安全数据一起发送。

3.5.1.2 若接收端校验到发送报文序列非预期内的增量,则启动时序校正交互。

3.5.1.3 若接收端向发送端发送时序请求时,发送端须按接收端要求反馈时序应答,接收端再根据时序应答报文重新计算发送端的时序同步位置。

3.6双重校验

3.6.1.1 采用两个32位长CRC,确保安全传输所要求的漏检差错概率。

3.6.1.2 另加两个32位长的固定系统校验字,随同安全数据一起发送。

3.6.1.3 系统校验字用于标识安全层协议的正确特性。

4.报文定义

4.1.1.1 RSSP-I的报文结构如图 2所示。

图 2 报文结构

4.1.1.2 用户数据包内的多字节域须按具体应用规范要求顺序排列;其它报文内的多字节域均按小端顺序排列(即低字节在前)。

4.1.1.3 报文尾CRC16应根据报文头、安全校验域和用户数据包生成,CRC16生成多项式为G(x)=X16+X11+X4+1,计算初始值为0。

4.1.1.4 RSSP-I在安全通信交互中使用到以下三种报文,如表2所示。

表 2 报文类型

4.1.1.5 RSD报文格式定义参见表3所示。

表 3 RSD报文格式

协议交互类别字段:0x01时表示接收端须待同步校时正确后才能认为该帧有效,适用于主机发送的安全数据;0x02时表示接收端不需作同步检查(接收端不触发SSE帧)即可视该帧为有效帧,适用于备机发送的安全数据,以表示物理通道连接正常,但不使用其具体用户数据包做功能安全运算。

时间戳是基于一个32位的线性反馈移位寄存器值,初始值T(0)=SID, 按系统周期移位并使用固定多项式作附加干扰输入。时间戳与本地周期计数器对应同步递增。

关于安全校验通道CRC_M字段中所使用的参数配置,见表 4所示。

表 4 安全通信通道的算式参数

4.1.1.6 当接收端检验到当前安全数据报文时序已超过预定的容忍范围时,需向发送端发送时序校正请求(SSE),用于请求时序同步校正,参见表 5。

表 5 SSE报文格式

有关接收端对触发SSE的检测机制参见5.2节。

4.1.1.7 时序校正应答(SSR)用于回应时序校正请求(SSE),参见表 6。

表 6 SSR报文格式

有关接收端对SSR的时序校正实现说明,参见5.2节。

5. 安全通信交互协议

5.1

安全数据交互原则

5.1.1.1 图 3描述了发送端与接收端间的安全数据交互原则:即接收端须实时检测从发送端来的RSD 时序性,若有时序错误,就触发时序校正机制,且仅在时序校正恢复后才接受RSD(如:B<->A)。若当前时序正常,就只需单方向实时发送RSD 即可,不必触发校时 (如:B<->C)。

接收端A

发送端B

接收端C

能够处理来自B 的安全数据不能接受来自B 的安全数据

时序校正

恢复

检测到时序有误

图 3 安全数据交互示例

5.1.1.2 当同一周期内有多个报文发送时,须遵守下列要求:

1) 同一周期内连续的两帧发送时间间隔不得小于5毫秒,以便接收端识别出不同的完整报文。

2) 同一周期内的多个报文须使用相同的序列号,用于标识属于同周期发送的数据。

3) 对同一周期内多个报文的发送次序,至少存在两种可能的处理方式:

a) 停发该周期的RSD 报文;

b)RSD报文必须在SSE、SSR报文之前发送;

a)和b)选一。

5.1.1.3 对于设备单系的冗余通道报文发送控制,须遵守下列要求:

1)所有类型的报文都应在冗余通道上传输;

2)在冗余通道上传输的报文数据内容应相同。

5.1.1.4 对于设备双系的报文发送,须遵守下列要求:

1)备系不得发送SSR报文;

2)当备系需校正外部系统传送的主系RSD时序时,才发送SSE报文;

3)有关备系是否实时发送RSD报文,参见具体的应用接口规范要求执

行;

4)双系间切换应能在1.5秒内完成并与外部系统建立安全连接,至少存在

两种可能的处理方式:

a)备系实时同步获取主系的安全通信参数,包括本地序列号和相应时

间戳,以及从外部系统接收的序列号与相应时间戳,当备系升为主

系后,沿用原安全通信连接;

b)双系间最多500ms内完成倒机,当备系升为主系后重新与外部系统

建立安全连接;

a)和b)选一,若双系间切换不能满足要求,必须使用a)。

5.1.1.5 接收端对冗余通道数据的取舍处理,须遵守下列要求:

1)若是冗余的SSE或SSR报文,

a)通信功能模块应先校验该SSE、SSR的报文头尾有效性,若有误应

直接丢弃,否则全部透明转发给安全功能模块进行校验;

b)当安全功能模块接收到任一SSE报文且本地处于主系状态,即构建

相应的SSR报文,并发送给相应的外部系统;

c)当安全功能模块接收到任一SSR报文时,应按图 4流程处理;

图 4 SSR报文校验处理(安全功能模块)

2)若是冗余的RSD报文,:

a)通信功能模块应先校验该RSD的报文头尾有效性,若有误应直接

丢弃,否则经冗余取舍处理后再决定是否转发给安全功能模块进行校验;

b)通信功能模块对冗余RSD的取舍处理原则为:如果RSD的序列号

等于最近上一次接收的报文中的序列号加1,则将该RSD报文转发给安全功能模块检验;其它情况下,均应丢弃该RSD报文。本地

应始终存储最近上一次接收的RSD 报文中的序列号。 c) 安全功能模块对RSD 报文校验,参见5.2节。

5.2 安全校验过程

5.2.1.1 安全功能模块首先对来自通信功能模块转发的RSD 报文头尾进行有效性检查,若有误则直接丢弃。

5.2.1.2 安全功能模块再对RSD 报文中的安全校验域进行检查,若有误,须触发时序对齐校正,参见图 5和图 6。

M 列容忍差值

N L 是最近一次有效的序列号

图 5 序列号校验

若该值与预期计算不同,即认为时序有误

N-N L 个间隔,还需再

L -1个遍 0操作;1个间隔)

若相差N-N L 个间隔,则选取

有N-N L -1个 SID 操作的值(本图是按1个间隔)

^异或^异或~<

~<

图 6 SVC 校验

常用的硬件接口及通信协议详解

一:串口 串口是串行接口的简称,分为同步传输(USRT)和异步传输(UART)。在同步通信中,发送端和接收端使用同一个时钟。在异步通信中,接受时钟和发送时钟是不同步的,即发送端和接收端都有自己独立的时钟和相同的速度约定。 1:RS232接口定义 2:异步串口的通信协议 作为UART的一种,工作原理是将传输数据的每个字符一位接一位地传输。图一给出了其工作模式: 图一 其中各位的意义如下: 起始位:先发出一个逻辑”0”的信号,表示传输字符的开始。

数据位:紧接着起始位之后。数据位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ASCII码。从最低位开始传送,靠时钟定位。 奇偶校验位:资料位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验资料传送的正确性。 停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。 空闲位:处于逻辑“1”状态,表示当前线路上没有资料传送。 波特率:是衡量资料传送速率的指针。表示每秒钟传送的二进制位数。例如资料传送速率为120字符/秒,而每一个字符为10位,则其传送的波特率为10×120=1200字符/秒=1200波特。 3:在嵌入式处理器中,通常都集成了串口,只需对相关寄存器进行设置,就可以使用啦。尽管不同的体系结构的处理器中,相关的寄存器可能不大一样,但是基于FIFO的uart框图还是差不多。

发送过程:把数据发送到fifo中,fifo把数据发送到移位寄存器,然后在时钟脉冲的作用下,往串口线上发送一位bit数据。 接受过程:接受移位寄存器接收到数据后,将数据放到fifo中,接受fifo事先设置好触发门限,当fifo中数据超过这个门限时,就触发一个中断,然后调用驱动中的中断服务函数,把数据写到flip_buf 中。 二:SPI SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB 的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。

铁路信号系统安全相关通信标准与安全协议研究

铁路视点 Railway Topics 铁路信号系统 安全相关通信标准与安全协议研究 杨霓霏:中国铁道科学研究院通信信号研究所,硕士研究生,北京,100081段 武:中国铁道科学研究院通信信号研究所,研究员,北京,100081卢佩玲:中国铁道科学研究院通信信号研究所,研究员,北京,100081 代化的铁路信号及控制系统一般由多个安全相关 子系统构成,负责子系统之间安全数据交换的通 信系统是安全相关系统的一个重要组成部分。欧洲电工标准化委员会(CENELEC)核准的EN 50159标准是专门针对铁路信号系统中安全相关通信而设立的,此标准为构建安全相关通信系统提出了功能和技术方面的基本要求和设计指导。目前,我国列车控制系统应用的部分欧洲设备或系统方案涉及到EN 50159标准建立的安全通信系统及接口协议。 摘 要:欧洲电工标准化委员会(CENELEC)核准的EN 50159标准是专门针对铁路信号系统中安全相关通信而设立的,该标准从功能和技术层面提出传输系统可能遇到的威胁及安全要求和措施。为防御各种风险,要求安全通信系统应具有保护报文真实性、保护报文完整性、保护报文时间性和保护报文顺序性等4项防御功能。 关键词:铁路信号系统;安全相关通信;安全协议;标准 1 EN 50159标准概述 EN 50159标准提出在安全相关设备中的数据通信必须建立安全相关通信功能,安全功能包括安全过程(safety procedure)及安全码(safety code)两方面内容。从结构上讲就是在应用层与通信系统之间,建立安全相关通信层,简称安全层。需要传输的用户数据首先经过安全层的处理,生成安全层数据报文之后再发往传输系统;从传输系统收到的信息也先经过安全层过滤才被采用。无论传输系统采用何种结构以及协议栈,从逻辑角度安全相关数据在安全层由安全过程和安全码的保护进行通信。物理上安全层的数据经过传输系统传送,所以传输系统特性直接影响安全通信功能。为此, EN 50159标准分为两个部分:EN 50159—1标准[1]针对封闭传输系统提出构建安全通信的基本要求,强调应用标准的先决条件、基本功能需求和安全完整性需求。EN 50159—2标准[2]针对开放传输系统提出基本安全需求, 分析开放传输系统的各项风险及对应的安全措施。封闭传输系统指特征及属性清晰、固定的传输系统,建立安全相关通信功能可以考虑封闭传输系统的属性;而开放传输系统充满不确定性,安全通信功能的建立必须考虑所有可能发生的问题。 现

单片机串口通信协议程序

#include #include #define R55 101 #define RAA 202 #define RLEN 203 #define RDATA 104 #define RCH 105 //#define unsigned char gRecState=R55; unsigned char gRecLen; unsigned char gRecCount; unsigned char RecBuf[30]; unsigned char gValue; void isr_UART(void) interrupt 4 using 1 { unsigned char ch; unsigned char i; unsigned char temp; if (RI==1) { ch=SBUF; switch(gRecState) { case R55: // wait 0x55 if (ch==0x55) gRecState=RAA; break;

case RAA: if (ch==0xaa) gRecState=RLEN; else if (ch==0x55) gRecState=RAA; else gRecState=R55; break; case RLEN: gRecLen=ch; gRecCount=0; gRecState=RDATA; break; case RDATA: RecBuf[gRecCount]=ch; gRecCount++; if (gRecCount>=gRecLen) { gRecState=RCH; } break; case RCH: temp=0; for(i=0;i

IC卡通信协议详解(7816-3)

目录 第一章IC卡通信过程整体归纳 (1) 第二章IC卡的电气特性 (3) 1.IC卡的触点分配 (3) 2.IC卡的电气特性 (3) 2.1 VCC (3) 2.2 I/O (3) 2.3 CLK (3) 2.4 RST (3) 2.2 VPP (3) 第三章IC卡的操作过程 (4) 1、IC卡操作的一般过程 (4) 2、卡激活 (4) 3、冷复位 (4) 4、热复位 (5) 5、时钟停止 (6) 6、去激活 (6) 第四章复位应答 (8) 1、异步字符 (8) 1.1 字符结构 (8) 1.2 错误信号和字符副本 (8) 2、复位应答 (9) 2.1 复位应答的序列配置 (9) 2.2 复位应答的结构和内容 (11) 第五章协议和参数选择 (14) 1.PPS协议 (14) 2.PPS请求的结构和内容 (14) 3.成功的PPS交换 (14) 第六章异步半双工字符传输协议 (16) 1、命令的结构和处理 (16) 2、过程字节 (16) 3、NULL字节 (16) 4、确认字节 (16) 5、状态字节 (17) 第七章异步半双工块传输 (18) 1.数据块块帧结构 (18) 2.起始域 (18) 3.信息域 (18) 4.终止域 (19) 5.信息域尺寸 (19) 6.等待时间 (19) 7.数据链路层字符成分 (20) 8.数据链路层块成分 (20) 9.链接 (20)

第一章IC卡通信过程整体归纳 根据协议,IC卡的操作信息交互流程大概为(见图1): (1)接口设备能够控制IC卡各IO引脚使其激活。 (2)接口设备给卡发送复位信号使卡复位启动。 (3)卡要向接口设备发送复位应答信号,将通信中必要的相关信息告知接口设备。(4)接口设备对卡进行一次热复位,卡进行复位应答。 (5)接口设备发起一个PPS交互指令,选择要与卡通信的协议和相关参数。 (6)根据选择的协议(T=0或T=1)进行数据的通信。

3-3RSSP-I 铁路安全通信协议要点

铁路信号安全协议-Ⅰ Railway Signal Safety Protocol - I (报批稿) 中华人民共和国铁道部发布

TB/T 2465—×××× 前言 本规范为首次发布,应用于铁路信号安全通信的I类协议规范。 本规范由北京全路通信信号研究设计院提出并归口。 本规范由北京全路通信信号研究设计院负责起草。 本规范主要起草人:岳朝鹏、叶峰、郭军强

铁路信号安全协议-I 1范围 本规范规定了铁路信号安全设备之间进行安全相关信息交互的安全层功能结构和协议。本安全层规范应与以本规范扩展定义的其它接口规范,共同构成完整的应用规范。 本规范适用于封闭式传输系统,以实现铁路信号安全设备间的安全数据通信。 2规范性引用文件 下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方,研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。 EN-50159-1:2001 Railway applications –Communication, signalling and Processing systems –Part 1: Safety-related communication in closed transmission systems 铁道应用:封 闭式传输系统中安全通信要求 EN-50159-2:2001 Railway applications –Communication, signalling and Processing systems –Part 2: Safety-related communication in open transmission systems 铁道应用:开放 式传输系统中安全通信要求 EN-50128:2001 Railway applications –Communications, signalling and processing systems –Software for railway control and protection systems 铁道应用: 铁路控制和防护系 统软件 EN-50129:2003 Railway applications –Communication, signalling and processing systems –Safety related electronic systems for signalling铁道应用:安全相关电子系统 3术语和定义 下列术语和定义适用于本标准。 3.1 危险源 Hazard 可导致事故的条件。 3.2 风险 Risk 特定危险事件发生的频率、概率以及产生的后果。 3.3 失败 Failure 系统故障或错误的后果。 3.4 错误 Error 与预期设计的偏差,系统非预期输出或失败。 3.5 故障 Fault 可导致系统错误的异常条件。故障可由随机和系统产生。 4缩写 下列术语和定义适用于本标准。 4.1 RSSP Railway Signal Safety Protocol

51串口通信协议(新型篇)

51串口通信协议(新型篇) C51编程:这是网友牛毅编的一个C51串口通讯程序! //PC读MCU指令结构:(中断方式,ASCII码表示) //帧:帧头标志|帧类型|器件地址|启始地址|长度n|效验和|帧尾标志 //值: 'n' 'y'| 'r' | 0x01 | x | x | x |0x13 0x10 //字节数: 2 | 1 | 1 | 1 | 1 | 1 | 2 //求和: ///////////////////////////////////////////////////////////////////// //公司名称:*** //模块名:protocol.c //创建者:牛毅 //修改者: //功能描述:中断方式:本程序为mcu的串口通讯提供(贞结构)函数接口,包括具体协议部分 //其他说明:只提供对A T89c51具体硬件的可靠访问接口 //版本:1.0 //信息:QQ 75011221 ///////////////////////////////////////////////////////////////////// #include #include //预定义 //帧 #define F_ST1 0x6e //帧头标志n #define F_ST2 0x79 //帧头标志y #define F_R 0x72 //帧类型读r #define F_W 0x77 //帧类型写w #define F_D 0x64 //帧类型数据帧d #define F_B 0x62 //帧类型写回应帧b #define F_C 0x63 //帧类型重发命令帧c #define F_Q 0x71 //帧类型放弃帧q #define F_ADDR 0x31 //器件地址0-9 #define F_END 0x7a //帧尾标志z #define F_SPACE 0x30 //空标志0 #define F_ERR1 0x31 //错误标志1,flagerr 1 #define F_ERR2 0x32 //错误标志2 2 //常数 #define S_MAXBUF 16 //接收/发送数据的最大缓存量 #define FIELD_MAXBUF 48 //最小场缓存,可以大于48字节,因为协议是以20字节为

各种通信协议

分层及通信协议 协议软件是计算机通信网中各部分之间所必须遵守的规则的集合,它定义了通信各部分交换信息时的顺序、格式和词汇。协议软件是计算机通信网软件中最重要的部分。网络的体系结构往往都是和协议对应的,而且,网络管理软件、交换与路由软件以及应用软件等都要通过协议软件才能发生作用。 一、通信协议 1、什么是通信协议 通信协议(简称协议Protoco l),是指相互通信的双方(或多方)对如何进行信息交换所一致同意的一整套规则。一个网络有一系列的协议,每一个协议都规定了一个特定任务的完成。协议的作用是完成计算机之间有序的信息交换。 通信网络是由处在不同位置上的各节点用通信链路连接而组成的一个群体。通信网必须在节点之间以及不同节点上的用户之间提供有效的通信,即提供有效的接入通路。在计算机通信网中,将这种接入通路称为连接(connection)。建立一次连接必需要遵守的一些规则,这些规则也就是通信网设计时所要考虑的主要问题。 (l)为了能在两个硬件设备之间建立起连接,应保证在源、宿点之间存在物理的传输媒介,在该通路的各条链路上要执行某种协议。 如果传输线路使用电话线,则要通过调制解调器将信号从数字转换成模拟的,并在接收端进行反变换。 如果用的是数字传输线路,则在数据处理设备和通信设备之间,必须有一个数字适配器,以便将数字信号的格式转换成两种设备各自所期望的形式。 为了在两个端设备之间互换数据,需要协调和同步,调制解调器和数字适配器必须执行它们自己的协议。 无论是模拟的还是数字的通信设备,调制解调器和数字适配器的状态必须由接到节点上的设备来控制,这里必定有一个物理的或电气的接口来执行这种功能,执行某种适当的协议来达到这一控制目的。 (2)在计算机通信网中,许多信息源都是突发性的(bursty),问题是要利用信息的这种突发性质来降低消耗在线路上的费用,由此开发了许多共享通信资源的技术。所谓共享,是指允许多个用户使用同一通信资源,这就产生了多用户的接入问题。多路接入

思科X.25协议详解

C H A P T E R 17Chapter Goals ? Discuss the history and development of the X.25 protocol.? Describe the basic functions and components of X.25.?Describe the frame formats of X.25. X.25 Introduction X.25 is an International Telecommunication Union–Telecommunication Standardization Sector (ITU-T) protocol standard for WAN communications that defines how connections between user devices and network devices are established and maintained. X.25 is designed to operate effectively regardless of the type of systems connected to the network. It is typically used in the packet-switched networks (PSNs) of common carriers, such as the telephone companies. Subscribers are charged based on their use of the network. The development of the X.25 standard was initiated by the common carriers in the 1970s. At that time, there was a need for WAN protocols capable of providing connectivity across public data networks (PDNs). X.25 is now administered as an international standard by the ITU-T. X.25 Devices and Protocol Operation X.25 network devices fall into three general categories: data terminal equipment (DTE), data circuit-terminating equipment (DCE), and packet-switching exchange (PSE). Data terminal equipment devices are end systems that communicate across the X.25 network. They are usually terminals, personal computers, or network hosts, and are located on the premises of individual subscribers. DCE devices are communications devices, such as modems and packet switches, that provide the interface between DTE devices and a PSE, and are generally located in the carrier’s facilities. PSEs are switches that compose the bulk of the carrier’s network. They transfer data from one DTE device to another through the X.25 PSN. Figure 17-1 illustrates the relationships among the three types of X.25 network devices.

HLP SV Modbus标准通讯协议格式

HLP_SV Modbus RTU 标准通讯协议格式 通信资料格式 Address Function Data CRC check 8 bits 8 bits N×8bits 16bits 1)Address通讯地址:1-247 2)Function:命令码8-bit命令 01 读线圈状态 上位机发送数据格式: ADDRESS 01 ADDRH ADDRL NUMH NUML CRC 注: ADDR: 00000 --- FFFF(ADDR=线圈地址-1);NUM: 0010-----0040 (NUM为要读线圈状态值的二进制数位数) 正确时变频器返回数据格式: ADDRESS 01 BYTECOUNT DATA1 DATA2 DATA3 DATAN CRC 注: BYTECOUNT:读取的字数 错误时变频器返回数据格式: ADDRESS 0X81 Errornum CRC 注: Errornum为错误类型代码 如:要检测变频器的输出频率 应发送数据:01 01 00 30 00 10 3D C9(16进制) 变频器返回数据:01 01 02 00 20 B8 24(16进制) 发送数据:0030hex(线圈地址49) 返回的数据位为“0020”(16进制),高位与低位互换,为2000。即输出频率为 303(Max Ref)的50%。关于2000对应50%,具体见图1。

03读保持寄存器 上位机发送数据格式: ADDRESS 03 ADDRH ADDRL NUMH NUML CRC 注:ADDR: 0 --- 0XFFFF;NUM: 0010-----0040 (NUM为要读取数据的字数) ADDR=Parameter Numbe r×10-1 正确时变频器返回数据格式: ADDRESS 03 BYTECOUNT DATA1 DATA 2 DATA 3 DATAN CRC 注: BYTECOUNT:读取的字节数 错误时变频器返回数据格式: ADDRESS 0X83 Errornum CRC 如:要读变频器参数303的设定值 应发送数据:01 03 0B D5 00 02 95 BC (16进制) Parameter 303(3029)=0BD5HEX 变频器返回数据:“:”01 03 04 00 00 EA 60 B5 7B 返回的数据位为“00 00 EA 60”(16进制)转换为10进制数为60000, 表示303设置值为60.000 ※当参数值为双字时,NUM的值必须等于2。否则无法读取或读取错误。 05 写单个线圈状态 上位机发送数据格式: ADDRESS 05ADDRH ADDRL DATAH DA TAL CRC 注:ADDR: 0 ---- 0XFFFF(ADDR=线圈地址-1);DATA=0000HEX(OFF) OR FF00(ON) HEX 正确时变频器返回数据格式: ADDRESS 05 DATAH DATAL BYTECOUNT CRC 错误时变频器返回数据格式: ADDRESS 0X85 Errornum CRC 如:要使写参数为写入RAM和EEPROM 应发送数据:01 05 00 40 FF 00 CRC(16进制) 变频器返回数据:01 05 FF 00 00 01 CRC(16进制) 发送数据:0040hex(线圈地址65) 06 写单个保持寄存器值(只能写参数值为单个字的参数) 上位机发送数据格式: ADDRESS 06 ADDRH ADDRL DA TAH DATAL CRC 注:ADDR: ADDR=Parameter Numbe r×10-1 正确时变频器返回数据格式: ADDRESS 06 ADDRH ADDRL DA TAH DA TAL CRC 错误时变频器返回数据: ADDRESS 0X86 Errornum CRC 如:要对变频器参数101写入1 应发送数据:01 06 00 03 F1 00 01 19 BD(16进制) 变频器返回数据:01 06 03 F1 00 01 19 BD(16进制) PARAMETER 101(1009)=03F1 HEX

菱f系列plc编程口通信协议

三菱FX系列 PLC 编程口通信协议总览 三菱PLC-FX2N 三菱FX系列PLC编程口通信协议总览 该协议实际上适用于PLC编程端口以及 FX-232AW 模块的通信。 通讯格式: 命令命令码目标设备 DEVICE READ CMD "0" X,Y,M,S,T,C,D DEVICE WRITE CMD "1" X,Y,M,S,T,C,D FORCE ON CMD " 7" X,Y,M,S,T,C FORCE OFF CMD "8" X,Y,M,S,T,C 传输格式: RS232C 波特率: 9600bps 奇偶: even 校验: 累加方式(和校验) 字符: ASCII 16进制代码: ENQ 05H 请求 ACK 06H PLC正确响应 NAK 15H PLC错误响应 STX 02H 报文开始 ETX 03H 报文结束 帧格式: STX CMD DATA ...... DATA ETX SUM(upper) SUM(lower) 例子: STX ,CMD ,ADDRESS, BYTES, ETX, SUM 02H, 30H, 31H,30H,46H,36H, 30H,34H, 03H, 37H,34H

SUM=CMD+......+ETX; 30h+31h+30h+46h+36h+30h+34h+03h=74h; 累加和超过两位取低两位 1、DEVICE READ(读出软设备状态值) 计算机向PLC发送: 始命令首地址位数终和校验 STX CMD GROUP ADDRESS BYTES ETX SUM 例子:从D123开始读取4个字节数据 02h 30h 31h,30h,46h,36h 30h,34h 03h 37h,34h 地址算法:address=address*2+1000h 再转换成ASCII 31h,30h,46h,36h PLC返回 STX 1ST DATA 2ND DATA ..... LAST DATA ETX SUM 注:最多可以读取64个字节的数据 例子:从指定的存储器单元读到3584这个数据 02h 33h 35h 38h 34h 03h 44h,36h 2、DEVICE WRITE(向PLC软设备写入值) 始命令首地址位数数据终和校验 STX CMD GROUP ADDRESS BYTES 1ST DATA 2ND DATA ...... LAST DATA ETX SUM 例子:向D123开始的两个存储器中写入1234,ABCD 02h 31h 31h,30h,46h,36h 30h,34h 33h,34h,31h,32h,43h,44h,41h,42h 03h 34h,39h PLC返回 ACK (06H) 接受正确 NAK (15H) 接受错误 3、位设备强制置位/复位 FORCE ON置位 始命令地址终和校验 STX CMD ADDRESS ETX SUM 02h 37h address 03h sum FORCE OFF复位 始命令地址终和校验

RIP路由协议详解

RIP路由协议(Routing Information Protocols,路由信息协议)是使用最广泛的距离向量协议,它是由施乐(Xerox)在70年代开发的。当时,RIP是XNS (Xerox Network Service,施乐网络服务)协议簇的一部分。TCP/IP版本的RIP是施乐协议的改进版。RIP最大的特点是,无论实现原理还是配置方法,都非常简单。 度量方法RIP的度量是基于跳数(hops count)的,每经过一台路由器,路径的跳数加一。如此一来,跳数越多,路径就越长,RIP算法会优先选择跳数少的路径。RIP支持的最大跳数是15,跳数为16的网络被认为不可达。 路由更新RIP路由协议中路由的更新是通过定时广播实现的。缺省情况下,路由器每隔30秒向与它相连的网络广播自己的路由表,接到广播的路由器将收到的信息添加至自身的路由表中。每个路由器都如此广播,最终网络上所有的路由器都会得知全部的路由信息。正常情况下,每30秒路由器就可以收到一次路由信息确认,如果经过180秒,即6个更新周期,一个路由项都没有得到确认,路由器就认为它已失效了。如果经过240秒,即8个更新周期,路由项仍没有得到确认,它就被从路由表中删除。上面的30秒,180秒和240秒的延时都是由计时器控制的,它们分别是更新计时器(_updateTimer)、无效计时器(Invalid Timer)和刷新计时器(Flush Timer)。 路由循环距离向量类的算法容易产生路由循环,RIP路由协议是距离向量算法的一种,所以它也不例外。如果网络上有路由循环,信息就会循环传递,永远不能到达目的地。为了避免这个问题,RIP等距离向量算法实现了下面4个机制。 水平分割(split horizon)。水平分割保证路由器记住每一条路由信息的来源,并且不在收到这条信息的端口上再次发送它。这是保证不产生路由循环的最基本措施。 毒性逆转(poison reverse)。当一条路径信息变为无效之后,路由器并不立即将它从路由表中删除,而是用16,即不可达的度量值将它广播出去。这样虽然增加了路由表的大小,但对消除路由循环很有帮助,它可以立即清除相邻路由器之间的任何环路。 触发更新(trigger update)。当路由表发生变化时,更新报文立即广播给相邻的所有路由器,而不是等待30秒的更新周期。同样,当一个路由器刚启动RIP 路由协议时,它广播请求报文。收到此广播的相邻路由器立即应答一个更新报文,而不必等到下一个更新周期。这样,网络拓扑的变化会最快地在网络上传播开,减少了路由循环产生的可能性。 抑制计时(holddown timer)。一条路由信息无效之后,一段时间内这条路由都处于抑制状态,即在一定时间内不再接收关于同一目的地址的路由更新。如果,路由器从一个网段上得知一条路径失效,然后,立即在另一个网段上得知这个路由有效。这个有效的信息往往是不正确的,抑制计时避免了这个问题,而且,当一条链路频繁起停时,抑制计时减少了路由的浮动,增加了网络的稳定性。 即便采用了上面的4种方法,路由循环的问题也不能完全解决,只是得到了最大程度的减少。一旦路由循环真的出现,路由项的度量值就会出现计数到无穷大(_countto Infinity)的情况。这是因为路由信息被循环传递,每传过一个路由器,度量值就加1,一直加到16,路径就成为不可达的了。RIP路由协议选择16作为不可达的度量值是很巧妙的,它既足够的大,保证了多数网络能够正常运行,又足够小,使得计数到无穷大所花费的时间最短。 邻居有些网络是NBMA(Non-Broad_cast MultiAccess,非广播多路访问)

RSSIRSSII及SAHARA三种安全通信协议实现技术

RSSP-I、RSSP-II及SAHARA三种安全通信协议实现技术简介 岳朝鹏 摘要:本文针对RSSP-I、RSSP-II、SAHARA三种安全通信协议的主要安全通信技术实现机制进行介绍,并对这三种安全协议进行多方面比对,从而便于研发人员可根据具体应用场景选取所需的安全协议或防护技术。 关键词:铁路信号安全通信协议、SAHARA、实现机制、综合比对 Abstract:Based on RSSP-I, RSSP-II, SAHARA three kinds of safety communication protocols,the main safety communication technology realization mechanism were introduced, and compare these safety protocols in many aspects, which will be convenient for R& D personnel to select required safety protocol or the protection technology according to the concrete application scene. Keywords: RSSP、SAHARA、Implementation mechanisms、Comprehensive comparison 目前,RSSP-I协议广泛运用在我国客运专线列控中心的外围系统接口间,RSSP-II协议广泛运用在无线闭塞中心及临时限速服务器的外围系统接口间,而SAHARA协议主要应用在西门子地铁CBTC系统中。本文将对RSSP-I、RSSP-II、SAHARA三种安全通信协议的主要安全通信技术实现机制进行介绍,并对这三种安全协议进行多方面比对,从而便于研发人员可根据具体应用场景选取所需的安全协议或防护技术。 1、RSSP-I安全通信协议 ,以源标识为初始值T(0)=SID, 按通信周期向左移位32位,且若最高位为1时须异或一个时间戳生成多项式作为附加干扰输入。如下图所示:

通信协议与编程

MODBUS通讯协议及编程 ModBus通讯协议分为RTU协议和ASCII协议,我公司的多种仪表都采用ModBus RTU 通讯协议,如:YD2000智能电力监测仪、巡检表、数显表、光柱数显表等。下面就ModBus RTU协议简要介绍如下: 一、通讯协议 (一)、通讯传送方式: 通讯传送分为独立的信息头,和发送的编码数据。以下的通讯传送方式定义也与MODBUS RTU通讯规约相兼容: 初始结构= ≥4字节的时间 地址码= 1 字节 功能码= 1 字节 数据区= N 字节 错误校检= 16位CRC码 结束结构= ≥4字节的时间 地址码:地址码为通讯传送的第一个字节。这个字节表明由用户设定地址码的从机将接收由主机发送来的信息。并且每个从机都有具有唯一的地址码,并且响应回送均以各自的地址码开始。主机发送的地址码表明将发送到的从机地址,而从机发送的地址码表明回送的从机地址。 功能码:通讯传送的第二个字节。ModBus通讯规约定义功能号为1到127。本仪表只利用其中的一部分功能码。作为主机请求发送,通过功能码告诉从机执行什么动作。作为从机响应,从机发送的功能码与从主机发送来的功能码一样,并表明从机已响应主机进行操作。如果从机发送的功能码的最高位为1(比如功能码大与此同时127),则表明从机没有响应操作或发送出错。 数据区:数据区是根据不同的功能码而不同。数据区可以是实际数值、设置点、主机发送给从机或从机发送给主机的地址。 CRC码:二字节的错误检测码。

(二)、通讯规约: 当通讯命令发送至仪器时,符合相应地址码的设备接通讯命令,并除去地址码,读取信息,如果没有出错,则执行相应的任务;然后把执行结果返送给发送者。返送的信息中包括地址码、执行动作的功能码、执行动作后结果的数据以及错误校验码。如果出错就不发送任何信息。 1.信息帧结构 地址码:地址码是信息帧的第一字节(8位),从0到255。这个字节表明由用户设置地址的从机将接收由主机发送来的信息。每个从机都必须有唯一的地址码,并且只有符合地址码的从机才能响应回送。当从机回送信息时,相当的地址码表明该信息来自于何处。 功能码:主机发送的功能码告诉从机执行什么任务。表1-1列出的功能码都有具体的含义及操作 数据区:数据区包含需要从机执行什么动作或由从机采集的返送信息。这些信息可以是数值、参考地址等等。例如,功能码告诉从机读取寄存器的值,则数据区必需包含要读取寄存器的起始地址及读取长度。对于不同的从机,地址和数据信息都不相同。 错误校验码:主机或从机可用校验码进行判别接收信息是否出错。有时,由于电子噪声或其它一些干扰,信息在传输过程中会发生细微的变化,错误校验码保证了主机或从机对在传送过程中出错的信息不起作用。这样增加了系统的安全和效率。错误校验采用CRC-16校验方法。 注:信息帧的格式都基本相同:地址码、功能码、数据区和错误校验码。 2.错误校验 冗余循环码(CRC)包含2个字节,即16位二进制。CRC码由发送设备计算,放置于发送信息的尾部。接收信息的设备再重新计算接收到信息的 CRC码,比较计算得到的CRC码是否与接收到的相符,如果两者不相符,则表明出错。

几种通信协议

RS-232-C RS-232-C是OSI基本参考模型物理层部分的规格,它决定了连接器形状等物理特性、以0和1表示的电气特性及表示信号意义的逻辑特性。 RS-232-C是EIA发表的,是RS-232-B的修改版。本来是为连接模拟通信线路中的调制解调器等DCE及电传打印机等DTE拉接口而标准化的。现在很多个人计算机也用RS-232-C作为输入输出接口,用RS-232-C作为接口的个人计算机也很普及。 RS-232-C的如下特点:采用直通方式,双向通信,基本频带,电流环方式,串行传输方式,DCE-DTE间使用的信号形态,交接方式,全双工通信。RS-232-C在ITU建议的V.24和V.28规定的25引脚连接器在功能上具有互换性。 RS-232-C所使用的连接器为25引脚插入式连接器,一般称为25引脚D-SUB。DTE端的电缆顶端接公插头,DCE端接母插座。 RS-232-C所用电缆的形状并不固定,但大多使用带屏蔽的24芯电缆。电缆的最大长度为15m。使用RS-232-C在200K位/秒以下的任何速率都能进行数据传输。 RS-449 RS-449是1977年由EIA发表的标准,它规定了DTE和DCE之间的机械特性和电气特性。RS-449是想取代RS-232-C而开发的标准,但是几乎所有的数据通信设备厂家仍然采用原来的标准,所以RS-232-C仍然是最受欢迎的接口而被广泛采用。 RS-449的连接器使用ISO规格的37引脚及9引脚的连接器,2次通道(返回字通道)电路以外的所有相互连接的电路都使用37引脚的连接器,而2次通道电路则采用9引脚连接器。 RS-449的电特性,对平衡电路来说由RS-422-A规定,大体与V.11具有相同规格,而RS-423-A大体与V.10具有相同规格。

VB编写的Modbus RTU协议通讯源程序

modbus rtu协议可以算是一种事实上的工业标准协议,为许多仪表、PLC等所支持。以前有几个用户问如何使用VB编程来与我们的KND-K3系列PLC通讯,于是整了一个demo 程序。这次把这个demo共享,希望能给大家一点帮助。 1)模块文件:modCRC,其中包含了CRC校验的函数。 'data 待校验的数组名称 'no 数组中元素个数 'btLoCRC 算出的CRC高字节 'btHiCRC 算出的CRC低字节 Public Function CalCRC16Fast(data() As Byte, no As Integer, btLoCRC As Byte, btHiCR C As Byte) As String Dim CL As Byte, CH As Byte '多项式码&HA001 Dim SaveHi As Byte, SaveLo As Byte Dim i As Integer Dim Flag As Integer btHiCRC = &HFF btLoCRC = &HFF CL = &H1 CH = &HA0 For i = 0 To (no - 1) btHiCRC = btHiCRC Xor data(i) '每一个数据与CRC寄存器进行异或 For Flag = 0 To 7 SaveHi = btLoCRC SaveLo = btHiCRC btLoCRC = btLoCRC \ 2 '高位右移一位 btHiCRC = btHiCRC \ 2 '低位右移一位 If ((SaveHi And &H1) = &H1) Then '如果高位字节最后一位为1 btHiCRC = btHiCRC Or &H80 '则低位字节右移后前面补1 End If '否则自动补0 If ((SaveLo And &H1) = &H1) Then '如果LSB为1,则与多项式码进行异或 btLoCRC = btLoCRC Xor CH btHiCRC = btHiCRC Xor CL End If

RSSP-I安全通信协议软件使用说明书-B.1

设 计 文 件 版权专有 违者必究 中车株洲电力机车研究所有限公司 名称 RSSP-I 安全通信协议软件使用说明 书 编号 版本

编制校核

目次 1 目的和范围 (3) 1.1 目的 (3) 1.2 范围 (3) 2 规范性引用文件 (3) 3 参考资料 (3) 4 术语和缩略语 (3) 5 概述 (3) 6 时序接口 (4) 7 使用条件 (6) 8 数据类型定义 (7) 9 应用接口函数 (8) 9.1 Rsp1_Init (8) 9.2 Rsp1_UpdateClock (8) 9.3 Rsp1_PackageData (8) 9.4 Rsp1_CheckPackage (9) 9.5 Rsp1_Close (10) 9.6 Rsp1_Open (10) 9.7 Rsp1_GetChanelStatus (11) 9.8 Rsp1_GetSynData (11) 9.9 Rsp1_SetSynData (12) 附录 A (18) A.1 附录及说明文件符合性检查表 (18) A.2 附件及说明 (18)

1 目的和范围 1.1 目的 本文描述了RSSP-I安全通信协议软件的接口方式与具体方法。预期读者为上层应用开发用户及验证、确认人员等。 1.2 范围 本文适用于RSSP-I安全通信协议软件使用说明。 2 规范性引用文件 本文档所引用的轨道交通信号系统通用安全计算机平台文档,凡是标注版本的,只有标注版本适应本文档;没有标注版本的,则引用文档的最新版本适用于本文档。 表1 3 参考资料 表2 4 术语和缩略语 术语和缩略语见表3。 表3 5 概述

常用几种通讯协议

常用几种通讯协议 Modbus Modbus技术已成为一种工业标准。它是由Modicon公司制定并开发的。其通讯主要采用RS232,RS485等其他通讯媒介。它为用户提供了一种开放、灵活和标准的通讯技术,降低了开发和维护成本。 Modbus通讯协议由主设备先建立消息格式,格式包括设备地址、功能代码、数据地址和出错校验。从设备必需用Modbus协议建立答复消息,其格式包含确认的功能代码,返回数据和出错校验。如果接收到的数据出错,或者从设备不能执行所要求的命令,从设备将返回出错信息。 Modbus通讯协议拥有自己的消息结构。不管采用何种网络进行通讯,该消息结构均可以被系统采用和识别。利用此通信协议,既可以询问网络上的其他设备,也能答复其他设备的询问,又可以检测并报告出错信息。 在Modbus网络上通讯期间,通讯协议能识别出设备地址,消息,命令,以及包含在消息中的数据和其他信息,如果协议要求从设备予以答复,那么从设备将组建一个消息,并利用Modbus发送出去。 BACnet BACnet是楼宇自动控制系统的数据通讯协议,它由一系列与软件及硬件相关的通讯协议组成,规定了计算机控制器之间所有对话方式。协议包括:(1)所选通讯介质使用的电子信号特性,如何识别计算机网址,判断计算机何时使用网络及如何使用。(2)误码检验,数据压缩和编码以及各计算机专门的信息格式。显然,由于有多种方法可以解决上述问题,但两种不同的通讯模式选择同一种协议的可能性极少,因此,就需要一种标准。即由ISO(国际标准化协会〉于80年代着手解决,制定了《开放式系统互联(OSI〉基本参考模式(Open System Interconnection/Basic Reference Model简称OSI/RM)IS0- 7498》。 OSI/RM是ISO/OSI标准中最重要的一个,它为其它0SI标准的相容性提供了共同的参考,为研究、设计、实现和改造信息处理系统提供了功能上和概念上的框架。它是一个具有总体性的指导性标准,也是理解其它0SI标准的基础和前提。 0SI/RM按分层原则分为七层,即物理层、数据链路层、网络层、运输层、会话层、表示层、应用层。 BACnet既然是一种开放性的计算机网络,就必须参考OSIAM。但BACnet没有从网络的最低层重新定义自己的层次,而是选用已成熟的局域网技术,简化0SI/RM,形成包容许多局 域网的简单而实用的四级体系结构。 四级结构包括物理层、数据链路层、网络层和应用层。

相关文档
最新文档