一种用VHDL设计嵌入式Web Server的方案

2024-05-18

一种用VHDL设计嵌入式Web Server的方案(精选2篇)

篇1:一种用VHDL设计嵌入式Web Server的方案

一种用VHDL设计嵌入式Web Server的方案

摘要:近几年嵌入式Internet开始迅猛发展,但绝大多数嵌入式Internet都使用微控制器和相应的软件来实现。本文介绍一种基于硬件来实现嵌入式Web Server的方案。该方案的核心思想是用VHDL语言来设计实现,并且用FPGA进行验证。

关键词:VHDL Internet协议 控制信息协议 数据报

最近几年随着Internet应用的迅猛发展,Internet的通信协议,特别是TCP/IP协议,已成为嵌入式Internet的主体构架;然而,仅仅使用嵌入TCP/IP协议对许我应用来说远远不够,它们要求更高层次的信息传输和交换方式。在原有嵌入TCP/IP协议基于上加入HTTP/1.1将构成一个功能较为简单的嵌入式Web Server,它可以接收和发送一些简单的数据和命令。如果再将这些嵌入通信协议和Web功能用VHDL来实现的话,将大大降低嵌入成本,满足嵌入式产品对Web功能的要求。

1 嵌入式Web Server中的协议裁减

嵌入式Web Server中用到的通信协议较多,若全部采用,将导致整个嵌入式Web Server异常复杂,而且费用显著增加。因此,为保证嵌入式Web Server最简化,必须对一些主要的通信协议进行相关的裁减,减小整个硬件设计的复杂性。

1.1 IP协议

IP在网络中主要实现2个基本功能:寻址和分段。IP可以根据数据报头中包括的目的地址将数据报传送到目的地。在此过程中,IP负责选择传送的通道。如果有些网络内只能传送小的数据报,IP可以将数据报重新组装并在报头域内说明。

(本网网收集整理)

在嵌入式Web Server中,由于只需传送一些简单的数据和命令,数据报的长度很小,足以适合在任何网络中传送,因此对于分段的功能可以裁减不要。

IP数据包头如图1所示。

在IP数据包头中,服务类型是指一些服务质量的参数,这些参数用于在特定网络指示所需要的服务。而选项包括时间戳,安全和特殊路由,在数据包中可以没有。因此,为简化嵌入Web Server的复杂程度,这2个字段都可以忽略,而且不用作任何处理。标识是发送时用于帮助重组分段包的,段偏移量是指示这个段在数据报中什么位置。由于不采用分段功能,因此这些字段都无须考虑也不用作任何处理,而且标记字段第2位必须为1,表示是不可分段的。

1.2 ICMP协议裁减

ICMP协议用于报告在数据报过程中的错误,它在以下几种情况下发送ICMP消息:未达目的地、超时、参数总是、源拥塞、重定向、回送或回送响应、时间戳和时间戳响应、信息请求或信息响应。

由于嵌入式Web Server只是一个具有简单Web功能的模块,并且它对外部传感器和网络之间只是简单的数据传输和命令的发布;因此跟成本相比较而言,许多可靠性措施可以忽略不计,只考虑一些必要。在ICMP消息报告中,回送或回送响应消息、信息请求或信息响应消息在网络信息处理中至关重要,因此予以采用;其它消息报告可以忽略,保证嵌入式Web Server最简化。

1.3 TCP协议裁减

TCP,即传输控制协议,是一种面向连接的传输层协议。通过使用序列号和确认信息,TCP协议能够向发送方提供到达接收方的数据包的传送信息。当传送过程中出现数据包丢失情况时,TCP协议可以重新发送丢失的数据包,直到数据成功到达接收方或者出现网络超时为止。TCP协议还可以识别重复信息,丢弃不需要的多余信息。使网络环境得到优化。如果发送方传送数据的速度大大快于接收方接收数据的速度,TCP协议可以发送和接收的数据响应。TCP协议能够把数据传送信息传递给所支持的更高层次的协议或应用使用。

但在嵌入式Web Server中,考虑到实现的`情况和复杂性,对于TCP协议,除了采用数据包传送机外,重新发送和数据流控制机制都可以忽略不计。因此在嵌入式Web Server中,只传送一些简单的数据和命令,而且数据量很少,因此,在系统中不会产生网络拥塞,只需在其它客户端或访问端上用流量控制机制就可以了。同时由于嵌入式Web Server功能简单,重新发送的可靠性不大;如果真的要求重发的话,可以与嵌入式Web Server重新进行连接,来完成传送任务。

2 硬件结构

由于TCP协议、IP协议和ICMP协议被简化,整个协议的处理只需由协议状态机来完成。它须负责接收IP数据报、做相应的检验和消息处理、协议解释、根据接收到的信息进行TCP状态的转换、构造IP发送数据报。

整个嵌入式Web Server的硬件结构如图2所示。嵌入式

Web Server由本地网络协议处理器、TCP处理器、IP数据包接收和发送处理及存储器、嵌入式Web Server IP的地址寄存器、传感器数据采集接口组成。在嵌入式Web Server的传感器数据采集接口的数据直接传送到主页存储器中。

IP数据报处理检查数据报是否发送给嵌入式Web Server以及是否有效。

TCP状态机是一个简化的TCP连接过程,只有6个状态,不包括错误情况和错误处理。

HTTP的存储器包含了接收到的HTTP的报头。如果接收到的IP包体有一个有效HTTP载荷,那么HTTP/1.0协议解释器会搜索存储器寻找相应的回答。IP数据报构造器根据HTTP/1.0协议解释器搜索结果构造发送的包体。其中地址、端口号、确认号、序列号是根据接收到的数据包体产生的,而校验码是根据发送的数据产生。其它信息则是从数据接口和主页内存中形成的。

整个硬件设计采用了VHDL语言,采用Xilinx的FPGA进行仿真。

3 VHDL设计

整个嵌入式Web Server的具体的VHDL设计在这里不多说明,只介绍其核心的TCP状态机的状态转移顺序和转移条件的设计。整个协议状态机有6种状态,还可以分离出6种事件,这些事件的发生可以引起状态间相互转换,如图3所示。

SYN表示连接请求;ACK(SYN)表示连接确认;RST表示拒绝建立连接;FIN(CLOSE)主动关闭连接请求;ACK(FIN)关闭连接确认;TIME OUT计时等待结束。

TCP状态机的VHDL的设计代码省略。

4 结论

嵌入式Web Server的网络连接既可以采用以太网方式,也可以采用蓝牙技术,这可以根据需要来选定。采用硬件来解决嵌入式Web Server,关键在于它的复杂度很低,而且可以根据需要嵌入到相应的运用系统的芯片中去,减少了开发时间,降低了成本。采用VHDL使设计移植更加方便。

篇2:一种用VHDL设计嵌入式Web Server的方案

关键词:UML;SystemC;建模;描述

中图分类号:TP311.1 文献标识码:A文章编号:1007-9599 (2011) 08-0000-02

The Method Using UML and SystemC for System-level Modeling of Embedded System

Chen Ke,Deng Fuyu

(Sichuan Vocational and Technical College,Suining629000,China)

Abstract:This paper designs an UML model of an embedded system fruitcleaner with UML modeling tool Rational Rose,then makes a system-level description targeting this system with executable SystemC language on the basis of UML model prototype.This paper also obtains the final description result of the fruitcleaner system,and emulation result by running.

Keywords:UML;SystemC;Modeling;Description

一、引言

SystemC语言是一种理想的软/硬件协同设计语言,其描述得到的模型具有可执行性。目前为了实现对UML所描述的嵌入式系统进行模拟验证,采用合适的方法将UML模型转换成相应的SystemC描述是比较有效的途径,也是当前嵌入式系统软硬件协同设计领域研究的热点。

二、果蔬清洗机的系统级UML模型设计

从整体上看,一个果蔬清洗机(fruitcleaner)的系统结构主要包含有一个洗涤桶(tub)、一个引擎(engine)和一个臭氧发生器(generator)。

(一)清洗周期的定义

对于果蔬清洗机而言,从关闭清洗机的门进行系统初始化开始到清洗完毕排空洗涤桶的水并打开清洗机的门为止,整个过程被定义为一个完整的清洗周期。因此,该系统一个清洗周期由六个阶段构成。实际上,在对该系统进行初始化动作(Start)阶段时,就由清洗模式cleaning mode指定Fill,Generate,Feed Clean和Discharge这五个阶段持续的时间。

(二)系统级UML模型图

该系统主要包含两个Use Case:清洗果蔬和设置清洗的模式。系统重点针对清洗果蔬

这个用例,分别画出其类图、顺序图、状态图和活动图。该系统包含有四个类:Tub、Engine、Generator和Fruitcleaner,每个类包含有相应的方法和属性。顺序图中有四个对应类的对象参与六个交互进程。图1显示的是fruitcleaner的类图。

图1.fruitcleaner的类图

三、用SystemC描述果蔬清洗机的系统级模型

UML是一种图形化的统一建模语言,用UML描述的嵌入式系统模型虽然有很强的可读性,但是却不可执行,即无法在系统级描述的基础上进行仿真,验证系统功能描述的准确性。在实际的嵌入式系统设计流程中,为了能对UML所描述的嵌入式系统进行功能模拟验证并得出有效结论,因此有必要再用SystemC进行嵌入式系统的系统级描述。鉴于在Rational Rose软件中设计的UML用例图、类图、顺序图、状态图和活动图都能很直观地反映系统的执行功能,因此利用UML图形描述来作为后续SystemC描述所需的模型书面文档是行之有效的途径。这部分采用合适的方法把UML图中的元素与SystemC中的相关模块和进程对应起来,对直观的图形描述进行抽象,得到能执行的程序代码。此外,在系统功能模拟验证完成后,系统的软硬件划分、软硬件综合等设计流程都将通过SystemC完成。这样就把UML和应用于整个后期设计的SystemC紧密地联系起来了,在当前的嵌入式系统软硬件协同设计领域有其独到的作用。

四、描述结果

以Generator对象为例,给出SystemC下的部分描述代码结果:

SC_MODULE(Generator)

{sc_infcGenetratorOn_in;

sc_infcGenetratorOff_in;

void on();

void off();

SC_CTOR(Generator)

{SC_METHOD(on);

………………

………………

}

};

void Generator::on()

{printf(“Switch on the generator.n”);

printf(“Waiting……n”);

}

void Generator::off()

{printf(“Switch off the generator.n”);

}

五、模拟仿真运行结果

代码编写完成后,最后在SystemC 2.2平台环境下试运行,通过调试、修改,得出模拟验证的仿真结果如图2所示:

图2.SystemC 2.2平台仿真结果

通过以上运行结果可以看出,从系统准备就绪(ready),启动清洗周期(Start a cleaning cycle)开始,到最后清洗周期结束,描述方法对系统模型运行连续性的影响得到了较好的体现。其中,几个Waiting语句的时间延迟也成功地反映了系统运行阶段的时间约束特性,嵌入式系统的实时响应特性与预期效果保持了大体一致,说明以UML图形化模型为蓝本写出的SystemC代码具有简洁、高效的特点。总的来说,该模拟仿真结果基本达到了预期效果,说明了以上的工作取得了初步成效。

参考文献:

[1]吴迪.嵌入式系统原理,设计与应用[M].北京;机械工业出版社,2005:45-66

[2]高焕堂.UML嵌入式设计[M].北京:清华大学出版社,2008:124-140

[3]陈咏恩.SystemC,一种软/硬件协同设计语言[J].电路与系统学报,2001,1

[4]陈燕,杜玄,彭澄廉.基于SystemC描述的嵌入式系统的自动化验证[J].同济大学学报(自然科学版),2004,8

[作者简介]陈科,男,四川职业技术学院电子电气工程系,助教,硕士,研究方向:电气自动化技术;邓馥郁,女,四川职业技术学院电子电气工程系,助教,硕士,研究方向:电气自动化技术。

上一篇:学校关于违纪学生的处理处理定下一篇:妇幼保健院党风廉政建设及行业作风目标管理责任书