通信协议侦测系统及方法

文档序号:7930542阅读:282来源:国知局
专利名称:通信协议侦测系统及方法
技术领域
本发明涉及计算机网络通信领域,特别涉及一种通信协议侦测的系统及方法。
背景技术
目前,计算机网络已经得到了较为普遍的应用,其主要功能是实现计算机网络中各种设备之间的连接与通信。网络中的各种设备在进行通信时,通信双方需先建立通信协议。通信协议是指通信各方事前约定的规则,即各通信方之间进行相互会话所使用的语言。
例如在侦测端如计算机与被侦测端如驱动器之间进行通信的系统中,驱动器的控制参数需在计算机控制下做调整,因此计算机必须先侦测驱动器的通信协议,并将计算机的通信协议设为驱动器可以识别的通信协议,以建立起双方的通信,才能实现计算机对驱动器的控制。但是, 一般的通信协议侦测方法须操作人员根据驱动器的参数设定说明书去査找驱动器可以识别的通讯协议类别,再将计算机的通信协议设为驱动器可以识别的通信协议,才能建立起双方的通信,若此时说明书遗失,要建立计算机与驱动器的通信则比较困难。

发明内容
鉴于以上内容,有必要提供一种通信协议侦测系统及方法,可以自动侦测出被侦测端的通信协议,以建立起侦测端与被侦测端之间的通信。
一种通信协议侦测系统,包括一侦测端及一被侦测端,所述侦测端包括一第一通信接口、 一命令发送模块及一响应接收模块,所述被侦测端包括一第二通信接口、 一命令接收模块及一响应发送模块;所述命令发送模块用于将存储于一存储单元中的若干侦测命令依序通过所述第一通信接口发送给所述被侦测端;所述命令接收模块用于通过所述第二通信接口接收所述命令发送模块发送的侦测命令,并将接收的侦测命令发送给所述响应发送模块;所述响应发送模块用于判断接收的侦测命令是否能被识别,所述侦测命令能被所述响应发送模块识别时,所述响应发送模块就返回一响应给所述侦测端的响应接收模块以使所述命令发送模块停止发送另一个侦测命令。
一种通信协议侦测方法,包括以下步骤
一侦测端将存储于一存储单元中的一侦测命令发送给一被侦测端;所述被侦测端接收所述侦测命令,并判断接收的侦测命令是否能被识别;若所述侦测命令不能被识别,则所述侦测端发送另一个侦测命令给所述被侦测端;若所述侦测命令能被识别,则所述被侦测端返回一个响应给所述侦测端;及所述侦测端接收到被侦测端返回的响应时停止发送另一个侦测命令。
本发明通信协议侦测系统及方法通过所述命令发送模块将存储于存储单元中的若干侦测命令依序发送给所述被侦测端,所述命令接收模块接收所述命令发送模块发送的侦测命令,并将接收的侦测命令发送给所述响应发送模块,所述响应发送模块判断接收的侦测命令是否能被识别,若能被识别,则响应发送模块就返回一响应给侦测端的响应接收模块以使所述命令发送模块停止发送另一个侦测命令,从而可以自动侦测出被侦测端的通信协议,以建立起侦测端与被侦测端之间的通信。


下面结合附图及较佳实施方式对本发明作进一步详细描述
图l是本发明通信协议侦测系统的较佳实施方式的架构图。
图2是本发明通信协议侦测方法的较佳实施方式的流程图。
具体实施例方式
如图1所示,本发明通信协议侦测系统的较佳实施方式包括一侦测端如一计算机io及一
被侦测端如一驱动器20,所述计算机10包括一通信接口 IOO及一处理模块I 10,所述处理模块110包括一命令发送模块102及一响应接收模块104,所述驱动器20包括一通信接口200及一处理模块210,所述处理模块210包括一命令接收模块202及一响应发送模块204。所述计算机10要与所述驱动器20通信时,将所述通信接口100与200相连。
所述命令发送模块102用于将存储于一存储单元(未示出)中的若干侦测命令进行编号,并按编号顺序每隔一预设时间段依序通过所述通信接口 100发送给所述驱动器20,直到接收到一停止发送侦测命令的指令时,就停止发送侦测命令给所述驱动器20。所述预设时间段可以为40毫秒或其它值。所述若干侦测命令对应多种通信协议并预先设定于所述存储单元中,如表一及表二所示的通信协议,也可根据需要相应增加或减少,所述侦测命令的格式包括侦测命令的传输速率及侦测命令的封包模式,所述侦测命令的传输速率可以为4800bps、9600bps、 19200bps、 38400bps、 57600bps或l 15200bps,每一种传输速率可以对应若干个封包模式,圭寸包模式可以为ASCII (American Standard Code for Information Interchange,美国信息交换标准码)的封包模式,或RTU (Remote Terminal Unit,远程终端单元)的封包模式。
表一 ASCII封包模式的通信协议
5编号封包模式(速率 =9600bps)编号封包模式(速率 =4800bps)编号封包模式(速率 =19200bps)
1N, 7, 27N, 7, 213N, 7, 2
2E, 7, 18E, 7, 114E, 7, 1
30, 7, 190, 7, 1150, 7, 1
4N, 8, 210N, 8, 216N, 8, 2
5E, 8, 111E, 8, 117E, 8, 1
60, 8, 1120, 8, 1180, 8, 1
编号封包模式(速率 =38400bps)编号封包模式(速率 =57600bps)编号封包模式(速率 =115200bps)
19N, 7, 225N, 7, 231N, 7, 2
20E, 7, 126E, 7, 132E, 7, 1
210, 7, 1270, 7, 1330, 7, 1
22N, 8, 228N, 8, 234N, 8, 2
23E, 8, 129E, 8, 135E, 8, 1
240, 8, 1300, 8, 1360, 8, 1
表二 RTU封包模式的通信协议
编号封包模式(速率 =9600bps)编号封包模式(速率二4800bps )编号封包模式(速率 =19200bps)
37N, 8, 240N, 8, 243N, 8, 2
38E, 8, 141E, 8, 144E, 8, 1
390, 8, 1420, 8, 1450, 8, 1
编号封包模式(速率 =38400bps)编号封包模式(速率二57600bps )编号封包模式(速率 =115200bps)
46N, 8, 249N, 8, 252N, 8, 2
47E, 8, 150E, 8, 153E, 8, 1
480, 8, 1510, 8, 1540, 8, 1
其中表一及表二中的ASCII封包模式例如(0, 7, 1) 、 (E, 7, 1)等,RTU封包模式例 如(0, 8, 1) 、 (E, 8, 1)等,表一及表二中的7, 8分别表示封包的长度为7比特和8比特 ,0, E, N分别表示对封包进行奇数、偶数和不进行极性检査的标示,1, 2分别表示同一侦测命令的两相邻封包之间传送的时间间隔为1比特和2比特所传输的时间。
所述命令接收模块202用于通过所述通信接口200接收所述命令发送模块102发送的侦测 命令,并将接收的侦测命令发送给所述响应发送模块204。
所述响应发送模块204用于判断接收的侦测命令是否能被识别,若所述侦测命令能被所 述响应发送模块204识别,则所述响应发送模块204就返回一响应给所述计算机10,若所述侦 测命令不能被所述响应发送模块204识别,则将不能被识别的侦测命令丢弃。例如假设所述 响应发送模块204预先设定能识别的侦测命令的格式为传输速率为9600bps,封包模式为 ASCII码的(N, 7, 2),则所述响应发送模块204检査所接收的格式与预先设定的能识别的 侦测命令的格式是否相符,若两者相符,则表示接收的侦测命令能被所述响应发送模块204 识别,若两者不相符,则表示接收的侦测命令不能被所述响应发送模块204识别。
所述响应接收模块104用于接收所述驱动器20返回的响应,当接收到所述驱动器20返回 的响应时,表示所述计算机10侦测出了所述驱动器20的通信协议,即所述计算机10与所述驱 动器20建立了通信,所述响应接收模块104发送所述停止发送侦测命令的指令给所述命令发 送模块102使其停止发送侦测命令,随后,所述计算机10与所述驱动器20开始进行通信。
如图2所示,本发明通信协议侦测方法的较佳实施方式包括以下步骤
步骤S102,所述命令发送模块102将存储于所述存储单元中的一个侦测命令通过所述通 信接口100发送给所述驱动器20;
步骤S104,所述命令接收模块202通过所述通信接口200接收所述侦测命令发送模块102 发送的侦测命令,并将接收的侦测命令发送给所述响应发送模块204;
步骤S106,所述响应发送模块204判断接收的侦测命令是否能被识别;若所述侦测命令 能被所述响应发送模块204识别,则执行步骤SllO,若所述侦测命令不能被所述响应发送模 块204识别,则执行步骤S108;
步骤S108,所述响应发送模块204将不能被识别的侦测命令丢弃,所述命令发送模块 102发送另一个侦测命令给所述驱动器20,再执行步骤S104;
步骤SllO,所述响应发送模块204返回一个响应给所述计算机10;
步骤S112,所述响应接收模块104接收到驱动器20返回的响应,并发送所述停止发送侦 测命令的指令给所述命令发送模块102;
步骤S114,所述命令发送模块102接收到所述停止发送侦测命令的指令时,就停止发送 另一个侦测命令给所述驱动器20,以实现所述计算机10与所述驱动器20之间通信。
本发明通信协议侦测系统及方法通过所述命令发送模块102将存储于存储单元中的若干侦测命令按顺序每隔一预设时间段通过通信接口 100发送给所述被侦测端,所述命令接收模 块202接收所述命令发送模块102发送的侦测命令,并将接收的侦测命令发送给所述响应发送 模块204,所述响应发送模块204判断接收的侦测命令是否能被识别,若能被识别,则响应发 送模块204就返回一响应给侦测端,所述响应接收模块104接收到返回的响应时就
发送停止发送侦测命令的指令给所述命令发送模块102使其停止发送侦测命令,从而可 以自动侦测出被侦测端的通信协议,以建立起侦测端与被侦测端之间的通信。
权利要求
1.一种通信协议侦测系统,包括一侦测端及一被侦测端,所述侦测端包括一第一通信接口、一命令发送模块及一响应接收模块,所述被侦测端包括一第二通信接口、一命令接收模块及一响应发送模块;所述命令发送模块用于将存储于一存储单元中的若干侦测命令依序通过所述第一通信接口发送给所述被侦测端;所述命令接收模块用于通过所述第二通信接口接收所述命令发送模块发送的侦测命令,并将接收的侦测命令发送给所述响应发送模块;所述响应发送模块用于判断接收的侦测命令是否能被识别,所述侦测命令能被所述响应发送模块识别时,所述响应发送模块就返回一响应给所述侦测端的响应接收模块以使所述命令发送模块停止发送另一个侦测命令。
2.如权利要求l所述的通信协议侦测系统,其特征在于所述响应发 送模块还用于在判断出接收的侦测命令不能被识别时,将不能被识别的侦测命令丢弃。
3.如权利要求l所述的通信协议侦测系统,其特征在于所述侦测命 令的格式包括侦测命令的传输速率及封包模式。
4.如权利要求3所述的通信协议侦测系统,其特征在于所述响应发 送模块检査所接收的侦测命令的格式与预先设定的侦测命令的格式是否相符,若两者相符, 则接收的侦测命令能被所述响应发送模块识别,若两者不相符,则接收的侦测命令不能被所 述响应发送模块识别。
5.如权利要求l所述的通信协议侦测系统,其特征在于所述存储单 元中的每一侦测命令分别有一编号,所述命令发送模块依据所述侦测命令的编号的顺序每隔 一预设时间段发送一个侦测命令给被侦测端。
6. 一种通信协议侦测方法,包括以下步骤 一侦测端将存储于一存储单元中的一侦测命令发送给一被侦测端; 所述被侦测端接收所述侦测命令,并判断接收的侦测命令是否能被识别; 若所述侦测命令不能被识别,则所述侦测端发送另一个侦测命令给所述被侦测端; 若所述侦测命令能被识别,则所述被侦测端返回一个响应给所述侦测端;及所述侦测端接收到被侦测端返回的响应时停止发送另一个侦测命令。
7.如权利要求6所述的通信协议侦测方法,其特征在于若所述侦测命令不能被所述被侦测端识别,则所述被侦测端将不能被识别的侦测命令丢弃。
8.如权利要求6所述的通信协议侦测方法,其特征在于所述侦测命
9.如权利要求8所述的通信协议侦测方法,其特征在于所述被侦测端检査所接收的侦测命令的格式与预先设定的侦测命令的格式是否相符,若两者相符,则表 示所述侦测命令能被识别,若两者不相符,则表示所述侦测命令不能被识别。
全文摘要
一种通信协议侦测系统,包括一侦测端及一被侦测端,侦测端包括一第一通信接口、一命令发送模块及一响应接收模块,被侦测端包括一第二通信接口、一命令接收模块及一响应发送模块;命令发送模块用于将若干侦测命令依序通过第一通信接口发送给被侦测端;命令接收模块用于通过第二通信接口接收命令发送模块发送的侦测命令,并将接收的侦测命令发送给响应发送模块;响应发送模块用于判断接收的侦测命令是否能被识别,侦测命令能被响应发送模块识别时,就返回一响应给侦测端的响应接收模块以使命令发送模块停止发送另一个侦测命令。本发明还提供一种通信协议侦测方法。本发明通信系统及通信方法可以自动侦测出被侦测端的通信协议。
文档编号H04L12/54GK101686238SQ20081030466
公开日2010年3月31日 申请日期2008年9月25日 优先权日2008年9月25日
发明者陈信安 申请人:鸿富锦精密工业(深圳)有限公司;赐福科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1