当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]一种用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使设计移植更加方便。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭