未来智讯 > 智能家居论文 > LwIP在NiosII下的移植及在智能家居中的应用

LwIP在NiosII下的移植及在智能家居中的应用

发布时间:2017-12-07 09:30:00 文章来源:未来智讯    
    【关键词】Nios II;LwIP移植;FPGA;智能家居
    1.引言
    近几年来,智能家居发展特别迅速,各种信息家电产品层出不穷[1]。为家电产品提供网络支持,通过互联网在远程实现对家电运行状态的查询、控制以及家电产品通过网络实现远程升级将成为家电产品发展的热点。目前的信息家电产品大多应用嵌入式操作系统,可以支配的资源有限,为他们提供完整的网络协议支持会耗费太多的资源;同时,这些电子产品也只需要基本的或者说某些特定的网络应用。因而,把开源的轻量级IP协议――LwIP,移植到这些产品中是一个很好的选择。
    2.系统设计
    3.硬件模块设计
    嵌入式片上操作系统SOPC作为FPGA的一个主要发展方向,具有良好的发展前景和优秀的性能,在11.0后的QuartusII版本中,SOPC Builder更新为Qsys,应用Qsys进行系统设计,能够提高系统的性能、增强设计的重用功能、能更迅速的进行验证[3]。在本设计中,FPGA选用Altera公司的EP2C35F484C6芯片,该芯片具有33216个逻辑单元,105个M4k,35个嵌入式18位乘18位乘法器。丰富的资源使得搭建嵌入式平台更加容易,同时也为以后升级系统提供了发展的空间;SDRAM存储器采用三星公司的k4s643232,这款芯片具有64Mbit的存储容量,拥有32位的数据总线,与32位的NiosII处理器相匹配,该芯片的最大速度可以达到166MHz,具有非常大的数据吞吐量,远远超过系统性能的需求;以太网模块采用RTL8212以太网收发器,该芯片可全双工运行,支持10M/100M/1000M速度等级,具有自动极性修正的功能;采用非易失性Flash存储芯片epcs16来存储FPGA配置数据和NiosII软件代码,epcs16芯片在系统启动时完成对FPGA的配置和NiosII的启动,通过对epcs16芯片内容的更新,还可以实现远程系统升级[5]。系统还包含对8位LED显示灯的控制模块和8个独立的拨码开关的状态查询模块,可以远程读取拨码开关的状态和控制LED灯的亮灭。系统的整个硬件结构如图2所示。
    4.软件模块设计
    4.2 LwIP协议的移植
    LwIP是瑞典计算机科学院的一个开源的TCP/IP协议栈实现,LwIP英语单为light weight Internet protocol,即轻量级网络协议。LwIP主要应用于嵌入式设计中进行网络通信,它在提供必要的通信协议的基础上,尽量减少代码量和对内存的占用。目前LwIP的最新版本为1.4.1,同以前的版本相比,更正前面版本的BUG和对一部分函数进行了改写,同时添加了几个函数和宏定义,协议运行时占用的内存有部分减少。
    LwIP协议栈并不依赖于某一个特殊的运行环境,它是独立于操作系统之外的,LwIP协议栈与操作系统的联系是通过操作系统模拟层来连接的。因此,对于LwIP的移植,本文就GCC编译器,NiosII CPU和μC/OS-II 2.86版本以及以太网收发器RTL8212进行相关头文件和C程序的编写。
    在移植过程中,GCC编译器的结构体是4字节对齐的,LwIP在处理数据包时是按照位进行处理的,需要定义以下几个宏来让处理器放弃对齐。
    4.3 网络收发器IP核的编写
    5.系统工作方式及测试
    对于FPGA的远程更新,将会对存储芯片epcs16里面的内容进行改写;数据一旦损坏,将会对系统造成不可估量的损害,因此,通信过程将会采取更加复杂的验证方式。其状态转移如下图所示。当接收到的数据包是升级请求(FFFFFF101111)时,系统发送确认升级(FFFFFF101110)信息,然后把收到的升级数据存储在SDRAM的一个连续的内存空间;当升级数据接收完毕后,系统把收到的数据全部发送回去,然后主机对收到的数据进行检查,确认数据没有出现错误,当系统收到主机发送过来的确认无误信息之后,系统激活读写EPCS FLASH的任务,完成升级信息的存储;这些工作进行完之后,系统重新启动,加载新的配置数据和程序,完成系统升级。
    6.结论
    在Altera公司的EP2C35F484C8芯片上,运用QuartusII和NiosII Eclipse软件进行程序设计,编写通用的网卡芯片控制MAC IP核,移植了μC/OS-II实时操作系统和LwIP协议栈,实现了TCP/IP通信。经过远程获取拨码开关的状态和控制LED的亮灭以及实现系统远程更新程序的实验,来模拟智能家居的远程监控、远程操得和远程升级,到了正确的结果。随着智能家居的迅速发展,在具有嵌入式系统的家电产品上面实现网络远程控制,将会越来越普及,同时给我们的生活带来全新的体验。
    参考文献
    [1]柴政.基于Internet远程控制的智能家居系统[J].电脑知识与技术,2009(25):7194-7195.
    [2]熊海泉.μC/OS-II下LwIP协议的移植实现[J].科技广场,2005(2):78-79.
    [3]陆楠.Altera启动嵌入式计划[J].电子设计技术,2010(11):86-86.
    [4]邵贝贝(译).Jean J Labrosse嵌入式实时操作系统μC/OS-II(第二版)[M].北京航空航天大学出版社,2003.
    [5]流金福,武宏伟,杨胜姚.一种远程在线更新FPGA程序的方法[J].Microcontrollers & Embedded systems,2012(2):76-77.
    作者简介:
    熊杰(1985-),男,土家族,湖北利川人,重庆大学硕士。
    汪涛(1973-),男,重庆人,重庆大学博士,副教授。
转载请注明来源。原文地址:https://www.7428.cn/page/2017/1207/9464/
 与本篇相关的热门内容: