- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种新型嵌入式远程监控系统的设计开发
引言
嵌入式监控系统是当前工业自动化监控应用领域研究的热点之一。微电子技术
和微处理器制造工艺的提高以及网络技术的飞速发展,使得构建基于 Web的嵌入式远程监控系统得以实现。这样的远程监控系统可以直接通过 TCP/IP 网络协
议接入 Internet 实现远程监控,成为真正不受时间和空间限制的远程监控系统。
由于近年来一些半导体厂家新推出的 MCU的存储能力都有了很大的提高,以及
C 语言编写的程序具有移植性强、可读性好等优点,因此本文监控软件采用
标准 C 语言编写,并在 m6811-elf-gcc 中编译通过。本文将从嵌入式 Web监控系统的通信基础 -- 以太网接口模块着手,分别讲述各个功能模块的设计与实
现。
以太网接口程序设计
以太网接口程序是与硬件设计中的网络控制芯片密切相关的,不同的网络控制芯片具有不同的以太网接口程序,但是一个完整的以太网接口程序通常包括三个部分:硬件模块初始化、以太帧的发送和以太帧的接收。
1、硬件模块初始化
本文使用的 Freescale 公司的 MC9S12NE64 MCU集成了 EPHY和 EMAC两个硬件子模块,它们的初始化必须严格按照技术手册进行,避免忽略一些细节。
、以太帧的发送
NE64中发送一个以太帧,必须将该帧内容写入至 EMAC模块的发送缓冲区 (TX 缓冲区 ) ,然后再通过发送命令将其发送出去,接下来的工作由下层硬件完成。
与以太帧的发送相关的寄存器包括发送缓冲区帧结束指针寄存器 (TXEFP)、发送控制和状态寄存器 (TXCTS)。
3、以太帧的接收
判断以太帧的接收有两种方法:查询法和中断法。由于中断法有更好的执行效
率,本文使用了中断法接收以太帧。由于 NE64有两个接收缓冲区 A 和 B,因此到达的帧可能存储在 A 缓冲区也可能存储在 B 缓冲区,所以中断矢量也有两
个: A 缓冲区接收完成中断和 B 缓冲区接收完成中断,其矢量地址分别是 $FFB2
$FFB4。无论是 A 缓冲区还是 B 缓冲区接收到数据,处理方法是一样的,都是将接收到的数据帧读出来,再进行相应的处理。
3 uIP 协议实现的程序设计
3.1 TCP 协议的实现
TCP协议是嵌入式 Web的核心,它提供一种基于连接的带确认的可靠的数据流传输方式,可增强网络的服务质量。 TCP协议的机制很复杂,它的完整实现对处理器的存储能力和运算能力要求较高。这对于嵌入式系统来说是比较奢侈
的,因此必须对其进行简化。本文要实现的是一个基于嵌入式 Web服务器的监控系统,经过仔细分析,本文得到如图 1 所示的简化的 TCP状态机。其中连接的断开由服务器主动执行,通过多次实验总结出来该方式在本文系统中,比标
准的 TCP协议主动断开连接的状态机简单且稳定。
图 1 服务端简化的 TCP状态图
另外本系统可以根据不同的应用要求调整 TCP所支持的连接数量,但是通常在同一时刻仅支持单个 TCP连接。同时为了避免因为数据报的丢失而造成状态机的死锁,本文使用简单定时机制,使 TCP状态机在超时后复位。
TCP协议连接建立的过程被称为“三次握手”。首先,客户端向服务端提出连
接请求。此时客户端在 TCP报头中插入自己的 ISN,并置 SYN标志为 1,表示序列号字段合法,需要检查。其次,服务端收到该 TCP分段后,以自己的 ISN 回应,同时确认收到客户端的 TCP分段,置 ACK标志为 1。最后,客户端确认收到服务端的 ISN,置 ACK标志为 1。至此完整的 TCP连接建立,开始全双工模式的数据传输过程。
3.2 其他协议的实现
在实现以太网底层驱动的基础上,接下来实现用于以太网通信的上层协议。 ARP 协议是为了通信双方获取对方 MAC地址的通信协议,是网络通信的基础,本文
实现了 ARP请求报文的发送和接收以及 ARP响应报文的接收和处理功能。为方便网络调试,在 uIP 中实现了 Ping 命令,当监控设备正常工作后可省略该部分内容。 SD12-MCS是实现一个基于嵌入式 Web的应用设备,并非嵌入式网关或路由器,因此为了节约嵌入式系统资源,本文裁减了 IP 协议的路由功能,有关路由问题都由默认网关完成。尽管基于 Web方式的 SD12-MCS使用了 TCP协议,但是目前也有一些应用是基于 UDP协议的,为了系统具有更好的扩展性,本文也实现了 UDP协议。
Web服务器的设计与实现
该监控系统的工作模式为嵌入式 Web服务器方式,因此本文在实现 uIP 协议的基础上,设计并实现了应用层的 HTTP协议以及 CGI 处理程序。
4.1 HTTP 协议的设计与实现
您可能关注的文档
最近下载
- 脑室外引流管护理.pptx VIP
- 【高一】高中心理健康《1生涯拍卖会》 省级优质课.pptx VIP
- 【廉政党课】全面从严治党-抓好党风廉政建设.pptx VIP
- 17GL401 综合管廊热力管道敷设与安装.pptx VIP
- 病原微生物第3章消毒灭菌与病原微生物实验室生物安全习题与答案.docx VIP
- 精益生产、精益工具与精益思想.ppt VIP
- 电子节温器工作原理及电子警察施工安装说明.doc VIP
- 第五讲贯通测量.pdf VIP
- xe82-2000午山风电场风机定检作业指导书一年3月15日部分内容改动.pdf VIP
- 任务一+感受物联网+课件-2025-2026学年陕教版(2024)初中信息科技八年级上册.pptx VIP
文档评论(0)