资料介绍
系统远程监测和控制或许是微控制器应用最重要的功能之一。想象一下:一个巨大的高尔夫球场的草坪洒水系统,最好能够向主机自动报告故障状况。这样的系统几乎无需人工监测其是否正常工作。 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 需要应用程序转发丢失的数据,可以节省存储空间。转发可以通过重新生成数据来实现,或将先前产生的数据保存在缓冲区以供转发。
- 浅谈如何评估TI C2000系列微控制器程序的堆栈使用情况
- 兆易创新AN014 GD32微控制器在Arduino中的应用
- 基于Nuvoton 1T 8051的微控制器N76E003数据表 5次下载
- 基于ARM Cortex M0的微控制器MM32F013x 22次下载
- 基于微控制器的永磁同步电机磁场定向控制 15次下载
- 系统可编程闪存中的RISC微控制器LGT8XM 0次下载
- AN11153微控制器的设计及开发 5次下载
- 微控制器系统的详细资料概述
- 基于FPGA中实现微控制器 1次下载
- 基于ARM微控制器的医疗机器人主从夹持控制系统设计与实现 34次下载
- 针对微控制器应用的FPGA实现 42次下载
- 低成本嵌入式多媒体微控制器的设计与实现
- 利用软件技术扩展嵌入式微控制器功能的方法
- 微控制器原理课程实验教学大纲
- 利用PSD301微控制器外围和微控制器设计智能发送器
- 微控制器与运动控制器的区别 377次阅读
- 微控制器的定义和工作原理 1084次阅读
- 为MAXQ2000微控制器实现JTAG自举加载程序主控 984次阅读
- 在MAXQ2000数据存储器中实现软堆栈 688次阅读
- 使用uIP堆栈将MAXQ微控制器联网 1051次阅读
- 在MAXQ2000的数据存储器中实现软堆栈 619次阅读
- 基于LPC2292微控制器和CAN控制器实现车辆行驶监控系统的设计 2402次阅读
- 基于微控制器的MicroPython模块运行 2001次阅读
- digilent开源微控制器介绍 1482次阅读
- 基于GPRS微控制器实现上网的解决方案 687次阅读
- 基于STM32微控制器的物联网节点设计 3227次阅读
- 后备电源控制器LTC3350,可对串联堆栈进行充电和监察 2220次阅读
- 微控制器的相关知识介绍(含义、编程语言) 5138次阅读
- TIMSP430微控制器软件编程经验和应用技巧 4104次阅读
- 微控制器原理及应用 1.4w次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多