串口服务器应用开发指南_第1页
串口服务器应用开发指南_第2页
串口服务器应用开发指南_第3页
串口服务器应用开发指南_第4页
串口服务器应用开发指南_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、 修订记录2010-3-30 开始编写,编写者Monkey Jin。2010-4-1 完成初稿。目录1概述_ 4 2硬件架构_ 4 2.1服务器主机结构 _ 4 2.2应用模块结构 _ 42.2.1Silincom ISO Modem x8单元模块 _ 42.2.2SSX0902_01 3端口x4芯片模块_ 6 3通讯协议_ 63.1概述 _ 6 3.2应用层报文帧结构 _ 7 3.3命令包结构 _ 83.3.10x0001服务器设备信息,仅发送_ 83.3.20x0010 服务器心跳,仅发送 _ 93.3.30x0080 服务器启动,仅接收 _ 103.3.40x0101 模块使能,仅接收

2、_ 103.3.50x0102 模块挂起,仅接收 _ 103.3.60x0201 打开模块,仅接收 _ 103.3.70x0202 关闭模块,接收与发送 _ 103.3.80x0301 模块状态信息,仅发送 _ 113.3.90x0302 模块数据收发,发送与接收_ 113.3.100x8000 命令完成,仅发送 _ 123.3.110xFF01 帧校验错误,仅发送 _ 12 3.4帧解析示例 _ 123.4.1信息帧数据 _ 123.4.2启动帧数据 _ 133.4.3收到或发送数据 _ 14 4工作流程_ 15 4.1服务器的配置 _ 154.1.1管理端口的连接 _ 154.1.2设定服

3、务器IP_ 164.1.3设定服务器MAC _ 164.1.4设定管理服务器IP_ 164.1.5设定服务端口 _ 17 4.2服务器启动流程 _ 18 4.3Modem Silincom x8 模块工作流程 _ 18 4.4SSX0902_1 3Port x4 模块工作流程 _ 19 5模块说明_ 205.1Modem Silincom x8 模块 _ 205.1.1说明 _ 205.1.2设备信息 _ 205.1.3寄存器列表 _ 215.1.4寄存器说明 _ 21 5.2SSX0902_1 3Port x4 模块 _ 225.2.1说明 _ 225.2.2设备信息 _ 235.2.3寄存

4、器列表 _ 235.2.4寄存器说明 _ 241概述本服务器是为多串口大数据量服务应用开发的一种高密度串口设备服务器。为多思电话银行项目现阶段提供2种服务模块。Silincom ISO Modem x8单元模块和SSX0902_01 3端口x4芯片模块。2硬件架构2.1服务器主机结构服务器为标准1U机架式服务器。每服务器最大散热功耗100W。服务器除模块应用外,对外连接仅需一条电源线,一条5类以太网线在服务器尾部接入。每服务器可支持4个应用模块。模块从服务器前面板安装。安装与移除时无需任何工具。前面板布局如下: 2.2应用模块结构2.2.1SILINCOM ISO MODEM X8单元模块此模

5、块结构如下 此模块上内置8块Silincom ISO Modem 单元,每个Modem单元均采用插座形式安装在模块上。PSDN电话线采用3M Mini D Ribbon (MDR Connectors 10136-3000PX 接入。插座结构如下: 具体连接线序如下:1-2 Modem 03-4 Modem 75-6 Modem 67-8 Modem 511-12 Modem 413-14 Modem 315-16 Modem 217-18 Modem 1该模块提供8个串口与Modem 通讯,同时提供Modem的DCD 信号检测,RESET、ESC、POWER ON的控制。2.2.2SSX09

6、02_01 3端口X4芯片模块此模块结构如下: 该模块提供直接焊接4片SSX0902-1芯片。为每个芯片提供3个串口连接,模块上一共提供12个串口。同时为每个芯片提供系统时钟、PLLEN、CARDON、INTP、ERASE、RESET 控制。3通讯协议3.1概述本设备现阶段采用IP - UDP 协议流式通讯。下一版本将改为IP TCP协议流式通讯。应用层协议保持不变。由于采用流式通讯,因此不应以UDP报文作为应用层报文拆分参考。即有可能一个UDP报文包含多个完整或不完整应用层报文帧,或一个应用层的报文帧可能包含在多个UDP报文中。3.2应用层报文帧结构应用层报文按如下帧结构封装: 帧结构中各字

7、段内容如下:1.同步头,固定为“0x53,0x53,0x52,0x56” 4字节数据其ASCII码为”SSRV”。2.帧长度,16位整数。本帧全部数据字节长度,最长65535,本服务器实际使用最长不超过270。3.校验算法选择,1字节现阶段选择为CRC16 小端余数0x1021,此值为0x10。4.1字节保留位填充0x005.同步计数,16位整数。为收发报文的计数从任意值起始每发送一个报文计数加一。确认命令帧数据回送此数据对比。服务器端暂时为1起始。6.校验值,根据选择校验算法不同数据内容为8-32位。不足32位补0。本服务器选择CRC16数据为16位。7.附加数据为一条服务及指令及其所需数据

8、。帧长度为4字节对齐,数据不足部分任意填充。帧中的所有多字节数据均为小端结构。3.3命令包结构本服务器指令共11条,其中命令字16位占2字节,附加数据根据不同指令有所不同最大不超过250字节。详细定义如下:C语言结构描述typedef struct _CmdPackU16 Cmd;U16 DataLen;U8 Data;_CmdPack;Cmd为密令字DataLen 为数据字段长度Data 为数据段内容,实际使用最大长度不超过250字节以下是命令详解。其中发送与接收均指本服务器而言。3.3.10X0001服务器设备信息,仅发送服务器启动后,在检测完系统后处于待机状态。此时每隔4秒向指定服务器发

9、送一次本指令。待收到启动指令后不在发送本指令。本指令包含的数据包括两个_ServDeviceInfo 结构,分别为服务器信息、服务器背板信息。_ServDeviceInfo 结构C 语言描述如下:typedef struct _ServDeviceInfoU8 ID16; /设备ID,16字节/串口汇聚服务1U版为"HS SerialServer"/1U 4Unit 背板为"HS SSBack 1U4Ch"U8 HeadDate4; /硬件构造日期BCD YYYYMMDD U8 HeadBuild4; /硬件构造序号U8 SoftDate4; /软件构造

10、日期BCD YYYYMMDD U8 SoftBuild4; /软件构造序号U8 MakeDate4; /制造时间日期BCD YYYYMMDD U8 SubQuantity; /支持模块数量数据通道数U8 PowerValue; /最大支持功率值(仅背板U8 UnitPowerValue; /每单元最大支持功率值(仅背板 U8 PowerUnit; /功率单位10n mW(仅背板U8 Index8; /流水号_ServDeviceInfo;此版本实际数据为(16进制01 0060 0048 53 20 53 65 72 69 61 6c 53 65 72 76 65 72 0020 09 10

11、22 00 01 00 0020 10 03 23 00 01 00 0020 10 04 05 04 00 00 0000 00 00 00 00 00 00 0048 53 20 53 53 42 61 63 6b 20 31 55 34 43 68 0020 09 11 15 00 00 00 0120 09 12 11 00 00 00 0120 09 12 01 04 64 19 0300 00 00 00 00 00 00 013.3.20X0010 服务器心跳,仅发送服务器转入工作状态后,每隔4秒向指定服务器发送一次本指令。本指令无附加数据。3.3.30X0080 服务器启动,仅

12、接收服务器在待机状态收到本指令后转为工作状态。本指令无附加数据。3.3.40X0101 模块使能,仅接收处于挂起状态的模块单元不能被检测到并工作,必须使用本命令启动模块的检测驱动。服务器在刚进入工作状态时所有模块都处于挂起状态。3.3.50X0102 模块挂起,仅接收如模块启动异常或需要检修模块时需要发送此指令将模块挂起。此指令与模块使能组合使用可使模块复位。如热插拔模块建议先发出此指令,以避免由于通讯异常中断造成的其他后果。本命令附加数据只有一个16位的模块单元号。3.3.60X0201 打开模块,仅接收启动与模块的通讯。检测到模块插入后可用此命令启动与模块的通讯。在模块启动自检完成后会发出

13、一个模块状态信息报告此模块的详细信息。本命令附加数据只有一个16位的模块单元号。3.3.70X0202 关闭模块,接收与发送关闭与模块的通讯当服务器与模块通讯出现错误或通讯时向服务器发出模块挂起时服务器会自动断开与模块的通讯,同时会发出本指令。关闭与模块的通讯并不一定可以使模块复位。如需要使模块复位请使用模块挂起与模块使能命令组合。本命令附加数据只有一个16位的模块单元号。3.3.80X0301 模块状态信息,仅发送当模块发生工作状态变化时发出本指令。现阶段版本状态描述包含以下3种:0x0010 模块插入0x0020 模块移除0x0030 模块就绪附加数据C语言结构描述如下:typedef s

14、truct _CmdModuleReadyU16 Index; /模块单元号U16 Sta; /状态描述_ServDeviceInfo Info; /模块信息,仅就绪状态包含此信息。/具体分析见5-模块说明_CmdModuleReady;3.3.90X0302 模块数据收发,发送与接收向模块的各串口发送数据,或串口受到数据后发出本指令。附加数据C语言结构描述如下:typedef struct _CmdModuleDataU16 Index; /模块单元号U16 Unit; /模块内串口单元号U16 DataLen; /本次收发数据长度U8 Data240; /数据内容_CmdModuleDat

15、a;3.3.100X8000 命令完成,仅发送所有的指令正确接收完成并执行后均会发出本指令。附加数据C语言结构描述如下:typedef struct _CmdOkU32 FrameIndex; /收到的命令帧序数U32 pCmd; /完成的命令_CmdOk;3.3.110XFF01 帧校验错误,仅发送当服务器接收到的数据包解码是仅发生校验错误时发出本指令。本指令可用于测试校验算法或手工构造数据包。附加数据C语言结构描述如下:typedef struct _CmdCheckErrorU32 FrameIndex; /发生错误的帧序数U32 ErrorValue; /错误的校验值U32 Valid

16、Value; /正确的校验值_CmdCheckError;3.4帧解析示例3.4.1信息帧数据53 53 52 56 /同步头74 00 /数据长度116字节10 00 /校验算法CRC1602 00 00 00 /帧序数0x00000002b7 92 00 00 /校验值,不足32位补001 00 /命令0x0001 服务器信息60 00 /命令附加数据48 53 20 53 65 72 69 61 6c 53 65 72 76 65 72 00 /服务器SN 20 09 10 22 00 01 00 00 /服务器硬件设计时间与版本号20 10 03 23 00 01 00 00 /服务器

17、软件设计时间与版本号20 10 04 05 /服务器硬件制造时间04 /支持模块数00 00 00 /无含义00 00 00 00 00 00 00 00 /服务器硬件制造流水号/以下是服务器背板信息48 53 20 53 53 42 61 63 6b 20 31 55 34 43 68 0020 09 11 15 00 00 00 0120 09 12 11 00 00 00 0120 09 12 010464 /背板支持电源功率10019 /每模块提供功率2503 /功率单位1000mW00 00 00 00 00 00 00 013.4.2启动帧数据53 53 52 5614 0010

18、0002 00 00 0055 48 00 0080 00 /启动命令0x008000 003.4.3收到或发送数据53 53 52 569c 0010 007a 02 00 003a bf 00 0002 03 /收发数据命令0x030286 00 /附加数据134字节03 00 /模块序号300 00 /模块串口单元序号080 00 /收发的数据长度128字节12 34 56 78 90 ab cd ef aa 55 3c c3 f0 0f a5 5a /数据内容12 34 56 78 90 ab cd ef aa 55 3c c3 f0 0f a5 5a /数据内容12 34 56 78

19、 90 ab cd ef aa 55 3c c3 f0 0f a5 5a /数据内容12 34 56 78 90 ab cd ef aa 55 3c c3 f0 0f a5 5a /数据内容12 34 56 78 90 ab cd ef aa 55 3c c3 f0 0f a5 5a /数据内容12 34 56 78 90 ab cd ef aa 55 3c c3 f0 0f a5 5a /数据内容12 34 56 78 90 ab cd ef aa 55 3c c3 f0 0f a5 5a /数据内容12 34 56 78 90 ab cd ef aa 55 3c c3 f0 0f a5 5

20、a /数据内容ff ff /4字节对齐填充4工作流程4.1服务器的配置在服务器接入系统前需要配置一些服务器设置才能保证服务器在新的网络环境下正常工作。需要配置的内容如下:服务器网卡的MAC地址。服务器的IP地址管理服务的IP地址管理服务的UDP 端口号所有配置设定完成后需要重新启动服务器才能生效。4.1.1管理端口的连接管理端口为LVTTL电平的标准串口,具体设置为波特率115200,8数据位,1停止位,无校验,无握手。硬件连接采用USB A类接口,信号映射如下USB <->232GND GNDD+ RXD- TXVCC NC用Windows 2000(XP自带超级终端连接即可。系

21、统启动时会发出自检信息,自检信息过后出现”>>” 等待输入,此时即可输入调试命令。4.1.2设定服务器IP输入NET IP IPAddress Mask可显示和更改本机IP地址设定例:>>net ip本机IP-1:192.168.0.89 Mask:255.255.255.0>>net ip 192.168.0.50 255.255.255.0本机IP-1:192.168.1.180 Mask:255.255.254.0IP-1更改为:192.168.0.50 Mask:255.255.255.0 >>4.1.3设定服务器MAC输入NET MAC

22、 xx:xx:xx:xx:xx:xx可显示和更改本机MAC地址,例:>>net macMac: 0A 46 90 00 00 01>>net mac 0a:46:90:00:00:80Mac: 0A 46 90 00 00 01更改为: 0A 46 90 00 00 80 >>4.1.4设定管理服务器IP输入SYSTEM SERIAL SERVER IP = xxx.xxx.xxx.xxx可查看和更改管理服务器IP地址例:>>SYSTEM SERIAL SERVER IP-SERIAL SERVER IP192.168.0.101->>

23、;>>SYSTEM SERIAL SERVER IP = 192.168.0.88 设定信息SERIAL SERVER IP = 192.168.0.88>>4.1.5设定服务端口输入SERIAL SERVER PORT = xxxxx可查看或更改服务端口例:>>SYSTEM SERIAL SERVER PORT-SERIAL SERVER PORT12000->>>>SYSTEM SERIAL SERVER PORT = 8855设定信息SERIAL SERVER PORT = 8855>>4.2服务器启动流程1服务器启

24、动自检完成后,便进入待机状态。此时服务器根据系统设定的管理服务器地址与端口号每4秒发送一个信息帧报告本服务器的具体配置。2管理端收到此信息帧后发出一个启动命令即可完成服务器启动。服务器启动后会按照3服务器启动后所有的模块均处于挂起状态,必须向服务器发出模块使能指令才能使用对应模块端口。4使能模块端口时,如果模块已经插入系统即会报告模块插入状态,此后模块的插入与移除均会报告。5如果模块在移除时已经处于打开状态,则同时发出一个模块关闭命令。6在检测到模块已经插入时发出一个启动模块命令在4秒内应该收到一个模块就绪状态报告,此报告里面包含模块的详细信息,根据此信息内容可判断模块的类型。此后根据不同模块

25、有不同的操作方式。7如果发出一个启动模块命令在4秒内没有收到模块状态报告即可认定此模块异常。需要将此模块挂起维护。维护后发出模块使能与打开模块指令即可重新检测模块。4.3M ODEM SILINCOM X8 模块工作流程此模块启动时需要按照以下步骤操作:1设定PON(0x1020寄存器为1,给全部Modem 单元上电。2按照步骤3-5的顺序分别设定每个模块的寄存器。设定完成后转到步骤63设定ISn位为14设定IMn位为15设定CTRLn的ON位为16等待100mS以后分别设定CTRLn 的RSE位为1。7此后便可根据该Modem的手册操作Modem。关闭某个Modem时须按照步骤9-11操作8

26、设定CTRLn的ON位为09设定IMn位为010设定ISn位为0正常关闭模块时建议先关闭所有的Modem。4.4S SX0902_1 3PORT X4 模块工作流程此模块启动时需要按照以下步骤操作:1设定PON(0x1020寄存器为1,给全部SSX0902 芯片核心上电。2设定SET(0x0001位CCK为1,给给全部SSX0902 芯片提供时钟3按照步骤4-6的顺序分别设定每个模块的寄存器。设定完成后转到步骤74设定CnIS位UA、UB、UC为15设定CnIM位UA、UB、UC为16设定CnSETA、CnSETB、CnSETC的ON位为17等待100mS以后分别设定CnIO 的位RST为1,

27、将每个SSX0902的Reset置1。8此后便可根据SSX0902芯片的手册操作。关闭SSX0902时必须按照步骤9-11操作9设定CnIO 的位RST为0,将每个SSX0902的Reset置0。10设定CnIM位UA、UB、UC为011设定CnIS位UA、UB、UC为0维护模块前必须先关闭所有的SSX0902,然后按如下操作才能将模块关闭和挂起,然后维护。12设定SET(0x0001位CCK为013设定PON(0x1020寄存器为014等待1S后继续其他操作。5模块说明由于所有模块尚在调试完善中,操作时请不要更改任何未说明的寄存器位,否则可能造成系统异常故障。因此设定任何寄存器是必须严格设定

28、操作位掩码。5.1MODEM SILINCOM X8 模块5.1.1说明该模块提供8个串口与Modem 通讯,同时提供Modem的DCD 信号检测,RESET、ESC、POWER ON的控制。5.1.2设备信息53 69 6c 69 63 6f 6e 4d 6f 64 65 6d 20 38 63 68 / ”SiliconModem x8”20 09 11 12 01 00 00 00 /硬件设计时间与版本号20 10 03 10 01 00 00 00 /软件设计时间与版本号20 09 11 12 /硬件制造时间08 /支持子单元数04 /功率1003 /功率单位1000mW00aa 55

29、 c3 3c f0 0f a5 5a /制造流水号测试时随意填充5.1.3寄存器列表 5.1.4寄存器说明1.CTRL7.0,复位值0x00Modem 控制,位说明:0 - ON 串口开关,打开时需先设定对应IS,IM。1 - RST 复位。2 - ESC 命令数据控制参见Silincon Modem AN93.PDF。2.CKD7.0,复位值103Modem 串口通讯波特率设定CKD = (4000000 / RATE 1。例38400波特率CKD = (4000000/38400 1 = 103。3.IM7.0,复位值0串口数据自动收发使能,打开串口之前须设定此位。4.IS7.0,复位值0

温馨提示

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

评论

0/150

提交评论