当前位置:首页 >> 信息与通信 >>

嵌入式WebServer中TCP/IP协议的实现_图文

维普资讯 http://www.cqvip.com

第1 卷第6 9 期  20 0 7年 1   2月

沈  阳  大  学  学  报 
J OUR L OFS NY G  NA    HE AN UNI R I Y VE S T  

Vo . 9, .   1 1 No 6 De . 20 0 7 c     

文章 编 号 :10 —2 5 20 )60 2 —4 0 89 2 (0 7 0 —0 30 

嵌 入 式 We   ev r T  /P协 议 的 实 现  bS re 中 CP I  
冯  云  ,刘 天 惠  ,吴 微   王  暄  ,
( .沈阳大学 信息工程 学院,辽 宁 沈阳  10 4 ;2 凌阳科技股份有 限公 司,北京  10 8 ) 1 10 4 . 00 5  摘  要 :介 绍了单片机 MC 8 6  8   与以太网控 制芯片 R 8 1 A TL 0 9 S的硬件 接 口电路 实现 , 以及在 

A6 P 4中如何运用嵌 入式 Itme ne t的基本理论实现一个瘦 T P I C /P协议栈 , 并且应用瘦 T P I C /P协议栈实现嵌 

入式 We evr bSre。通过该 系统可 以将家 电的控制信号转化 成因特网上的信息进行传输 , 而实现对 设备 的远  从
程控制 。   关 键 词 :MC 8 6  8 P4 瘦 T P/ A 6; C I P协议 ; 入 式 We evr 嵌 bS re 

中图分类号 :T   9 .3 P 33 0  

文献标识码 :A  

互联 网络 硬 件 、 件 的迅 猛 发 展 , 得 网 络  软 使 用 户呈 指数增 长 . 在使 用 通用 计 算机 进 行 网络 互  联 的 同时 ,各 种 家 电设 备 、 D 仪 器 仪 表 、 业  P A、 工 生 产 中的数据 的 采集 与控 制等设 备 正在逐 渐地 走 

瘦 T PI C /P协议 栈 , AP 4具 备 上 网功 能 , 分  使 6 充
利 用 Itme 资 源 . ne t  

1 嵌入式 T P I   C / P协议的实现 
1 1 硬 件 接 口电路 的实现  .

向网络化 ,以便 共享互联 网络 中庞大 的信 息资  源l l 本 系 统 采 用 MO R A 公 司 的    J. TO OL
MC 8 98 P 4单 片 机 控 制 R atk公 司 的  6 HC 0 A 6 el e R L09 T 8 1AS以太 网控 制芯 片 , 计 和实 现 了一个  设
AP6   4
l  0

利用单片机进行 网络通信的关键是驱动和配  置 网络接 口卡 【1 系统 中 MC 8 9 8 6 2. 本 6 HC 0 AP 4与 
R 8 1A TL 0 9 S的硬件接 口电路 如 图 1 所示 .  
vc  c

R1 .ol AS 18 9  

0 l T l3      P A  2

PA 3 T03 

3  O  6D S
3  7

S1 D 
SD4  

S 8 3] A  2
S   A9 E  Q T N— PI  

    J 5 P 6l

丫  
 

3 dl  ̄ l I 王  21 e U^ 丑 I ,  

『  

PA l T23  
PT   0 A3 3   PT   9 A4 2  

3 SD2 8    

3  9 4 SD3 0   

2  2

l  

一  

I 10 n  O C   P A52     5k S 2 T  8
:   0p   C12 F PT   7 A6 2   PTA7 2    6

4  D   lS 5
4  S   2 D6 4   D7 3S  

T I+5  PN  9
r p0UT 4   6 r p0UT I 5  4  
—  

^ ^n n  n
_ J    

6   TP N— I

21UN 0U1  ' ’

211U 1 1  0

5  GND 

4  

7   TPRX —   GND    8

6   1P 1RX—  

l。   t4 J5

9  

3  
TP t【  I)+ 2 1   1
一  

TP N+ I 3 TP   oUT 2 GND   


1P 1RX+   1  一1   1  0 GND  l l 



r0   D  3
l2   

5S0  A 
7S     Al

IC18 6   O S6  2 9
S  l A5l 

l  


  P T 1 l T oU + 1  + l    
J -  

习  l 1 +      1
一 

PD  T2  1
P TD3   Pn)   9 -3   4

8 A   2 S
S   A3 l   A4 0S  

S62 A   1
S   A7 SAl   8 0l 

… ‘ o1 nIF T 0   n¨  … ,   ’ u

.II ’ n¨  'L  ' F i I n   T i

PTC2 25     PTC3 24     PTC4 23    

3   OW B 0I   2   0RB 91   33 RsD RV    1

SAl  l SAl   2 SAl     3 2l
SAl   4 SAl   5



_

。 一 。

 

62 L   ED1  

GREEN 

SA1   6 SAl   7

l6l     L O  ED
RED 
。.

SAl   8 S 9 AI  
1 0 81 0s    

5 O 

—_ l {  
.  

5X I  l 1 5  O 。   0 S 2 1  
X   2
O 3 IS   AEN
}  

’  

图1  

与 R 1 0 9 S的硬件连接 图  1 8 1A -

收稿 日期 :   作者简 介 :冯

一 一     云(   一)女 , 。 辽宁沈 阳人 , 沈阳大学教师 。 硕士 ;刘天惠(  

一)女 , , 辽宁沈阳人 , 沈阳大学教授 .  

维普资讯 http://www.cqvip.com

2  4
图1 中各 部分 功能 如下 :  



阳 大  

学  学

报 
/延 时  /

第l 9卷 

dl ( ) e y5 ; a   P C=0 0  T X1 ; dl (0 )  e y 10 ; a

()A 6 1 P 4的 A 口作 为 数 据 输 入 输 出端 口;   A 6 P 4的 C 口 用 来 输 出 复 位 、 读  控 制 信 号 ;   A6 P 4的 D 口用 来输 出地址 信号 ;   ()A 6 2 P 4数 据 总 线 为 8位 . I L 0 9 S 将   8 lA   的 IC 6 引 脚 通 过 一 电 阻 下 拉 接 地 , O S1B 使 
I L 0 9 S工作 在 8位模 式 ;   8 lA   ( )R L 0 9 S的 J 3 T 8 lA P引脚通 过 一 电 阻上 拉 

/输 出复位信 号 , / 高有效  /延 时 , / 使复位 电平大于 8 0n  0 s

FI V&=~(Xl ) / 出低电平 , 0 0 ;/输 复位完成  D R & =0 E ; /C口第 4位 为输入 , DC X F  / 避免与其他信 
号 干扰  

( )初始 化  2

为了使 R 8 1A TL 0 9 S处 于准 备 接 收 或发 送 数  据的状 态 , 必须对 相关 的 寄存器 进行 初 始化 . 这些  寄存 器包 括 C R、P TA T、P T S R S OP、 NR   B Y、
TPS RCR、 R、 TCR 、 R 、 M R、 S 、 DC I I R CURR 、 RA0 P  


接 电源 , 其工 作 于跳线模 式 ; 使   ( )R L 09 4 T 8 lAS的 A N 引 脚 接 地 , I0 E 使 / 
命令 有效 ;   ( )I L 0 9 S内置 了 l &  E T 收发 器 , 5   8 lA 0 —  

P  

等.  

( )帧 发送  3

所 以 网络 接 口电 路 比较 简单 , L 0 9 外接 一  I 8 lA  
变压 器 2 F 0 N, I 0 0 1 TP N±为接 收线 , O TP UT±为  发送 线 , 别 与  一5的 T R 分 4 P X±、 Pr T rX±端 相  连 ; J 5为系统 与局域 网的接 口. R4   ( )R 8 1 A 6 TL 0 9 S的 L D 、 E E 0 L D1引 脚 各 接 


在 网络 中 , 送方 将 待 发 送 的 数 据按 帧格 式  发 要 求 封 装 成 帧 , 过 远 程 DMA 通 道 送 到  通 R 8 1A TL 09 S的 发送 缓 冲 区 , 出传送 命 令 , 帧  发 将 发送 到 网线 上 , 完成 帧 的发 送 . 提 高 发送 效率 , 为   在 I L 0 9 S的 R M 中设计 两个 发送缓 冲区 ,   8 lA A  


发 光二 极管 , 映 通讯 状 态 :E 0表 示通 讯 有  反 LD 冲突 ;E L D1表示 收到信 息 包 ;   ()R 8 1A 7 TL 0 9 S的时 钟 电 路 通 过 X1X 、 2接 
2  0MHz 晶振 , 实现 全双 工工作 方式 .   1 2 嵌入 式 T /P协议 的软 件实 现  . CP I 嵌 入式 w e evr bS re 的重 点是 实 现 T P J C /P协 

个用 于帧 的发送 , 一个 用 于帧 的构造 , 替使  另 交 ① 封装 成 帧 :   ② 将 帧送 人 I L 09   8 lAS的发送 缓 冲区 ;   ③ 等待前 一 帧发送 完成 ;   ④ 初 始化 发送 控制 寄存器 ;   ⑤ 启 动 R 8 1A TL 0 9 S发送命 令 , 发送 该帧 .  
( )帧接 收  4

用 . 的发送 过程 包括 以下 几个 步骤 : 帧  



议栈 , 由于 R AM 和 F A H 空 间 的限 制 , 须 设  LS 必 计出瘦 TC /P协 议  本 系 统 对 标 准 T P I  PI 3. C /P 协 议进 行 了裁 减 , 现 了 R 8 l A 实 TL 0 9 S驱 动 、 R   A P 协议 、P协议 、C I I MP协议 、 P协议 和 H1r TC vP协  议 . 议层 次结 构如 图 2所示 . 协  

帧接 收是指 接 收网络 上 的 帧 ,并将 此 帧存 于  I L 09   8 lAS的接 收缓 冲 区 ,等 待 主 机 程 序 的读  取 . 的接 收过程 包括 以下 几个 步骤 : 帧   ① R L 09 T 8 1AS通 过 本地 D MA 将 帧 存 人接 
收缓 冲 区 ;   ② 接 收方 通过 远程 D MA读 取此 缓 冲区 中的 

帧并 存 于 内存 中;  
③ 主机 程 序 根 据 帧 的 目的地 址 及 帧 类 型 决 

定 是否将 该 帧丢 弃或 提交 给上层 应 用程 序 .  
图 2 实现的 T P I C / P协议层次结构图 

12 2 . . AR P协议 的实现 

12 1 I L 0 9 S驱 动程 序 的实现  . .    8 l A

网 络 通 信 中, 据 的 接 收 与 发 送 是 由 数  
R 8 1A TL 0 9 S控 制实 现 的 , R 8 1AS的控 制  对 TL 0 9
包 括复 位 、 始 化 、 初 帧发送 与接 收 .   ( )复位  1 A 6 的  P4 引 脚 接 I L 0 9 S 的    8 lA

A P协议是将 I R P地址动态地映射为以太 网   MAC地 址 的协 议 . A P模 块 中 A Qur(  在 R RP ey ) 负责形 成 A P请 求包并 向网络 发送 此 A P请求  R R
包 ; R n u(负责 接 收 网 络上 的 A A Plp t) RP包 , 根  并 据A RP包 的 目的地址 及类 型 , 判断 其合 法性 并进 
行相 应 的处理 .   在系 统初 始化 后 , 用 I L 0 9nt ) 通 过  调   8 l Ii , (

R S R 引 脚 , 8 lAS进 行 复 位 . S_R   EC V 对 09 R 1) V 【 为高 电平 有 效 , 至少 需 要 8 0n 0 s的宽 度 . 序 如  程
下:  
DR D C=0 1 ; X 0  /C口第 4位输 出  /

设 定 R 8 1A 的 寄 存 器 P A TL 0 9 S R 0~ P A , R 5 为 
A 6 指 定 一 M C地 址 . P4 A 此后 调用 A Qu r( , RP ey )  

由此 M C地 址 及对 方 I A P地址 形 成一 A P请求  R
包, 以获得 对方 主机 的 M C地 址 . P n u ( 对  A AR lp t )

维普资讯 http://www.cqvip.com

第6 期 

冯 云等 :嵌入式 We evr   bSr 中T P I e C /P协议的 实现 

2  5

接收到的 A RP响 应 包 进 行 处 理 , 获 得 的 MAC 将  

连接请 求 , 发送 数据 报 , 闭连接 . C Ti r) 关 T P me(负  责管 理 TC P协 议 中 的状 态 信 息 , 行 超 时 重 传 . 进   T P ee e) 据 T P连 接 的状 态信 息 及 首 部  C R ci (根 v C 的各 个标 志进 行处 理 . 体 处理符 合 TC 具 P状 态 机 
模 型 . C C n et ) I 址 为 目的 I 址 的  T P o n c( 向 P地 P地 服务器 的 目的端 口发 起 连接 , 判 断是 否 成 功 建  并 立连 接 . 用 完 一 个 TC 使 B后 , 用 TC A ot ) 调 P b r( ,   将该 TC B释 放 .   1 2 5 HT . .  TP协议 的实 现  HTT 实 现 核 心 是 :ma P i n()函 数 使 用 

地址 保存 于 AR P缓存 表 中 .  
系统运 行 时 , D 在 OS环 境 下 可 以看 到 当前 

P C机 中高速 缓存 表 中的 内容 , 图 3所示 . 如  

图 3 P 机 中 的 高 速 缓 存 表 内容    C

由图 3可 以看 到执行 ap—a 令 后 , 第一  r 命 在 行显示 P C机 的 I P地 址 为 1 2 1 8 2 7 第 三行  9 .6 . . ,

Pr r q) as Re( 函数 对 浏 览 器 发 送 过 来 的命 令 请 求  e 进行 解析 , 然后 根 据 不 同的命 令请 求 调 用 不 同 的 

是缓 存 表 中保 存 的 地址 对 , 起 依 次 为 I 址 、 左 P地  
物理 地址 和状 态类 型 . 3表 明 当前 A P缓 存 表  图 R 中有 一条 关 于 I P地 址 为 1 2 1 8 2 1 9 . 6 . . 3和 MA   C 地址 为 5 —44 一02 一f 地 址 映 射 对 , 地 址  25 —c —c 的 3 2 此 映射 对就 是单 片机 的地 址 映射对 , 这个 I 址 是  P地 在单 片机 主程 序初 始化 时设 定 的 .   12 3 I . .  P及 I MP协议 的实 现  C I P协议 是 T P I 议 栈 中最 核 心 的 部 分 , C /P协  

功能函数来传送浏览器所需的文件和信息 . 用到 
的几 个 基本 函数 的功 能如 下 :  
PiH r TML a e( I E * ) n HedrFL f  

∥打 印 HT ML文本头 文件信息 
Pit F a e( IE *f r GIHed rF L n )  

∥打 印 GI F图像信息头文件信息 
 ̄H TML F L *f ca * a ) ( IE : hr n me 

∥发送 HTML文本类 型信息 
D Gi F L *fca * a ) o f IE ( :hr nme 

在 T P I 连 网上 传 输 的 基 本单 元 是 I 据  C /P互 P数
报 l I 议 实 现 的主 要 功 能 就 是 对 I  .P协 P层 输 入  数据报和 I P层 输 出数 据 报 的 处 理 ,P n u ( 对  I Ip t ) 接 收 到 的数 据报 , 根据 其 版 本 号 、 数据 长 度 、 目的  地址 、 验 和 及 协 议 类 型 进 行 相 应 的 处 理 ; 校   IOup t )则负 责 接 收 上 层 协议 的 报 文 并 加 I  P tu( P 头 , 成正确 I 形 P数据报 , 给 网络接 口层 发送 . 交   I MP是 I 议 的一部 分 , 责报 告 错误 或  C P协 负

∥发 送 G F图像类型信息  I
1 T x( IE *f c a *nme  ) e tF L o : hr a )

∥返 回码 文本 文件信息 
P re e ( I E *fca aSR q F L ;hr*r )  

∥处理请求信息函数 

2 嵌 入式 We   e v r bS r e 的实现 
本文所 设 计 实 现 的 嵌 入 式 We  re 统  b S v r系 e
如 图 4所 示 .  

提 供有 关 意 外情 况 的信息 . 系 统 的 We evr 本 bSre  主要实 现服 务器 与设 备 之 间 的 数据 交换 , 他们 是 
处于 同一 网段 内部 的 , 需 要 实 现 I 不 P路 由 的功  能 , 以采 用简 化 的 I MP协 议 . 所 C 只实现 I MP协  C

议 的应 答 和请求 功 能 . 过类 型字 段 的 值 指 明报  通 文是 应答 ( ) 请求 ()从 而 提供 了对 pn 0或 8, i g功 能 
的支 持 .   1 2 4 TC . .  P协议 的实现  T P 协 议 主 要 由 函 数 G t C S ce ()  C eT P o k t 、
T Pn u C I p t() C R c i 、T P ee e() TC S n ()  v 、 P d e 、
图 4 嵌 入 式 We  ev r bS re 系统 总体 结构 图 

在嵌 入 式 we   re 中 应 用 上 文 所 实 现 的  bS v r e 瘦 , /P协议 实 现 对 家 电控 制信 号 的转 换 . I , ℃P I 在  远程监 控设 备端 不需 专 门 的客 户端 软 件 , 用 I  只 E

T P o n c( 、 P ot ) 成 . 功 能 简 述 如  C C n et) TC Ab r( 组 其
下.  

G t P okt) 来 获 得 一 个 用 结 构 体 实  eTC S ce( 用 现 的 TC , 以等 待 连接 使 用 . 个 T B包 含一  B用 每 C 个 T P连接 的控 制 和状 态 信 息 , 部 T B形 成  C 全 C


浏览器 就可 实现 对 服 务 器 的浏 览 和 传输 数 据 . 本 
系统实 现 了 一 个 智 能 灯 光 控 制 系统 , 位 机 有 2 下   个用 户指 示灯 . 分别 称 为 1 灯 和 2号 灯 , 号 能够 通  过 远程浏 览器 浏览 和控 制这 两个 灯 的开关 状态 .   系统 中 所 有 的 服 务 器 资 源 都 存 放 在 外 部 的  E P O 中. W e  re 启 动 以 前 , 先 把 资  2R M 在 bS v r e 要

个双 向链 表 , 以利 于 在 所 有 TC P连 接 中 搜 索 .  

T Pn u(负 责 接 收从 I 传 送 来 的 数 据 报 , C Ip t) P层   并调 用 T P ee e ) 理 . C Sn (负 责 响 应  C R ci (处 v T P d) e

维普资讯 http://www.cqvip.com











报 

第1 9卷 

源文件下载到 E p O 中. 2R M 在本方案 中使用 I   2 C 总线从 P C机上传输 资源文件 . 1r H vP使 用统一  资源定位器来指定返回给客户端 的网络资源 .  

大发展 趋势 [】 5.  

参考文献 :  
[ ] 万静华 , 1 丁亚军 . 以太 网控制器的嵌人式设备网络互连[] J.   单 片机与嵌入式 系统应用 , 0 1 1 )4 — 3 2 0 (2 : 1 4 .   [ ] 赵静 , 2 郝学元 . 陈家胜 . 利用 微控制器进行 网络通信 的网卡  配置[] 今 日电子 , 0 2 7 : 1 2 J. 2 0 ( ) l —1 .   [ ] 王书志. 3 冯全 . 温室 E hme 智 能控制 器的设 计 [] 工业  te t J.
仪表与 自动化装 置.2 o ( )4 —4 . 0 6 3 :3 5  

3 结 

语 

本方案的主要任务是提供微控制器接人 因特  网的方式并保证数据在 因特 网上的 自由传输 , 它  为嵌入式系统提供 了最基本的底层数据传输 的支  持. 经测试系统达到了较高的综合性能. 随着网络  设施 的 日益完 善 , 向 网络 的 嵌 入式 系统 的 需 求  面 越来越突出. 同时采用单片机大幅度地降低 了开  发成 本 . 芯 片 的 网络 服 务 器 有 望成 为今 后 的一  单

[ ] D ul E C me. T P l 4 og s . o r 用 C / a P进行 网际互联 : 1 第 卷
社 . 0 17 2 0 :9—8 . 0 

原 

理 、 与结构 [ . 版 . 协议 M] 4 林瑶 , . 京 : 译 北 电子工业 出版  [] 袁毅 . 于嵌入 式 we 服 务器 的网络视 频监控 系统 [ ] 5 基 b J.  
电网技术 , O o 5 : 1 3  2 o ( )7 —7 .

Re lz to   fTCP/ P  o o o  n Em b d e   e   e v r a ia i n o   i Pr t c li   e d dW bS re 
F ENG  n Yu  ,L几 r a h i , W U   e , W AN G  a     n u  Ti W i Xu n
( .Sho f nomai   nier g S e yn  i r t, hn ag10 4 , hn ; . u pu  eho g  o , ei   1 c ol   fr t nE gne n , hn a Unv s y S e yn  10 4 C i 2 S n ls c n l yC . B in oI o i g ei a T o j g

10 8 ,C i ) 0 0 5 hn   a
Ab ta t Th  e l a ino  a d r  traecr ut ewe nsn l hpM C6 HC9 8 ( a dEte n t sr c : erai t  fh r wa ei efc i i b t e  igec i  z o n c   8 0 AP  n   h r e 

c n r l hp RTL 0 9 o t   i  o c 8 1 AS.a d h w oraiea t i  n  o t e l   h n TCP I   rtc l tc  n AP  wi   a i e b d e   z / P p oo o  a k i  ( s t b sc m e d d h   I tm e h o e r n rd cd.Ho t e l  m b d e   e   e v rwih t i  n e tt e r saeito u e i w o r i e e d dW b S r e  t  hn TCP/ P p oo o tc     a z e I   rtc l a k i s S rc mme d .Th   y tm   a     sd t  rn fr   h   o to  in lo  o s h l  p l n e it  h   eo ne d e s se c n b ue  o ta som t e c n rls a  fh u e od a pi c  n o t e e g a
ifr a in i n e e .a drai  e oec n r l o  h  p l n e  n m t   I tm t n  e l rm t o to  rt ea pi c . o o n e z f a Ke 】 y、 ’   s M C6 HC9 8 6 : 8 0 AP 4;t i 1 P/ P p o oo ;e b d e   e   re   hn 1 c I   rtc l m e d W b S v r d e

【 责任编辑 张■华】