著录项信息
专利名称 | 一种基于单片机短数据包收发的MINI TCP/IP协议栈的实现方法 |
申请号 | CN200510047169.3 | 申请日期 | 2005-09-06 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2006-03-01 | 公开/公告号 | CN1741524 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/06 | IPC分类号 | H04L29/06查看分类表>
|
申请人 | 大连海事大学 | 申请人地址 | 辽宁省大连市凌海***
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 大连海事大学 | 当前权利人 | 大连海事大学 |
发明人 | 胡青;张淑芳 |
代理机构 | 大连八方知识产权代理有限公司 | 代理人 | 马瑞驹 |
摘要
一种基于单片机短数据包收发的MINITCP/IP协议栈的实现方法属于远程数据通信控制领域。本发明是在普通8位51系列单片机就可以运行的一种精简的miniTCP/IP协议栈,其突出优点是精简、通用,该协议栈仅保留TCP/IP协议栈的最基本部分,主要包括PPP协议层、IP层、UDP协议层、TCP协议层。该协议栈能够与远程通信主机建立正常的TCP/UDP连接,并在此连接上稳定地进行小于500字节短数据报的数据收发。本发明主要适用于远程数据通信控制领域。
1.一种基于单片机短数据包收发的MINI TCP/IP协议栈的实现方法,是通过 在终端设备(1)上实现一种精简的TCP/IP协议栈,此协议栈由终端设备中的普通 单片机(4)执行,利用通信模块(5)经通信网络(2)与远程通信主机(3)建立 TCP/IP连接并进行数据传输; MINI TCP/IP协议栈主要包括PPP协议层、IP层、 UDP协议层、TCP协议层;整个协议栈在普通51系列单片机上能够正常运行,此 种MINI TCP/IP协议栈适合工业远程控制领域≤500字节的短数据包的数据收发; 其连接过程如下:
1.单片机(4)进行自身初始化工作,
2.检测并初始化通信模块(5),
3.判断是否需要拨号,如果是转向4,如果不需要拨号转向7,
4.通信链路的LCP协议协商配置,如果协商配置成功转向5,否则转向2,
5.根据LCP配置进行PAP认证,如果认证成功转向6,否则转向2,
6.从认证运营商获取IP地址,如果正确获得IP地址转向7,否则转向2,
7.向远程通信主机(3)发起连接请求,如果一定时间内收到连接请求应答指 令转向8,否则转向2,
8与远程通信主机(3)建立连接
9.按照TCP/IP协议进行数据传输,
10.TCP检测连接是否可用,如果是转向9继续进行数据通信,否则转向2;
其特征在于,PPP协议层中包括LCP包配置、PAP认证和NCP协议,其中LCP 包只包括Async Control Character Map和Authentication Protocol,而且, Authentication Protocol选择了0xc023作为配置参数;TCP/IP协议中,整个数据包 长度控制在500字节以内;提供适当长度的缓冲区,如有溢出,对于TCP/IP协议, 利用TCP/IP重发机制来保障数据完整性,对于UDP协议,通过上层应用协议来 保障数据完整性;滑动窗口协议采用简单的肯定确认协议,在接到前一个分组的确 认信息之前必须推迟下一个分组的发送;取消半关闭状态;不使用ICMP报文。
技术领域
本发明属于远程数据通信控制领域,涉及网络通信中TCP/IP协议栈的数据传 输和单片机应用领域。
背景技术
在许多实时控制应用领域的各种设备特别是移动控制设备中,基于TCP/IP(传 输控制协议/因特网协议)协议的短数据报收发应用最为广泛,但复杂的TCP/IP协 议栈使得设备成本大幅度增加。
发明内容
本发明的目的就是提供一种能够在普通8位51系列单片机上运行一种精简 TCP/IP协议栈,以利用Internet网络传输短数据报文,实现设备的远程控制和数 据传输。
一种基于单片机的MINI TCP/IP的实现方法,主要是通过由单片机4和通信 模块5组成的终端设备1上实现一种精简的TCP/IP协议栈,此协议栈由终端设 备中的普通单片机4执行,利用通信模块5经通信网络2与远程通信主机3建 立TCP/IP连接并进行数据传输。这种MINI TCP/IP协议栈主要包括PPP协议层、 IP层、UDP协议层、TCP协议层。整个协议栈在普通51系列单片机上能够正 常运行,此种MINI TCP/IP协议栈适合工业远程控制领域≤500字节的短数据包 的数据收发。其连接过程如下:
1.单片机4进行自身初始化工作,
2.检测并初始化通信模块5,
3.判断是否需要拨号,如果是转向4,如果不需要拨号转向7,
4.通信链路的LCP协议协商配置,如果协商配置成功转向5,否则转向 2,
5.根据LCP配置进行PAP认证,如果认证成功转向6,否则转向2,
6.从认证运营商获取IP地址,如果正确获得IP地址转向7,否则转向2,
7.向远程通信主机3发起连接请求,如果一定时间内收到连接请求应答 指令转向8,否则转向2,
8.与远程通信主机3建立连接
9.按照TCP/IP协议进行数据传输,
10.TCP检测连接是否可用,如果是转向9继续进行数据通信,否则转向 2。
这种简单的MINI TCP/IP实现方法中,PPP协议层中包括LCP包配置、PAP 认证和NCP协议,其中LCP包只包括Async Control Character Map和 Authentication Protocol,而且,Authentication Protocol选择了0xc023作为配置参 数。
这种简单的MINI TCP/IP实现方法中,TCP/IP和UDP协议中,整个数据包 长度控制在500字节以内。不提供流量控制,只提供适当长度的缓冲区,如有 溢出,对于TCP/IP协议,利用TCP/IP重发机制来保障数据完整性,对于UDP 协议,通过上层应用协议来保障数据完整性。滑动窗口协议采用简单的肯定确 认协议,在接到前一个分组的确认信息之前必须推迟下一个分组的发送。取消 半关闭状态。不使用ICMP报文。
本实用新型的有益效果是,可以使用简单的8位单片机运行这一简单的MINI TCP/IP协议栈。通过串口就可以直接进行性数据的远程连接和数据传输。本系 统具有代码量小、实时性高、成本低等优点,可广泛用于各种远程数据控制通 信中。
附图说明
下面结合附图和实施例对本实用新型进一步说明。
图1是本实用新型终端设备与远程通信主机进行网络通信示意图。
图2是利用本实用新型进行TCP/IP协议通信流程图。
具体实施方式
LCP配置数据如下配置连接:
发送:
7E FF 7D 23 C0 21 7D 21 7D 21 7D 20 7D 2A 7D 22 7D 26 7D 20 7D 2A 7D 20 7D 20 22 7D 28 7E
7E FF 7D 23 C0 21 7D 21 7D 22 7D 20 7D 2A 7D 22 7D 26 7D 20 7D 2A 7D 20 7D 20 25 DE 7E
7E FF 7D 23 C0 21 7D 24 7D 21 7D 20 7D 28 7D 21 7D 24 7D 25 DC 30 56 7E
7E FF 7D 23 C0 21 7D 22 7D 22 7D 20 7D 32 7D 22 7D 26 7D 20 7D 20 7D 20 7D 20 7D 27 7D 22 7D 28 7D 22 7D 23 7D 24 C0 23 CD 36 7E
接收:
7E FF 7D 23 C0 21 7D 21 7D 21 7D 20 7D 36 7D 21 7D 24 7D 25 DC 7D 22 7D 26 7D 20 7D 20 7D 20 7D 20 7D 27 7D 22 7D 28 7D 22 7D 23 7D 24 C0 23 26 B4 7E
7E FF 7D 23 C0 21 7D 22 7D 21 7D 20 7D 2A 7D 22 7D 26 7D 20 7D 2A 7D 20 7D 20 4B 7C 7E
7E FF 7D 23 C0 21 7D 22 7D 22 7D 20 7D 2A 7D 22 7D 26 7D 20 7D 2A 7D 20 7D 20 4C AA 7E
7E FF 7D 23 C0 21 7D 21 7D 21 7D 20 7D 36 7D 21 7D 24 7D 25 DC 7D 22 7D 26 7D 20 7D 20 7D 20 7D 20 7D 27 7D 22 7D 28 7D 22 7D 23 7D 24 C0 23 26 B4 7E
7E FF 7D 23 C0 21 7D 21 7D 22 7D 20 7D 32 7D 22 7D 26 7D 20 7D 20 7D 20 7D 20 7D 27 7D 22 7D 28 7D 22 7D 23 7D 24 C0 23 F5 37 7E
PAP配置数据如下所示:
发送:
7E FF 7D 23 C0 23 7D 21 7D 23 7D 20 7D 24 E1 7D 36 7E
接收:
7E FF 7D 23 C0 23 7D 22 7D 23 7D 20 7D 2D 7D 28 57 65 6C 63 6F 6D 65 21 BF 5D 7E
IPCP包的配置数据如下:
发送:
7E FF 7D 23 80 21 7D 21 7D 24 7D 20 7D 2A 7D 23 7D 26 7D 20 7D 20 7D 20 7D 20 7D 2B 5A 7E
7E FF 7D 23 80 21 7D 22 7D 21 7D 20 7D 2A 7D 23 7D 26 C0 A8 6F 6F DA D3 7E
7E FF 7D 23 80 21 7D 21 7D 25 7D 20 7D 2A 7D 23 7D 26 7D 20 7D 20 7D 20 7D 20 F6 7D 37 7E
7E FF 7D 23 80 21 7D 21 7D 25 7D 20 7D 2A 7D 237D 26 7D 2A 30 22 52 E2 2C 7E
接收:
7E FF 7D 23 80 21 7D 21 7D 21 7D 20 7D 2A 7D 23 7D 26 C0 A8 6F 6F B3 A7 7E
7E FF 7D 23 80 21 7D 23 7D 24 7D 20 7D 2A 7D 23 7D 26 7D 2A 30 22 52 51 39 7E
7E FF 7D 23 80 21 7D 23 7D 25 7D 20 7D 2A 7D 23 7D 26 7D 2A 30 22 52 AC 74 7E
7E FF 7D 23 80 21 7D 22 7D 25 7D 20 7D 2A 7D 23 7D 26 7D 2A 30 22 52 8B 58 7E
TCP建立链接数据如下:
发送:
7E FF 03 00 21 45 00 00 2F 00 00 00 00 FF 06 E6 2D 0A 30 20 53 DA 3D D0 DA 7D 33 88 7D 33 8A 00 7D 5D 33 00 00 00 00 00 60 02 02 00 67 AA 00 00 02 04 01 00 03 03 00 0B 1B 7E
接收:
7E FF 03 00 21 45 00 00 2C 6A 3A 40 00 72 06 C8 F6 DA 3D D0 DA 0A 30 20 53 7D 33 8A 7D 33 88 65 2F 2B A5 00 7D 5D 33 01 60 12 FF FF D7 66 00 00 02 04 05 64 24 7A 7E
发送:
7E FF 03 00 21 45 00 00 28 00 01 00 00 FF 06 E6 33 0A 30 20 53 DA 3D D0 DA 7D 33 88 7D 33 8A 00 7D 5D 33 01 65 2F 2B A6 50 10 02 00 EC D3 00 00 EB 91 7E
法律信息
- 2016-10-26
未缴年费专利权终止
IPC(主分类): H04L 29/06
专利号: ZL 200510047169.3
申请日: 2005.09.06
授权公告日: 2008.02.06
- 2008-02-06
- 2006-04-26
- 2006-03-01
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| | 暂无 |
2003-03-31
| | |
2
| | 暂无 |
2002-08-02
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |