RSSP-I安全通信协议软件使用说明书-B.1_第1页
RSSP-I安全通信协议软件使用说明书-B.1_第2页
RSSP-I安全通信协议软件使用说明书-B.1_第3页
RSSP-I安全通信协议软件使用说明书-B.1_第4页
RSSP-I安全通信协议软件使用说明书-B.1_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南车时代下属部门或业务主体的名称PAGEIIPAGE2设计文件版权专有违者必究中车株洲电力机车研究所有限公司标准模板:Q/ZS41.17-2011/PD-TP-01-02/V7.1名称RSSP-I安全通信协议软件使用说明书编号版本TE×××-××××××XXRSSP-I安全通信协议使用说明书PAGEII中车株洲电力机车研究所有限公司(文档编号)TG×××-000000XdXPAGEI编制工艺校核标准化审核批准版本号更改人更改日期更改说明变更编号A.1陈昕系统创建(自动生成)A.2陈昕2016-6-12创建全文A.3陈昕2016-8-8增加Rsp1_Open函数,修改Rsp1_PackageData函数描述A.4陈昕2016-9-26按评审意见修改A.5陈昕2016-10-14修改使用条件中对于通信周期限制的描述B.1陈昕2017-12-21增加LEU通信相关接口描述;增加GetRunningCode函数接口描述;目次TOC\h\z\t"ZS_C标题2级,2,ZS_C标题1级,1,ZS_C标题3级,3,ZS_F附录标识,1,ZS_G附录标题1级,2"1目的和范围 31.1目的 31.2范围 32规范性引用文件 33参考资料 34术语和缩略语 35概述 36时序接口 37使用条件 68数据类型定义 69应用接口函数 79.1Rsp1_Init 79.2Rsp1_UpdateClock 79.3Rsp1_PackageData 89.4Rsp1_CheckPackage 99.5Rsp1_Close 99.6Rsp1_Open 109.7Rsp1_GetChanelStatus 109.8Rsp1_GetSynData 119.9Rsp1_SetSynData 11附录A 12A.1附录及说明文件符合性检查表 12A.2附件及说明 12南车时代下属部门或业务主体的名称共=NUMPAGES3-4-1页第2页文件名称共12页第7页中车株洲电力机车研究所有限公司目的和范围目的本文描述了RSSP-I安全通信协议软件的接口方式与具体方法。预期读者为上层应用开发用户及验证、确认人员等。范围本文适用于RSSP-I安全通信协议软件使用说明。规范性引用文件本文档所引用的轨道交通信号系统通用安全计算机平台文档,凡是标注版本的,只有标注版本适应本文档;没有标注版本的,则引用文档的最新版本适用于本文档。序号标准/文件编号标准/文件名称备注1运基信号【2010】267号RSSP-I铁路信号安全通信协议参考资料序号文件编号文件名称备注————————术语和缩略语术语和缩略语见表3。序号术语/缩略语描述1LEULinesideElectronicUnit,轨旁电子设备2RSSPRailwaySignalSafetyProtocol铁路信号安全协议。概述时序接口轨道交通信号系统应用需在系统运行的不同阶段调用RSSP-I安全通信协议软件提供的不同函数接口用于实现相应的功能:1)初始化阶段系统应执行Rsp1_Init函数,完成对协议栈的初始化及参数配置;2)每个运行周期需要执行Rsp1_UpdateClock,以更新协议栈时钟;3)当接收到数据后,应用需要调用Rsp1_CheckPackage用以验证数据包有效性并更新协议栈;4)当需要发送数据时,应用需要调用Rsp1_PackageData用以打包需要发送的实时安全数据;5)当设备需要断开与某个外部设备的链接时,调用Rsp1_Close后,协议栈将拒绝对该外部设备发送过来的数据;当需要重新打开时,调用Rsp1_Open功能。6)设备通过调用Rsp1_GetChanelStatus获得某条链路状态及该链路上一包有效数据接收周期距当前周期数。7)当系统处于两系运行时,设备主系可在每周期所有Rsp1_PackageData函数执行后调用Rsp1_GetSynData,用以获取当前协议栈所有链路运行状态;8)当系统处于两系运行时,设备备系可在每周期Rsp1_UpdateClock函数执行前调用Rsp1_SetSynData,用以将主系协议栈数据同步到备系。系统初始化阶段示例如下图:RSSP-I安全通信协议软件初始化LEU接口使用LEU_Init函数。系统每周期与RSSP-I安全通信协议软件接口接口示例如下:RSSP-I安全通信协议软件接口调用顺序注:虚线框内接口应根据轨道交通信号系统应用实际情况调用,不强制调用。对于LEU操作如下流程图:LEU通信接口接口调用顺序使用条件RSSP-I安全通信协议软件可用于:封闭式传输系统中的轨道交通信号系统信号设备;加入加密等措施,满足开放式传输系统防护条件的开放式传输系统中的轨道交通信号系统信号设备;适用于嵌入式、PC、工作站及服务器等硬件环境。RSSP-I安全通信协议软件可通过源码、链接库(可通过C或C++编译器编译生成)等方式被轨道交通信号设备使用。RSSP-I安全通信协议软件应用于2乘2取2安全计算机平台时,可使用RSSP-I安全通信协议软件提供的获取同步数据接口及同步数据设置接口对主备系间协议状态进行同步,以保证主备系切换时,通信可以维持。RSSP-I安全通信协议软件应用于热备或其他计算机平台时,建议周期性使用RSSP-I安全通信协议软件提供的获取同步数据接口及同步数据设置接口对主备系间协议状态进行同步,以保证系别切换时,通信可以维持。如果不进行同步,可能会造成若干周期的通信中断。RSSP-I安全通信协议软件应集成在固定周期的轨道交通信号系统中的子系统应用中或轨道交通信号系统中的子系统应用按照固定周期触发RSSP-I安全通信协议软件。须满足基本运行硬件要求500K字节以上运行内存、10K字节以上的配置文件存储空间,并保证分配内存与配置文件存储空间独立。RSSP-I安全通信协议软件对传输系统的物理层和链路层无特定依赖,但需要用户考虑传输系统中的网络传输负载、带宽及网络拓扑等因素是否合理,并保证实时数据帧、对时请求帧、对时应答帧可以传输到对方。用户应正确使用RSSP-I安全通信协议软件提供的接口。目前RSSP-I安全通信协议软件仅进行了时代电气安全计算机平台提供的WindRiverCert平台编译器的确认测试,如用于其他平台或更换编译器、更换处理器,需要对使用的编译器、处理器进行确认测试,并对RSSP-I安全通信协议软件功能进行重新确认测试。数据类型定义数据类型表数据类型原型说明UTinytypedefunsignedchar无符号8位UShorttypedefunsignedshort无符号16位ULongtypedefunsignedlong无符号32位S_MsgtypedefstructTAG_Msg{UShortlength;UTinybuff[c_BUFF_SIZE];}S_Msg;应用数据帧结构体S_SsMsgtypedefstructTAG_SsMsg{UShortlength;Tinybuff[c_SSR_SIZE];}S_SsMsg;对时数据结构体E_BooltypedefenumTAG_Bool{r_FALSE=0x05555555U,r_TRUE=0x0AAAAAAAU}E_Bool;自定义布尔枚举应用接口函数Rsp1_Init接口函数Rsp1_Init描述接口函数Rsp1_Init原型声明E_BoolRsp1_Init(constUShortselfDevId_U16,constUShortinCfgLen_U16,UTiny*constinCfgBuf);包含文件<Rsp1.h>提供方Rsp1组件调用方上层应用形参描述UShortselfDevId_U16:本设备ID;UShortinCfgLen_U16:配置数据长度;UTiny*inCfgBuf:配置数据缓存区首地址。返回值描述配置成功,返回r_TRUE;配置失败,返回r_FALSE。功能描述检查传入配置是否完整,如配置完整,初始化协议栈配置。为协议栈分配空间。该函数在系统初始化阶段调用。函数检查了传入的配置数据区域CRC的正确性,如果CRC检查正确,则执行初始化过程,否则将协议栈内容数据置为0。Rsp1_UpdateClock接口函数Rsp1_UpdateClock描述接口函数Rsp1_UpdateClock原型声明voidRsp1_UpdateClock(void);包含文件<Rsp1.h>提供方Rsp1组件调用方上层应用形参描述无返回值描述无功能描述更新周期时钟。该函数在系统执行每个通信周期都需要进行调用,如未每个通信周期进行调用,将导致所有通信链路通信状态判断错误。Rsp1_PackageData接口函数Rsp1_PackageData描述接口函数Rsp1_PackageData原型声明UTinyRsp1_PackageData(constUShortinDstDevId_U16,constS_Msg*inMsg,S_Msg*outMsg,S_SsMsg*outSseMsg,S_SsMsg*outSsrMsg);包含文件<Rsp1.h>提供方Rsp1组件调用方上层应用形参描述UShortinDstDevId_U16:设备识别号;S_Msg*inMsg:需要封装的数据;S_Msg*outMsg:封装后的数据;S_SsMsg*outSseMsg:封装后的对时请求数据;S_SsMsg*outSsrMsg:封装后的对时应答数据。返回值描述错误的数据接收方类型或识别号,返回0;打包数据长度大于最大允许长度,返回1;打包TSD和对时帧(SSR或SSE),返回2;已打包TSD,返回3。功能描述如发送对象的设备不在配置数据中,需要向上层应用汇报,并拒绝组帧。如发送数据大于最大应用数据允许长度(1200字节),需要向上层应用汇报,并拒绝组帧。当查找到对应设备且发送数据在允许应用数据允许长度内时,则填入指定缓冲进行组帧。数据帧与对时帧(SSE与SSR)缓冲需要分开。并分别告知上层应用打包后的数据帧和对时帧数据包长度。Rsp1_CheckPackage接口函数Rsp1_CheckPackage描述接口函数Rsp1_CheckPackage原型声明UTinyRsp1_CheckPackage(constUShortinDstDevId_U16,constUShortinLen_U16,UTiny*inBuf,UShort*outLen,UTiny*outBuf);包含文件<Rsp1.h>提供方Rsp1组件调用方上层应用形参描述UShortinDstDevId_U16:设备识别号;UShortinLen_U16:需要校验数据长度;UTiny*inBuf:需要校验的数据起始地址;UShort*outLen:校验后的数据长度存放地址;UTiny*outBuf:校验后的数据起始地址。返回值描述错误的数据来源设备类型或识别号,返回0;接收数据长度大于最大允许长度,返回1;接收到SSE或SSR,返回2;接收到RSD,返回3。功能描述如填入数据长度大于协议允许数据长度,协议拒绝进行解析。当填入数据长度小于等于协议允许数据长度,协议栈检查传入的数据帧缓冲区,对不同的帧类型做判断:如为SSE帧,则反馈SSR帧;如为SSR帧,则更新本地连接序列号及时间戳;如果是数据帧,则对时间戳、序列号等做检查,如果在容忍范围内则认为该数据帧有效,更新通信链路状态,并将应用数据缓冲返回给上层应用。如时间戳、序列号超出允许范围或CRC校验失败,则需要丢弃该数据帧。建议安全设备中该函数输出的校验后数据应当Rsp1_GetChanelStatus结果为链路状态正常时才予以选用。Rsp1_Close接口函数Rsp1_Close描述接口函数Rsp1_Close原型声明E_BoolRsp1_Close(constUShortinDstDevId_U16);包含文件<Rsp1.h>提供方Rsp1组件调用方上层应用形参描述E_BoolinDstDevId_U16:数据接收方设备识别号。返回值描述关闭已关闭链路,返回r_TRUE;成功关闭链路,返回r_FALSE。功能描述将输入设备类型、设备识别号对应的链路置为关闭状态,协议栈将拒绝对应设备传入数据。如果传入设备无法找到时,将向上层汇报,并返回链路关闭失败。只有当查找到传入设备时,且链路处于打开状态,则关闭链路并返回“真”。Rsp1_Open接口函数Rsp1_Open描述接口函数Rsp1_Open原型声明E_BoolRsp1_Open(constUShortinDstDevId_U16);包含文件<Rsp1.h>提供方Rsp1组件调用方上层应用形参描述E_BoolinDstDevId_U16:数据接收方设备识别号。返回值描述打开已关闭链路,返回r_TRUE;成功打开链路,返回r_FALSE。功能描述将输入设备类型、设备识别号对应的链路置为打开状态,协议栈将允许对应设备传入数据。如果传入设备无法找到时,将向上层汇报,并返回链路打开失败。只有当查找到传入设备时,且链路处于关闭状态,则打开链路并返回“真”。Rsp1_GetChanelStatus接口函数Rsp1_GetChanelStatus描述接口函数Rsp1_GetChanelStatus原型声明E_BoolRsp1_GetChanelStatus(constUShortinDstDevId_U16,UShort*constoutCycDiff);包含文件<Rsp1.h>提供方Rsp1组件调用方上层应用形参描述UShortinDstDevId_U16:设备识别号。UShort*outCycDiff:返回的当前周期与上一次接收有效数据包的周期差值。返回值描述链路状态故障,返回r_FALSE;链路状态正常,返回r_TRUE。功能描述如果传入设备无法找到时,将向上层汇报,并返回断开状态及累计时钟值。只有当查找到传入设备时,则链路连接状态是否正常,并返回本周期协议栈时钟与上一有效数据帧接收周期时钟差值。Rsp1_GetSynData接口函数Rsp1_GetSynData描述接口函数Rsp1_GetSynData原型声明UShortRsp1_GetSynData(UTiny*buf);包含文件<Rsp1.h>提供方Rsp1组件调用方上层应用形参描述UTiny*buf:同步数据缓冲首地址。返回值描述返回同步数据字节数。功能描述协议栈同步数据获取接口,获取协议栈时钟、所有链路序列号与时间戳。注:两系运行时,主系应用应每个系统周期结束时调用本函数,备系不能调用本函数。本函数可用中间数据的CRC校验,以避免硬件环境的干扰或失效导致内存数据读写错误对运行数据造成的破坏。Rsp1_SetSynData接口函数Rsp1_SetSynData描述接口函数Rsp1_SetSynData原型声明voidRsp1_SetSynData(constUTiny*inBuf,UShortinDataLength_U16);包含文件<Rsp1.h>提供方Rsp1组件调用方上层应用形参描述UTiny*buf:同步数据缓冲;UShortinDataLength_U16:同步数据长度。返回值描述无。功能描述接收同步数据时将检查同步数据的CRC及可用链路数,如果校验失败,则向上层汇报,并拒绝同步。如CRC及可用链路数校验通过,则同步数据设置接口,设置协议栈时钟、所有链路序列号与时间戳。注:备系应用应每个系统周期开始时调用本函数,主系不能调用本函数。Rsp1_GetRunningCode接口函数Rsp1_GetRunningCode描述接口函数Rsp1_GetRunningCode原型声明UShortRsp1_GetRunningCode(UTiny*outBuf);包含文件<Rsp1.h>提供方Rsp1组件调用方上层应用形参描述返回故障码缓冲区。返回值描述本周期故障码长度。功能描述获取本周期故障码。LEU_Init接口函数LEU_Init描述接口函数LEU_Init原型声明voidLEU_Init();包含文件<Rsp1.h>提供方Rsp1组件调用方上层应用形参描述无。返回值描述无。功能描述初始化LEU接口所需要的内部变量。LEU_BtmCycle接口函数LEU_BtmCycle描述接口函数LEU_BtmCycle原型声明voidLEU_BtmCycle(constUTinyLEUIndex);包含文件<Rsp1.h>提供方Rsp1组件调用方上层应用形参描述UTinyLEUIndex:LEU序号。返回值描述无。功能描述更新指定序号的LEU的时钟。LEU_CheckBtmPackage接口函数LEU_CheckBtmPackage描述接口函数LEU_CheckBtmPackage原型声明UTinyLEU_CheckBtmPackage(constUTinyLEUIndex,constUShortinLen_U16,UTiny*inBuf,UShort*outLen,UTiny*outBuf);包含文件<Rsp1.h>提供方Rsp1组件调用方上层应用形参描述UTinyLEUIndex:LEU序号;constUShortinLen_U16:接收到的LEU数据长度;UTiny*inBuf:接收到LEU数据缓冲;UShort*outLen:校验后的数据长度;UTiny*outBuf:校验后的数据缓冲。返回值描述1:无效数据;2:数据帧;3:校时帧功能描述如填入数据长度大于协议允许数据长度,协议拒绝进行解析。当填入数据长度小于等于协议允许数据长度,协议栈检查传入的数据帧缓冲区,对不同的帧类型做判断:如为SSE帧,则反馈SSR帧;如为SSR帧,则更新本地连接序列号及时间戳;如果是数据帧,则对时间戳、序列号等做检查,如果在容忍范围内则认为该数据帧有效,更新通信链路状态,并将应用数据缓冲返回给上层应用。如时间戳、序列号超出允许范围或CRC校验失败,则需要丢弃该数据帧。建议安全设备中该函数输出的校验后数据应当Rsp1_GetChanelStatus结果为链路状态正常时才予以选用。LEU_PackageBtmData接口函数LEU_PackageBtmData描述接口函数LEU_PackageBtmData原型声明UTinyLEU_PackageBtmData(constUShortLEUIndex,S_Msg*outMsg,S_SsMsg*outSseMsg,S_SsMsg*outSsrMsg);包含文件<Rsp1.h>提供方Rsp1组件调用方上层应用形参描述constUShortLEUIndex:LEU序号;S_Msg*outMsg:输出的BTM帧;S_SsMsg*outSseMsg:输出的BTM对时请求;S_SsMsg*outSsrMsg:输出的BTM对时应答。返回值描述错误的数据接收方类型或识别号,返回0;打包数据长度大于最大允许长度,返回1;打包TSD和对时帧(SSR或SSE),返回2;已打包TSD,返回3。功能描述如发送对象的设备不在配置数据中,需要向上层应用汇报,并拒绝组帧。如发送数据大于最大应用数据允许长度(1200字节),需要向上层应用汇报,并拒绝组帧。当查找到对应设备且发送数据在允许应用数据允许长度内时,则填入指定缓冲进行组帧。数据帧与对时帧(SSE与SSR)缓冲需要分开。并分别告知上层应用打包后的数据帧和对时帧数据包长度。LEU_CheckRsdPackage接口函数LEU_CheckRsdPackage描述接口函数LEU_CheckRsdPackage原型声明UTinyLEU_CheckRsdPackage(constUShortLEUIndex,constUShortinLen_U16,UTiny*inBuf,UShort*outLen,UTiny*outBuf);包含文件<Rsp1.h>提供方Rsp1组件调用方上层应用形参描述UTinyLEUIndex:LEU序号;constUShortinLen_U16:接收到的LEU数据长度;UTiny*inBuf:接收到LEU数据缓冲;UShort*outLen:校验后的数据长度;UTiny*outBuf:校验后的数据缓冲。返回值描述1:无效数据;2:数据帧;3:校时帧功能描述如填入数据长度大于协议允许数据长度,协议拒绝进行解析。当填入数据长度小于等于协议允许数据长度,协议栈检查传入的数据帧缓冲区,对不同的帧类型做判断:如为SSE帧,则反馈SSR帧;如为SSR帧,则更新本地连接序列号及时间戳;如果是数据帧,则对时间戳、序列号等做检查,如果在容忍范围内则认为该数据帧有效,更新通信链路状态,并将应用数据缓冲返回给上层应用。如时间戳、序列号超出允许范围或CRC校验失败,则需要丢弃该数据帧。建议安全设备中该函数输出的校验后数据应当Rsp1_GetChanelStatus结果为链路状态正常时才予以选用。LEU_PackageRsdData接口函数LEU_PackageRsdData描述接口函数LEU_PackageRsdData原型声明UTinyLEU_PackageRsdData(constUShortLEUIndex,S_Msg*inMsg,S_Msg*outMsg,S_SsMsg*outSseMsg,S_SsMsg*outSsrMsg);包含文件<Rsp1.h>提供方Rsp1组件调用方上层应用形参描述constUShortL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论