嵌入式web服务器设计与实现_第1页
嵌入式web服务器设计与实现_第2页
嵌入式web服务器设计与实现_第3页
嵌入式web服务器设计与实现_第4页
嵌入式web服务器设计与实现_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

无锡科技职业学院嵌入式系统工程专业 毕业设计(论文)1嵌入式 web 服务器的设计与实现摘要:随着现代通信技术和网络技术的迅猛发展,以太网技术也越来越成熟,特别是基于 TCPIP 通信协议的 Web 技术得到了广泛应用。我们可以用微控制器加以太网接口芯片,取代 PC 机进行现场控制,组成嵌入式 Web Sever 系统。现场传感器自动跟踪各监测点的信息,把检测到的数据存储在非易失性存储器中,并及时发布到互联网上;相关的工作人员就可以通过 Web 技术对设备进行远程控制、管理和维护,从浏览器上直接监控现场设备的运行,这样就大大提高了生产效率和管理水平。 本文主要工作:1.以 ATmega128 和 LAN91C111 为核心的嵌入式系统硬件平台的架构,阐述了各个模块具体的设计过程。2. 以C/OS-II嵌入式操作系统在ATmega128处理器上的移植过程。3.实现应用于ATmega128上的lw TCP/IP 协议栈。4. 在此基础实现了简化的HTTP协议,并设计了一个基于ATmega128的嵌入式Web服务器系统。关键词:网络协议;单片机;以太网芯片;嵌入式操作系统;嵌入式 Web 服务器 无锡科技职业学院嵌入式系统工程专业 毕业设计(论文)2Embedded web server DesignAbstractAlong with the modern communication technology and the rapid development of network technology, Ethernet technology and more mature, particularly based on TCP/IP communication protocol Web technology has been widely applied. We can use micro-controller be too network interface chip, replacing the PC site control, the embedded Web Sever system. Field sensor automatically keep track of different monitoring point of information, the detected data stored in non-volatile memory, and promptly released onto the Internet; related personnel through a Web technology on the device for remote control, management and maintenance, from the browser on the direct monitoring of field devices running, greatly improved productivity and management level. This article mainly work: 1. to ATmega128 and LAN91C111 as the core of embedded system hardware infrastructure, explains each module specific design process. 2. to C/O S-I I embedded operating system in the ATmega128 processor of the transplantation process. 3. implementation of the applied to the ATmega128 lw TCP/IP protocol stack. 4. on this basis enables simplified HTTP protocol, and created a based on the ATmega128 embedded Web server systems.Key words: network protocols; single-chip; Ethernet chip; embedded operating system; the embedded Web server 无锡科技职业学院嵌入式系统工程专业 毕业设计(论文)3目录摘要: .1Abstract .21.1 硬件选择 .51.1.1 ATmega128 的特点 .51.1.2 以太网控制器 LAN91C NEC 公司的 62256.61.2 硬件架构设计 .61.2.1 存储模块 .71.2.2 网络模块 .71.3 以太网接口设计与实现 .81.3.1 LAN91C111 寄存器地址映射 .81.3.2 LAN91C111 工作原理 .81.3.3 缓存中的数据帧格式 .81.3.4 LAN91C111 驱动程序设计 .9第二章 C/OS-II 嵌入式操作系统的移植 .102.1 C/OS-II 的概述 .102.1.1C /OS-II 简介 .102.2 C/OS-II 的移植 .102.2.1 uC/OS II 移植的相关工作 .102.2.2 用户实时任务编写 .12第三章 LwIP 在 uCOS II 上的实现原理及过程 .143.1 概述 .143.2 与 CPU 或编译器相关的 include 文件 .143.3 sys_arch 操作系统相关部份 .143.4 lib_arch 中库函数的实现 .163.5 网络设备驱动程序 .17第四章 嵌入式 Web 服务器的实现 .184.1 嵌入式 Web 服务器技术 .184.2 HTTP 协议实现 .194.3 文件系统 .204.4 嵌入式 Web 服务器的工作流程 .224.5 嵌入式 Web 服务器的实现 .23谢辞 .27参考文献 .28无锡科技职业学院嵌入式系统工程专业 毕业设计(论文)4前言Internet 与信息产品的结合是当今发展的一个趋势,嵌入式 Internet 技术的产生正好迎合了这个趋势。由于 Internet 技术的渗透,嵌入式系统正变得越来越智能化并具有越来越多的网络友好特性。加上 Web 技术的飞速发展,以太网技术也越来越成熟,特别是基于 TCPIP 通信协议的 Web 技术得到了广泛应用。我们可以用微控制器加以太网接口芯片,取代 PC 机进行现场控制,组成嵌入式 Web 服务器系统。随着计算机技术和网络技术的快速发展,以嵌入式设备为主的监控系统、信息家电和通信设备被广泛使用,嵌入式 Web 服务器则是其中关键的技术设备。现场传感器自动跟踪各监测点的信息,把检测到的数据存储在非易失性存储器中,并及时发布到互联网上;相关的工作人员就可以通过 Web 技术对设备进行远程控制、管理和维护,从浏览器上直接监控现场设备的运行,这样就大大提高了生产效率和管理水平。随着 Web 技术的发展,几乎改变了现在的信息表达形式,很多应用都是基于 Web 技术的。由于 HTML 语言的标准统一性,只要在嵌入式设备中有一个微型服务器,就可以使用任意一种Web 浏览器接收和发送信息。目前国外的相关研究很多,如 Pharlap 公司的MicroWeb、AgranatSystems 公司的 EmWeb、EmWare 公司的 emMicro、Allegro公司的 RomPager、WindRiver 公司的 Wind,还有Boa、Enea、PicoWeb、ChipWeb、Ipic、NetAcquire、Voyager、Quiotix 等。国内的有 Webit对于嵌入式 Web 服务器的研究和应用,其意义是重大的。它为我们管理、控制和监测各种各样设备提供了一个很好的途径。所以如何设计这种特别的Web 服务器,如何在嵌入式设备中安装 Web 服务器,就成了嵌入式 Web 服务器的发展和研究方向。本文就在嵌入式嵌入式 Web 服务器技术进行讨论。无锡科技职业学院嵌入式系统工程专业 毕业设计(论文)5第 1 章 硬件设计1.1 硬件选择1.1.1 ATmega128 的特点ATmega128 为基于 AVR RISC 结构的 8 位低功耗 CMOS 微处理器。由于其先进的指令集以及单周期指令执行时间, ATmega128 的数据吞吐率高达 1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。ATmega128 产品综述:128K 字节的系统内可编程 Flash( 具有在写的过程中还可以读的能力,即 RWW)、4K 字节的 EEPROM、4K 字节的 SRAM、53 个通用 I/O 口线、 32 个通用工作寄存器、实时时钟 RTC、4 个灵活的具有比较模式和 PWM 功能的定时器/ 计数器(T/C)、两个 USART、面向字节的两线接口TWI、8 通道 10 位 ADC( 具有可选的可编程增益)、具有片内振荡器的可编程看门狗定时器、SPI 串行端口、与 IEEE 1149.1 规范兼容的 JTAG 测试接口( 此接口同时还可以用于片上调试),以及六种可以通过软件选择的省电模式。空闲模式时 CPU 停止工作,而 SRAM、T/C、SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作,寄存器的内容则一直保持;省电模式时异步定时器继续运行,以允许用户维持时间基准,器件的其他部分则处于睡眠状态; ADC 噪声抑制模式时 CPU 和所有的 I/O 模块停止运行,而异步定时器和 ADC 继续工作,以减少 ADC 转换时的开关噪声; Standby 模式时振荡器工作而其他部分睡眠,使得器件只消耗极少的电流,同时具有快速启动能力;扩展 Standby 模式则允许振荡器和异步定时器继续工作。1.1.2 以太网控制器 LAN91C111LAN91C111是SMSC公司生产的专门用于嵌入式产品的10/100M快速以太网控制器,该器件具有可编程、CRC校验、同步或异步工作方式、低功耗CMOS设计、小尺寸等特点,是设计嵌入式以太网网络接口的良好选择。LAN91C111 主要特点 :1.支持IEEE802.3/802.3u以太网标准无锡科技职业学院嵌入式系统工程专业 毕业设计(论文)62.自动诊测(Auto_Negotiation):10/100M,全双工/半双工收发方式3.片上8KB的FIFO RAM 4.可外接E2PROM 5.内部32位数据通道6.硬件MMU,并支持先进的传输队列管理7.部分输入引脚和I/O引脚支持5V电压,可直接与5V设备相连8.支持ARM、Power PC、Coldfire等嵌入式处理器的接口9.内含介质无关接口MII(media independent interface)的介质访问控制MAC和内部物理接口PHY 10.内含四组I/O寻址寄存器,每组7个;一个用于区别这四组寄存器的组选择寄存器;11个PHY MII寄存器。11.可连接同轴电缆或双绞线,带有低通滤波器、100Base-Tx/10Base-T的传输端1.1.3 NEC 公司的 6225662256 是 32K 的低功耗静态 RAM 存储器. 用 P0 和 P2 来扩展外部 ram(就是用 P0 和 P2 与 62256 对应的管脚相连接) 。62256 引脚功能A0 A14 地址总线(Address) D0 /D7 输入/输出口(nput/output) CS 端口选择(Chip select)WE 输入始能(Write enable)OE 输出始能(Output enable)VCC 电源始能(Power supply) VSS 接地(Ground)1.2 硬件架构设计该系统的各个功能模块图如图 1.2 所示:无锡科技职业学院嵌入式系统工程专业 毕业设计(论文)7图 1.2 硬件系统平台结构图ATmega128 的指令执行是基于流水线技术的,使得一条指令可以在一个时钟周期内执行完成,当外接晶振达到 16MHZ 时,该 CPU 的执行速度理论可以达到 16MIPS 的性能。由于 ATmega128 的内部 SRAM 较小,所以扩展了 32K 的 SRAM存储器,使得系统的整体性能大幅提升。JTAG 是系统必需的接口,它用于将用户编写的程序下载到 ATmega128 中执行。该系统也提供 RS232 串口,在调试程序时方便用户输出调试信息;在实际应用中可以将系统中的重要数据通过串口传输到 PC 机上保存。网络控制器和显示控制器是本系统的两个重要的组成部分,它们都是通过 PC104 总线和 CPU 相连接的。本系统选用 SMSC 公司的 LAN91C111网络芯片连接到 ATmega128 上,通过编写相应的程序使之接入到 Internet,实现较高的网络通信性能。1.2.1 存储模块由于 ATmega128 芯片内部的 SRAM 大小只有 4KB,运行 C/OS-II 嵌入式操作系统和网络应用程序是比较困难的, ,所以扩展了一个 NEC 公司的 62256 是32KB 的 SRAM 芯片。由于 ATmega128 的数据线和低地址线是复用的,因此要将62256 SRAM 芯片连接到 CPU 上时需要加一个地址锁存器 74AHC573,这样就可以解决高速 CPU 和低速存储器之间数据通信的矛盾。1.2.2 网络模块网络接口模块是本系统硬件设计的核心部分,也是最难的部分。本系统使用 SMSC 公司高性能的 100M LAN91C111 网络芯片作为网络模块的核心部件,完成系统的网络通信功能。LAN91C111 提供的总线接口单元 BIU 可以方便地与工无锡科技职业学院嵌入式系统工程专业 毕业设计(论文)8业标准总线进行连接,可以同步或异步的操作,可进行灵活的 32 位、16 位和8 位的总线接口设计。在本系统中 LAN91C111 使用 8 位异步总线接口与ATmega128 相连,极大地提高了系统的吞吐量。由于该 LAN91C111 工作在异步传输方式下,故将与同步信号有关的引脚 LCLK、nRDYRTN、nCYCLE、W/nR 设置为无效。nSRDY、nDATACS、nVLBUS 是工作在 32 位数据传输的情况下,而本接口是 8 位数据传输,故不使用。nADS 是地址锁存信号,可将它直接接地。1.3 以太网接口设计与实现本系统采用 LAN91C111 作为网络接口,研究其内部的工作机制是编写驱动程序的基础。以太网控制芯片功能的实现主要通过读写相关的寄存器组实现,寄存器对外映射为接口地址。1.3.1 LAN91C111 寄存器地址映射LAN91C111 内部的寄存器分为 BANK0-BANK3 共四页。页面选择通过页选择寄存器(Bank Select register, BSR)来进行。不论当前页是哪一页,改变BSR 的值就可以切换 BANK,利用 16 个字节地址空间映射到 I/O 口就能实现对整个芯片的操作。1.3.2 LAN91C111 工作原理对于 100Mbps 来说,发送数据时,MMU 首先将 MCU 传来的数据,根据其大小为其在 RAM 中分配若干页。在数据传送到 RAM 时,数据包的包号在 TX FIFO中排队,然后按照 FIFO 规则逐个将数据包传送到 PHY 模块进行 4B5B 编码,并经过扰频器整理后送到发送数据端。发送数据端将这个经过扰频后的 4B5B 数据包变成三电平信号 MLT-3 并加以驱动在双绞线上输出。接收数据时,LAN91C111首先将数据包复制一份并送到解扰频器后,再送到 4B5B 解码器解码,而 EPH 模块根据数据包的目标地址是否为本网卡的 MAC 地址或广播地址、多播地址来决定数据包的取舍。若地址匹配,MMU 为其在 RAM 中开辟相应大小的空间,并以中断方式告知处理器。当数据包被取走后,MMU 释放此块内存。对于 10Mbps 来说,发送接收过程是相似的,但它采用 Manchester 编码,并以适当的电平加以驱动在双绞线上输出,并且没有扰频器和解扰频器。1.3.3 缓存中的数据帧格式无锡科技职业学院嵌入式系统工程专业 毕业设计(论文)9要发送的以太帧开头加上四个字节,开头两个是状态字,用户可写入 0,发送时由芯片自动重写。下两个字节并为一个字,低 11 位记录缓存当前页的占用情况,含以太帧、状态字、字节记数和最后一个控制字的长度,发送时由用户填写。字节记数不考虑自动 PAD 填充位的长度。控制字节格式如图 1.9 所示。Bit7 bit0X X ODD CRC 0 0 0 0图 1.9 控制字节格式ODD 为 1 表示数据区长度是奇数,最后一个数据字节有效,数据字节总数为偶数。ODD 为 0 表示数据区长度是偶数,最后一个数据字节无效。CRC 为 1 表示数据帧后加 CRC 校验。CRC 为 0 表示不加 CRC 校验。1.3.4 LAN91C111 驱动程序设计LAN91C111 接收数据的流程如下:(1) 设置 Receive Control 寄存器中的 RXEN 位为 1,允许接收数据包。(2) 收到含有正确地址的数据包后,MMU 请求分配存储空间,并分派一个packet number,内部的 DMA 逻辑产生连续的地址,并将接收到的字写到内存中。如果超界,包被丢弃,存储空间被释放。当检测到包结束,status word 被写到接收包的最前面,byte count 写到第 2 个字。如果 CRC 校验正确,packet number 被写到 RX FIFO,由于 RX FIFO 非空,产生 RCV INT 中断。如果 CRC 校验不正确,存储空间被释放,而且不产生中断。(3) CPU 接收到中断后开始执行中断处理程序,它读入 Interrupt Status寄存器,如果产生接收中断(RCVINT 位为 1) ,则可以从 FIFO Ports 寄存器得到接收的包的 packet number,而且可

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论