当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]摘要:讨论基于TCP/IP协议栈,利用8位单片机构建嵌入式WebServer的具体技术及相关实现方案;给出系统硬件原理框图和有关软件实现的代码框架结构。 关键词:WebServer TCP/I

摘要:讨论基于TCP/IP协议栈,利用8位单片机构建嵌入式WebServer的具体技术及相关实现方案;给出系统硬件原理框图和有关软件实现的代码框架结构。 关键词:WebServer TCP/IP协议栈 套接字 引 言   利用8位微控制器通过ISP(Internet服务供应商),在不需要使用PC机或高档单片机的情况下接入互联网。随着嵌入式系统的迅猛发展和 IA(信息电器)的出现,该应用系统正逐步取代传统的以PC为中心的应用,成为未来Internet发展中的主力军;将会广泛应用于智能家居系统、工业智能化从站系统、LED网络控制显示屏系统、网络安全加密系统等各个方面。   利用单片机实现嵌入式WebServer方案的主要技术难点是:如何利用单片机本身有限的资源对信息进行HTTP、SMTP、POP3、TCP、 UDP、ICMP、IP及PPP等协议的处理,使之变成可以在互联网上传输的IP数据包以及可以在内置Web页上浏览的数据。  1 应用方案 1.1 方案简介   利用单片机实现嵌入式WebServer,大体可有以下三种形式:   ① MCU+专用网络芯片,如E1552、Webchip PS2000等。此种方案的主要优点是:应用系统设计工程师完全不必考虑任何网络协议,只需要解释并执行网络芯片传送过来的指令和数据就可以实现与 Internet网络连接。

  ② EMIT技术。EMIT采用桌面计算机或高性能的嵌入式处理器作为网关,称为emGateway,上面支持TCP/IP协议并运行HTTP服务程序,形成一个用户可以通过网络浏览器进行远程访问的服务器。emGateway通过RS232、RS485、CAN等轻量级总线与外设联系起来,每个外设的应用程序中包含一个独立的通信任务,称为emMicro,监测嵌入式设备中预先定义的各个变量,并将结果反馈到emGateway中;同时emMicro还可以解释emGateway的命令,修改设备中的变量或进行某种控制。该方案中复杂的网络协议是通过emGateway在PC机上实现的,应用系统MCU只处理较简单的emNet协议,进行网际连接。   ③MCU直接实现形式。实现该形式的Web Server,可选用多种型号的MCU来实现网络协议,如AT89C8252、SX52BD100等,并可根据具体要求选用不同速度的MCU作为核心芯片,但是基本硬件结构大致相同。   显然以上方案中,以“MCU直接实现形式”的硬件结构最为简洁,不失为首选方案。下面就详细论述之。 1.2 硬件平台   MCU直接实现形式的WebServer的硬件平台如图1所示。           图1中,MCU以SX52BD100的运算速度最快,在100 MHz晶振驱动下指令执行速度可达100MIPS;RABBIT2000次之,51系列最慢。但是硬件成本恰好反之,用户可以根据不同的要求来配置 MCU。以太网控制芯片可采用RealTek公司的RTL8019AS。该芯片是一款全双工以太网控制器,可以工作在Ethernet II和IEEE802.3、 10Base5、10Base2、10BaseT下,并与NE2000兼容。E2PROM主要用来存WEB页面、图像文件、PDF文档等内容,因此没有特殊要求,可由用户自由选择,一般32 KB左右即可。   该方案中,MCU为核心芯片,通过它控制以太网控制芯片RTL8019AS,进而完成接入网络的工作;而且可以通过编程来选择通信电路类型,如 RS232、RS485、MODEM等。该技术方案最大的特点在于:用简洁硬件构架应用平台,使原本硬件成本所需的支出可用于相对复杂的软件开发上,且该方案的I/O接口可以自由扩展和支配。 1.3 工作流程和软件设计   整个系统的工作流程如图2所示。当数据包通过RJ45接口传送到RTL8019AS和MCU后,系统内部的TCP/IP堆栈进行数据包解析和流向判断,然后进行解包或者打包的动作,以继续进行后续工作。显然,最终的处理结果都要通过WebServer来进行。 2 网络协议栈的实现   通常,所谓的TCP/IP协议是一个四层协议系统,包括数据链路层、网络层(含IP协议)、传输层(含TCP协议)和应用层,每一层负责不同的功能。基于TCP/IP协议可以实现多种功能应用,如: HTTP(超文本传输控制协议)、TELNET(远程登录)、 FTP(文件传输协议)、SMTP(简单邮件传送协议)、SNMP(简单网络管理协议)等。本文主要讨论HTTP, 也就是WebServer在应用层的主要构成协议。当然,用户也可以根据需要附加其它的协议功能。 2.1 TCP/IP协议栈的实现   IP包含编址方案,并提供寻址功能;TCP则是在不同主机的对等进程之间提供可靠的进程间通信。与TCP两端口所连接的实体中,一端为应用程序进程或用户,另一端则为底层协议,如IP协议。TCP在建立连接过程中采用三向握手机制,以保证数据的可靠性。

  下面以ZWORLD公司的Rabbit 2000系列芯片为例,论述嵌入式WebServer的具体实现过程。Rabbit 2000系列芯片是一种高性能8位器件。由于其C语言友好指令集和快速数字处理功能,因而受到瞩目。Rabbit结构以Zilog公司的原始Z80微处理器为基础,但作了几项改进:不像Z80指令集那样使用16位寻址覆盖存储空间,而用一个20位或1MB的实际存储空间;采取直接与静态存储器件相连接的方式;有3条存储芯片选择线路和2组写入/输出启动线路;片上外设包括4个串行端口、1个子端口、40条I/O线、7个不同的定时器、精确脉冲发生硬件和电池支持的RTC。   系统硬件框架结构如图1所示,用户只需对应添加相关芯片及辅助设施(如电源、用户所需外设等)即可;而软件的实现,由于Rabbit 2000系列芯片得到Dynamic C编译器的支持以及实现TCP/IP所需的库文件dcrtcp.lib,因此只要会用C语言就可以进行开发。用户关注的重点也变为网络通信实现以后的代码编制及优化,可以极大提高开发进度。   以下是Dynamic C实现TCP/IP协议通信的程序主体框架。程序中起始宏定义为默认IP配置信息;“memmap”句可使程序在芯片里面运行时,如同在扩展代码窗口下被编译;“use”句使编译器按照库文件配置编译代码。 #define TCPCONFIG 1 #memmap xmem #use dcrtcp.lib main(){ sock_init(); for (;;) { tcp_tick(NULL);} }   sock_init()和tcp_tick()都是TCP/IP函数库的基本函数,前者为初始化TCP/IP协议栈函数,使协议栈开始处理入栈数据报;后者主要有两个用途:① 支持后台处理的最新信息;② 测试 TCP套接字的状态。   可以看到利用Dynamic C提供的TCP/IP协议包,用户可以轻松建立起TCP/IP通信。当通信建立以后,就可以在此基础上进行后续的进一步功能扩展,开展例如HTTP、 PPP等应用层的协议实现。 2.2 HTTP的实现   HTTP(超文本传输协议)服务器可使 HTML (超文本链接标示语言)页面,如Web页等和其它文件为客户端所使用。在Dynamic C中,HTTP由HTTP.LIB来负责实现。HTTP服务器实现的程序主体框架如下: #define TCPCONFIG 1 #memmap xmem #use "dcrtcp.lib" #use "http.lib" main(){ sock_init(); http_init(); tcp_reserveport(80); while (1) { http_handler();} }   用户可以根据自己的需要在此程序框架上添加构成WebServer的所有其它动态或静态元素(无论是否符合HTML标准)。限于篇幅,具体示例不再列出。 小 结   在建立起相应的硬件连接以后,就可以根据不同的硬件特点,选用不同的开发工具和开发语言进行WebServer的构架工作。本文给出了目前构架 WebServer的主要原理和方法,并给出Rabbit 2000系列芯片实现的具体应用,相信对读者的实际工作会有些帮助。至于采用其它芯片或方案的实现步骤及过程大同小异,读者可举一反三。[!--empirenews.page--]

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

【2024年4月24日,德国慕尼黑讯】英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)发布全新PSOC™ Edge微控制器(MCU)系列的详细信息,该系列产品的设计针对机器学习(ML)应用进行了优...

关键字: 物联网 机器学习 MCU

微控制单元(Microcontroller Unit;MCU) ,又称单片微型计算机(Single Chip Microcomputer )或者单片机,是一种针对特定应用的控制处理而设计的微处理器芯片,其工作频率(在1M...

关键字: MCU 芯片 半导体

台湾新竹 – 2024年4月23日 – 著名的微控制器供货商新唐科技公司,与全软件开发生命周期提供跨平台解决方案的全球软件公司Qt Group宣布深化合作,扩展新唐科技人机界面(HMI)平台支持「Qt for MCUs」...

关键字: 微控制器 嵌入式系统 MCU

Holtek针对语音应用推出I/O Voice OTP MCU HT68RV032/HT68RV033/HT68RV034,最大特点为内建2/4/8Mbit Voice Flash ROM,语音可重复更新,最长可达85/...

关键字: MCU 智能家电

Holtek持续精进电磁炉产品技术开发,再推出更具性价比的电磁炉Flash MCU HT45F0005A/HT45F0035A。相较于前代产品提供更丰富的资源,如硬件辅助UL认证功能、硬件I²C可与面板通信及过电流保护及...

关键字: 电磁炉 MCU IGBT

Holtek新推出专为锂电池保护可支持多达8节电池的模拟前端IC HT7Q2552,提供I²C接口控制系统组态及MCU通信,支持短路放电保护、高压唤醒及芯片过温保护的中断回报机制。适合广泛应用于手持电动工具、园艺工具及手...

关键字: 锂电池 手持电动工具 MCU

2024年4月18日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 很荣幸地宣布与Edge Impulse建立新的全球合作关系。Edge Im...

关键字: 机器学习 MCU CPU

【2024年4月16日,德国慕尼黑讯】英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)在2023年持续扩大其在汽车半导体市场的领先地位。TechInsights的最新研究显示,2023年全球汽车半...

关键字: MCU 半导体 电池管理系统

从世界上第一颗DSP诞生至今30年来,国际一线老牌芯片厂商长期占据领先技术和市场地位,国内芯片厂商在DSP上的声量很小。然而经过了6年的沉心打磨之后,湖南进芯电子开始在这一领域崭露头角。凭借着更贴近中国本土特色的差异化产...

关键字: DSP MCU 电机控制 进芯电子

· Ceva-Waves™ Links™ IP系列提供完全集成的多协议连接解决方案,包括Wi-Fi、蓝牙、UWB、Thread、Zigbee和Matter,为下一代连接协议丰富的MCU和SoC简化开发工作并加快上市时间

关键字: 人工智能 MCU SoC
关闭
关闭