新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > MCS-51单片机嵌入式Internet技术研究

MCS-51单片机嵌入式Internet技术研究

作者:时间:2012-09-23来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/170816.htm

  RTL8019AS 网卡驱动首先是对网卡芯片的上电初始化,通过函数init_8019as()进行,用于设定网卡物理地址,设定收发缓冲区位置和大小等。其次是发送数据函数eth_send()和接收数据函数eth_rcve()。

  而uIP 协议栈则通过内核中的uip_input()函数实现对底层网络设备的驱动,该函数是uIP 协议的底层设备入口。它包含两个全局变量uip_buf、uip_len.前者用于存放接收到的数据包,后者表示接收发送缓冲区里的数据长度。uip_input()函数处理从网络设备驱动发送来的IP 包。处理结束后返回变量uip_len,如果uip_len 是0,则没有数据要发送。不为0 则调用网络设备驱动程序eth_send()函数来将uip_buf 里的uip_len 长度的数据发送到以太网上。eth_rcve()函数将接收到的数据存储到缓存uip_buf 指定的缓冲区中,系统调用uip_input()函数,并在需要时调用应用程序。

  uip_periodic()可以理解为是一个周期时钟函数,通常每一秒执行一次,用它周期性地轮询各连接。因为uIP 协议要处理许多定时事件,例如包重发、ARP 表项更新。当周期计时激发,每一个TCP 连接调用uip_periodic(),其TCP 连接编号作为参数传递给uip_periodic()函数。uip_periodic()函数检查参数指定的连接的状态。当uip_periodic()函数返回后,会检查uip_len 的值,若不为0 则将uip_buf 缓冲区中的数据包发送到网络上。

  uIP 协议的应用程序接口用于实现web 之类的应用服务。uIP 定义了一个宏UIP_APPCALL()作为该接口,供用户使用。当用户要编程实现某应用服务时,只需要将宏UIP_APPCALL()定义成实际的应用程序函数名。uIP 在接收到底层传来的数据包后,若需要送上层应用程序处理,它就调用UIP_APPCALL()。不同的连接则通过判断当前连接的端口号来确定。同时uIP 还提供一些应用程序接口函数供用户编程时使用。常用的uIP 应用程序接口函数有:关闭连接接口函数uip_close();轮询接口函数uip_poll();打开连接接口函数uip_connect()等。通过调用不同的应用程序接口函数,用户可以实现相应的功能。

4 主程序的设计

  完成了底层设备驱动模块和应用服务程序模块的添加以及对uIP 进行了正确配置之后,软件编写的主体部分是主程序函数。主程序视用户需要达到何种功能而定。对于本例通过以太网卡接入到实现WEB 应用服务来说,单片机主程序首先启动初始化工作,包括定时器初始化、网卡芯片初始化、UIP 协议栈初始化、用户应用程序初始化等等[5].在完成初始化之后,主程序将不停的进行查询,如果网卡上有新的IP 数据包到达则送uip_input()函数处理;如果没有新数据包到达则由uip_priodic()函数处理定时事件。由于uIP 协议栈采用C 语言编写,所以为了方便单片机主程序与uIP 协议交互,单片机主程序也采用C 语言作为开发语言。下面是单片机主程序的部分设计代码。

  TCP/IP 协议栈的链路层部分由网络控制器RTL8019AS 完成,网络层和传输层由单片机来处理。

  应用层则根据需要可以在单片机内完成,也可以由单片机转给用户或终端设备完成。除了WEB 服务之外,其它应用层服务像SMTP 协议支持功能也可以根据需要编写相应的代码。

  5 系统测试

  在完成上述工作的基础上,我们为市区中心停车场设计了一个停车监测管理系统。由于市区中心停车场业务量非常繁忙,车位经常饱和,不仅管理人员而且客户经常需要实时掌握该停车场的停车位空闲信息。数据采集系统的前端通过传感器监测各停车位的空闲状态。并及时将信息反馈到单片机,反馈的信息包括停车位空闲状态,停车起始时间和时长等。据此监测系统计算整个停车场空闲停车位的个数,并将信息返回到客户端,同时以公告信息形式显示在停车场出入口的LED 显示屏上。方便客户作出决策。根据停车时长计算的计费信息也可以显示在客户端上。结合上述要求,我们在单片机上实现了一个Web服务器。Http 网页能够完成接收数据、发送网页数据、关闭连接等应用,并且能够动态实时地进行数据更新。客户端使用最常用的Windows 操作系统和 Explorer 浏览器,客户端不需要安装其它特殊的服务程序。系统仅设置为最多4 个并发客户端访问单片机Web 服务器。图4 是访问单片机Web服务器的结果。

图4 客户端访问单片机Web 服务器。

图4 客户端访问单片机Web 服务器。

  6 结语

  网络通信是近几年来工业的新兴应用领域。由于 系列单片机具有悠久的历史和广泛的应用,其低廉的价格,以及uIP 协议栈可以免费使用,所以采用本设计方案的产品具有成本低,附属硬件少,使得终端价格不会因嵌入式接入而增加太多。具有极高的性价比,易于推向市场。目前根据此开发的系统已在市区繁忙的停车场监测系统得到成功应用。只须稍加改进即可应用于基于51内核的其它单片机系统。本系统能够有助于智能信息家电、生产设备监测监控等的工业应用以较好的性价比实现嵌入式Internet.

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

51单片机相关文章:51单片机教程


单片机相关文章:单片机教程


单片机相关文章:单片机视频教程


单片机相关文章:单片机工作原理


tcp/ip相关文章:tcp/ip是什么



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭