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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

6 W% ^/ }1 t8 w3 d( m摘要:随着互联网的发展,TCPIP协议逐步应用于智能设备。文章通过研兖TCP/IP协议规范,详细介绍了在通用的.% g- X2 r5 s1 k; x
51系列单片机上实现基本的TCP/IP协议的方法。该设计具有速度快、占用系统资源少、接口方便的特点。
" `+ Z! q7 N- A2 M; S; w& b: o/ w' F
' X2 E$ M8 D$ ^/ k& s6 p
4 @. O: s2 z! ~6 ~# S关键词: TCP/IP 协议,单片机,嵌入式系统,以太网
9 Z, v: h- r# p4 d- ?. `: A/ ^
6 M5 b% ?3 A6 p  C9 f1引言+ }: l! n4 w) ]& h
随着Internet 和嵌人式系统的发展,以太网
% z" K' b/ V% M; U  w8 z(Ethernet)得到迅猛的发展,正逐步进人仪器仪表、1 i5 p- Q1 u; Q1 ^
工控以及智能家电领域。TCP/IP作为以太网互连的
3 H/ ]6 ]) i* K最广泛的协议,其开放性和兼容性推动了以太网的2 `' r4 j; m* x+ y0 _( ~% D
应用。但TCP/IP协议是一个庞大的协议族,对系统
$ _4 l% S6 {9 j7 D资源消耗比较大,如何在单片机系统上实现TCP/IP) J8 [' U! ^) R: Z2 N! T
成为以太网应用于单片机系统的难点。
- j; M) d7 ~1 T4 u* B, e: d# F本文在研究TCP/IP协议规范及参考uclinux、
& R, C6 \1 Z+ X0 hlwip uip等TCP/IP协议实现的基础上,设计了针对9 [4 ~1 d/ P  s% }* R# O
8位单片机的TCP/IP协议栈。该设计不依赖于操作
, y' w  |. l( h系统,软件完全独立,并具有占用资源少、易于集% |5 M5 H( ~- {% p; q5 K3 @. k! b" n
成、可裁减等优点。底层实现UDP、TCP数据传送,  `; @- U; z% N/ c5 o
应用层实现HTTP Server。, ~# ~& E2 h' v% w3 q
2 TCP/IP 协议
( `+ W  `# c2 H! H2 J9 ?TCP/IP协议是一个包含了不同层次的多个协" h- y% S' B3 t+ W
议的协议族。尽管通常称该协议族为TCP/TP,但# ^" p* I; T: a  b- X9 _
TCP和IP只是其中的两种协议而已。通常认为是一
9 ~+ O& e( a' u个四层协议系统,结构如图1所示。图中所列的只
7 g( A7 r2 R5 D1 h" \& Z3 m" m9 Y是最基本的协议,TCP/IP族还含有许多其他的协6 {- ~4 ]9 o, B# t2 A0 h
议.具体选择哪--些要看具体应用。下面简要介绍7 j. q- B% j* J& S! B/ V
各协议的功能。
+ z' o+ z2 Z' Q! k2 Z9 i(1)地址解析协议(ARP)和逆地址解析协议(RARP)
* I7 r, W8 J; tIP地址只在TCP/IP下才有意义,硬件是通过* Y. n+ d* ]' k4 O, q  q5 Z
物理地址来标识节点的。ARP为IP地址到对应的
; _+ G& v$ D3 D- I) p/ A. e9 w硬件地址之间提供动态映射,是TCP/IP的基础。
( _1 l8 n& I  d9 k8 ^- xRARP用于动态IP地址请求,主要用于无盘工作站
' F) c. J) s2 C! V/ J) \及动态地址分配等的应用。由于嵌入式TCP/IP应用: i+ d7 ?9 v! s' h- m
一般都采用固定IP地址,所以这里不实现RARP。
/ b- P# Z, ^3 I  ]( g+ e; U. _/ Z(2)控制报文协议(ICMP)
' ^  q: Z/ i  J6 Z2 v' s& f4 DICMP经常被认为是IP层的-一个组成部分,它
, ?! E! d) G' |2 `9 ]  f被包含在IP数据报内部传输,主要传递差错报文以
0 e% i% u) Z8 A4 s' J! x% K及其它一些信息。虽然ICMP可以提供很好的网路. ^9 y- Z, T7 J
状态报告,由于嵌人式应用系统简单,一般不提供
6 E0 q! k2 `: l$ c这方面的应用。唯一需要应用该协议的地方是对
3 h+ |; E  U1 `. RPING的响应。PINC是一种常用的检查目标IP节点$ M/ S/ E& c( }7 s- V: M5 O
是否连通以及连通质量的简单命令。通过对echo类1 q9 k- h& H" n' `; @
型的ICMP包的正确响应,可以表明系统连接正常。
4 Y$ `3 v/ P8 `7 o! ?. |(3) Intermet组管理协议(ICMP)
: g0 u0 e2 i: ~# v( j! C7 tIGMP用来把一个UDP数据报组播到多个主
; H' X/ @2 B8 }0 r- W+ H5 R机。这里考虑到上层协议--般不实现组播以及网络
# A6 [1 K1 X" h  w1 U2 N- l* X) k% U9 k, s7 `$ K& Y4 }
! |  s  |" o$ j9 \* Z
' Q- e) \( N) ~/ u! j! Z
附件下载:
游客,如果您要查看本帖隐藏内容请回复

/ i$ a8 p  u1 y7 Z! V1 \. n8 I: l

该用户从未签到

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

该用户从未签到

3#
发表于 2020-6-2 11:11 | 只看该作者
感谢分享,学习一下
% M4 T2 }, C3 Y" {. [1 v  ^+ a
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-27 14:26 , Processed in 0.109375 second(s), 26 queries , Gzip On.

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

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

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