基于Internet的远程监控系统设计 - 图文
更新时间:2024-06-01 03:39:01 阅读量: 综合文库 文档下载
本 科 生 毕 业 论 文
题 目: 基于Internet的远程监控系统设计 院 系: 信息科学与技术学院电子系
二〇〇 九 年 五 月
摘 要
科技的发展必然使人类的生活越来越自动化,足不出户却可以决胜于千里之外,这就需要借助于两样东西,一是现场监控系统,二是INTERNET。本文介绍了一种简单的典型的基于INTERNET的远程监控系统,但它包括了基本的远程监控系统基本思想与一般架构。此远程监控系统的核心是经典的51系列单片机,它作为系统的大脑,是系统的神经中枢,另一个必不可缺的就是W5100芯片,此芯片内部集成了TCP/IP协议栈、以太网介质访问层(MAC)和物理层(PHY),扮演着通讯员的角色,负责系统与外界的沟通,在现场与控制台之间搭建了一个方便快捷的桥梁。其它的还包括温度检测芯片以及若干个LED灯管。整个系统选材较少,因此具有功耗低、价格低廉、稳定性强、开发简单、体积小的优点,低廉的配置也有使此方案对于大部分人来说实现起来也是一件容易的事。此外,本系统实现了可以在终端通过IE浏览器访问系统、监控系统的模式,使远程监控更方便更人性化。
关键字:远程监控;W5100;TCP/IP协议;嵌入式服务器
i
Abstract
As the developing scientific technology, person's life become easier and more automatic, people can finish something even they are miles away from the scene. All of this is by the help of two things, one is scene control system, and the other one is internet. There is something about the simple remote control system based on internet in this study, and the basic configuration and classic way to carry out of a remote control system will be included. The major thing or the key of this system is a classic 51 micro control unit. It is the brain of this system. Another most important thing of this system is W5100 Internet chip, which brings TCP/IP protocol, MAC, PHY together. The W5100 chip helps the system to communicate with internet. What else, the system includes a chip to detect the scene temperature. So in a word, this system is an ideal solution of Intelligent Household system that easy to develop, stability, low cost, with little size and low power dissipation, what else, this system can be displayed and controlled by IE browser, it makes the remote controlling more convenience.
Keywords: remote system; W5100; TCP/IP protocol; embed server
ii
目 录
第一章 绪论 ................................................................................................................. 1
1.1 嵌入式系统概述............................................................................................ 1 1.2 嵌入式INTERNET ....................................................................................... 3 1.3 远程监控系统发展现状与趋势.................................................................... 4 1.4 论文研究意义................................................................................................ 5 第二章
监控系统硬件实现 ...................................................................................... 7
2.1 51单片机管理模块....................................................................................... 8 2.2 网络芯片W5100 ............................................................................................. 9
2.2.1 W5100 特点 ........................................................................................ 9 2.2.2 W5100 引脚 ...................................................................................... 10 2.2.3 W5100 存储器映像 .......................................................................... 13 2.2.4 W5100寄存器 ................................................................................... 14 2.2.5 W5100与MCU的连接方式 ............................................................ 15
第三章 远程监控系统程序设计与实现 ................................................................... 19
3.1 W5100 程序部分 ...................................................................................... 19
3.1.1 W5100 的初始化 .............................................................................. 19 3.1.2 W5100 实现TCP通信 .................................................................... 20 3.1.3 3.2
W5100实现UDP数据通信 ........................................................... 25
主体程序 .................................................................................................... 26
第四章 系统仿真 ....................................................................................................... 28
5.1 EVB-W5100/MCS51与PC的连接 ........................................................... 29
iii
5.2 演示软件测试.............................................................................................. 30 5.3 演示总结...................................................................................................... 31 第五章 结论 ............................................................................................................. 33 参考文献 ..................................................................................................................... 34 致谢 ............................................................................................................................. 35 附录 ............................................................................................................................. 36
附录1 W5100初始化程序 ............................................................................... 36 附录2 W5100服务器模式程序 ....................................................................... 41
iv
第一章 绪论
1.1 嵌入式系统概述
对于大多数人来说,谈起现代化电子产品的时候都会第一时间想到计算机,或者更确切地说是想到PC,因为对他们来说PC机已经是和他们形影不离了。但是他们都忽略了比PC更广泛应用的一种现代化电子产品,那就是嵌入式系统。各种微处理器应用的数量远远地超过了PC上应用的X86处理器,而微处理器绝大部分是用在嵌入式系统中的,因此可以说嵌入式系统已经成为了人们生活中不可或缺的一分子了。在现代社会生活中,我们不仅仅需要那种放在桌上处理文档、进行工作管理的计算“机器”,我们还可能拥有大小不一、形状各异的嵌入式电子产品,小到手机、MP3、PDA等微型数字产品,大到网络家电、车载电子设备等。目前,各种各样的新型嵌入式系统设备在应用数量上已经远远超过了通用计算机。在工业和服务领域,使用嵌入式技术的数字机床、工业机器人、服务机器人等正在逐渐改变着传统的工业生产和服务方式。嵌入式系统可以这样定义:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。一般来说,嵌入式系统由处理器、存储器、输入/输出设备和软件(包括操作系统和应用程序)4部分组成,如图1-1所示。
应用程序 操作系统 OUTPUT 处理器 INPUT 硬件结构 软件结构
存储器 图 1-1:嵌入式系统的组成
1
嵌入式系统与PC比较如下表1-1与表1-2 :
设备说明 CPU 内存 内存设备 输入设备 输出设备 声音设备 接口 其它设备 嵌入式系统 表1-1:嵌入式系统与PC硬件上的比较 PC 嵌入式系统(ARM,68K等) CPU(INTEL的Pentium, AMD的Athion等) SDRAM芯片 Flash 按键、触摸屏 LCD 音频芯片 MAX232等芯片 USB芯片、网卡芯片 SDRAM或DDR内存条 硬盘 鼠标、键盘、麦克风 显示器 声卡 主板集成 主板集成或外接卡 表1-2:嵌入式系统与PC软件发及开发平台上的比较 引导代码 嵌入式系统 Boot loader引导,针对不同电路进行移植 操作系统 LINUX,WINCE,UCOS等,需要移植 驱动程序 每个设备驱动都必须针对电路板进行重新开发或移植,一般不能直接下载使用 协议栈 开发环境 需要移植 借助服务器或PC进行交差编译 仿真器 需要 不需要 操作系统由第三方供应商提供 在本机就可以开发调试 WINDOWS,LINUX等,不需要移植 操作系统含有大多数驱动程序,或从网上直接下载使用 PC 主板的BIOS引导,无须改动
从上面两个表格可以很容易看出嵌入式操作系统与PC之间存在着很大的差
2
异,两者的最大区别在于嵌入式系统性具有“软硬件可裁剪性”的灵活性,可以根据各种具体的现场实现千差万别的特定功能。嵌入式系统同PC系统相比有以下特点:
1. 功耗低、体积小、专用性强。嵌入式本身就是为特定的用户或特定的功能量
身定做的,所以它能把PC中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化。
2. 为了提高执行速度和系统可靠性,嵌入式系统的软件一般都固化在存储器芯
片中,而不是存储于磁盘等载体中。
3. 可靠性高。嵌入式系统对软件代码的要求很高,应尽最大可能避免“死机”
的发生,因为“死机”很可能导致系统的崩溃或造成严重后果。 4. 嵌入式系统的开发需要专门的开发工具和开发环境[1]。
1.2 嵌入式INTERNET
介绍了嵌入式系统与PC既有共性也有个性,具体的应用可以根据实际工作而选择使用嵌入式系统还是普通的PC机。或者还有一种方法就是把两者结合起来,各取所长,从而合成一个更完美的系统,那就是基于Internet的嵌入式系统,而如今世界上无所不在的Internet则是把二者结合起来的重要桥梁。下面将要介绍的是Internet在嵌入式系统中的应用。
网络在人们生活中的作用是不容置疑的。随着网络的发展,网络已经深入到人类生活的各个方面,网络就像覆盖在地球表面的电子皮肤,它大大的改变了我们的工作方式和生活方式。21世纪是一个网络化的世界,这不仅是指通过计算机网络形成了全球化的Internet,而且还包括我们身边的楼宇自动化系统、家庭电器产品、智能仪表及工业过程控制等通信网络。若能将Internet网络技术延伸到电子设备或控制网络并使之互连,将Internet的应用范围扩大到任何需要网络的地方,使之增加许多新的、有价值的、超越局域网的服务功能,必然会让我们的世界变得更加自动化和智能化。
家庭电器产品和工业设备绝大部分都采用单片机或微控制器MCU来进行数据处理,使用嵌入式系统来实现控制功能。智能楼宇、工业过程等在这些芯片的基础上,使用特定的协议如Lon Works、CAN等组成独立的、自成一体的控制网
3
络。如果能将嵌入式系统连接到Internet上,则可以方便、价格低廉地将信息传送到几乎世界上的任何一个角落,进而进行远程监控。
嵌入式Internet就是在这种背景下产生的,它依托于工业以太网技术而构建,是Internet技术、Web技术和嵌入式技术的有机融合。嵌入式Internet技术是指电子设备通过嵌入式模块接入Internet,以Internet为介质实现信息交互的技术。嵌入式Internet不仅是一种设备接入技术,而且是一种异构网络互连技术。通过Web技术和嵌入式技术可将设备接入到Internet以实现远程的监控、诊断、测试、管理及维护等功能[2]。
当前,为了满足世界上越来越多的Internet用户,Internet的IP协议正处于在IPv4协议到IPv6协议的过渡时期。随着嵌入式Internet的发展,越来越多的嵌入式设备都将需要接入Internet进行信息交互。因此,现有的IP地址资源将受到严重挑战,IP地址资源的短缺将成为嵌入式Internet发展的瓶颈。IPv6主要用于解决IPv4地址资源短缺的问题,IPv4的地址域长度是32位,而IPv6的地址长度为128位,因此,IPv6能够提供足够多的IP地址,当然可以为每个嵌入式系统设备提供接入Internet的IP地址。随着IPv6协议的逐渐应用,IP地址资源的缺乏将得到彻底的改善,嵌入式Internet也将得到更进一步的发展[3]。
不久的将来,各种嵌入式系统与PC机的关系也会因为有Internet这座桥梁而越来越密不可分,彼此取长补短,从而构成一个更全面的嵌入式系统。
1.3 远程监控系统发展现状与趋势
远程监控系统的发展很大程度上依赖于网络的发展。目前,接入Internet的方式有很多,有以太网、ISDN、ADSL、电话接入等方式。其中以太网协议已经非常广泛地应用于各种计算机网络,包括办公室局域网、工业控制网络、因特网、智能家居等场合。以太网作为一种廉价、高效的Internet接入方式已经得到广泛的应用,并且还在不断地发展。所以通过以太网接入方式实现嵌入式Internet具有现实意义。嵌入式系统通过以太网接入Internet主要有如下三种解决方案: 1. 32/64位高端嵌入式系统+RTOS(实时操作系统)的实现方式。该方案采用
高端的32/64位微控制器上运行实时多任务操作系统,以实时操作系统作为软件平台,在实时多任务操作系统上直接实现TCP/IP协议,从而实现嵌入
4
式Internet。目前常见的此类实时操作系统有NUCLEUS、LINUX等等,由于系统自带TCP/IP协议,因此实现起来比较容易。
2. PC网关+专用网的实现方式。采用专用的网络把若干个嵌入式仪器连接在一
起,然后再把该网络与PC机连接起来,将PC作为网关,由PC机把网络上的信息转化为TCP/IP协议数据包,发送到Internet上实现信息的共享[11]。 3. 8位单片机+网络接口控制器直接接入Internet的实现方式。由网络控制器实
现网络接口,由主控制器执行存储在系统ROM中的协议代码来提供所需的通信协议。该方案最突出的特点就是成本较低廉,但是软件设计复杂,需要对TCP/IP协议有深入的了解和研究。
基于Web方式是实现远程监控的一个趋势。随着信息技术和网络技术的发展,Internet在过去得到了飞速地发展,并围绕着Internet出现了许多新的技术和新的应用。WWW系统就是在这种形势下,作为网络化信息服务的基础迅速地发展起来的。WWW是一个基于Internet的全球连接的、分布的、动态的、多平台的交互式超媒体信息系统。它利用多种协议传输,能检索分布在世界各地WWW服务器的信息资源。在基于Web的远程监控系统中,客户端使用通用的Web浏览器,通过Internet对生产现场进行监控。这种方案具有显着的优点: 1) Internet技术发展至今,在开放性、通用性、易用性和安全性方面都具备了
成熟可靠的技术。
2) 不需要开发专门的客户端软件,将应用程序集中在服务器上,大大减少了客
户端开发的工作量,而且易于扩充和修改。
3) 系统具有统一的用户界面,用户不再需要为不同的控制系统安装不同的客户
软件,也不再需要针对不同的客户软件进行不同的培训,任何得到授权的用户都可以使用Web浏览器来对现场进行实时监控。 4) 控制网络和数据网络的信息得以集成,有利于信息管理[4]。
1.4 论文研究意义
目前主流的嵌入式远程监控系统一般都需要专门的嵌入式处理器与嵌入式实时操作系统的支持下完成的,要求的处理器也较高端如常见的ARM微处理器以及LINUX实时操作系统。而本文实现的嵌入式远程监控系统则不需要另外的
5
操作系统的支持,而且使用普通的51单片机芯片作为处理器中央处理器,硬件上就节约了很大的成本。由于W5100内部集成了全硬件的、且经过多年市场验证的TCP/IP协议栈、以太网传输层(MAC)和物理层(PHY)。硬件TCP/IP协议栈支持TCP,UDP,IPV4,ICMP,ARP,IGMP和PPPOE,这些协议已经在市场上好多领域经过了多年的验证。因此它可以不需要考虑以太网的控制而只需要进行简单的端口(SOCKET)编程就可以实现接入网络的功能,实现没有操作系统的INTERNET连接[5]。
6
第二章 监控系统硬件实现
本文设计的远程监控系统分为系统管理模块MCU,系统通信模块W5100,系统现场监控模块即数据采集模块及显示模块,先由现场数据采集模块(温度检测)接收现场信息然后发送到MCU,再通过W5100芯片传送到INTERNET上去。客户端就可以用IE浏览器访问到这些数据。
本系统的硬件架构如下图2-1所示: 远程控制端 MCU W5100 RJ45 因特网 温度传感器 浏览器 图 2-1:系统架构图
其中,RJ45接口是带有网络变压器的物理层接口。在W5100中,通过将SEN引脚经10KΩ电阻上拉到高电平以使能其处于SPI从模式。CS为片选,MISO和MOSI为两条数据传输线,用于数据的传输与接收。W5100的SPI工作时钟由处于主模式AT89S52提供。此外,为了方便AT89S52判断W5100的工作状态,必须将W5100的中断引脚INT与AT89S52的外部中断线相连接。W5100的第5、6、8和9引脚是PHY信号线,用于与RJ45接口相连接。除电源相关引脚外,W5100的其它引脚可以选择置空,总的说来,系统连接简单,极大减小了电路板的复杂度与连接出错率[6]。
系统中没有外加的TCP/IP协议程序,TCP/IP协议栈由W5100来支持,它集TCP/IP协议栈、以太网MAC和PHY为一体,其内部16KB的发送/接收缓冲区可快速进行数据交换,最大通信速率达到25Mbps;内嵌10BaseT/100BaseTX以太网物理层,支持自动应答;提供多种总线接口方式,可以很方便地与各种MCU
7
连接,简化了硬件电路设计,使嵌入式系统在没有操作系统的支持下,真正实现单芯片接入因特网的理想。为减少PCB板面积和布线复杂性,考虑到系统的数据传输率要求不高,选择SPI接口作为AT89S52和W5100的连接方式。AT89S52、W5100和RJ45接口构成一个典型的嵌入式Web服务器,实现简单,成本低廉[7]。
下面从各个部分介绍本系统的具体情况。
2.1 51单片机管理模块
本文使用的是AT89S52芯片。AT89S52是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机。片内含4K BYTES的可反复擦写的只读程序存储器(PEROM)和128 bytes 的随机存取器(RAM),器件采用ATMEL 公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央器(CPU)和Flash 存储单元,功能强大AT89S52 单片机可为你提供许多高性价比的应用场合,可灵活运用于各种控制领域。它的主要性能特点包括: 1)与MCS—51单口指令系统完全兼容。 2)4K字节可重擦写Flash 闪存储器。 3)1000次擦写周期。 4)全静态操作:0~ 24 MHz。 5)三级加密程序存储器。 6)128*8 字节内部RAM。 7)4 个8位可编程I/O端口。 8)2个16 位定时/计时器。 9)6个中断源。
10)可编程串行UART通道。 11)低功耗空闲掉电模式[12]。
8
2.2 网络芯片W5100
图2-2 :W5100实物
W5100内部集成以太网物理层RTL8201CP核、全硬件且经过多年市场验证的TCP/IP协议栈、以太网介质访问层(MAC)和物理层(PHY)为一体。W5100的硬件TCP/IP协议栈支持TCP、UDP、CMP、IGMP、IPv4、ARP、PPPOE、Ethernet等网络协议;支持4个独立的Socket通信,内部还集成有16K字节的发送/接收缓冲区可快速进行数据交换,最大通信速率达到25Mbps;提供多种总线(两种并行总线和SPI总线)接口方式,使用W5100不需要考虑以太网的控制,只需进行简单的端口(Socket)编程就可以很方便地与各种单片机连接。
2.2.1 W5100 特点
1) 支持硬件化TCP/IP协议:TCP、UDP、ICMP、 IGMP、PPPOE、以太网。 2) 内嵌10BaseT/100BaseTX以太网物理层。 3) 支持自动通信握手(全双工和半双工)。 4) 支持自动MDI/MDIX,自动校正信号极性。
5) 支持ADSL连接(支持PPPOE协议中的PAP/CHAP认证模式)。 6) 支持4个独立端口同时运行。 7) 不支持IP的分片处理。
9
8) 内部16KB存储器用于数据发送/接受缓存。 9) 0.18um CMOS工艺。
10)3V工作电压,I/O口可承受5V电压。 11)80脚LQFP小型封装。 12)环保无铅封装。
13)支持SPI模式0、3接口。
14)多功能LED信号输出(TX、RX、全双工/半双工、地址冲突、连接、速度等)。
2.2.2 W5100 引脚
图2-3 W5100引脚
10
1)MCU接口信号列表:
表2-1:MCU接口信号
2)以太网接口信号:
11
表2-2:以太网接口信号
3)其它接口信号:
表2-3:其它接口信号
4)电源接口信号:
表2-4:电源接口信号
5)时钟接口信号:
表2-5:时钟接口信号
12
6)LED信号:
表2-6:LED信号
2.2.3 W5100 存储器映像
W5100内含公共寄存器,端口寄存器,发送存储器以及接收存储器,如下图所示:
图2-4:W5100存储器映像
13
2.2.4 W5100寄存器
1)公共寄存器:
? 公共寄存器保存的是各个端口(Socket)都通用的参数如:网关,本机IP和
本机物理地址等。
? MR(模式寄存器):该寄存器用于软件复位、Ping关闭模式、PPPOE模式
以及间接总线接口。
? GWR(网关IP地址寄存器):该寄存器设置默认网关。
? SUBR(子网掩码寄存器): 该寄存器用来设置子网掩码(Subnet mask)值。 ? SHAR(本机物理地址寄存器):该寄存器用来设置物理地址。 ? SIPR(本机IP地址寄存器):该寄存器用来设置本机IP地址。
? IR(中断寄存器):CPU通过访问该寄存器获得产生中断的来源。任何中断都
可以被中断屏蔽寄存器(IMR)中的位屏蔽。当任何一个未屏蔽中断位为“1”,INT的信号保持低电平。只有当所有未屏蔽的中断位为0时,INT才恢复高电平。可产生中断的原因包括:IP地址冲突(CONFLICT),目标IP地址不可达(UNREACH),PPPOE连接关闭,端口0~3中其中一个中断(Sn _INT)。 ? IMR(中断屏蔽寄存器):对应IR中断的屏蔽,当对应位为“0”则中断不能
产生。
? RTR(重发时间寄存器):该寄存器用来设置溢出的时间值。每单位100微
秒。
? RCR(重发计数寄存器):该寄存器的数值设定可重发的次数。若重发次数 超过设定值则产生超时。
? RMSR(接收存储器空间大小寄存器):该寄存器配置4个Socket端口的接 收缓存大小,默认值为0x55,即每个端口2K缓存。
? TMSR(发送存储空间大小寄存器):该寄存器配置4个Socket端口的发送 缓存大小,默认值为0x55,即每个端口2K缓存。
? PATR(PPPOE模式下的认证类型): 在与PPPOE服务器连接时,改寄存器 指示已经被通过的安全认证方法。W5100支持PAP和CHAP。
? PTIMER(PPP LCP请求计时寄存器): 该寄存器表示发出LCP Echo所 需要的时间间隔。每单位约25ms。
14
? PMAGIC(PPP LCP模数寄存器):该寄存器用于LCP握手时采用的模数选 项。
? UIPR(不可到达的IP地址寄存器):不可到达的IP地址寄存器。 ? UPORT(不可到达的端口号寄存器):不可到达的端口号寄存器[11]。
2.2.5 W5100与MCU的连接方式
W5100与MCU的连接方式主要有直接总线连接、间接总线连接、SPI总线连接这三种连接方法,不同的连接方法适应于不同的场合,应该按需选择最恰当的连接方式。 1)直接总线连接:
直接总线连接方式是最直观的一种连接方式,它采用15位地址线,8位数据线,另加/CS,/RD,/WR及/INT等信号线。如图2-5所示:
图2-5:W5100与MCU直接总线接口方式
2)间接总线连接:
采用2位地址线,8位数据线,另加/CS,/RD,/WR及/INT等信号线。2~14这十三根没用到的地址线通过电阻接地。如图2-6所示:
15
图2-6:W5100与MCU间接总线接口方式
间接总线接口相关的寄存器说明如表2-7所示: 数值 0x00 符号 MR 表2-7:间接总线接口相关寄存器
说明 它选择间接总线接口,以及地址自动增加。 间接总线模式下的地址寄存器,只在大端模式(Big-endian)下使用。 0x01 0x02 IDM_AR0 IDM_AR1 0X01 IDM_AR0:MSB 0X02 IDM_AR1:LSB 例:读取端口0的命令寄存器SO_CR(0X0401),则 0x01(IDM_AR0) 0x02(IDM_AR1) 0X04 0X01 0x03
IDM_DR 间接总线接口模式下的数据寄存器 读/写内部寄存器或存储器的过程:
?
将要读写的地址写入到IDM_AR0和IDM_AR1寄存器
16
?
再从IDM_DR寄存器读写数据
如果要对某个地址的顺序读写 ,则可以将模式寄存器MR的AI置“1”,然后执
行一次上述第1项 后,再读IDM_DR,IDM_AR的值将自动加1。这样,只需要连续对IDM_DR读写 ,数据就可以连续地读出或写入。
MCU与W5100以间接总线方式接口时应注意:
? W5100的SEN引脚必须通过一个10K的电阻接地,选择W5100的总线接口
方式。
? W5100的SCLK、SCS、MOSI和MISO四根信号线可以悬空,只使用D0~D7,
A0/A1及CS,WR,RD,A2~A14短路连接后通过一个10K的电阻接地。 ? W5100的INT引脚是中断输出,MCU需要根据该信号来判断W5100的工作
状态。
? LINKLED是W5100输出的以太网物理层的信号,MCU需要根据该信号判
断以太网的联接是否正常。该信号一般需要上拉输入到MCU。 W5100的SPDLED,FDXLED,COLLED可以根据需要选择是否需要输入到MCU[8]。
3)SPI总线接口方式:
串行接口模式只需要4个引脚进行数据通信。这4个引脚的定义分别为:SCLK,/SS,MOSI,MISO。利用W5100的SPI_EN引脚选择SPI操作。如图2-7所示:
图2-7:W5100与MCU的SPI连接方式
17
MCU与W5100以SPI方式连接时应注意:
? W5100的SEN引脚必须通过一个10K的电阻接到高电平,选择W5100的
SPI接口方式。
? W5100的D0~D7,A0~A14及CS,WR,RD可以悬空,只使用SCLK,SCS,
MOSI和MISO四根信号线。
? W5100的INT引脚是中断输出,MCU需要根据该信号来判断W5100的工作
状态。
? LINKLED是W5100输出的以太网物理层的信号,MCU需要根据该信号判
断以太网的联接是否正常。该信号一般需要上拉输入到MCU。
? W5100的SPDLED,FDXLED,COLLED可以根据需要选择是否需要输入
到MCU[2]。
18
第三章 远程监控系统程序设计与实现
本章主要介绍系统的软件部分的实现方法,包括W5100的编程实验TCP传输与MCU的编程实现数据处理,下面先分开来介绍各个程序的实现方法。
3.1 W5100 程序部分
通过设置寄存器与存储器,就可以把W5100与INTERNET连接起来进行数据通信,下面将一步步地介绍设置寄存器与存储器的方法。
3.1.1 W5100 的初始化
利用W5100进行数据通信前必须先要对它进行初始化,。其初始化包括以下部分:
? 模式寄存器(MR)。 ? 中断屏蔽寄存器(IMR)。 ? 重发时间寄存器(RTR)。 ? 重发计数寄存器(RCR)。 ? 网关地址寄存器(GAR)。 ? 本机物理地址寄存器(SHAR)。 ? 子网掩码寄存器(SUBR)。 ? 本机IP地址寄存器(SIPR)。
? 端口发送/接收存储器分配信息(RMSR/TMSR)[10]。
初始化程序流程如图3-1所示:
19
模式寄存器(MR) 中断屏蔽寄存器(IMR) 重发时间寄存器(RTR) 重发计数 寄存器基本设置 网关地址寄存 器(GAR) 设置网络信息 本机物理地址寄存器(SHAR) 子网掩码寄存器(SUBR) 本机IP地址寄存器(SIPR) 设置端口存储器信息
图3-1:W5100 初始化流程图
W5100初始化与W5100的Socket初始化两个C语言程序见目录,此程序在单片机的C语言编译器上都可以编译通过。
3.1.2 W5100 实现TCP通信
TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议,由IETF的RFC 793说明(specified)。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能。TCP是因特网中的传输层协议,使用三次握手协议建立连接。当主动方发出SYN连接请求后,等待对方回答SYN,ACK。这种建立连接的方法可以防止产生错误的连接,TCP使用的流量控制协议是可变大小的滑动窗口协议。第
20
一次握手:建立连接时,客户端发送SYN包(SEQ=x)到服务器,并进入SYN_SEND状态,等待服务器确认。第二次握手:服务器收到SYN包,必须确认客户的SYN(ACK=x+1),同时自己也送一个SYN包(SEQ=y),即SYN+ACK包,此时服务器进入SYN_RECV状态。第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ACK=y+1),此包发送完毕,客户端和服务器时入Established状态,完成三次握手[10]。
TCP是以连接为基础的通信方式,它必须首先建立连接,然后利用连接的IP地址和端口号进行数据传输。TCP有两种连接方式:一被种是服务器模式(动开启),即等待接收连接请求以建立连接;另一种是客户端模式(主动开启),即发送连接请求到服务器,图3-2是W5100 实现TCP通信的示意图:
图3-2 :W5100 实现TCP通信
一、服务器模式(SERVER MODE):
采用此模式时,首先要进行端口初始化,初始化一个端口需要设置运行模式和端口号,并在端口命令寄存器打开端口。端口初始化涉及到以下寄存器: ? 端口n模式寄存器Sn_MR
21
? 本机端口n的端口号Sn_PORT ? 端口n命令寄存器Sn_CR
工作在服务器模式下的端口要侦听是否有连接请求,若有则建立连接准备收发数据。收发完数据后还要断开连接。过程流程如图3-3所示:
22
打开端口 侦听 N 建立连接成功? Y Y 收到数? 接收程序 N 发送数据程序 发送数? Y N 收到完成信号? Y N 断开连接程序 N Y 要断开连接? 关闭端口? N N 超时? N 超时? Y Y 关闭端口 图3-3 TCP数据服务器模式传输示意图
工作在服务器模式的程序实现方法如附录2所示。
23
二、客户端模式(client)
客户端模式下的端口要主动发起连接请求,若成功建立连接则准备收发数据。收发完数据后还要断开连接。过程流程如图3-4所示:
开端口 建立连接 建立成功? Y N N 收到数据? Y 接收程序 发送数据? N Y 最后的ACK? N N 超时? 要断开链接? N Y N 超时? Y 发送程序 关闭连接程序 Y 要关闭端口? N N 超时? N Y Y 关闭端口 图 3-4:TCP数据传输示意图(客户端模式)
24
TCP工作在客户端时需要首先进行端口初始化。初始化一个端口需要设置运行模式和端口号,并在端口命令寄存器打开端口,以下寄存器端口需初始化:端口n模式寄存器(Sn_MR),本机端口n的端口号(Sn_PORT),端口n命令寄存器(Sn_CR)。将端口n初始化为TCP模式的具体程序可以参考上面服务器模式中的初始化程序[11]。
3.1.3 W5100实现UDP数据通信
UDP(User Datagram Protocol),即用户数据报协议,是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。是一个简单的面向数据报的传输层协议。UDP是一种不可靠的、无连接的数据传输方式。它不需要建立 就可以进行数据传输,因此UDP的数据可能丢失,覆盖或翻转。由于数据包传输的速度可能较快,接收方可能无法及时处理数据包,因此,用户在应用层必须确保数据传输的可靠性。UDP传输数据过程流程如图3-5所示:
25
开端口 收到数据? Y 接收程序 N 发送数据? Y 发送程序 N N 最后的ACK? Y 要关闭端口? N 超时? Y Y 关闭端口
图 3-5:UDP数据传输流程图
3.2 主体程序
下面介绍主体程序的设计方法。主体程序中首先初始化AT89S52和W5100,配置W5100的工作模式,启动温度传感器,配置W5100工作于TCP服务器模式,主程序的流程图如图3-6所示:
26
初始化STC89C51 开始 初始化W5100 W5100触及AT89S52的外部中断 N Y 处理W5100产生的外部中断 Y Socket 端口接收数据 N 处理收到的数据库 图3-6:主体程序流程图
为了能够得到实时的数据,因此接下来的程序操作是一个无限循环体,程序开始不断检查外部中断状态标志和Socket接收数据状态标志是否改变,同时开始处理A/D转换的数据,以保证服务器在产生网页时能得到当前的各种最新数据[8]。一旦W5100的Socket端口有中断事件产生时,W5100将通过其中断引脚INT触发AT89S52的外部中断,使AT89S52进入外部中断处理函数改变外部中断状态标志,程序接着进入处理W5100中断事件函数,在此函数中,AT89S52通过访问W5100的中断寄存器(IR)和端口0中断寄存器(S0_IR)判断出W5100的端口0产生何种中断事件,若Socket接收到数据,则改变外部中断状态标志。程序检测到外部中断状态标志发生改变,立即进入处理接收数据函数[6]。
27
第四章 系统仿真
由于硬件上的制约,因此只能用由AT89S52与W5100组成的EVB-W5100/MCS51板来演示整个系统的可行性与实际应用情况。图5-1为EVB-W5100/MCS51实物图:
图5-1 EVB-W5100/MCS51实物图
EVB-W5100/MCS51板有如下特性:
? 使用ATMEL公司的AT89S52单片机,可兼容绝大多数的MCS-51系列的单
片机;
? RJ-45网络输出可直接连接以太网路由器或计算机(需交叉线连接); ? 提供串行EEPROM存储器,可保存网络参数;
? 可以通过跳线设置默认的网络参数,避免参数设置错误而无法进行通信; ? 提供一个标准的RS-232C异步通信的DB9接口; ? 提供一个温度传感器,可检测环境温度;
28
? 提供两个LED指示灯,可进行远程控制演示; ? 提供完整的评估板原理图和PCB封装图;
? 提供完整的评估板MCS-51 C语言的软件源代码,使用户快速了解W5100
的使用;
? 提供计算机端的演示软件,可使用户了解TCP/IP协议架构,掌握W5100的
使用方法;
? 7.5v电源供电,内部带5v和3.3v稳压电源。
EVB-W5100/MCS51内部集成了温度检测器和两个LED控制灯,因此可以把两个LED看成是对现场需要控制的继电器的输入信号,而温度模块刚想象成检测的是监控现场的温度。下面我们来进行。
5.1 EVB-W5100/MCS51与PC的连接
EVB-W5100/MCS51与PC连接主要有以下两个方案: 1. 串行口连接
使用标准的RS-232电缆线连接EVB-W5100/MCS51与PC机。如下图所示:
图5-2:EVB与PC串口通信连接
可以通过DEMO板提供的演示软件用串行口对DEMO板的以太网参数进行设置。设置的内容包括:本机IP;网关IP;子网掩码;Socket0的工作模式、端口号、目的IP地址、目的端口地址;Socket1的工件模式、端口号、目的IP地址、目的端口号。
注意:初始化设置完成以后必须重新上电,新的参数才会生效。 2. EVB-W5100/MCS51的网络连接
29
EVB-W5100/MCS51有两种方法接入网络:直接连接;通过交换机连接。考虑到自身条件只能用直接连接这种方法。如下图所示:
图5-3:EVB与PC网络直接连接
EVB-W5100/MCS51可以同时进行串行连接与网络连接,这样不会影响它们的正常使用。当EVB-W5100/MCS51与PC正确连接后会在桌面右下角显示本地连接已接上的字样。
5.2 演示软件测试
EVB-W5100/MCS51与PC正确连接好后。然后就可以开始设置PC机的网络参数,包括IP地址、子网掩码、默认网关这三个参数的设置,可以按照自己的意愿正确设置并把它记下来。如设置的IP地址为:192.168.0.5,子网掩码为:255.255.255.0,默认网关为:192.168.0.1。
然后打开DEMO演示软件,打开的时候选择“MCS-51评估板”,进入演示软件界面。如下图所示:
30
图5-4:演示软件界面
在“以太网通信参数”栏,出现了之前设定的各种网络参数。而“状态信息”栏显示的是本机网络参数信息以及一些帮助信息。如果此时还对网络参数进行修改,则要退出程序然后给EVB-W5100/MCS51重新上电才能使修改的参考有效。
5.3 演示总结
通过DEMO演示软件可以总结出以下几点:
1. 可以通过本地PC控制EVB-W5100/MCS51板上的LED亮灭情况,并且可以
随时地读取LED灯的以光情况,如果LED灯换作需要控制的继电器即是可以通过网络控制远程的继电器的工作。
31
2. 从演示软件中可以读取EVB-W5100/MCS51板上的温度参数,并随着
EVB-W5100/MCS51板上的温度的变化而变化,起到监控现场温度的作用。
32
第五章 结论
本文的主要内容是设计了一个简单、方便、功耗低的嵌入式系统与嵌入式服务器。硬件上采用的是市场上普遍使用的价格低廉的AT89S52单片机和新型的W5100网络控制芯片,以单片机为控制中心实现数据的处理,用W5100作为连接因特网的接口实现网络通信。实现方法简单,材料准备也较为方便,是架设一个简便嵌入式WEB服务器的较好方法之一。
通过本系统的设计我进一步地熟悉了TCP/IP协议的工作原理,同时也学会了W5100的使用方法。对于51MCU的嵌入式系统设计也有了更深的认为,加强了实际动手能力。
由于设计时间的短促与现实条件的因素,整个系统完成过程中还是存在不少的不尽人意的地方,但是通过论文的完成过程中学到了很多的知识,如嵌入式系统的基本构造、W5100的功能以及其基本使用方法并且进一步地熟悉了51单片机。对程序中应用到的软件如protel,Keil C51等也有了更大的了解与掌握。
本系统也存在着一些明显的缺点,如实时性差,安全性低,这是由于51单片机的性能限制而不可避免的。我认为以后的嵌入式远程监控系统的发展方向应如下所说:
1. 实时性更高。随着远程监控应用越来越广泛,对其响应的实时性要求也会相
应地提高。特别是对于基于Internet的远程监控系统还要考虑到网络的通断情况所以必须要想办法提高系统的响应速度。
2. 安全性更重要。网络安全由网络出现的第一天起就已经存在,要保证监控系
统的正常可靠运行就要想办法提高网络传输的安全可靠性。
随着嵌入式系统的广泛应用,远程监控系统也必定会飞速发展,基于Internet 的嵌入式系统将会为人类的幸福生活做出更大的贡献。
33
参考文献
[1] YANG S、CHEN X、ALTY J L, Design issues and implementation of
Internet-based process control、Control Engineering Practice,2003. [2]
陈飞,基于WEB的远程监控系统的研究与实现(硕士学位论文),新疆:新疆大学控制理论与控制工程,2007.6. [3] [4]
ARM嵌入式系统开发,北京:北京航天航空大学出版社,2005. 赵海,嵌入式INTERNET---21世纪的一场信息技术革命,北京:清华大学出版社,2001. [5]
王勇、姚亦峰、蒋兴浩等,嵌入式系统接入INTERNET的技术研究,计算机工程与应用,2002(4). [6]
李磊、杨柏林、胡维华,嵌入式WEB服务器软件的设计和实现,计算机工程与设计,2003(4). [7]
寇向晖,基于INTERNET的远程控制系统的设计(硕士学位论文),四川:西南石油大学计算机应用,2006. [8]
王淑娟 基于WEB的远程控制(硕士学位论文),武汉:武汉理工大学,2004. [9]
王向磊、杨大全、超文本传输协议HTTP探讨,沈阳工业学院学报,1998: 17.
[10] 姜书浩,嵌入式WEB服务器-精简TCP/IP协议栈的设计与实现(硕士学
位论文),天津:天津师范大学,2005. [11] W5100 数据手册 Version1.1.5.
http://www.wiznet.co.kr/cn/data/W5100-v1.1.6.pdf.
[12] ST89S52数据手册,http://datasheets.weeqoo.com/88889/26568.pdf.
34
致谢
本次论文的完成过程中,吴筠老师与陈曼娜老师给予了我很大的支持与鼓励,至此至终有什么问题或者什么需要帮忙的地方都可以从她们那里得到充足的资源和足够的协助,特别是她们向我推荐了论文过程中该看什么书,还有该怎样入手去实现整个系统。正由于她们的无私帮助才使得我得以顺利完成论文制作。
与此同时我还要感谢学校为我们完成实验提供了充足的硬件条件,开放实验室让我可以进行相关的实验操作,还有实验室的各位老师们也向我伸出过援助之手,在这里再一次地向你们说,谢谢!
35
正在阅读:
从一类单调性问题看算法的优化(汤泽)09-19
魔兽仿盛大1.4极品法师存档09-15
关于申报全省诗词进校园先进单位的请示03-07
2022年春人教新目标英语八年级下册Unit-7-全单元导学案(无答案)04-14
教师在线教学工作总结02-06
我学会了游泳作文400字07-12
卫生院乡村卫生服务一体化管理工作总结07-27
库存管理信息系统的分析05-16
企业筹资方式的选择及风险控制11-11
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 监控系统
- Internet
- 远程
- 基于
- 图文
- 设计
- 2019年最新苏教版六年级数学上册期末考试题及答案
- 20130816罩棚技术标
- 城市规划原理讲义(湖南培训资料) 复习要点
- 原污水管道渗漏处理专项施工方案
- 2、自考电工电子交流电路汇总
- 材料成形基本原理(刘全坤)课后答案
- 公路工程内业资料整理填写及归档范例
- matlab学习笔记
- 届高考化学二轮复习大题专题四工艺流程与无机知识综合应用
- 分式第一课
- 2013-2014下操作系统期末试卷A卷 (1)
- 2009 Revit 1级工程师学生用(1)
- 互换性与技术测量测的试题
- XX公司重大危险源评估报告范本2
- 安吉物流整车物流
- 商业银行简答题大全
- 第一单元 走进生命世界
- 关于车床、车削中心、车铣复合的说明
- 2015年1月西风井瓦斯发电站安装机组管路电火焊措施
- 物业管理实务案例分析参考资料