MicroBlaze在嵌入式Web服务器上的应用

发布者:BlossomBeauty最新更新时间:2009-02-20 来源: 现代电子技术关键字:MicroBlaze  嵌入式Web  Xilnet  超文本传输协议 手机看文章 扫描二维码
随时随地手机看文章

1 引言

  由于Internet技术的渗透,嵌入式系统正变得越来越智能化并具有越来越多的网络友好特性。Web技术的飞速发展,给嵌入式系统进入Internet提供绝佳的途径。在现场仪表和企业设备层应用嵌入式技术是企业监控系统的发展趋势。与现场总线技术相比,嵌入式技术不仅为开发者提供了大量的工具和函数库,而且减少了传统的客户端,减少了二次开发的工作量;而把嵌入式技术和Internet技术结合起来,使得整个工控网络易于和Internet实现无缝连接;现在多数企业控制网络是通过专用线路进行数据通信,其通信介质、通信协议都是专用的,而Internet技术的渗透使嵌入式设备的远程控制和管理方式都有了改变,不再需要专用的通信线路,传输的信息也不再局限于数据信息。Web技术的发展、通信协议的公开、HTML语言的标准统一性,使得只要在嵌入式设备中有一个微型服务器,通过用任意一种Web浏览器,用户就可以监控现场数据和设备。

2 嵌入式软核处理器

  是基于Xilinx公司FPGA的微处理器IP核,和其他外设IP核一起,可以完成可编程系统芯片(SoPc)的设计。 32位软处理芯核运行速度为150 MHz,性能达100 D-MIPS。采用RISC架构和哈佛结构的独立32位指令和数据总线,可以全速度执行存储在片上存储器和外部存储器中的程序并访问其中的数据。支持CoreConnect总线的标准外设集合为设计人员提供了兼容性和重利用能力。内部有32个32位通用寄存器和2个32位特殊寄存器PC指针和MSR状态标志寄存器。为了提高性能,还具有指令和数据缓存。所有的指令字长都是32位,有3个操作数和2种寻址模式。指令按功能划分有逻辑运算、算术运算、分支、存储器读/写和特殊指令等。指令执行的流水线是并行流水线,他分为3级流水:取指、译码和执行。

  软处理器可为您提供不同方法的灵活性。首先可以从处理器内核开始,构建能够准确满足设计需要的外设集合。由于只需要实现自己所需要的部分,因此避免了芯片资源浪费。因为不需要编写代码关闭/禁止不需要的处理器功能,因此降低了软件设计复杂性。创建专用处理器配置的工作也成为一项简单的任务,而为了满足技术规格的变化专用处理器配置随时可能需要改变。即使在实际应用5~6年后,连FPGA硬件本身可能也已经接近其生命期的终点时,只需要简单的利用同样的C代码将软处理器内核移植到新的FPGA硬件中就可以。硬件平台或许需要一定的PCB修改,但遗留下的代码仍然是可用的,不需要修改。

3 系统结构

  在系统结构设计上,考虑现有的各种嵌入式网络实现方案,绝大多数嵌入式Internet都使用微控制器和相应的软件来实现。本文介绍的嵌入式的设计则是采用基于FPGA的软核处理器,其灵活性大大提高,而成本则可以大大降低,充分体现了可编程片上系统(SoPc)的优势。系统主要支持CoreConnect总线的标准外设集合,DDR SDRAM主要用来存放软件代码以及一些需要保存的参数,BRAM用来在系统运行时的代码和数据存储;网络接口芯片采用SMSC公司的IAN91C111芯片作为网络接口。该器件是一个以太网控制器,实现了网络7层协议栈中的物理层和MAC层的功能。他具有10 M/100 M自适应、双工/半工自适应等功能,非常适合嵌入式网络开发。LCD用来指示系统运行状态。整个系统的结构如图1所示。

 

4 硬件设计

  本文在进行硬件设计的时候采用基于IP核的设计方法,并将大部分功能在单个FPGA芯片上予以实现。设计电路原理图之前,必须根据系统需求选择合适的IP核。所谓IP核,是指那些以硬件形式(硅片版图)或者软件形式(用Verilog、VHDL描述的RTL或者门级模型)存在的、具有特定功能的硬件电路。IP核通常分为硬核、固核与软核3种。根据系统的硬件开发环境以及性能需求,本文选择Xilinx公司开发的一系列软核产品,他们是用VHDL语言所描述的硬件模块,允许用户根据需要对各种参数进行配置,如数据通路带宽、优先进行速度优化还是资源优化等,因而应用非常灵活。系统所用到的软IP核产品有,BRAM、定时器、通用异步收发器UART,以及用于外部功能扩展的OPB总线模块。

  硬件设计使用的是ISE可编程逻辑器件集成开发环境。提供从设计输入到器件编程的全部功能。采用Xilinx公司的EDK开发工具可大大提高系统设计效率,他能够在图形化界面内定制一个从硬件到软件的完整系统。在EDK中包含了外设与的接口,所以只需定义CPU与外设的接口即可。设计采用的CPU为仅占用900个逻辑单元。在EDK下添加对应接口模块。然后生成对应的VHDL文件。同时,EDK还根据定制的结果,自动的生成针对特定硬件环境的C语言的头文件以及函数库,这在软件设计中会极大地减少软件开发人员的工作量。

  本文采用的是Xilinx公司Virtex4系列FPGA芯片,最多能提供200 000个逻辑单元和多达64 kB的BRAM存储空间。由于FPGA芯片具有可反复更改的特性,因此有助于硬件系统的改进和不断升级。

  由于在FPGA芯片上构造以太网物理层、MAC层电路较困难,本文将这些功能放到FPGA芯片的外面,使用LAN91C111芯片来实现以太网硬件接口功能。SMSC公司的LAN91C111是为了方便嵌入式应用系统连接到快速以太网而专门设计的,他实现CSMA/CD协议的物理层和媒体访问控制层(MAC)两个部分,并可以很方便地与许多嵌入式处理器进行数据交换。

5 软件设计

  软件设计包括:操作系统移植、网络协议栈设计、文件系统生成、应用级代码编写等部分。

5.1 操作系统

  为了简化设计,本文中的采用单一线程,无需RTOS(实时操作系统)的支持。故采用EDK提供的仅支持单进程的standalone板支持包即可。

5.2 协议栈

  系统采用的是EDK中包含针对的网络协议栈,隐藏了低层硬件细节,以类似于Unix套接字的方式实现一个精简的网络协议栈Xilnet。他支持以下一些网络协议:IP,ARP,ICMP,UDP,TCP。调用如下函数初始化栈以及MAC地址和IP地址。

 

5.3 文件系统

  为了支持HTTP协议,一个文件系统是必不可少的。本设计使用EDK提供的xilmfs文件系统对网页的静态页面和图片进行组织和存储。

  调用mfs_file_open()和mfs_file_wrire()函数打开和创建文件系统。考虑到有限的系统资源,文件存放在DDR SDRAM中。

5.4 HTTP协议及其实现

  嵌入式技术的核心是HTTP(超文本传送协议)引擎。HTTP是WWW上的协议。HTTP协议使和浏览器可以通过Web交换数据。他是一种请求/响应协议,即服务器等待并响应客户方请求。当用户要浏览服务器上的一个网页时,一个HTTP请求就会从用户的浏览器发到HTTP服务器。服务器响应这个请求,把指定的网页传送回来,用户才看到了网页。HTTP协议不维护与客户方的连接,他使用可靠的TCP连接,通常采用TCP的80端口。客户/服务器传输过程可分为4个基本步骤:浏览器与服务器建立连接;浏览器向服务器请求文档;服务器响应浏览器请求;断开连接。

  服务器程序开始运行时,主进程就创建一个套接字,并与主机地址绑定到一起,随后置为被动监听状态,等待客户端连接请求的到来,分别有xilsock_socket()创建一个套接字,xilsock_bind()绑定,xilsock_listen()监听,xilsock_accept()接收来完成。一旦接收一个连接,xilsock_acept()会返回一个新的套接字描述符,主程序则开辟一个新的子程序来处理这个新的连接。这样系统可以同时接收多个客户端的请求。

  如图2所示,首先创建套接字,将套接字与本地地址和端口绑定,并设置套接字处于监听状态。在接收一个连接请求后,读取用户的请求,根据用户的请求进行相应的处理。

  当请求位静态文本时,文档直接提交输出,当请求位动态文本时,请求模块自动调用脚本引擎,将脚本替换位现场数据,再提交输出,当请求为带参数的执行命令时,请求解析器调用命令执行模块分析命令并控制监控前端。

  这里并没有采用通常的CGI(Common Gateway Interface)技术对请求信息进行处理,而是将活动页面由加载进的模块处理,因此处理速度比CGI程序更快、更高效。活动页面还可以处理表单、HTTP会话和方便的访问数据库。因此,活动页面对动态Web页面提供完整的服务器端支持。

 

6 结 语

  本文介绍的基于的嵌入式可以实现预期功能,用户可以通过IE浏览器浏览存储到FLASH芯片中的网页。

  CPU本身是以软核的方式实现,其功能可根据需要进行定制,非常灵活。EDK不但在硬件设计上提供了支持,在软件上也为设计者提供了较好的支持,提供了现成的网络协议栈。加上EDK提供的集成开发环境使得软件开发更加便利。采用这种方式的控制系统具有控制分散、开放性好、使用简单、稳定性好等优点,而且可以通过浏览器进行远程多点监控和远程支持,是未来控制系统发展的一个趋势。

关键字:MicroBlaze  嵌入式Web  Xilnet  超文本传输协议 引用地址:MicroBlaze在嵌入式Web服务器上的应用

上一篇:23亿个晶体管 处理器挑战集成度及性能极限
下一篇:基于XScale处理器的天线控制系统的设计

推荐阅读最新更新时间:2024-05-02 20:46

ARM7微型嵌入式Web服务器的设计与实现
   1 引言   随着计算机、网络通信和Internet技术的飞速发展和不断进步,嵌入式系统在家庭和工业应用广泛。如何将嵌入式系统和工业控制系统接人Internet,综合利用嵌入式系统资源,实现嵌入式系统的远程管理和控制,已成为关注的研究课题,而实现嵌入式系统的网络化则成为嵌入式系统的发展趋势。   以太网以其成本低、速度快、应用普遍、有广泛的硬件和软件支持等优点为实现管理控制网络一体化提供可能,在现场设备内置WEB服务器,使现场设备具有网页发布功能,将Internet技术直接引入现场设备。   本设计是基于ARM7的微型嵌入式Web服务器。目前市场上大部分以太网控制器的封装均超过80引脚,而ENC28J60是业界最小
[工业控制]
ARM7微型<font color='red'>嵌入式</font><font color='red'>Web</font>服务器的设计与实现
一种嵌入式WEB服务器的设计与实现
摘要:介绍了一种嵌入式WEB服务器的设计与实现,实现了以太网与CAN总线网络的直接互连,使用户可以使用PC机通过Internet进行远程访问和控制Web服务器,从而能够将工业现场测控层监测设备得到的数据方便快捷地送到异地的管理监控层。 关键词:WEB服务器 以太网 CAN总线 在企业自动化的工业现场,下层车间的监测设备之间都是采用现场总线相互连接,而企业的管理层和生产监控层都是连于以太网的PC,甚至是位于异地的连于互连网上的PC。为了使工业现场的现场总线上的设备和管理监控层之间的PC能够通信,同时改善故障检测和设备维护的远程访问能力,笔者在CAN总线网与以太网的互连系统中设计了一个嵌入式WEB服务器。 1 嵌入式WEB服务
[嵌入式]
一种嵌入式WEB服务器的设计与实现
  在企业自动化的工业现场,下层车间的监测设备之间都是采用现场总线相互连接,而企业的管理层和生产监控层都是连于以太网的PC,甚至是位于异地的连于互连网上的PC。为了使工业现场的现场总线上的设备和管理监控层之间的PC能够通信,同时改善故障检测和设备维护的远程访问能力,笔者在CAN总线网与以太网的互连系统中设计了一个嵌入式WEB服务器。 1 嵌入式WEB服务器硬件设计 通常嵌入式系统硬件包括微控制器、存储器及外设器件和I/O端口等,其核心是嵌入式微控制器。为适应上网需求,嵌入式微控制器不仅要具有传统的控制功能,还要具有与因特网连接的功能。而Ubicom公司的SX52芯片能比较容易实现TCP/IP协议,选择它作为微控制器。关于传输媒
[网络通信]
基于嵌入式Web服务器的远程故障诊断系统
摘要:介绍了一种基于嵌入式Web服务器的远程故障诊断系统的硬件及软件实现。该系统主要包括远程数据采集、分析、诊断、仿真等功能。 关键词:嵌入式Web服务器 数据采集 故障诊断 仿真 远程诊断技术是通过设备诊断技术与计算机网络技术相结合,在设备上建立状态监测点,采集设备状态数据,在诊断中心对设备运行进行分析诊断的一项新技术。用于诊断的系统大致可以分为三类: %26;#183;大型的在线状态监测与诊断系统; %26;#183;以便携式数据采集器与巡检装置的计算机辅助诊断系统; %26;#183;利用Internet实现的远程诊断系统。 在线式系统适用于连续的状态监测与诊断,系统构成复杂、费用昂贵、专用性强。而便
[嵌入式]
嵌入式Web服务器的分析与研究
    摘要: 首先介绍嵌入式Web服务器的发展背景。然后,详细讨论嵌入式Web服务器的支撑技术,并提出瘦Web服务器模型。最后,分析嵌入式Web服务器的实现技术并给出2个具体实现形式。     关键词: 嵌入式Web服务器 嵌入式Internet 瘦Web服务器 超文本传输协议 引言 后PC机时代的到来引发了信息产品的产生,而Internet与信息产品的结合是当今发展的一个趋势,嵌入式Internet技术的产生正好迎合了这个趋势。据分析,嵌入式Internet系统在Internet电话、游戏装置和手持式通信装置的推动下将会有突飞猛进的发展。由于Internet技术的渗透,嵌入式系统正变得越来越智能化并具有
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved