毕业设计论文基于TCPIP的机房多点告警传输与控制系统.doc

上传人:小** 文档编号:13306587 上传时间:2020-06-14 格式:DOC 页数:13 大小:146KB
返回 下载 相关 举报
毕业设计论文基于TCPIP的机房多点告警传输与控制系统.doc_第1页
第1页 / 共13页
毕业设计论文基于TCPIP的机房多点告警传输与控制系统.doc_第2页
第2页 / 共13页
毕业设计论文基于TCPIP的机房多点告警传输与控制系统.doc_第3页
第3页 / 共13页
点击查看更多>>
资源描述
毕业设计基于TCP/IP的机房多点告警传输与控制系统 告警数据的采集及网络传输的实现学院 通信工程 学生姓名 指导教师 摘 要 随着嵌入式系统的广泛应用,赋予嵌入式系统Internet网络接入功能已经成为一种需要,也是嵌入式应用领域的研究热点之一。本课题用应用最广泛的MCS-51系列单片机作为嵌入式系统的核心,自行设计和开发了一套适合该类嵌入式系统的精简TCP/IP协议栈,实现了低成本嵌入式系统的Internet接入。基于该系统,设计了一套完整、灵活、可扩展性强的机房监控设备。该设备适用于各种无人机房的远程监控,实现了远程监控的网络化。关键词 单片机 RTL8019AS 精简TCP/IP C51ABSTRACT With the widespread application of the embedded systems, endowing the embedded systems with network-access function has become necessary and one of the research focus of embedded system application field. This paper designs a tiny TCP/IP stacks suitable for embedded systems with the widely used MCS-51 series MCU as its CPU, which makes the low-cost embedded systems accessing the Internet come true. A complete remote-supervise device has been designed using this embedded system. It is an integrated, flexible and well expandable device that can be used in various non-person machine room, realizing the network for remote supervision.Keyword: MCU RTL8019AS Tiny TCP/IP C511、系统总体概述系统分为硬件设计和软件编程两个部分。其中,硬件部分包括三个功能模块:数据采集模块、汇集器模块和网络通信模块。三个模块各负其责但又协调统一,共同完成告警数据的采集、汇集及网络传输。图1给出了总体结构示意图。软件部分包括各功能模块的控制程序及精简TCP/IP协议栈的开发。整套系统具有多路数据采集,多路数据汇集以及网络TCP、UDP传输的功能;并且成本低,局域网传输稳定可靠。采集器1采集器2采集器8数据汇集器网络通信模块Internet图1 总体结构图监控中心2、数据采集模块的设计此模块的设计分为两个部分:数据采集卡和母板控制器。两者之间用DB37接口连接。数据采集卡负责采集数据,母板控制器负责数据的处理和传输。其中,数据采集卡前端使用光电偶合器,将设备的地信号和本系统的地信号分开,以免影响系统的稳定工作且起保护作用。母板的设计采用了8个LS244芯片作缓冲器,使用单片机的P2口进行片选,通过轮询的方式采集数据,并由单片机处理,形成自定义串行通信协议的数据帧格式,然后将该数据帧以RS232通信方式发送给下一级汇集器模块。为了此模块具有灵活性和通用性,在设计时加入了3位的拨码开关,连接到单片机的P0口,可以通过设定开关的不同状态来区分不同的设备以及使用采集卡的数量,方便用户。硬件总体结构如下图所示:数据线控制线片选片选片选多路数据采集缓存器0缓存器1缓存器7AT89C52串口通信拨码开关P0口MAX232图2 数据采集模块总体硬件结构图数据采集模块程序的编写,采用汇编语言,简单且运行效率高,程序的总体流程图如下:开始初始化1分钟定时?读取开关状态比较数据N轮询采集卡是否有变化?刷新发送数据计算校验和形成数据帧发 送YN接受数据根据不同数据做出相应动作中断入口中断返回图3 采集模块的软件总体流程图3、汇集器模块的设计多路汇集模块的主要功能是将多路(最多八路)串口过来的告警数据,汇集成一路数据,发送给网络通信模块;或是将网络通信模块过来的控制数据准确的分路给各个串口,实现双向通信。自定义的通信协议,除了很好的识别各路告警数据外,还具有线路自检功能,监控中心可根据数据帧中内容,知道各模块之间的连接是否正常,各数据采集卡的工作状态是否正常等,大大增强了整个系统的可靠性。硬件设计上采用了77E58单片机控制两片TL16C554四串口异步通信芯片来完成该模块数据汇集的功能。总体结构及接口如下图:TL16C554串口1串口2串口3串口4控制总线77E58通信口P0口地址锁 存器74LS573P2口3-8译码 器发地址总线数据总线读/写RD/WRP3.5复位MAX232MAX232MAX232MAX232数据采集模块1数据采集模块2数据采集模块3数据采集模块4MAX232网络通模块 图4 汇集器模块的硬件结构及接口此处使用77E58单片机是因为其内部有1K的SRAM可以用来暂存各路的数据,从而就不必外挂RAM,简化了硬件结构。控制程序的主要思路是采用寄存器查询方式进行数据收发,然后根据通信协议对数据进行相应处理,并配合定时器来达到线路的自检功能,流程图如下:开始77E58的初始化各路串口的初始化是否有数据?接受并校验数据处理数据发送至网络 通信模块YN无误错误复位定时器定时中断2分钟定时到?发送失效信息中断返回NY复位定时器串口中断发送中断?发送下一数据?发送完成?接受数据分析数据并分路给指定串口中断返回NYYN图5 汇集模块软件总体流程图4、网络通信模块的设计网络通信模块是本系统设计的重点也是难点所在。主要功能是实现数据的网络传输。主要包括对数据进行TCP/IP的打包或解包以及对网络控制器的控制与操作。设计中,为了降低系统成本,采用的是8位微处理器AT89C55WD单片机和10M以太网络控制器RTL8019AS。41 硬件的设计网络通信模块大致可以分为四个部分:主CPU、存贮器(包括IS62C256 32K的RAM 和24C02 I2C总线的EEPROM)、网络控制器RTL8019AS和串口通信部分。各个部分在单片机AT89C55WD的协调控制下,各尽所能,共同完成网络通信的任务。总体逻辑结构如图6所示。地址锁存器P0.0P0.7数据总线P2.0P2.6地址总线P2.7片选读/写RD/WR62256AT89C55WDRTL8019ASP3.5隔离变压器数据总线地址总线复位读/写网络通信口网络接口MAX232通信串口汇集器模块网络图6 网络通信模块的硬件结构和接口24C02P1.6P1.7EEPROM其中,设计的重点是网络控制器RTL8019AS的硬件设置和与单片机的接口设计。RTL8019AS的硬件设置包括三个内容:工作模式的设定、I/O基址与数据总线模式的设置以及网络接口的设置,这些硬件设置都是网络控制器正常工作的前提。针对本课题所应用8位单片机为主CPU,对RTL8019AS进行相应的硬件设置。方法如下:工作模式设定为跳线方式,将管脚JP(第65脚)通过10K电阻上拉接VCC即可;I/O基址设定为300H,故需将引脚IOS3、IOS2、IOS1、IOS0悬空(RTL8019AS中,管脚悬空相当于接低电平,因为内部有下拉电阻);数据总线模式为8位模式,相应管脚第96脚IOCS16接低电平;网络接口设置为自检方式,将引脚PL0、PL1(第74、77脚)悬空即可。AT89C55WD单片机对RTL8019AS进行读写和控制操作,是通过设计两者之间的接口实现的,这也是硬件设计的重点内容。接口设计主要包括:数据和地址总线、读写线和复位线的接口设计。如总体结构图6所示,RT8019AS的读写线,连接到单片机对应的读写线(RD和WR );第33脚复位引脚RESDRV与单片机的P3.5相连,通过控制P3.5的输出来达到复位RT8019AS的目的。根据前面的设置,RTL8019AS采用了8位的数据总线模式,故将起低8位数据总线接单片机的P0端口。RTL8019AS 共有20根地址线,为SA0SA19,可寻址的输入输出地址共32个,地址偏移量为00H-1FH,根据前述设置,RTL8019AS的基址定为300H,所以寻址的地址为:300H31FH。从地址对应表1中可以看出,地址线的SA19-SA5都是固定的值000000000011000,因此设计中将SA5-SA7和SA10-SA19都接地,而将SA0-SA4接到单片机P2端口的P2.0P2.4,将SA8、SA9接P2口的P2.7。表1 地址对应表引脚地址SA19SA10SA9SA8SA7SA6SA5SA4SA3SA2SA1SA0300H01100000000011000XXXXX31FH01100011111上述设计表明,当单片机外部寻址0x8000时,即可寻址到以太网控制偏移量为0的基址0x300,这也是以太网控制器的命令寄存器的访问地址。由此,完成了单片机与RTL8019AS的接口设计。存储器部分可以分成两块:一块是32K的外挂RAM 62256,用于存放数帧、协议参数等信息,与单片机之间采用并行总线方式接口。另一块是EEPROM 24C02,用于上电复位时,初始化系统参数。采用的IIC总线是一种串行模式,通过软件模拟实现的。42 软件的设计网络通信模块的软件程序主要由下面几个部分组成:网络控制器的驱动程序、精简的嵌入式TCP/IP协议栈、串口驱动、中断服务程序和IIC驱动以及应用函数。其中设计的重点和难点是网络控制器RTL8019AS的驱动和精简的嵌入式TCP/IP协议栈的实现。(1) RTL8019AS的驱动RTL8019AS的驱动过程包括四个步骤,分别为复位操作、内部寄存器的初始化、接收数据包服务程序的设计和发送数据包服务程序的设计。其中,复位操作是对RTL8019AS的复位引脚RSTDRV(此处连到了单片机的P3.5脚上),施加一个1us以上的高电平就可以复位;然后初始化内部寄存器,根据设计的工作方式,参照使用手册对其必要的寄存器进行配置,使RTL8019AS能按照所要求的工作。接下来就是RTL8019AS的两个主要功能,即数据的接收和发送。首先,读取内部的寄存器BNRY和CURR,一个是指向最后一个已经读取的页的读指针,另一个指向当前正在写的页的下一页的指针,通过判断两个寄存器之间的关系可以判断是否有新的数据包,当CURRBNRY+1时,说明有新的数据包,这时,程序就开始接收所收到且暂存于缓冲区中的数据。与接收相比,数据的发送过程相对简单,将待发送的数据,通过远程DMA通道送到RTL8019AS中的发送缓存区,然后发出传送命令,完成帧的发送。(2) 精简TCP/IP协议栈的实现考虑到我们要在嵌入式系统中实现TCP/IP协议栈,且主要是应用于远程监控等领域,其特点是数据流量较小,但可靠性要求比较高。针对这样的需求,对TCP/IP协议栈进行一定的裁减,只实现必要的一些协议即可。本设计中,精简的TCP/IP协议栈主要实现了6个基本协议的主要部分,包括ETH、ARP、ICMP、IP、UDP和TCP。其中,以太网协议(ETH)负责网络接口数据帧的收发以及向上层提供服务;ARP协议实现IP地址和以太网物理地址之间的转换;ping程序用来检测服务器是否可达;IP协议、TCP协议、UDP协议负责为数据传输提供服务;TCP协议和UDP协议均为运输层协议,但是它们分别具有不同的特点,适用于不同的场合。所有程序用C51语言编程实现,并采用Keil公司的Keil C51编译器进行编译。下面给出精简的TCP/IP协议栈的工作流程:总体初始化有无串口告警数据?有无网络数据包?ARP包?本地IP包?是TCP包、UDP包、还是ICMP包?处理TCP包发生处理UDP包发生处理ICMP包发生处理ARP包发生TCP发送还是UDP发送TCP处理UDP处理丢弃该包YYYYN网络发送NNN图7 TCP/IP 的总体流程图此外,网络通信模块的主程序这里我们其为“守护程序”,顾名思义做的是“值班员”的工作。它的主要工作就是查询RTL8019AS是否有数据到达;查询事件状态字是否有相应事件发生,如果有则转到相应的处理程序进行处理。主程序以事件触发方式为主要设计思路。下面给出网络通信模块总体的软件运行流程图:开始初始化读取24C02配置参数驱动8019查询网络是否有数据包到达重新配置8019串口中断接受数据?发送数据?YYNN接受并且分析数据发送中断返回定时中断ARP地址超时?ARP重传超时?TCP重传超时?YYNNNY中断返回标记事件标记事件标记事件告警数据?配置数据?标记发送事件标记配置事件YYNN接受数据事件?ARP高速缓存事件?ARP超时重传事件?TCP超时重传事件?NYYYYNNN发送数据事件?8019重配置事件?NYY接受并处理接受并处理接受并处理处理并发送接受并处理删超时地址处理并发送接受并处理重传处理重传处理N图8 网络通信模块软件总体流程图其中事件状态字定义如下:#define EVENT_ETH_ARRIVED 0x01 /有网络数据包到达#define EVENT_AGE_ARP_CACHE 0x02 /ARP高速缓存事件#define EVENT_ARP_RESEND 0x04 /ARP重传事件#define EVENT_TCP_RESEND 0x08 /TCP重传事件#define EVENT_DATA_SEND 0x10 /网络数据发送事件#define EVENT_CONFIG 0x20 /RTL8019AS配置事件5、结束语本课题对局域网环境下TCP/IP的嵌入式应用进行了较为深入分析和研究,讨论了在这种特定条件下的系统整体的设计与实现方案,重点包括对以太网控制器RTL8019AS的配置和操作,链路层上以太网数据帧的收发以及精简TCP/IP协议栈的开发等,并最终完成了由低成本的51系列单片机构成了嵌入式系统的Internet接入,而且应用此设计的远程监控系统,经局域网实验测试,运行稳定,传输可靠,平均丢包率为1。主要参考文献1、 胡汉才编著. 单片机原理及其接口技术(第2版). 北京:清华大学出版社.2004 2、李朝青著. PC机及单片机数据通信技术. 北京:北京航空航天大学出版社.2000 3、W77E58 8-bit microcontroller. WINBOND ELECTRONICS CORP.4、TL16C554 Asynchronous Communications Element .TI INCORPORATE5、RTL8019AS Realtek Full-Duplex Ethernet Controller with Plug and Play Function (RealPNP). REALTEK SEMI-CONDUCTOR CO. LTD.6、 RTL8019AS如何接收一个数据包. www.laogu.com7、 RTL8019AS如何读写网卡的RAM. www.laogu.com 8、 日井口信和著. TCP/IP 网络工具篇. 北京:科学出版社.20039、 日村山公保著. TCP/IP网络实验程序篇. 北京:科学出版社.200310、W.Richard Stevens 著,范建华等译. TCP/IP详解 卷1:协议. 北京:机械工业出版社.200011、GARY R. Wright著,陆雪莹 蒋慧等译. TCP/IP详解 卷2:实现. 北京:机械工业出版社.200012、赵亮,侯国锐编著. 单片机C语言编程与实例. 北京:人民邮电出版社.200413、徐爱钧,彭秀华著. Keil Cx51 V7.0单片机高级语言编程与Vision2应用实践. 北京:电子工业出版社.200413
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 其他分类 > 大学论文


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!