当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于SOPC 的嵌入式Web 服务器设计与实现

摘要:设计并实现了基于SOPC技术的嵌入式Web服务器,简单介绍了SOPC技术的特点及构建方法,随后对该嵌入式Web服务器的实现在硬件和软件两方面都作了详细论述,其中运用Nios II软核处理器作为主控制器,实时多任务操作系统uC/OS-II为应用软件运行平台,简化的TCP/ IP 协议LwIP为应用层通信协议。具有设计灵活、可重构、集成度高、实现风险低、开发周期短的优点。

1、引言

近来,随着嵌入式Internet技术的飞速发展,当今社会逐渐步入网络时代。嵌入式Web服务器技术在远程监控和生产过程控制系统中得到了广泛的应用,该技术允许任意地点的用户通过Web浏览器接入网络,访问Web服务器发布的各类信息,通过Web可以实现最为亲切的信息互动。

基于SOPC(可编程片上系统)技术的嵌入式Web服务器采用嵌入式软核处理器技术,使用嵌入式实时操作系统,内嵌网络接口和网络通信协议,可直接接入以太网。由于嵌入式Web服务器具有成本低、体积小、高可靠、微功耗、环境适应能力强等诸多优势,在通信和工业控制等领域正得到日益广泛的应用。

2、Web服务器概述

本设计介绍的嵌入式Web服务器采用基于FPGA的Nios II 软核处理器,具有灵活性高、而成本低的特点,充分体现了可编程片上系统的优势。客户端通过IE浏览器对该服务器进行访问,实时地获得服务器发布的各类信息,以便执行相应的操作。这样就要求服务器提供WWW服务,即实现HTTP协议。它应被所有浏览器支持,以保证任何地方的用户都可以通过浏览器下达命令。在网络接口上,本设计选择以太网为其运行的网络环境。如图1所示为HTTP设计模型[1]。首先,客户端的浏览器与Web服务器使用一个或多个TCP连接,通过80号端口进行通信,浏览器通过HTTP协议浏览存储在FLASH中的网页,通过该网页传递浏览、控制命令到网络服务器,然后服务器对命令进行解析,调用相应的功能,充分实现客户端与浏览器之间的信息互动。根据Web服务器的原理,本设计实现了以下协议:DHCP、HTTP、TCP、IP、ICMP、ARP。

3、硬件结构设计

3.1、FPGA芯片

服务器的整体硬件方案采用1 片规模较大的FPGA 完成大部分功能,该款FPGA采用Altera公司的低价格、高性能的Cyclone系列,根据系统逻辑规模的预判,选EP1C20F400C7不胜数FPGA。此型FPGA含有以下可编程逻辑资源:20 060个逻辑单元;64个M4K RAM块,多达294 912位RAM;内嵌2个PLL(锁相环),可作为全局时钟;最大用户I/O引脚301个;且该芯片还支持用Altera公司的SOPC Builder工具嵌入Nios II的内核。

 

 

图1 HTTP设计模型

3.2、Nios II 软核处理器

Nios II[2]是在Altera公司的FPGA上实现的一款嵌入式处理器。Nios II系列嵌入式处理器是一款用户可配置的通用的32/16位RISC(精简指令集)结构的CPU ,它定位于广泛的嵌入式应用。使用业界领先的设计软件Altera 公司的Quartus II软件以及SOPC Builder 工具。

3.2、Nios II 软核处理器的实现与应用

系统采用32 位嵌入式Nios II软核,它可以提供灵活丰富的接口,针对该系统的需求配置合适的外围设备。在Altera 公司提供的SOPC软件中对该软核进行配置时,我们选用了NIOSCPU、内部定时器、JTAG异步串行接口、SDRAM 控制器、Flash 存储器接口、以太网接口、LCD接口、片内存储器和EPCS4串行配置器件控制器接口。其框图如图2所示。

 

 

图2 SOPC系统硬件实现框图

在SOPC芯片中,所有部件都由Altera 公司或第三方以IP 核的方式提供,可方便复用,用户也可在FPGA 中自定义用户模块,并生成自定义IP(知识产权)核。系统部件及其功能见表1。CPU 和所有部件通过Avalon 总线连接在一起,构成基于Avalon 总线的SOPC 系统架构。

Avalon总线是Altera 公司开发的片上总线,是一种简单的总线体系结构,用来将处理器和周边设备集成到SOPC 中,并规定了主设备和从设备的端口连接方式和时序关系。主设备和从设备的交互采用“从端仲裁”技术。在多个主设备试图访问同一个从设备时,用于决定哪个主设备获得访问权。在本文的系统设计中,CPU 是主设备,其他部件均为从设备。

表1 SoPC 中的系统部件

 

 

4、SOPC的构建方法

SoPC 系统的设计基于EDA 工具的可编程逻辑器件设计流程,是一个软/ 硬件协同设计的过程[3]。采用Altera 公司SOPC Builder 设计工具,可以极大提高系统得设计效率,开创了嵌入式系统设计的新理念。

硬件开发流程:用 SOPC Builder 系统综合软件来选取合适的CPU、存储器以及外围器件,并定制它们的功能。使用Quartus II 软件来选取具体的Altera 可编程器件系列,并对SOPC Builder 生成的HDL 设计文件进行布局布线;在使用Quartus II 软件完成管脚的分配。最后生成配置文件,下载到开发板上。软件开发流程:在用SOPC Builder 进行硬件设计的同时,就可以开始编写独立于器件的C/C++软件,用户可以使用现成的软件库和开放的操作系统内核来加快开发进程。在NiosII IDE 中建立新的软件工程时,IDE 会根据SOPC Builder 对系统的硬件配置自动生成一个定制HAL(硬件抽象层)系统库。这个库能为程序和底层硬件的通信提供接口驱动程序,之后进行编译、调试、下载软件到开发板上。

5、软件实现

软件设计主要包括嵌入式操作系统的移植、网络协议栈的实现、应用级代码编写等部分。软件结构框图如3所示。

 

 

图3 SOPC系统软件结构框图

5.1、uC/OS-II 操作系统的应用

根据Web服务器的特点,设计必须满足实时性和并发性的要求,以便更好地支持TCP/IP运行时的多任务环境的调度,所以应用软件应该基于嵌入式实时操作系统。目前比较流行的嵌入式操作系统主要有VxWorks、Windows CE、uCLinux、uC/OS-II 等。考虑到uC/OS-II的规模较小、实时性和可靠性较高,Nios II IDE 开发环境对uC/OS-II的良好支持,故操作系统选择uC/OS-II[4]。它是一种可移植、可固化、可裁减、占先式的多任务实时操作系统内核。它通过为每个任务分配单独的任务堆栈来保存任务工作环境,提供任务管理与调度,任务间的同步、互斥与通信,时间和中断管理、内存的动态分配等多种系统服务。在程序设计时,将网络协议栈在其中一个任务中运行,而用户程序在另外的任务中运行。通过调用协议栈提供的API函数进行通信。[!--empirenews.page--]

在本设计中uC/OS-II主要完成任务的管理与调度,在网络协议栈初始化后,使用标准套接字API创建新任务访问网络协议栈。在本设计中使用函数sys_thread_new()创建DHCP超时任务dhcp_timeout_task()来动态分配IP地址,创建HTTP任务http_task()管理HTTP连接并调用相关的子程序来为HTTP请求服务。这里使用的sys_thread_new()位于LwIP的操作系统封装层,实际上是调用uC/OS-II的OSTaskCteate()函数。通过创建消息邮箱、信号量实现任务与任务之间、任务与中断服务程序之间的同步与互斥,以保证它们协调运行。

5.2、LwIP网络协议栈的实现

LwIP(轻量级网络协议)是TCP/IP协议栈的一个实现。LwIP是一种专门针对嵌入式系统应用而设计的网络通信协议,由于LwIP实现的关键在于削减代码大小和内存消耗,但可以完成传统的TCP/IP协议的大部分功能,通常只需要大约40K的ROM和数十K的RAM即可运行。在保持协议分层体系结构的前提下,通过采用“零拷贝”技术提高实时性。

Nios II支持LwIP使用如下的3个基本任务[2]。这些任务在程序创建时添加后连续运行:首先,被协议栈使用的主任务。这个任务用来接收包,任务模块的主函数用于等待消息邮箱。当一个新的包到来时,产生一个中断请求,中断服务程序清除IRQ并且向消息邮箱发送一个消息。其次,新的消息激活接收任务。这一设计可以使中断服务程序尽可能快的执行,从而减少系统延时的影响。最后,实时器任务在于周期性地调用各种任务所需的时间。上述这些任务将在初始化成功后自动运行。系统初始化后,进入主程序部分。主程序包括两大部分:对接收到的以太网数据帧进行解包和对欲发送的数据进行封装并发送。图4为Web服务器软件框图。

 

 

图4 软件框架图

6、结语

经测试,本设计可以正常工作,达到了预期的效果。基于SOPC嵌入式Web服务器,其功能可根据需要定制,非常灵活。该Web服务器不仅可以广泛应用于工业控制领域,实现小型工业监测系统网络化,具有良好的应用前景。

作者创新点:本文介绍了基于软核处理器的Web服务器实现方法,使设计变得灵活,嵌入式操作系统的引入,满足了设计对实时性的要求。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

助力科研与检测新突破 上海2024年5月15日 /美通社/ -- 全球知名的科学仪器和服务提供商珀金埃尔默公司今日在上海举办了主题为"创新不止,探索无界"的新品发布会,集中展示了其在分析仪器领域的最...

关键字: 质谱仪 BSP DSC 气相色谱

上海2024年5月16日 /美通社/ -- 2024年5月10日至5月13日,富士胶片(中国)投资有限公司携旗下影像产品创新力作亮相北京P&E 2024。在数码相机展览区域,全新制定的集团使命"为世界绽...

关键字: 富士 数码相机 影像 BSP

贝克曼库尔特目前已成为MeMed Key免疫分析平台和MeMed BV检测技术的授权经销商 在原有合作的基础上,继续开发适用于贝克曼库尔特免疫分析仪的MeMed BV检测 加州布瑞亚和以色列海法2024年5月16日...

关键字: BSP IO 检测技术 免疫分析仪

英国英泰力能的燃料电池是可产业化的产品解决方案 英国首个专为乘用车市场开发的燃料电池系统 在 157kW 功率下,此燃料电池比乘用车的其他发动机更为强大 &...

关键字: ENERGY INTELLIGENT 氢燃料电池 BSP

深爱人才,共赴"芯"程 深圳2024年5月15日 /美通社/ -- 5月11日,深圳国资国企"博士人才荟"半导体与集成电路产业专场活动在深圳市重投天科半导体有限公司(简...

关键字: 半导体 集成电路产业 BSP 人工智能

武汉2024年5月15日 /美通社/ -- 北京时间4月26日-5月4日,2024 VEX 机器人世界锦标赛于美国得克萨斯州达拉斯市举办。本届 VEX 世锦赛为期九天,设有 VIQRC 小学组/初中组、V5RC 初中组/...

关键字: 机器人 BSP RC POWERED

上海2024年5月15日 /美通社/ -- 由生成式人工智能(AI)驱动的临床阶段生物医药科技公司英矽智能宣布,与复星医药(600196.SH;02196.HK)合作开发的潜在"全球首创"候选药物IS...

关键字: ISM BSP PC 人工智能

上海2024年5月13日 /美通社/ -- 5月8日,浦东新区国资委组织陆家嘴集团等9家区属企业与立邦中国召开合作交流会,旨在贯彻落实浦东新区区委、区政府工作要求,进一步放大进博会溢出带动效应,持续扩大区属企业与进博会重...

关键字: BSP 数字化 自动化立体仓库 智慧园区

上海2024年5月13日 /美通社/ -- 在数字化时代,高效的税务管理和ERP系统成为企业发展的关键。为了满足这一需求商应信息科技与Exact Software 易科软件就金四全电票税系统与ERP系统集成及商务合作建立...

关键字: AC 软件 BSP 数字化

北京2024年5月13日 /美通社/ -- 5月11日,鲲鹏昇腾开发者大会2024期间,华为举办"昇思AI框架及大模型技术论坛",软通动力数字基础设施与集成事业部总经理谢睿受邀出席、软通动力...

关键字: AI 模型 BSP 精度
关闭
关闭