嵌入式无线网络系统及其接入无线网络的方法

文档序号:10691878阅读:866来源:国知局
嵌入式无线网络系统及其接入无线网络的方法
【专利摘要】本发明提供了嵌入式无线网络系统接入无线网络的方法,所述方法包括步骤:加载无线网卡驱动以驱动无线网卡;在所述无线网卡驱动加载后,运行无线网卡管理程序以通过无线网卡连接到热点;加载LWIP协议栈从路由器获取IP地址,以接入无线网络。本发明还提供了一种嵌入式无线网络系统。本发明通过改变加载无线网卡驱动的消息响应机制以及使用LWIP协议栈取代传统TCP/IP协议栈的方法在嵌入式实时操作系统中实现了无线网络减少内存使用量的目的,减小了硬件体积和成本,降低无线网络对嵌入式硬件的要求。
【专利说明】
嵌入式无线网络系统及其接入无线网络的方法
技术领域
[0001]本发明涉及无线网络技术领域,具体涉及嵌入式无线网络系统及其接入无线网络的方法。
【背景技术】
[0002]嵌入式实时操作系统因其强大的实时性与稳定性在移动设备、信息家电、工业控制等领域得到了广泛的应用。在低端嵌入式设备中,硬件资源的多少受体积和成本的限制,而现有的无线网络技术对嵌入式实时操作系统的硬件资源要求较高。在接入无线网络时,传统的嵌入式无线网络系统消耗了较多的ROM和RAM资源,当嵌入式实时操作系统移植至资源有限的硬件时,其接入无线网络的功能将受到硬件限制。

【发明内容】

[0003]本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供嵌入式无线网络系统及其接入无线网络的方法,克服传统的嵌入式无线网络系统实现无线网络时消耗过多ROM和RAM资源的缺陷。
[0004]本发明解决其问题所采用的技术方案是:
[0005]—方面,本发明提供了嵌入式无线网络系统,包括加载无线网卡驱动模块、运行无线网卡管理程序模块和加载LWIP协议栈模块。
[0006]所述加载无线网卡驱动模块用于加载无线网卡驱动以驱动无线网卡;
[0007]所述运行无线网卡管理程序模块用于在所述无线网卡驱动加载后,运行无线网卡管理程序以通过无线网卡连接到热点;
[0008]所述加载LWIP协议栈模块用于加载LWIP协议栈从路由器获取IP地址,以接入无线网络。
[0009]进一步,所述嵌入式无线网络系统通过嵌入式实时操作系统的应用层、中间件和驱动层来实现。
[0010]进一步,所述应用层发送多个消息时,所述应用层通过优先级不同的中断向所述中间件发出不同消息的请求,所述中间件按照优先级高低的顺序响应中断,调用中断处理函数处理消息。
[0011 ]进一步,加载LWIP协议栈模块工作时,所述中间件启动嵌入式实时操作系统为运行LWIP协议栈所提供的系统服务函数。
[0012]进一步,所述中间件通过所述系统服务函数调用预存储的LWIP协议栈源码,从而运行LWIP协议栈,启用嵌入式实时操作系统为运行LWIP协议栈所提供的底层接口函数,LWIP协议栈通过底层接口函数与无线网卡交换数据,以从路由器获取IP地址。
[0013]另一方面,本发明还提供了嵌入式无线网络系统接入无线网络的方法,包括步骤:
[0014]加载无线网卡驱动以驱动无线网卡;
[0015]在所述无线网卡驱动加载后,运行无线网卡管理程序以通过无线网卡连接到热占.
[0016]加载LWIP协议栈从路由器获取IP地址,以接入无线网络。
[0017]进一步,所述嵌入式无线网络系统通过嵌入式实时操作系统的应用层、中间件和驱动层来实现。
[0018]进一步,所述应用层发送多个消息时,所述应用层通过优先级不同的中断向所述中间件发出不同消息的请求,所述中间件按照优先级高低的顺序响应中断,调用中断处理函数处理消息。
[0019]进一步,加载LWIP协议栈从路由器获取IP地址的具体步骤包括:
[0020]所述中间件启动嵌入式实时操作系统为运行LWIP协议栈所提供的系统服务函数;
[0021]所述中间件通过所述系统服务函数调用预存储的LWIP协议栈源码;
[0022]运行LWIP协议栈;
[0023]启用嵌入式实时操作系统为运行LWIP协议栈所提供的底层接口函数;
[0024]LWIP协议栈通过所述底层接口函数与无线网卡交换数据,以从路由器获取IP地址。
[0025]本发明提供了嵌入式无线网络系统及其接入无线网络的方法,通过优先级不同的中断发送不同消息的请求,并按照优先级高低的顺序响应中断,调用中断处理函数处理消息的方式,省略了用于存储多个消息的消息队列和处理复杂消息的状态机,减少了内存使用量;同时,在嵌入式无线网络系统中使用了LWIP协议栈,该LWIP协议栈具有代码量少,内存使用量少的特点,本发明通过使用LWIP协议栈取代传统TCP/IP协议栈,实现了减少内存使用量的目的,在嵌入式实时操作系统中,降低嵌入式无线网络系统对硬件的要求,从而减小了硬件体积和成本。
【附图说明】
[0026]下面将结合附图及实施例对本发明作进一步说明,附图中:
[0027]图1是本发明一实施方式的嵌入式无线网络系统的功能模块图;
[0028]图2是本发明一实施方式的嵌入式无线网络系统接入无线网络的方法的流程图。
【具体实施方式】
[0029]现结合附图,对本发明的较佳实施例作详细说明。
[0030]图1示出了本发明一实施方式的嵌入式无线网络系统的功能模块图。在本实施方式中,嵌入式无线网络系统是指在确定的时间内完成系统功能的、基于优先级抢占式调度的实时操作系统,比较常见的如uC/0S、uC/0S-11、uC/0S-1I1、eCos,但不包括Linux。在本实施方式中,嵌入式无线网络系统11包括加载网卡驱动模块101,运行无线网卡管理程序模块103和加载LWIP协议栈模块105。所述嵌入式无线网络系统11通过嵌入式实时操作系统的应用层、中间件、驱动层来实现。
[0031]加载无线网卡驱动模块101用于加载无线网卡驱动以驱动无线网卡;为嵌入式实时操作系统加载无线网卡驱动模块101工作时,当用户使用嵌入式无线网络系统11进行无线网络连接时,中间件处理应用层发出的加载无线网卡驱动的消息,命令驱动层驱动无线网卡,驱动层接收命令后加载无线网卡驱动,初始化无线网卡接口参数,完成驱动无线网卡的任务。
[0032]相比较而言,为了实现丰富的功能,如实现有线网络连接、实现U盘读写或者通过HDMI接口播放影片等功能,应用层的多个消息需要缓冲与排队,所以一般的嵌入式操作系统(如Linux)的中间件采用消息队列机制处理应用层的消息,中间件接收应用层的消息,并把所有消息按照优先级放进消息队列进行存储,再由状态机根据消息的类别进行处理。由于无需实现丰富的功能,本发明的嵌入式无线网络系统11在实现无线网络连接时,为了节省内存,嵌入式实时操作系统的中间件并未如一般嵌入式系统的中间件有消息队列机制,而是采用直接处理应用层的消息而不放入消息队列的方式,当应用层同时发送多个消息时,应用层通过优先级不同的中断向中间件发出不同消息的请求,中间件按照优先级高低的顺序响应中断,调用中断处理函数处理消息。在接入无线网络时,应用层加载无线网卡驱动的消息作为优先级高的中断向中间件发送请求,中间件响应中断,调用该中断的完成驱动无线网卡任务的中断处理函数,等待驱动层完成驱动无线网卡后,中间件才响应优先级低的中断。
[0033]运行无线网卡管理程序模块103用于在所述无线网卡驱动加载后,为嵌入式实时操作系统运行无线网卡管理程序以通过无线网卡连接到热点。为嵌入式实时操作系统运行无线网卡管理程序模块103时,中间件在后台运行无线网卡管理程序,运行无线网卡驱动,驱动无线网卡扫描热点,向无线网卡发送执行认证制定命令,接收无线网卡的WPA命令返回值后,获得热点列表。用户选择热点列表中需要连接的热点后,无线网卡管理程序管理热点连接。在本实施方式中,无线网卡管理程序管理热点连接的步骤为:在连接热点时询问用户密码,在用户输入密码后,无线网卡管理程序向无线网卡加密发送用户密码;无线网卡向路由器校验用户密码,若用户密码与路由器预设密码相同则热点连接成功,否则重新执行连接热点的步骤。
[0034]加载LWIP协议栈模块用于为嵌入式实时操作系统加载LWIP协议栈从路由器获取IP地址,以接入无线网络。为嵌入式实时操作系统加载LWIP协议栈模块工作时,中间件启动嵌入式实时操作系统为运行LWIP协议栈所提供的系统服务函数,包括信号量、邮箱、线程和超时等系统服务。中间件通过系统服务函数调用预存储的LWIP协议栈源码,从而运行LWIP协议栈,再启用嵌入式实时操作系统为运行LWIP协议栈所提供的底层接口函数。LWIP协议栈通过底层接口函数与无线网卡交换数据,以从路由器获取IP地址。在本实施方式中,嵌入式实时操作系统对无线网卡的接口寄存器进行配置,实现无线网卡与LWIP协议栈之间的数据传递。在本实施方式中,与无线网卡交换数据的方法可以是LWIP协议栈注册读写以太网数据的函数给无线网卡,获得MAC地址,再通过DHCP Client获得路由器分配的IP地址;当无线网卡与路由器的连接断开时,无线网卡管理程序侦测不到数据包,无线网卡管理程序通知LWIP协议栈停止与无线网卡交换数据。在本实施方式中,无线网卡与路由器的连接断开的情况可以是路由器出现意外断电的情况,也可以是路由器损坏的情况。
[0035]图2示出了本发明一实施方式的嵌入式无线网络系统接入无线网络的方法的流程图。该方法由图1所示的一实施方式的嵌入式无线网络系统11来运行。在本实施方式中,嵌入式实时操作系统是指在确定的时间内完成系统功能的、中断可抢占型实时操作系统,比较常见的如1^/03、1^/03-11、1^/03-111,但不包括1^111?。在本实施方式中,嵌入式无线网络系统11包括加载网卡驱动模块101,运行无线网卡管理程序模块103和加载LWIP协议栈模块105。所述嵌入式无线网络系统11通过嵌入式实时操作系统的应用层、中间件、驱动层来实现。
[0036]在步骤S102中,加载无线网卡驱动模块101加载无线网卡驱动。当用户使用嵌入式无线网络系统11进行无线网络连接时,中间件处理应用层发出的加载无线网卡驱动的消息,命令驱动层驱动无线网卡,驱动层接收命令后加载无线网卡驱动,初始化无线网卡接口参数,完成驱动无线网卡的任务。
[0037]相比较而言,为了实现丰富的功能,如实现有线网络连接、实现U盘读写或者通过HDMI接口播放影片等功能,应用层的多个消息需要缓冲与排队,所以一般的嵌入式操作系统(如Linux)的中间件采用消息队列机制处理应用层的消息,中间件接收应用层的消息,并把所有消息按照优先级放进消息队列进行存储,再由状态机根据消息的类别进行处理。由于无需实现丰富的功能,本发明的嵌入式无线网络系统11在实现无线网络连接时,为了节省内存,嵌入式实时操作系统的中间件并未如一般嵌入式系统的中间件有消息队列机制,而是采用直接处理应用层的消息而不放入消息队列的方式,当应用层同时发送多个消息时,应用层通过优先级不同的中断向中间件发出不同消息的请求,中间件按照优先级高低的顺序响应中断,调用中断处理函数处理消息。在接入无线网络时,应用层加载无线网卡驱动的消息作为优先级高的中断向中间件发送请求,中间件响应中断,调用该中断的完成驱动无线网卡任务的中断处理函数,等待驱动层完成驱动无线网卡后,中间件才响应优先级低的中断。
[0038]在步骤S104中,运行无线网卡管理程序模块103运行无线网卡管理程序。,运行无线网卡管理程序模块103在后台运行无线网卡管理程序,运行无线网卡驱动,驱动无线网卡扫描热点,向无线网卡发送执行认证制定命令,接收无线网卡的WPA命令返回值后,获得热点列表。用户选择热点列表中需要连接的热点后,无线网卡管理程序管理热点连接。在本实施方式中,无线网卡管理程序管理热点连接的步骤为:在连接热点时询问用户密码,在用户输入密码后,无线网卡管理程序向无线网卡加密发送用户密码;无线网卡向路由器校验用户密码,若用户密码与路由器预设密码相同则热点连接成功,否则重新执行连接热点的步骤。
[0039]在步骤S106中,加载LWIP协议栈模块105加载LWIP协议栈。LWIP协议栈具有代码量少,内存使用量少的特点。加载LWIP协议栈从路由器获取IP地址的步骤具体包括:
[0040]加载LWIP协议栈模块105通过中间件启动嵌入式实时操作系统为运行LWIP协议栈所提供的系统服务函数,包括信号量、邮箱、线程和超时等系统服务;
[0041]中间件通过系统服务函数调用预存储的LWIP协议栈源码;
[0042]运行LWIP协议栈;
[0043]启用嵌入式实时操作系统为运行LWIP协议栈所提供的底层接口函数;
[0044]LWIP协议栈通过底层接口函数与无线网卡交换数据,以从路由器获取IP地址。
[0045]在本实施方式中,嵌入式实时操作系统对无线网卡的接口寄存器进行配置,实现无线网卡与LWIP协议栈之间的数据传递。在本实施方式中,与无线网卡交换数据的方法可以是LWIP协议栈注册读写以太网数据的函数给无线网卡,获得MAC地址,再通过DHCPClient获得路由器分配的IP地址;当无线网卡与路由器的连接断开时,无线网卡管理程序侦测不到数据包,无线网卡管理程序通知LWIP协议栈停止与无线网卡交换数据。在本实施方式中,无线网卡与路由器的连接断开的情况可以是路由器出现意外断电的情况,也可以是路由器损坏的情况。
[0046]综上所述,本发明一实施方式提供了嵌入式无线网络系统及其接入无线网络的方法,通过直接处理应用层发送的加载无线网卡驱动模块的消息,省略了用于存储消息的消息队列,减少了接入无线网络的ROM使用量;同时,在嵌入式实时操作系统环境中使用了LWIP协议栈,替代复杂的TCP/IP协议栈,减少了代码量和RAM使用量,实现了减少内存使用量的目的,使用本发明一实施方式提供的嵌入式无线网络系统及其接入无线网络的方法,在嵌入式实时操作系统环境中,可降低嵌入式无线网络系统对硬件的要求,从而减小了硬件体积和成本。
[0047]应当理解的是,以上实施例仅用以说明本发明的技术方案,而非对其限制,对本领域技术人员来说,可以对上述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而所有这些修改和替换,都应属于本发明所附权利要求的保护范围。
【主权项】
1.一种嵌入式无线网络系统,其特征在于,包括: 加载无线网卡驱动模块,用于加载无线网卡驱动以驱动无线网卡; 运行无线网卡管理程序模块,用于在加载所述无线网卡驱动后,运行无线网卡管理程序以通过无线网卡连接到热点;及 加载LWIP协议栈模块,用于加载LWIP协议栈从路由器获取IP地址,以接入无线网络。2.根据权利要求1所述的嵌入式无线网络系统通过嵌入式实时操作系统的应用层、中间件和驱动层来实现。3.根据权利要求2所述的嵌入式无线网络系统,其特征在于,所述应用层发送多个消息时,所述应用层通过优先级不同的中断向所述中间件发出不同消息的请求,所述中间件按照优先级高低的顺序响应中断,调用中断处理函数处理消息。4.根据权利要求2所述的嵌入式无线网络系统,其特征在于,加载LWIP协议栈模块工作时,所述中间件启动嵌入式实时操作系统为运行LWIP协议栈所提供的系统服务函数。5.根据权利要求4所述的嵌入式无线网络系统,其特征在于,所述中间件通过所述系统服务函数调用预存储的LWIP协议栈源码后,运行LWIP协议栈,启用嵌入式实时操作系统为运行LWIP协议栈所提供的底层接口函数,LWIP协议栈通过所述底层接口函数与无线网卡交换数据,以从路由器获取IP地址。6.—种嵌入式无线网络系统接入无线网络的方法,其特征在于,包括步骤: 加载无线网卡驱动以驱动无线网卡; 在加载所述无线网卡驱动后,运行无线网卡管理程序以通过无线网卡连接到热点;及 加载LWIP协议栈从路由器获取IP地址,以接入无线网络。7.根据权利要求6所述的嵌入式无线网络系统接入无线网络的方法,其特征在于,通过嵌入式实时操作系统的应用层、中间件和驱动层来实现。8.根据权利要求7所述的嵌入式无线网络系统接入无线网络的方法,其特征在于,所述应用层发送多个消息时,所述应用层通过优先级不同的中断向所述中间件发出不同消息的请求,所述中间件按照优先级高低的顺序响应中断,调用中断处理函数处理消息。9.根据权利要求7所述的嵌入式无线网络系统接入无线网络的方法,其特征在于,所述加载LWIP协议栈从路由器获取IP地址的步骤具体包括: 所述中间件启动嵌入式实时操作系统为运行LWIP协议栈所提供的系统服务函数; 所述中间件通过所述系统服务函数调用预存储的LWIP协议栈源码; 运行LWIP协议栈; 启用嵌入式实时操作系统为运行LWIP协议栈所提供的底层接口函数; LWIP协议栈通过所述底层接口函数与无线网卡交换数据,以从路由器获取IP地址。
【文档编号】H04L29/08GK106060901SQ201610327173
【公开日】2016年10月26日
【申请日】2016年5月17日
【发明人】童庆文
【申请人】深圳芯智汇科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1