基于Web的单片机远程监控系统的设计与实现.pdf
《基于Web的单片机远程监控系统的设计与实现.pdf》由会员分享,可在线阅读,更多相关《基于Web的单片机远程监控系统的设计与实现.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、http:/-1-基于基于 Web 的单片机远程监控系统的设计与实现的单片机远程监控系统的设计与实现 李瑾,李峰 武汉理工大学信息工程学院,湖北武汉(430070)摘摘 要:要:传统的远程监控系统一般采用 C/S 模型的方式,针对大型设备,成本高。文章采用SOC 芯片 C8051F020 和 10M 自适应网络芯片 RTL8019AS 接口的方案,在单片机中嵌入了精简的 TCP/IP 协议栈,构建了基于 Web 的单片机远程监控系统软、硬件平台,在此基础上实现了基于单片机的数据采集和远程监控,所实现的系统具有成本低廉、操作方便、可靠等优点。关键词:关键词:TCP/IP,嵌入式 Web 系统,数
2、据采集,远程监控 1.引言引言 单片机系统以其简单、高效的特点,在工业控制和日常生活中应用越来越广泛。目前大多数单片机系统是以 51 单片机为核心,与检测、伺服、显示设备配合起来实现监控功能。然而,这些监控系统的数据传输多采用 RS-232、RS-485 以及各种现场总线,这些方式有些通信速度不够快,有些距离不够远,且各种总线之间难于实现互连和互操作。以太网作为目前应用最为广泛的局域网,在工业自动化和过程控制领域得到了越来越多的应用。同时,随着 Internet 的普及,现代通信技术的进步,基于 TCP/IP 和 Client/Server 架构的分布式监控技术也日趋成熟。把嵌入式系统连接到
3、Internet 上,就可以方便、低廉地把信息传送到世界的任何一个地方。传统的远程监控系统一般采用 C/S 模型的方式,主要针对大型的设备进行监控。对于如摄像头图象监控家用仪表门禁控制系统等小型的设备的监控就需要采用低成本的方案。鉴于此,在低成本的单片机系统上移植精简的 TCP/IP 协议簇,实现对于小型设备远程监控是最佳选择。该系统以 Web 方式实现,用户可以在任何一台装有浏览器的 PC 机上进行远程监视与控制,具有价格低廉、操作方便、界面友好等优点。传统的远程监控系统模型与本系统采用的模型如图 1 和图 2 所示。图 1 传统远程监控系统模型 图 2 单片机监控系统模型 http:/-2
4、-2.系统硬件设计系统硬件设计 本系统以 Cygnal 公司的完全集成的混合信号系统级芯片(SOC)C8051F020 单片机为核心,采用 Realtek 公司的 10M 自适应以太网控制器 RTL8019AS 实现系统的网络接口部分。SRAM 部分用于存放大量的数据信息。数据采集部分用于采集系统需要监控的设备的运行情况,由于 C8051F020 内部带有真正 12 位 100 ksps 的 8 通道 ADC 带 PGA 和模拟多路开关,还有两个 12 位 DAC 可编程更新时序,可以方便的进行模拟信号采集和对外设进行控制。C8051F020 单片机内置 64K FLASH 程序存储器、4K
5、内部 SRAM,可以嵌入 TCP/IP 协议,从而实现嵌入式 Web Sever 的功能。RTL8019AS 集成了介质访问控制子层(MAC)和物理层的性能,与单片机的接口简单,可以方便地用来设计基于 ISA 总线的系统。另外,它还具有与 NE2000 兼容、软件移植性好以及价格低廉等优点,所以特别适合用于嵌入式系统。图 3 系统框图 3系统软件设计系统软件设计 3.1 软件流图设计软件流图设计 C8051F020 RTL8019AS PM34_1006M RJ45 接口接口 MAX232 RS232 接口接口 SRAM 数据采集数据采集 JTAG http:/-3-软件的实现主要是根据数据在
6、网络中传输的方向和数据的流向来实现的。在本设计中数据的流向为:请求信息从局域网中来,通过 RJ 45 送到 RTL80l9AS,处理后的数据包送入单片机系统的协议栈,由协议栈对数据包进行解析,得到原始请求信息。请求信息再经过单片机系统的处理,产生回复信息。回复信息到局域网的过程与上面正好相反。整个系统的软件流程如上图 4 所示。3.2 RTL8019 接收与发送数据:接收与发送数据:1RTL8019 芯片初始化主要是将网卡设置成正常的模式,跟外部网络连接。清除所有中断标志位,让芯片开始工作。2对 RTL8019 接收数据操作,有查询和中断两种方式。因为单片机的速度和 PC 机相差太远,而且还有
7、一些采集任务,本系统不采用中断方式,用查询方式。在查询方式下,通过查询 CURR 和 BNRY 两个寄存器的值来判断是否收到一帧数据。当 BNRY+1 与 CURR不相等,说明接收缓冲区接收到了新的数据帧。图 5 为 RTL8019 报头格式,接收部分子程序如下:UCHAR xdata*rcve_frame(void)/如收到有效数据包,返回收到的数据,否则返回 NULL 0 8 16 24 31 接收状态下一页指针 以太网帧长的低字节以太网帧长的高字节 图 5 RTL8019 报头格式 3数据的发送包含三个步骤:封装数据包;通过远程 DMA 将数据包送入 RTL8019AS的数据发送缓冲区;
8、通过 RTL8019 的本地 DMA 将数据送入 FIFO 进行发送。具体过程如下:(1)包在发送前应该按规定的格式封装好,格式如下图 6 所示:图 4 软件框图 http:/-4-目的地址(6 字节)源地址(6字节)协议(2 字节)数据(不少于 46 字节)图 6 MAC 帧首部 (2)把上面的数据包通过远程 DMA 写入 RTL8019AS 的数据发送缓冲区;(3)启动本地 DMA,把数据发送出去,数据包长度最小为 60 字节,最大 1514 字节。发送子程序为:void send_frame(UCHAR xdata*outbuf,UINT len)/发送一个数据包 3.3 TCP/IP
9、协议栈的实现协议栈的实现 3.3.1 ARP 协议的实现:协议的实现:ARP 地址解析协议的本质是完成网络地址到物理地址的映射1。物理地址有以太网和令牌环网两种基本类型,网络地址特指 IP 地址。具体到以太网,使用的是动态绑定转换的方法,但是会遇到许多细节问题,例如减少广播,ARP 包丢失,物理地址变更(更换网卡)、移动(移动设备到另一子网)、消失(关机)等。一般是设置 ARP 高速缓存,通过学习、老化、更新、溢出算法处理 ARP 映射表来解决这些问题。整个 ARP 处理过程,主要用 5 个函数实现。在实现网卡驱动程序后,所有 ARP 处理操作就是填写 ARP 包。主要程序代码编制如下:(1)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Web 单片机 远程 监控 系统 设计 实现
限制150内