基于Web的单片机远程监控系统的设计与实现_第1页
基于Web的单片机远程监控系统的设计与实现_第2页
基于Web的单片机远程监控系统的设计与实现_第3页
基于Web的单片机远程监控系统的设计与实现_第4页
基于Web的单片机远程监控系统的设计与实现_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 基于Web的单片机远程监控系统的设计与实现李瑾,李峰武汉理工大学信息工程学院,湖北武汉(430070摘要:传统的远程监控系统一般采用C/S模型的方式,针对大型设备,成本高。文章采用SOC芯片C8051F020和10M自适应网络芯片RTL8019AS接口的方案,在单片机中嵌入了精简的TCP/IP协议栈,构建了基于Web的单片机远程监控系统软、硬件平台,在此基础上实现了基于单片机的数据采集和远程监控,所实现的系统具有成本低廉、操作方便、可靠等优点。关键词:TCP/IP,嵌入式Web系统,数据采集,远程监控1. 引言单片机系统以其简单、高效的特点,在工业控制和日常生活中应用越来越广泛。目前大多数单

2、片机系统是以51单片机为核心,与检测、伺服、显示设备配合起来实现监控功能。然而,这些监控系统的数据传输多采用RS-232、RS-485以及各种现场总线,这些方式有些通信速度不够快,有些距离不够远,且各种总线之间难于实现互连和互操作。以太网作为目前应用最为广泛的局域网,在工业自动化和过程控制领域得到了越来越多的应用。同时,随着Internet的普及,现代通信技术的进步,基于TCP/IP和Client/Server架构的分布式监控技术也日趋成熟。把嵌入式系统连接到Internet上,就可以方便、低廉地把信息传送到世界的任何一个地方。传统的远程监控系统一般采用C/S模型的方式,主要针对大型的设备进行

3、监控。对于如摄像头图象监控家用仪表门禁控制系统等小型的设备的监控就需要采用低成本的方案。鉴于此,在低成本的单片机系统上移植精简的TCP/IP协议簇,实现对于小型设备远程监控是最佳选择。该系统以Web方式实现,用户可以在任何一台装有浏览器的PC机上进行远程监视与控制,具有价格低廉、操作方便、界面友好等优点。传统的远程监控系统模型与本系统采用的模型如图1和图2所示。 图1 传统远程监控系统模型图2 单片机监控系统模型 2. 系统硬件设计本系统以Cygnal公司的完全集成的混合信号系统级芯片(SOCC8051F020单片机为核心,采用Realtek公司的10M自适应以太网控制器RTL8019AS实现

4、系统的网络接口部分。SRAM部分用于存放大量的数据信息。数据采集部分用于采集系统需要监控的设备的运行情况,由于C8051F020内部带有真正12 位100 ksps 的8 通道ADC带PGA和模拟多路开关,还有两个12 位DAC 可编程更新时序,可以方便的进行模拟信号采集和对外设进行控制。C8051F020单片机内置64K FLASH程序存储器、4K内部SRAM,可以嵌入TCP /IP 协议, 从而实现嵌入式Web Sever的功能。RTL8019AS集成了介质访问控制子层(MAC和物理层的性能,与单片机的接口简单,可以方便地用来设计基于ISA总线的系统。另外,它还具有与NE2000兼容、软件

5、移植性好以及价格低廉等优点,所以特别适合用于嵌入式系统。 图3 系统框图3.系统软件设计3.1 软件流图设计 软件的实现主要是根据数据在网络中传输的方向和数据的流向来实现的。在本设计中数据的流向为:请求信息从局域网中来,通过RJ 45送到RTL80l9AS ,处理后的数据包送入单片机系统的协议栈,由协议栈对数据包进行解析,得到原始请求信息。请求信息再经过单片机系统的处理,产生回复信息。回复信息到局域网的过程与上面正好相反。整个系统的软件流程如上图4所示。3.2 RTL8019接收与发送数据:1.RTL8019芯片初始化主要是将网卡设置成正常的模式,跟外部网络连接。清除所有中断标志位,让芯片开始

6、工作。2.对RTL8019接收数据操作,有查询和中断两种方式。因为单片机的速度和PC 机相差太远,而且还有一些采集任务,本系统不采用中断方式,用查询方式。在查询方式下,通过查询CURR 和BNRY 两个寄存器的值来判断是否收到一帧数据。当BNRY+1与CURR 不相等,说明接收缓冲区接收到了新的数据帧。图5为RTL8019报头格式,接收部分子程序如下:UCHAR xdata * rcve_frame(void /如收到有效数据包,返回收到的数据,否则返回NULL0 8 16 24 31 接收状态下一页指针 以太网帧长的低字节以太网帧长的高字节图5 RTL8019报头格式3.数据的发送包含三个步

7、骤:封装数据包;通过远程DMA将数据包送入RTL8019AS 的数据发送缓冲区;通过RTL8019的本地DMA 将数据送入FIFO 进行发送。具体过程如下:(1包在发送前应该按规定的格式封装好,格式如下图6所示: 目的地址(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协议栈的实现A

8、RP地址解析协议的本质是完成网络地址到物理地址的映射1。物理地址有以太网和令牌环网两种基本类型,网络地址特指IP地址。具体到以太网,使用的是动态绑定转换的方法,但是会遇到许多细节问题,例如减少广播,ARP包丢失,物理地址变更(更换网卡、移动(移动设备到另一子网、消失(关机等。一般是设置ARP高速缓存,通过学习、老化、更新、溢出算法处理ARP映射表来解决这些问题。整个ARP处理过程,主要用5个函数实现。在实现网卡驱动程序后,所有ARP处理操作就是填写ARP包。主要程序代码编制如下:(1void init_arp(void/完成ARP表初始化,概括说就是ARP表state字段清0(2void ar

9、p_send(UCHAR * hwaddr,ULONG ipaddr,UCHAR msg_type/完成ARP请求(3void arp_rcve(UCHAR xdata * inbuf/ 完成响应操作(4UCHAR xdata * arp_resolve(ULONG dest_ipaddr /完成从cache里面查找对应/IP地址的物理地址,如果没有,就发送ARP请求网际协议IP是TCP/IP协议族中最为核心的协议,它的主要功能是负责把数据交付给主机,当目标主机与原主机处于不同的物理网络中时,IP负责把数据包路由到相应的目标网络上2。Internet上所有的数据都以IP数据包格式传输。IP协议

10、最大的特点是提供不可靠的和无连接的数据包传送服务。IP协议主要实现以下两个子程序:(1 void ip_send(UCHAR xdata*outbuf,ULONG ipaddr, UCHAR proto_ id,DINT len/发送IP数据;该子程序用来创建一个发送数据报。(2 void ip_rcve(UCHAR xdata *inbuf /接收IP数据;该子程序检测一个外来数/据包,并对数据包作相应的处理。1.使用TCP状态机:TCP协议是整个TCP/IP协议的核心,也是传输层中最复杂的协议。TCP协议在两个端点之间建立了等效于物理连接的逻辑连接。数据沿着这个连接双向传输。连接的双方必须

11、对发送和接收的数据保持跟踪,以便能够检测出数据流中的遗漏和重复5。2.使用简单的确认机制:序列号和确认号这两个字段用于协同完成TCP协议中的确认工作。对于每个接收到的数据包进行确认号的计算,需要从接收到的数据包中提取TCP报文的数据部分长度,并进行计算,这增加了处理器的运算量。但如果每次只对单个TCP报文进行确认的话,并没有太大的难度。TCP协议主要包含的程序如下:(1 init_tcp(void /初始化TCP协议 (1 Tcp_send(UINT flags, DINT hdr_len, UCHAR nr /发送TCP(2 Tcp_retransmit(void /重发TCP数据(3 Tc

12、p_inactivity(void /停止TCP(4 Tcp_rcve(UCHAR xdata * inbuf, UINT len /接收TCP数据HTTP协议是TCP协议的高层协议,HTTP的请求和应答都是一行或多行文本,它的结束标志是一个换行符5。如果请求成功,数据就沿着该连接发送,直到发送完为止。HTTP 的端口号为80。HTTP中的命令称呼为方法(method,其中GET语句用来获取文档,POST 语句用来粘贴文档。通过判断GET和POST语句后面的文件名来判断所需要传递的文件的位置。请求:GET / HTTP/1.1响应:HTTP/1.1 200 OKContent-type: text/html</body></html>4.应用部分本WEB服务器系统几乎可以应用于所有对实时性要求不是很高的场合,只要对本系统的相关部分做些修改

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论