用W7100,做自己的HTTP服务器

–行业背景:

随着计算机技术和网络通信技术的飞速发展,人们日常生活和工业生产等方面对基于以太网进行远程通信和控制的要求日益强烈。目前市场上虽已有成熟的Web服务器可供远程控制系统选择,但多是基于通用计算机或专用服务器,体积及成本不适合小型控制系统,尤其是在一些环境恶劣,不易值守或无法安装计算机控制系统的场所。如今嵌入式技术发展迅速,嵌入式处理器的性能不断提高,基于嵌入式的控制系统得到广泛应用。考虑到嵌入式系统对性能、成本、功耗等有着严格要求,这里通过WIZnet W7100芯片来实现设备远程控制。

芯片简介: WIZnet特有的 8051核MCU + 硬件化TCP/IP + MAC+ PHY

 

W7100芯片设计框图


–测试模块:iMCU7100EVB

 

–工作原理如下图:

 

1.jpg

 

由于我们的芯片集成了硬件化TCP/IP,故给我们编程提供了很大的方便。无需过多关注TCP/IP的协议实现。

其中我们可以通过2种方式实现相关的网络设置:

1.通过访问W7100的HTTP server 页面,在配置页面里进行动态地配置。

2. 在我们提供的HTTP server sample代码中W7100’s task_config.c里,可以更改相关的默认网络设置。

以下是W7100’s task_config.c中默认网络设置代码:

void default_network(void)
{
NetworkParam.mac[0] = 0x00; // MAC address setting
NetworkParam.mac[1] = 0x08;
NetworkParam.mac[2] = 0xDC;
NetworkParam.mac[3] = 0x11;
NetworkParam.mac[4] = 0x99;
NetworkParam.mac[5] = 0x77;
NetworkParam.ip[0] = 0xC0; // IP address setting
NetworkParam.ip[1] = 0xA8;
NetworkParam.ip[2] = 0x00;
NetworkParam.ip[3] = 0x5C;
NetworkParam.subnet[0] = 0xFF; // subnet mask setting
NetworkParam.subnet[1] = 0xFF;
NetworkParam.subnet[2] = 0xFF;
NetworkParam.subnet[3] = 0x00;
NetworkParam.gw[0] = 0xC0; // gateway address setting
NetworkParam.gw[1] = 0xA8;
NetworkParam.gw[2] = 0x00;
NetworkParam.gw[3] = 0x5E;
NetworkParam.dhcp = 0x01; // DHCP setting 0: disable, 1: enable

}

–WEB 页面设计:

我们可以用相关的webpage设计工具进行页面设计,然后借助ROMFILEMaker生成相应ROM文件。操作非常简单!

–程序设计:

我们会提供相应的demo程序,如果您有什么特殊需求,只要在我们的sample里修改下即可!

最后将ROM文件结合由KEIL软件编译生成的HEX文件,生成最终的BIN文件。

这里唯一要注意的就是:在我们编译程序的时候,要将build uotput中的code大小作为webpag bin文件的起始地址。我们可以在rom.h文件中#define FLASH_ROMFILE_START_ADDRESS xxxx修改.

2.jpg

 

 

接下来该做什么呢?–把最后的bin文件烧进IMCUw7100EVB中.OK,就这么简单!

下面让我们来看下最终效果吧!

3.jpg

 

更多详情,请登录WIZnet网站进行查询。