找回密码
 注册
关于网站域名变更的通知
查看: 314|回复: 2
打印 上一主题 下一主题

[毕业设计] 单片机上简单TCP/IP协议的实现

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-2-10 12:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
, _0 W5 K0 D# O: q4 r
摘要:随着互联网的发展,TCPIP协议逐步应用于智能设备。文章通过研兖TCP/IP协议规范,详细介绍了在通用的." z6 l: r* k) g* B1 [) o, L, C
51系列单片机上实现基本的TCP/IP协议的方法。该设计具有速度快、占用系统资源少、接口方便的特点。' v( P* d, [' J9 B7 f
" o* v" I: H4 g7 a! ]8 K

# U9 c, X. u, |9 v关键词: TCP/IP 协议,单片机,嵌入式系统,以太网* {. g9 ~1 q; w  D& o

$ y# C) K+ L' q1 f* L  d8 [8 W, l1引言
0 i; d6 O. E2 ?! z随着Internet 和嵌人式系统的发展,以太网
3 a( L' f. Z. Y) ?(Ethernet)得到迅猛的发展,正逐步进人仪器仪表、
6 V# k/ n1 ]. J工控以及智能家电领域。TCP/IP作为以太网互连的
/ f1 x6 l( G6 }2 b# U, Y5 e最广泛的协议,其开放性和兼容性推动了以太网的
9 f+ G  i5 c3 I: b& C$ m9 j应用。但TCP/IP协议是一个庞大的协议族,对系统4 Y, X% o/ o% c5 \6 ^  E
资源消耗比较大,如何在单片机系统上实现TCP/IP* u1 @5 i: y/ f- k: U
成为以太网应用于单片机系统的难点。
8 h/ ^( I  A. r" _" g# M+ j本文在研究TCP/IP协议规范及参考uclinux、9 `! X3 e2 U. I0 H2 f
lwip uip等TCP/IP协议实现的基础上,设计了针对9 I6 I# J& g! `% h2 V# }
8位单片机的TCP/IP协议栈。该设计不依赖于操作
0 ]: l/ H" U0 g) U, Q& [系统,软件完全独立,并具有占用资源少、易于集
% A; g3 I. B# F$ ^0 o成、可裁减等优点。底层实现UDP、TCP数据传送,
  S5 Z4 X: j2 v) w5 H应用层实现HTTP Server。) |9 d4 M) Q0 q" P  ?
2 TCP/IP 协议: G- }* ]6 C' I8 f" s
TCP/IP协议是一个包含了不同层次的多个协
7 {) a3 M1 P2 ~议的协议族。尽管通常称该协议族为TCP/TP,但
- F* v5 S# Q9 e. P1 RTCP和IP只是其中的两种协议而已。通常认为是一1 z" W$ @& L8 ?1 w$ H8 G" m3 W8 H
个四层协议系统,结构如图1所示。图中所列的只
' R6 ?" N0 R0 T5 r2 }是最基本的协议,TCP/IP族还含有许多其他的协
0 z5 z- @0 y5 A  F1 \2 p' S议.具体选择哪--些要看具体应用。下面简要介绍: D' F- }; R9 I
各协议的功能。( b% u& v* M4 M0 I9 t! N
(1)地址解析协议(ARP)和逆地址解析协议(RARP)* Z; F. w' B5 w
IP地址只在TCP/IP下才有意义,硬件是通过
, A$ p1 Z8 j# h2 @3 o: E- g物理地址来标识节点的。ARP为IP地址到对应的
1 [7 F2 b/ H6 ^6 a/ g硬件地址之间提供动态映射,是TCP/IP的基础。& x- B6 S  V& E& }  ^' ]
RARP用于动态IP地址请求,主要用于无盘工作站6 O- f1 N: f7 e) a- h' ?0 X
及动态地址分配等的应用。由于嵌入式TCP/IP应用9 D3 p' L/ j8 h/ Y3 k
一般都采用固定IP地址,所以这里不实现RARP。
3 `1 \2 o9 \  s(2)控制报文协议(ICMP), z; R9 a) b( C+ G; U7 `
ICMP经常被认为是IP层的-一个组成部分,它; L- |' I4 x) O& W+ e6 W% y
被包含在IP数据报内部传输,主要传递差错报文以0 Y* @2 _: _/ C
及其它一些信息。虽然ICMP可以提供很好的网路
# z, l2 j7 D" h2 `状态报告,由于嵌人式应用系统简单,一般不提供
2 r: z: }, m. A$ ]  }" Q3 q+ v这方面的应用。唯一需要应用该协议的地方是对9 w; }7 B9 g4 H0 L5 E6 h
PING的响应。PINC是一种常用的检查目标IP节点
* C, m7 y4 r' C是否连通以及连通质量的简单命令。通过对echo类; @% [* W# g% J# J$ d
型的ICMP包的正确响应,可以表明系统连接正常。- C0 J) w' T6 L9 N- I; Y5 j* A# r
(3) Intermet组管理协议(ICMP)/ [. E. v$ h; @( a$ E7 q
IGMP用来把一个UDP数据报组播到多个主
! F9 [2 E; n2 y+ W2 I5 c机。这里考虑到上层协议--般不实现组播以及网络
) U6 u! b2 D( A  H0 D% n0 Q! T
9 N6 z0 ^, f' M
( b( t1 J# N5 |( r  L% c
% U7 `% w1 |2 E3 J' u8 `1 j附件下载:
游客,如果您要查看本帖隐藏内容请回复
9 b/ l# H6 q' |6 `  f

该用户从未签到

2#
发表于 2020-2-10 12:30 | 只看该作者
如何在单片机系统上实现TCP/IP成为以太网应用于单片机系统的难点

该用户从未签到

3#
发表于 2020-6-2 11:11 | 只看该作者
感谢分享,学习一下
$ A. d8 f4 D, I/ @" |: ^0 j
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-3 08:43 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表