电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>如何使用UIP堆栈实现微控制器

如何使用UIP堆栈实现微控制器

2020-12-24 | pdf | 0.13 MB | 次下载 | 2积分

资料介绍

  系统远程监测和控制或许是微控制器应用最重要的功能之一。想象一下:一个巨大的高尔夫球场的草坪洒水系统,最好能够向主机自动报告故障状况。这样的系统几乎无需人工监测其是否正常工作。 RS-232 串口或红外等多种通信方式可用来实现系统远程器件的控制和监测。然而,所有这些方法都受限于具体的接口标准,其中包括:是否与传输媒介和协议兼容、距离限制等。以太网网络协议(IP) 网络协议提供了一个应对上述挑战的解决方案,所有现代操作系统都带有 IP 栈。而 IP 可在各种传输媒介上运行,到目前为止,以太网的应用最普遍。此外,以太网得益于交换和路由网络拓扑结构,因此不受距离限制。借助于先进的 MAC/PHY 集成电路与板载缓冲器,可以用微控制器和以太网 IP 实现控制,并且几乎可以从所有远程系统采集数据。本文演示了如何利用免费的 uIP 堆栈和 SPI 至以太网转换 IC 实现 MAXQ2000 微控制器联网。 uIP 介绍 uIP (读作“micro IP”)提供了一个最小规模的 IP 堆栈,其中包括 TCP、UDP 和 ICMP 协议。uIP 由 Adam Dunkels 开发,采用 BSD 方式授权。完整的源代码可从 https://github.com/adamdunkels/uip 下载。当然,对于大多数应用,没有必要完全运行 TCP/IP,过于浪费。uIP 具有一整套功能,符合全功能主机的最低需求,并且可以避免其它简单 IP 堆栈存在的“特殊情况”。编译环境 Rowley CrossWorks 1.1 build 1 C 编译器用于编译、汇编和链接项目。为方便调试,所有代码优化功能均被禁用。最终代码仅占用 MAXQ2000 程序闪存存储器的一小部分。 MAXQ2000 有 2kB 的数据存储器。使用这种数据存储器时必须谨慎,因为缓冲器必须用来处理 IP 数据包的内容。为了最大限度地利用数据存储器,所有常数都存储在代码空间内,并根据需要复制到一个固定大小的 RMA 缓存区。 uIP 堆栈的使用 uIP 堆栈可以看成一个事件循环,超时基于结构时钟设定。在主循环中,MAC/PHY 接收到的数据包由 uip_arp_ipin()和 uip_input()处理。这些调用会产生一个输出数据包,必须由 MAC/PHY 驱动程序传输。然后检查计时器,清理已关闭连接及一段时间未出现的 ARP 表项,并调用应用程序回调函数以进行重发。主要事件循环为样板代码,大多数应用中无需改变。注意:uIP 实现了非常小的 TCP 窗口尺寸,这一点非常重要,只能有一个重要的(un-ACKed)数据包等候处理,有时可能需要重发。实际应用处理由函数 UIP_APPCALL 完成。调用时,应用程序回调功能会检查几个功能并返回 uIP 当前状态。其中最重要的状态是:uip_connected()、uip_closed()、uip_aborted()、uip_timedout()、uip_newdata()和 and uip_rexmit()。前四个函数管理输入连接的打开和关闭;后两个函数管理数据的输入和输出。当新数据到达套接字等待应用程序处理时,uip_newdata()将返回一个非零的结果。然后应用程序进行数据处理,这些数据保存在 uip_appdata 指向的缓冲区中,也可以返回响应。所有数据,包括以太网链路层和 IP 头储存在 uip_appdata。如果网络丢掉返回至 peer 的数据的任何部分,应用将通过计时器超时调用应用程序回调功能并且 uip_rexmit()返回一个非零的结果。在这个点上 uIP 与其他 IP 堆栈不同。通常情况下,TCP 数据包的转发由 IP 协议栈处理。当 uip_rexmit()标记出现时 uIP 需要应用程序转发丢失的数据,可以节省存储空间。转发可以通过重新生成数据来实现,或将先前产生的数据保存在缓冲区以供转发。

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费