作 者: 西北工业大学 卢虎 李勇 李志芳
WW.W_PLC※JS_C,OM-PL,C-技.术_网
摘要:讨论基于TCP/IP协议栈,利用8位单片机构建嵌入式WebServer的具体技术及相关实现方案;给出系统硬件原理框图和有关软件实现的代码框架结构。WW.W_PLCJS_COM-PLC-技.术_网
关键词:WebServer TCP/IP协议栈 套接字P.L.C.技.术.网——可编程控制器技术门户
引 言WWW_PL※CJS_COM-PLC-技.术_网
利用8位微控制器通过ISP(Internet服务供应商),在不需要使用PC机或高档单片机的情况下接入互联网。随着嵌入式系统的迅猛发展和IA(信息电器)的出现,该应用系统正逐步取代传统的以PC为中心的应用,成为未来Internet发展中的主力军;将会广泛应用于智能家居系统、工业智能化从站系统、LED网络控制显示屏系统、网络安全加密系统等各个方面。WWW.PLCJS.COM——可编程控制器技术门户
利用单片机实现嵌入式WebServer方案的主要技术难点是:如何利用单片机本身有限的资源对信息进行HTTP、SMTP、POP3、TCP、UDP、ICMP、IP及PPP等协议的处理,使之变成可以在互联网上传输的IP数据包以及可以在内置Web页上浏览的数据。 P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
1 应用方案WW.W_PLC※JS_C,OM-PL,C-技.术_网
1.1 方案简介W1WW_P4LCJS_COM-PLC-技.术_网
利用单片机实现嵌入式WebServer,大体可有以下三种形式:WWW.PLCJS.COM——可编程控制器技术门户
① MCU+专用网络芯片,如E1552、Webchip PS2000等。此种方案的主要优点是:应用系统设计工程师完全不必考虑任何网络协议,只需要解释并执行网络芯片传送过来的指令和数据就可以实现与Internet网络连接。——可——编——程——控-制-器-技——术——门——户
② EMIT技术。EMIT采用桌面计算机或高性能的嵌入式处理器作为网关,称为emGateway,上面支持TCP/IP协议并运行HTTP服务程序,形成一个用户可以通过网络浏览器进行远程访问的服务器。emGateway通过RS232、RS485、CAN等轻量级总线与外设联系起来,每个外设的应用程序中包含一个独立的通信任务,称为emMicro,监测嵌入式设备中预先定义的各个变量,并将结果反馈到emGateway中;同时emMicro还可以解释emGateway的命令,修改设备中的变量或进行某种控制。该方案中复杂的网络协议是通过emGateway在PC机上实现的,应用系统MCU只处理较简单的emNet协议,进行网际连接。WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
③MCU直接实现形式。实现该形式的Web Server,可选用多种型号的MCU来实现网络协议,如AT89C8252、SX52BD100等,并可根据具体要求选用不同速度的MCU作为核心芯片,但是基本硬件结构大致相同。WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
显然以上方案中,以“MCU直接实现形式”的硬件结构最为简洁,不失为首选方案。下面就详细论述之。WWW.PLCJS.COM——可编程控制器技术门户
1.2 硬件平台WWW_P※LCJS_COM-PLC-)技.术_网
MCU直接实现形式的WebServer的硬件平台如图1所示。WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
——可——编——程——控-制-器-技——术——门——户
图1中,MCU以SX52BD100的运算速度最快,在100 MHz晶振驱动下指令执行速度可达100MIPS;RABBIT2000次之,51系列最慢。但是硬件成本恰好反之,用户可以根据不同的要求来配置MCU。以太网控制芯片可采用RealTek公司的RTL8019AS。该芯片是一款全双工以太网控制器,可以工作在Ethernet II和IEEE802.3、 10Base5、10Base2、10BaseT下,并与NE2000兼容。E2PROM主要用来存WEB页面、图像文件、PDF文档等内容,因此没有特殊要求,可由用户自由选择,一般32 KB左右即可。
WWW_P※LCJS_CO※M-PLC-技-.术_网
该方案中,MCU为核心芯片,通过它控制以太网控制芯片RTL8019AS,进而完成接入网络的工作;而且可以通过编程来选择通信电路类型,如RS232、RS485、MODEM等。该技术方案最大的特点在于:用简洁硬件构架应用平台,使原本硬件成本所需的支出可用于相对复杂的软件开发上,且该方案的I/O接口可以自由扩展和支配。
1.3 工作流程和软件设计
plcjs.技.术_网
整个系统的工作流程如图2所示。当数据包通过RJ45接口传送到RTL8019AS和MCU后,系统内部的TCP/IP堆栈进行数据包解析和流向判断,然后进行解包或者打包的动作,以继续进行后续工作。显然,最终的处理结果都要通过WebServer来进行。
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)