保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

基于精简TCP/IP协议栈的信息家电网络服务器


  
  网络通信需要要底层RTL8019AS驱动程序的支持,参考RTL8019AS与S1C33209的资料说明文档,编写出针对此系统的RTL8019AS驱动。
  
  uIP并不缓存到达的数据包,当网络上有数据包(在这里专指出太帧)到达网卡时,网卡驱动程序将暂存在网卡缓存中的数据包,一次一个的以DMA形式传送到目标板上的RAM中。这时将会有一段代码将到达目标板RAM中的数据包复制到全局数组uip_buf[]中,uIP协议栈程序随后对uip_buf[]中的数据进行操作。
  
  当上层应用程序或协议栈程序产生了向网络上发送的数据包时,也将数据包放入uip_buf[]。然后调用网卡驱动程序,将uip_buf[]中的数据读到网卡的缓存中,随后发送到网络中。
  
  在此要说明一下协议栈与网卡驱动程序、应用程序之间的同步机制问题。在系统初始化的时候,通过操作系统提供的系统调用vcre_tsk()创建三个任务:任务一(task1),uIP协议栈;任务二(task2),家电监控程序;任务三(idle_task),空闲任务。而网卡驱动程序则作为硬件中断,由“检测到网络上传过来数据包”事件激发。
  
  整个协议栈程序流程图如图5所示。
  
  任务一的优先级最高,任务二次之,任务三的优先级最低。当系统开始运行时,任务一首先进入RUN状态,在任务一中加入系统调用wai_flg(),由于没有网络请求,任务一随后进入WAIT状态。此时任务二进入RUN状态。当网络上有数据包到达,网卡驱动程序作为硬件中断开始执行。在退出中断前,通过系统调用set_flg(),将任务一期望的标志位置位。当中断返回后,由于任务一的等待条件已经满足,任务一的优先级又高于任务二,因此任务一进入RUN状态,即uIP协议开始处理数据。如果网络上一直有数据包到达,则任务一和中断程序不断的切换。当网络任务完成,返回到任务二的断点处继续向下执行。
  
  由于uIP不缓存网络数据,因此在任务一执行的过程中,即uip_buf[]正在被操作时,将关闭所有中断。这样可以避免数据包被破坏,缺点是实时性差了一些,但是满足本系统要求。
  
  3操作系统
  
  本系统使用的操作系统是由EPSON公司提供的ROS33V31。ROS33是为S1C33系列MCU提供的一种嵌入式实时操作系统,符合uITRON3.0标准。使用ROS33可以迅速、有效地开发针对打印机、PDA以及各类控制设备的嵌入式应用程序。
  
  ROS33具有以下特点:
  
  *支持uITRON3.0标准——符合该标准的S级*最大任务数为255,采用优先级调度机制,支持9种不同的优先级,提供信号灯、邮箱、消息缓冲等多种通信机制:
  
  *内核优先并紧凑——最小可为1.7K;
  
  *响应快——最快调度响应时间为7.8μS(CPU主频为33MHz,下同),最大中断屏蔽时间为4.3
  
  
  
  μs;
  
  *高级语言支持——除汇编语言外,还支持基于ANSI标准的C语言编程。
  
  注释:μITRON将系统功能分成四级。R级(必要级)只提供包括实时、多任务OS所需的基本系统调用;S级(标准级)提供所有标准的系统调用;E级(扩展级)包括附加的和扩展的系统功能;C级(CPU依赖级)的系统功能依赖于具体的CPU和系

《基于精简TCP/IP协议栈的信息家电网络服务器(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/168480.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。