微型嵌入式Web服务器的设计与实现

2008-9-4    | |
打印本文章
RSS

导读:实现嵌入式系统的网络化则成为嵌入式系统的发展趋势。在现场设备内置WEB服务器,使现场设备具有网页发布功能,将Internet技术直接引入现场设备。

关键词:嵌入式系统 WEB服务器

正在加载数据...

  随着计算机、网络通信和Internet技术的飞速发展和不断进步,嵌入式系统在家庭和工业应用广泛。如何将嵌入式系统和工业控制系统接人Internet,综合利用嵌入式系统资源,实现嵌入式系统的远程管理和控制,已成为关注的研究课题,而实现嵌入式系统的网络化则成为嵌入式系统的发展趋势。

  以太网以其成本低、速度快、应用普遍、有广泛的硬件和软件支持等优点为实现管理控制网络一体化提供可能,在现场设备内置WEB服务器,使现场设备具有网页发布功能,将Internet技术直接引入现场设备。

  1.本设计是基于ARM7的微型嵌入式Web服务器。目前市场上大部分以太网控制器的封装均超过80引脚,而ENC28J60是业界最小的以太网控制器,只有28引脚,这样既能提供相应功能,又大大简化相关设计,减小空间,其标准的SPI串行接口只需4条总线即可实现与单片机连接,有利于在小型系统上实现以太网功能。在研究和分析TCP/IP协议的基础上,合理简化TCP/IP协议,选择实现ARP、IP、ICMP、TCP和HTTP协议。

  2.系统硬件设计

  ENC28J60的硬件连接如图1所示。ENC28J60的硬件设计包括复位电路、时钟振荡器、网络变压器和其他外部元件以及LED配置单元模块。

系统硬件

  2.1 复位电路

  当ENC28J60的RESET引脚为低电平时ENC28J60工作在复位模式。RESET引脚内部有弱上拉电阻,应外接一只10 kΩ的上拉电阻。

  2.2 时钟振荡器

  ENC28J60工作频率为25MHz。在OSC1和OSC2引脚之间连接无源晶体振荡器。ENC28J60要求使用平行切割的晶体。本设计采用连接至OSC1引脚的外部25 MHz有源晶体振荡器驱动,此时3.3V的外部时钟连接OSC1引脚,OSC2引脚可使用一只接地电阻或断开OSC2引脚以减少系统噪声。

  2.3 网络变压器和其他外部元件

  实现以太网接口控制,还需多个标准外部元件:网络变压器、偏置电阻、储能电容和去耦电容。

  差分输入引脚(TPIN+/TPIN-)需用一个变比为1:1的网络变压器实现10BASET。差分输出引脚(TPOUT+/TPOUT-)需用一个变比为1:1、带中心抽头的脉冲变压器实现。变压器需具有2 kV或更高的隔离能力,以防止静电干扰。本设计采用Pulse公司的集成以太网隔离变压器H1102。

  差分输入/输出引脚都需串联2只49.7 Ω、精度为1%的电阻和1只0.01μF的电容,本设计采用并联两只100 Ω电阻获得49.7 Ω、精度为1%的电阻。

  所有的电源电压引脚必须连接至外部同一个33V电源。同理,所有的接地必须连接至同一外部地。每个电源电压引脚和地之间应连接1只0.1μF的陶瓷去耦电容,该电容应尽可能地靠近电源电压引脚放置。

  2.4 LED配置

  LEDA引脚和LEDB引脚在复位时支持极性自动检测,既可直接驱动LED,又可灌电流驱动。复位时ENC28J60检测LED的连接,并按照PHLCON寄存器的默认设置驱动。本设计LEDB采用拉电流的方式点亮LED。复位时该位清零且PHY默认在半双工模式下工作。

  3.系统软件设计

  3.1 SPI接口

  ENC28J60与微控制器MCU的连接通过SPI接口实现,支持10 Mb/s。但ENC28J60只支持SPI模式00,即CPOL=0和CPHA=0。另外,在空闲状态时SPI端口要求SCK为低电平,且不支持时钟极性选择。以下为SPI接口初始化的源代码:

SPI接口

  3.2 TCP/IP协议栈的实现

  考虑到单片机RAM存储空间的限制和具体应用要求,合理简化TCP/IP协议栈,选择实现ARP、IP、ICMP、TCP和HTTP协议。图2所示为精简的TCP/IP协议栈。

TCP/IP协议

  3.2.1 物理层接口的实现

  物理层接口为ENC28J60的驱动程序,硬件方面是用ENC28J60的电路实现电缆的物理链接、介质访问控制、帧的发送与接收等功能,而与上层协议接口即为驱动程序,实现发送与接收数据帧。以下是其两个函数原型:

物理层接口

  3.2.2 网络层协议的实现

  网络层的协议包括ARP、IP、ICMP协议。网络间连接需知双方物理地址,而ARP协议是地址解析协议,实现IP地址到物理地址的转化。网际协议(IP)负责将消息从一个主机传送到另一个主机。ICMP协议是Internet控制消息协议,用于IP主机、路由器之间传递控制消息。控制消息是指网络是否畅通、主机是否可达、路由是否可用等网络本身消息。图3所示是ping命令测试远程用户和设计的微型嵌人式Web服务器后的响应情况。

ping命令

  3.2.3 TCP、HTTP协议的实现

  传输控制协议(TCP)负责收集信息包,并且将其按适当的次序传输,接收端接收后再将其正确还原。传输协议同时保证了数据包在传送中准确无误。而HTTP是基于TCP协议的超文本传输协议,嵌人式Web服务器在与远程用户端建立TCP连接后发送网页数据,在HTTP协议发送流程中,由于TCP报文数据字段有长度限制,网页资源一股被分成若干段进行分段传送。在远程用户端打开IE浏览器,在地址栏输入嵌人式Web服务器的地址。

原文出处:http://www.eepw.com.cn/article/87673.htm
来源:电子产品世界    作者:刘盼盼 夏路易    
  评论
相关的专家答疑
相关的白皮书
 
服务器上装电池、使用技嘉主板、数据中心以货柜为单位,每箱里面有1160台服务器……在经济不景气当道的年代,Google要分享自家数据中心的省钱方式。
 
无论你是去购买何种芯片的服务器,请先想好如何去做?以下我们列出最重要的10个技巧,以便你做好购置服务器的决策工作。
 
很多学校都通过IP过滤的方法将外网IP对内网资源的访问过滤掉。有没有好办法可以兼顾安全和灵活访问两方面呢?如何针对服务器设置让网络通讯穿越内网?
 
笔者就曾遭遇一则意外选中“记住密码”功能选项后引发的无法连接服务器故障,现在本文就将该故障的详细排除过程还原出来,希望各位朋友能从中收到一点启发!
 
每台机器都会遭遇文件碎片的问题。但服务器由于巨大的用户流量而使碎片问题更加严重。这会导致网络速度缓慢、开机时间长以及病毒扫瞄的时间特别长。该怎么解决呢?
虚拟化部署项目包括几个阶段和重大的规划,以满足IT现有的技术环境。如果执行得正确,虚拟化部署的这些阶段能帮助你评估和测量现有的技术资产,并决定你的虚拟化需求。本手册将介绍虚拟化项目实施过程中的三大阶段,教您如何正确执行以便获得成功。
在之前的专题“虚拟桌面基础架构VDI”以及“桌面虚拟化VDI实施流程指导手册”中,我们学习了VDI的定义以及实施流程。在本专题中,我们主要学习VDI的使用情况,需要注意的事项及技巧。
什么是VMware vSphere?它主要有哪些新功能?如果升级到vSphere,硬件要求是什么?如何创建VMware vSphere子操作系统?VMware vSphere的亮点究竟在哪里?  2009年4月21日,VMware公司宣布推出新一代虚拟化平台VMware vSphere。这是VMware继三年前发布VMware ESX之后的又一重大举措。在本期技术手册中,我们将详细介绍VMware vSphere,从下面几个方面进行探讨……
最新更新
专家答疑
技巧
吴炫国
能否简单介绍一下Hyper-V的远程控制台功能?我不太清楚如何实现远程管理的功能,许多时候会出现RPC错误。我的环境是公网。
Serdar Yegulalp
在主机物理磁盘上如何排列虚拟硬盘最合适?排列虚拟硬盘的最佳方式是什么?如果你的服务器有三个驱动,宿主了两个虚拟操作系统,可以……
Scott Feuless
如果业务单位反对采用虚拟化的话,IT该怎么办?阻碍虚拟化采用的关键是什么?如何说服业务单位采用虚拟化?

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
登录Email
请输入您的登录Email
密码
下次自动登录