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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
$ x; I( L4 K5 R$ `7 ]7 G
摘要:随着互联网的发展,TCPIP协议逐步应用于智能设备。文章通过研兖TCP/IP协议规范,详细介绍了在通用的.
& @$ i% i6 j; s/ ~( J4 j* d, S51系列单片机上实现基本的TCP/IP协议的方法。该设计具有速度快、占用系统资源少、接口方便的特点。, m/ C" u5 t, p+ X
' e1 d' ]7 d% {. n) Y) K# ~

5 W7 U' K3 h2 h; G关键词: TCP/IP 协议,单片机,嵌入式系统,以太网$ }6 L) D  {# c1 ~" K$ k

5 s9 Q" x! x1 L+ q( z1引言
& O' l) n* ^( w7 o( W5 M- T1 x随着Internet 和嵌人式系统的发展,以太网
! x  d' s: y$ ?+ B1 p! v% g(Ethernet)得到迅猛的发展,正逐步进人仪器仪表、$ [0 ?; ^& I# v* Z7 ]
工控以及智能家电领域。TCP/IP作为以太网互连的
8 R& m( u. g+ D1 j' }( C5 y! O' J最广泛的协议,其开放性和兼容性推动了以太网的
) b% n6 p. |% ~5 x1 e应用。但TCP/IP协议是一个庞大的协议族,对系统( M) K6 H$ C2 Q6 b  y' g
资源消耗比较大,如何在单片机系统上实现TCP/IP# E( H' o$ B; W! M! F; w, |1 i
成为以太网应用于单片机系统的难点。8 \8 Y7 k( M7 w
本文在研究TCP/IP协议规范及参考uclinux、- c. \% R* n6 G3 H- o. @7 I5 [
lwip uip等TCP/IP协议实现的基础上,设计了针对
! S9 W% K" k' y+ z) E8位单片机的TCP/IP协议栈。该设计不依赖于操作
: d3 Z6 q4 k! s, d# I" a系统,软件完全独立,并具有占用资源少、易于集# @/ q! E. I3 [/ E
成、可裁减等优点。底层实现UDP、TCP数据传送,1 w0 |7 `2 B. q) t* G
应用层实现HTTP Server。
& ?8 s* \) B4 A) }, S* f* x% J2 TCP/IP 协议7 \2 S& C" d, S3 y
TCP/IP协议是一个包含了不同层次的多个协
% C# O; Y  r# |6 A议的协议族。尽管通常称该协议族为TCP/TP,但" q8 z* D' _7 l+ D! X3 A  _7 T
TCP和IP只是其中的两种协议而已。通常认为是一  \! E7 I2 P0 v4 `7 @9 }, }* o! M+ b
个四层协议系统,结构如图1所示。图中所列的只
% k% W; a6 w* |是最基本的协议,TCP/IP族还含有许多其他的协
) W" L3 V. a7 _议.具体选择哪--些要看具体应用。下面简要介绍
9 J' B2 C# g1 Q$ M3 j7 t各协议的功能。
; P: E, }% \) e( C% a* b0 C(1)地址解析协议(ARP)和逆地址解析协议(RARP): R! W0 C4 _% j1 \6 z; Z
IP地址只在TCP/IP下才有意义,硬件是通过8 P* |0 l4 G6 A
物理地址来标识节点的。ARP为IP地址到对应的3 @& C, Q, V* V1 B) [; ^+ Q4 j
硬件地址之间提供动态映射,是TCP/IP的基础。7 Y8 z9 f* ]3 A' ], d2 T% F
RARP用于动态IP地址请求,主要用于无盘工作站! u* {/ V& Y( e" s2 h9 d
及动态地址分配等的应用。由于嵌入式TCP/IP应用: W* M+ d6 B- m5 k+ Y2 E
一般都采用固定IP地址,所以这里不实现RARP。" L" k# Q' s- T% a- S
(2)控制报文协议(ICMP)/ x1 J' g* ?5 O2 l  ?6 H
ICMP经常被认为是IP层的-一个组成部分,它% r# w4 M; u/ ?* }2 z4 v. ?- s! H  F
被包含在IP数据报内部传输,主要传递差错报文以
; i* k  O* t7 X' B" p* F; k及其它一些信息。虽然ICMP可以提供很好的网路
3 v. D: a& \6 q* i0 i状态报告,由于嵌人式应用系统简单,一般不提供( v& G# Q" N7 ~
这方面的应用。唯一需要应用该协议的地方是对
9 W) Q& {+ w8 u$ k: x9 M( I, ]PING的响应。PINC是一种常用的检查目标IP节点
$ @/ x3 z7 F) X0 S% l是否连通以及连通质量的简单命令。通过对echo类
; W. A2 F/ m4 c% \2 E型的ICMP包的正确响应,可以表明系统连接正常。
, Y6 X0 W$ |, ?0 Y# I& k(3) Intermet组管理协议(ICMP)
, V. `6 R7 Y7 C. e, A, C" H5 ZIGMP用来把一个UDP数据报组播到多个主
. b( R7 X4 j$ Z& w机。这里考虑到上层协议--般不实现组播以及网络
8 B* s; q5 f5 b1 \, w$ L, m0 m2 U8 o1 g* \1 z- j. O

( ?  M5 @5 L* H3 h( g' I1 z4 h' U1 S$ P' o+ r# E
附件下载:
游客,如果您要查看本帖隐藏内容请回复
0 g! v6 Z! X9 d9 I1 {6 Z' J/ i

该用户从未签到

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

该用户从未签到

3#
发表于 2020-6-2 11:11 | 只看该作者
感谢分享,学习一下2 U6 Z, T* G. C1 K
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-29 15:11 , Processed in 0.093750 second(s), 26 queries , Gzip On.

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

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

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