版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGExxx基于Linux的邮件服务器的配置学生姓名:XXX指导老师:XXX摘要本文介绍基于Linux的邮件服务器的构建。电子邮件是整个互联网业务重要的组成部分,电子邮件已成为网络用户不可或缺的需要。本文将详细介绍Linux系统中邮件服务器(Sendmail服务器)的相关知识、常用命令及安装和配置过程和邮件客户端的设置及使用。关键词Linux;邮件服务器;Sendmail;SMTP;POPTheConstructionOfMailServersBasedOnLinuxStudentname:HeYingAdvisor:DengJiangshaAbstractThisarticledescribestheconstructionofmailserversbasedonLinux.E-mailisanimportantpartofbusinessontheInternet,e-mailhasbecomeindispensabletotheneedsofusers.Thisarticlewilldescribetherelevantknowledge,commoncommandandtheprocessofinstallationandconfigurationaboutmailserversonLinux(Sendmailserver)carefully,theprocessofsettingupe-mailclientandintroducehowtouseit.KeywordsLinux;Mailservers;Sendmail;SMTP;POP1引言1.1课程设计的意义Linux操作系统是目前应用最广泛的源代码开放的操作系统之一,最早由芬兰赫尔辛基大学的学生LinusTorvalds编写,它能够在PC计算机上实现全部的Unix特性,具有多任务、多用户的能力,在GNU公共许可权限下免费获得,是一个符合POSIX标准的操作系统。用户不但可以从Internet上下载Linux及其源代码,以便修改和扩充操作系统,还可以上下载许多Linux的应用程序。Linux在安装过程中,默认安装并配置了邮件服务器守护程序Sendmail,该程序为Linux提供支持SMTP连接所需的服务。对以Linux系统为服务器的局域网来说,安装和配置一个健壮、高效的电子邮件系统能方便用户使用电子邮件。其中本文中的Sendmail,便是在Linux操作系统中应用最广泛的电子邮件服务器。1.2课程设计的目的本课程设计设主要目的是在Linux操作系统下完成邮件服务器的安装和配置。电子邮件是因特网上最为流行的应用之一,邮件服务器构成了电子邮件系统的核心。每个收信人都有一个位于某个邮件服务器上的邮箱(mailbox)。通过对邮件服务器的配置,不但能够方便用户收发邮件,也能够熟悉Linux的相应操作,深化了对Linux及网络知识的学习。1.3邮件系统简介Linux的电子邮件系统模型基本上可分为邮件传递代理MTA、邮件存储和获取代理MSA以及邮件客户代理MUA三大模块,下面就Linux邮件系统的组成作介绍[1]。邮件传递代理(MTA)通常使用Sendmail,该系统几乎在任何UNIX平台上都有相应的版本,它负责接收并传递邮件和实现反垃圾邮件功能。邮件存储和获取代理(MSA):一旦安装并设置完成了MTA,还要对MSA系统进行同样的配置过程。如今大多数机构并不直接将邮件传送到桌面客户系统,而是将邮件存储到服务器,让用户通过POP或者IMAP来读取各自的邮件,邮件存储的管理有许多种协议,如今最常用的是POP3和IMAP4。邮件客户代理(MUA):MUA种类繁多,而且层出不穷。这些代理大都符合POP和IMAP协议。这也包括微软的Outlook系列、Foxmail等。在Linux下,许多人使用fetchmail抓取邮件并保存在本地邮箱。然后使用任何一种MUA,比如elm、pine、mutt、vmail、mh-e、guns以及大量带有GUI界面的如Balsa等来处理邮件。也有众多的Linux用户选择使用NetscapeCommunicator内置的邮件客户端。2SMTP简介SMTP(SimpleMailTransferProtocol)协议是Internet上基于TCP/IP应用层的协议,适用于主机之间的电子邮件交换,是为了保证电子邮件的可靠和高效传送。TCP/IP协议的应用层中包含的有SMTP协议,但事实上预期传输系统和机制无关,仅要求一个可靠地数据流通道。该协议可以工作在TCP上,也可以工作在NCP、NITS等协议上。在TCP上,它使用端口25进行传输。SMTP的一个重要特点是可以在可交互的通信系统中转发邮件。2.1SMTP的模型SMTP采用客户/服务模式,因此负责发送邮件的SMTP进程是SMTP客户,而负责接收邮件的SMTP进程就是服务器。客户和服务器双方的SMTP协议相互配合,将电子邮件从发送方的主机送到接收方的信箱。在传送邮件过程中,需要使用TCP协议进行连接。在TCP上,它使用端口25进行传输。SMTP的一个重要特点是可以在可交互的通信系统中转发邮件。SMTP提供了一种邮件传输机制,当接收方和发送方都在一个网络上时,可以把邮件直接传给对方;当双方不在同一个网络上时,需要通过一个或几个中间服务器转发。SMTP在发送方和接收方之间建立双向通信渠道后双方就可以开始通信了。SMTP的工作流程如图2-1所示:发送命令发送命令处理回复发送命令处理回复处理命令发送回复处理命令发送回复发送方SMTP接收方SMTP图2-1SMTP工作流程图目前使用的SMTP协议时存储转发协议,意味着其允许邮件通过一系列的服务器发送到最终目的地。服务器在一个队列中存储到达的邮件,等待发送到下一个目的地。拂过下游的服务器暂时不可用,MTA就暂时在队列中保存信件,并在以后尝试发送。SMTP传送邮件的过程如图2-2所示:MUAMUAMTAMTAMTAMDA邮箱队列队列队列图2-2SMTP传送邮件过程示意图2.2SMTP的基本命令SMTP定义了14个命令,它们是:HELO、MAILFROM、RCPTTO、DATA、RSET、SENDFROM、SOMLFROM、SAMLFROM、VRFY、EXPN、HELP、NOOP、QUIT和TURN其中使得SMTP工作的基本的命令有7个,分别为:HELO﹑MAIL﹑RCPT﹑DATA﹑REST﹑NOOP和QUIT。HELO:向服务器标识用户身份发送者能欺骗,说谎,但一般情况下服务器都能检测到。MAIL:初始化邮件传输mailform:RCPT:标识单个的邮件接收人;常在MAIL命令后面可有多个rcptto:DATA:在单个或多个RCPT命令后,表示所有的邮件接收人已标识,并初始化数据传输,以.结束。VRFY:用于验证指定的用户/邮箱是否存在;由于安全方面的原因,服务器常禁止此命令EXPN:验证给定的邮箱列表是否存在,扩充邮箱列表,也常被禁用HELP:查询服务器支持什么命令NOOP:无操作,服务器应响应OKQUIT:结束会话RSET:重置会话,当前传输被取消2.3SMTP的连接和发送过程(1).建立TCP连接(2)客户端发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL命令服务器端正希望以OK作为响应,表明准备接收(3)客户端发送RCPT命令,以标识该电子邮件的计划接收人,可以有多个RCPT行服务器端则表示是否愿意为收件人接受邮件(4)协商结束,发送邮件,用命令DATA发送(5)以.表示结束输入内容一起发送出去(6)结束此次发送,用QUIT命令退出另外两个命令:VRFY用于验证给定的用户邮箱是否存在,以及接收关于该用户的详细信息;EXPN用于扩充邮件列表。3电子邮件介绍电子邮件的工作过程遵循客户/服务器模式。每份电子邮件的发送都要涉及发送方与接收方,发送方构成客户端,接收方构成服务器,它含有众多用户的电子信箱。【2】电子邮件(Electronicmail)服务是Internet网络为用户提供的一种最基本、最重要的服务之一。电子邮件将邮件发送到收信人的邮箱(mailbox)中,收信人可随时读取邮件。电子邮件不仅使用方便,而且还具有传递迅速和费用低廉的优点。电子邮件有非常高的效率,非常高的安全性,可以采用加密的方法来传输邮件,即使被人截获,也不能轻易破译。3.1邮件的结构在最高层,邮件的结构是非常简单的,用户从终端机上看到的邮件格式一般为:FROM,TO,SUBJECT,DATE,TEXT等内容,事实上,邮件在传输过程中,服务器要把它打包成一个数据对象,包括上面的信件和一个信封。邮件的投递是依靠新风尚的地址或信头,而不是上面介绍的信件上的地址。从表面上看,一封邮件是从发件人的机器直接传送到收件人机器的,但通常这并不正确,一封邮件发送和接收过程至少要经过四台计算机。用户通常在自己的电脑前编写阅读邮件,把它叫做客户端。在大部分的机构里,都是用一台专门的机器处理邮件,称作邮件服务器。当某个用户在自己的电脑Client1前编写完一个邮件,并把其发送到用户使用的isp的邮件服务器SMTP1上。此时机器已经完成了所有的工作,但邮件服务器SMTP1还必须设法把邮件发送到目的地。SMTP1通过阅读信头或信封上的地址,找到收件人的邮件服务器SMTP2,然后与该服务器建立连接,把邮件发到收件人的服务器上,等待收件人来取阅。3.2电子邮件的工作原理电子邮件的工作过程遵循客户/服务器模式。每份电子邮件的发送都要涉及到发送方与接收方,发送方构成客户端,而接收方构成服务器,服务器含有众多用户的电子邮箱。发送方通过邮件客户程序,将编辑好的电子邮件向邮局服务器(SMTP服务器)发送。邮局服务器识别接收者的地址,并向管理该地址的邮件服务器(POP3服务器)发送消息。邮件服务器将消息存放在接收者的电子邮箱内,并告知接收者有新邮件到来。接收者通过邮件服务器的通知,进而打开自己的电子信箱来查收邮件。其工作过程如图3-1所示。发件发件服务器收件服务器发件客户端收件客户端图3-1电子邮件工作过程3.3OpenRelay的原理SMTP协议中明确指出当邮件在不同的网络间传送时,需要借助中间服务器的Relay。邮件在接收方和发送方之间会经过毫不相干的第三方服务器,这就是邮件转发(Relay),邮件转发过程如图3-1所示:SenderSenderRecipientLocalUserMailServer图3-2邮件转发示意图4安装与配置SendmailServer4.1安装与启动Sendmail使用RPM包安装方式进行安装。首先检测系统是否已经安装了RPM包#rpm–qa|grepsendmail结果如图4-1所示:图4-1检测系统是否安装rpm包如果没有安装,则安装Rpm–ivhsendmail-8.12.8-4.i386.rpm安装生成Sendmail配置文件的m4工具包#rpm-ivhm4-1.4.1-13.i386.rpm#rpm-ivhsendmail-cf-8.12.8-4.i286.rpm#rpm-ivhsendmail-doc-8.12.8-4.i386.rpm启动Sendmail:安装好该软件后,可以使用以下命令来确认Sendmail是否已经启动#pstree|grepsendmail如果启动了Sendmail,那么这个命令将显示出其相关信息。否则,没有任何提示的回到命令行。如果没有启动,用户可以手动启动:#servicesendmailstart效果如图4-2所示:图4-2启动sendmail 4.2测试sendmail的发信功能安装并启动了sendmail服务器之后便可对其进行简单的发信功能测试,测试步骤如下:使用root用户向super发送邮件#mailsuper@接下来效果如图4-3所示:图4-3测试sendmail发信功能Subject为邮件标题,然后是邮件内容,以“.”结束。Cc是抄送给某用户。4.3设置sendmail.cfsendmail.cf是Sendmail的配置文件。一般来说在安装了Linux系统后,将自动生成一个合适系统使用的sendmail.cf文件。【3】配置文件sendmail.cf中的信息仍旧是以行为单位。如果行首的第一个字符为“#”,则表示该行为注释;如果第一个字符为空格,则表示该行为上一行的延续。此外,行首的第一个字符均为命令,但是命令同变量或值之间没有间隔。这种格式便于Sendmail进行分析,但很难阅读。sendmail.cf配置文件中的命令如下:D(定义宏),C与F(定义类),O(设置选项),T(定义可信任的用户),P(设置优先级),K(关键文件声明),V(配置版本级别),M(定义邮件传输程序),H(定义邮件的首部格式),R(定义重写规则),S(设置重写规则集)。我们用C命令修改Sendmail的配置文件“/etc/mail/sendmail.cf”。#vi/etc/mail/sendmail.cf将给文件中的行Cwlocalhost修改为C。如图4-4所示:图4-4修改Sendmail.cf文件最后存盘退出。4.4修改sendmail.mc文件Sendmail的配置十分复杂,其配置文件Sendmail.cf语法深奥难懂,很少有人直接去修改该文件来对Sendmail服务器进行配置。一般通过m4宏处理程序来生成所需的sendmail.cf文件。在创建的过程中还需要一个模板文件,sendmail.mc。用m4宏编辑工具创建sendmail.cf文件比较方便,而且不容易出错,更可以避免某些带有安全漏洞或者过时的宏所造成的破坏。下面介绍sendmail.mc模板的语法组成:dn1:用来注释各项,同时dn1命令还用来标识一个命令的结束。divert(-1):位于mc模板文件的顶部,目的是让m4程序输出时更加精简一些。OSTYPE(‘OperationSystemType’):定义使用的操作系统类型,显然这里应该用Linux代替OperationSystemType,注意要用一个反引号和一个正引号把对应的操作系统类型括起来。define:定义一些全局设置,对于Linux系统,设置了OSTYPE之后,可以定义下面的一些全局参数。如果不定义,就使用默认值。下面修改Sendmail的配置文件”/etc/mail/sendmail.mc”,将该文件中有以”DAE_option”字符串开头的四行用注释符号”#”注释掉。效果如图4-5所示:图4-5修改sendmail.mc文件最后使用make命令重新生成配置文件:#make–C/etc/mail,效果如图4-6所示:图4-6重新生成sendmail.mf文件4.5Linux平台下Mysql的安装本课程设计采用的Linux版本是ubuntu版本,Mysql数据库管理系统不需要下载,直接在Linux平台下直接安装就行,由于Mysql已经安装(同时此安装命令也就是更新命令),故显示的是更新信息。安装命令如图4-7下:图4-7Mysql的安装数据库在物理设备上的存储结构与存储方法称为数据库的物理结构,它依赖于选定的数据库管理系统。为一个给定的逻辑数据模型选取一个最合适应用要求的物理结构的过程,就是数据库的物理设计。本课程设计选择由瑞典MySQLAB公司首先开发,现在为Sun公司运营的MySQL数据库管理系统。考虑到配置和移植的方便性,本设计采用JDBC方式访问数据库。try{ Class.forName("com.mysql.jdbc.Driver"); System.out.println("driverload"); Connectionconnection=DriverManager.getConnection("jdbc:mysql://"+"@01946ae88d54409/java","system","system"); System.out.println("Databaseconnected");//用来测试数据库连接是否成功 Statementstmt=connection.createStatement(); stmt.close();//关闭数据库连接 connection.close();//关闭数据库连接 } catch(Exceptione){ e.printStackTrace(); }4.6Sendmail邮件服务器的验证在Sendmail邮件服务器配置完成之后,只要在Linux上添加一个用户,该用户就会拥有一个邮箱。下面是向测试用户test发送邮件的测试,如图4-8所示:图4-8发送测试邮件下面切换到test用户,使用mail命令接收邮件,看看是否收到。结果如图4-9所示:图4.-9检验邮件是否收到实验证明,邮件服务器已经成功运转。5建立POP邮件服务5.1安装POP服务器Sendmail并不具备POP3(IMAP)接受邮件的功能,所以必须对其进行安装。下面是安装POP服务器的详细步骤:安装RedHatLinux9时,可以选择安装POP和IMAP服务器,用一下命令进行验证:#rpm–qaimap如果没有安装则可以安装rpm包,命令如下:#rpm–ivhimap-2001a-18.i386.rpm由于RedHatLinux9已经将POP和IMAP打包成了一个单独的套件,安装rpm包就会同时安装这两个服务器。安装效果如图5-1所示:图5-1检验rpm包是否安装成功5.2启动POP和IMAP服务要成功启动POP和IMAP服务器,首先要确定这些服务存在于/etc/services/文件,确保对应的服务前面没有加上注释。下面是/etc/services/文件内容,如图5-2所示:图5-2修改/etc/services/文件接下来修改/etc/xinetd.d/ipop3文件,将其中的“disable=yes”改为“disable=no”,保存退出。如图5-3所示:图5-3修改/etc/xinetd.d/ipop3文件最后重新启动xinetd程序来读取新的配置文件,使得设定内容生效:#/etc/rc.d/init.d/xinetd/restart使用同样方法修改/etc/xinetd.d/imap文件,将其中的“disable=yes”改为“disable=no”,保存退出。再次重启xined程序,使设定的内容生效。6邮件客户端的设置6.1邮件客户端邮件客户端通常指使用IMAP/APOP/POP3/SMTP/ESMTP/协议收发电子邮件的软件。用户不需要登入邮箱就可以收发邮件。接收电子邮件的常用协议是POP3和IMAP,发送电子邮件的常用协议是SMTP。另一个大部分邮箱客户端支持的重要标准是MIME,它是用来发送电子邮件附件的。电子邮箱默认使用的TCP端口号如表6-1所示[4]:表6-1默认TCP端口号协议作用纯文本或加密会话单纯文本会话单纯加密会话POP3收邮件110
995IMAP收邮件143
993SMTP发邮件25
465(非标准)HTTP网页邮箱
804436.2邮件客户端的设置在RedHatLinux9系统中邮件客户端可以采用一下3种方式:Evolution程序、MozillaMail程序和基于文本的电子邮件客户。本次课程设计主要使用Evolution程序收发邮件。Evolution不仅仅是一个电子邮件程序,它还提供了所有标准的电子邮件客户功能,包括功能强大的邮箱管理、用户定义的过滤器,以及快速搜索。除此之外,它还具备灵活的日历功能,该功能允许用户在线的创建和确认组群会议和特别事件[5]。Evolution是用于Linux和基于UNIX系统的功能完善的个人和工作组信息管理工具,它还是RedHatLinux的默认电子邮件客户。要想用Evolution电子邮件客户程序,可从桌面的面板上启动Evolution,依次单击“主菜单—>互联网—>Evolution电子邮件”如图6-1所示:图6-1启动Evolution在使用该软件之前,必须要对该邮件客户端的邮件账号进行设置。步骤如下:首先打开EvolutionSettings对话框,并在其上单击“添加”,打开配置向导,单击下一步,打开如图6-2所示对话框:图6-2Evolution账号助手(1)在在“全名“后的文本框中输入邮件账号的全名,在Emile-address后的文本框中输入已申请的邮件地址,点击“下一步”,打开如图6-3所示对话框:图6-3Evolution账号助手(2)在图6.3中的服务器类型中选择POP,在主机后的文本框中输入sendmail服务器的域名,在username后输入已申请的邮件帐。然后点击下一步,在打开的对话框中进行收发邮件的选择,选择结束后再次单击下一步,仿照上面步骤进行配置,只是服务器类型选择SMTP。在用户的账号配置完成之后,进入如图6-4所示的界面,即Evolution的主控界面:图6-4Evolution主界面点击新建按钮就可以发送邮件了,撰写邮件对话框如图6-5所示:图6-5Evolution撰写邮件对话框7结束语通过网络系统课程设计,使我对Linux操作系统有了一定的了解,同时我也总结出了一些分析问题和解决问题的方法及技巧。进一步加深了对邮件系统知识的了解,可以说是受益颇丰。在此次网络操作系统实验的设计中,我得到了老师和同学的大力支持和帮助,也参考了大量的书籍和网上资料,学到了不少东西。在这里要感谢我的指导老师邓江沙老师,在上机时悉心辅导,也要感谢教授我们操作系统课程的侯利娟老师,在平时上课的时候教会了我们很多Linux的知识,让我们对Linux的知识有了更深刻的认识。参考文献[1]文东戈,孙昌立,王旭.Linux操作系统实用教程.北京:清华大学出版社,2010[2]网络收集.电子邮件介绍./article/75/Article6175_1.htm[3]李洋汪虎松著.RedHatLinux9系统与网络管理教程.北京:电子工业出版社,2006[4]百度百科.邮件客户端./view/2318149.htm[5]高衡绪,古静雨.Linux系统及网络理论与实践教程.北京:中国建材工业出版社,2004本科生毕业论文题目:基于Internet的远程监控系统设计院系:信息科学与技术学院电子系二〇XX年五月摘要科技的发展必然使人类的生活越来越自动化,足不出户却可以决胜于千里之外,这就需要借助于两样东西,一是现场监控系统,二是INTERNET。本文介绍了一种简单的典型的基于INTERNET的远程监控系统,但它包括了基本的远程监控系统基本思想与一般架构。此远程监控系统的核心是经典的51系列单片机,它作为系统的大脑,是系统的神经中枢,另一个必不可缺的就是W5100芯片,此芯片内部集成了TCP/IP协议栈、以太网介质访问层(MAC)和物理层(PHY),扮演着通讯员的角色,负责系统与外界的沟通,在现场与控制台之间搭建了一个方便快捷的桥梁。其它的还包括温度检测芯片以及若干个LED灯管。整个系统选材较少,因此具有功耗低、价格低廉、稳定性强、开发简单、体积小的优点,低廉的配置也有使此方案对于大部分人来说实现起来也是一件容易的事。此外,本系统实现了可以在终端通过IE浏览器访问系统、监控系统的模式,使远程监控更方便更人性化。关键字:远程监控;W5100;TCP/IP协议;嵌入式服务器AbstractAsthedevelopingscientifictechnology,person'slifebecomeeasierandmoreautomatic,peoplecanfinishsomethingeventheyaremilesawayfromthescene.Allofthisisbythehelpoftwothings,oneisscenecontrolsystem,andtheotheroneisinternet.Thereissomethingaboutthesimpleremotecontrolsystembasedoninternetinthisstudy,andthebasicconfigurationandclassicwaytocarryoutofaremotecontrolsystemwillbeincluded.Themajorthingorthekeyofthissystemisaclassic51microcontrolunit.Itisthebrainofthissystem.AnothermostimportantthingofthissystemisW5100Internetchip,whichbringsTCP/IPprotocol,MAC,PHYtogether.TheW5100chiphelpsthesystemtocommunicatewithinternet.Whatelse,thesystemincludesachiptodetectthescenetemperature.Soinaword,thissystemisanidealsolutionofIntelligentHouseholdsystemthateasytodevelop,stability,lowcost,withlittlesizeandlowpowerdissipation,whatelse,thissystemcanbedisplayedandcontrolledbyIEbrowser,itmakestheremotecontrollingmoreconvenience.Keywords:remotesystem;W5100;TCP/IPprotocol;embedserver目录TOC\o"1-3"\h\z第一章绪论 11.1嵌入式系统概述 11.2嵌入式INTERNET 31.3远程监控系统发展现状与趋势 41.4论文研究意义 5第二章 监控系统硬件实现 72.151单片机管理模块 82.2网络芯片W5100 92.2.1W5100特点 92.2.2W5100引脚 102.2.3W5100存储器映像 132.2.4W5100寄存器 132.2.5W5100与MCU的连接方式 15第三章远程监控系统程序设计与实现 193.1W5100程序部分 193.1.1W5100的初始化 193.1.2W5100实现TCP通信 203.1.3 W5100实现UDP数据通信 253.2 主体程序 26第四章系统仿真 285.1EVB-W5100/MCS51与PC的连接 295.2演示软件测试 305.3演示总结 31第五章结论 33参考文献 34致谢 35附录 36附录1W5100初始化程序 36附录2W5100服务器模式程序 41绪论1.1嵌入式系统概述对于大多数人来说,谈起现代化电子产品的时候都会第一时间想到计算机,或者更确切地说是想到PC,因为对他们来说PC机已经是和他们形影不离了。但是他们都忽略了比PC更广泛应用的一种现代化电子产品,那就是嵌入式系统。各种微处理器应用的数量远远地超过了PC上应用的X86处理器,而微处理器绝大部分是用在嵌入式系统中的,因此可以说嵌入式系统已经成为了人们生活中不可或缺的一分子了。在现代社会生活中,我们不仅仅需要那种放在桌上处理文档、进行工作管理的计算“机器”,我们还可能拥有大小不一、形状各异的嵌入式电子产品,小到手机、MP3、PDA等微型数字产品,大到网络家电、车载电子设备等。目前,各种各样的新型嵌入式系统设备在应用数量上已经远远超过了通用计算机。在工业和服务领域,使用嵌入式技术的数字机床、工业机器人、服务机器人等正在逐渐改变着传统的工业生产和服务方式。嵌入式系统可以这样定义:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。一般来说,嵌入式系统由处理器、存储器、输入/输出设备和软件(包括操作系统和应用程序)4部分组成,如图1-1所示。应用程序应用程序软件结构软件结构操作系统操作系统处理器OUTPUT处理器硬件结构INPUT硬件结构存储器存储器图1-1:嵌入式系统的组成嵌入式系统与PC比较如下表1-1与表1-2:表1-1:嵌入式系统与PC硬件上的比较表1-1:嵌入式系统与PC硬件上的比较设备说明嵌入式系统PCCPU嵌入式系统(ARM,68K等)CPU(INTEL的Pentium,AMD的Athion等)内存SDRAM芯片SDRAM或DDR内存条内存设备Flash硬盘输入设备按键、触摸屏鼠标、键盘、麦克风输出设备LCD显示器声音设备音频芯片声卡接口MAX232等芯片主板集成其它设备USB芯片、网卡芯片主板集成或外接卡表1-2:嵌入式系统与PC软件发及开发平台上的比较表1-2:嵌入式系统与PC软件发及开发平台上的比较嵌入式系统PC引导代码Bootloader引导,针对不同电路进行移植主板的BIOS引导,无须改动操作系统LINUX,WINCE,UCOS等,需要移植WINDOWS,LINUX等,不需要移植驱动程序每个设备驱动都必须针对电路板进行重新开发或移植,一般不能直接下载使用操作系统含有大多数驱动程序,或从网上直接下载使用协议栈需要移植操作系统由第三方供应商提供开发环境借助服务器或PC进行交差编译在本机就可以开发调试仿真器需要不需要从上面两个表格可以很容易看出嵌入式操作系统与PC之间存在着很大的差异,两者的最大区别在于嵌入式系统性具有“软硬件可裁剪性”的灵活性,可以根据各种具体的现场实现千差万别的特定功能。嵌入式系统同PC系统相比有以下特点:功耗低、体积小、专用性强。嵌入式本身就是为特定的用户或特定的功能量身定做的,所以它能把PC中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化。为了提高执行速度和系统可靠性,嵌入式系统的软件一般都固化在存储器芯片中,而不是存储于磁盘等载体中。可靠性高。嵌入式系统对软件代码的要求很高,应尽最大可能避免“死机”的发生,因为“死机”很可能导致系统的崩溃或造成严重后果。嵌入式系统的开发需要专门的开发工具和开发环境[1]。1.2嵌入式INTERNET介绍了嵌入式系统与PC既有共性也有个性,具体的应用可以根据实际工作而选择使用嵌入式系统还是普通的PC机。或者还有一种方法就是把两者结合起来,各取所长,从而合成一个更完美的系统,那就是基于Internet的嵌入式系统,而如今世界上无所不在的Internet则是把二者结合起来的重要桥梁。下面将要介绍的是Internet在嵌入式系统中的应用。网络在人们生活中的作用是不容置疑的。随着网络的发展,网络已经深入到人类生活的各个方面,网络就像覆盖在地球表面的电子皮肤,它大大的改变了我们的工作方式和生活方式。21世纪是一个网络化的世界,这不仅是指通过计算机网络形成了全球化的Internet,而且还包括我们身边的楼宇自动化系统、家庭电器产品、智能仪表及工业过程控制等通信网络。若能将Internet网络技术延伸到电子设备或控制网络并使之互连,将Internet的应用范围扩大到任何需要网络的地方,使之增加许多新的、有价值的、超越局域网的服务功能,必然会让我们的世界变得更加自动化和智能化。家庭电器产品和工业设备绝大部分都采用单片机或微控制器MCU来进行数据处理,使用嵌入式系统来实现控制功能。智能楼宇、工业过程等在这些芯片的基础上,使用特定的协议如LonWorks、CAN等组成独立的、自成一体的控制网络。如果能将嵌入式系统连接到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主要有如下三种解决方案:32/64位高端嵌入式系统+RTOS(实时操作系统)的实现方式。该方案采用高端的32/64位微控制器上运行实时多任务操作系统,以实时操作系统作为软件平台,在实时多任务操作系统上直接实现TCP/IP协议,从而实现嵌入式Internet。目前常见的此类实时操作系统有NUCLEUS、LINUX等等,由于系统自带TCP/IP协议,因此实现起来比较容易。PC网关+专用网的实现方式。采用专用的网络把若干个嵌入式仪器连接在一起,然后再把该网络与PC机连接起来,将PC作为网关,由PC机把网络上的信息转化为TCP/IP协议数据包,发送到Internet上实现信息的共享[11]。8位单片机+网络接口控制器直接接入Internet的实现方式。由网络控制器实现网络接口,由主控制器执行存储在系统ROM中的协议代码来提供所需的通信协议。该方案最突出的特点就是成本较低廉,但是软件设计复杂,需要对TCP/IP协议有深入的了解和研究。基于Web方式是实现远程监控的一个趋势。随着信息技术和网络技术的发展,Internet在过去得到了飞速地发展,并围绕着Internet出现了许多新的技术和新的应用。WWW系统就是在这种形势下,作为网络化信息服务的基础迅速地发展起来的。WWW是一个基于Internet的全球连接的、分布的、动态的、多平台的交互式超媒体信息系统。它利用多种协议传输,能检索分布在世界各地WWW服务器的信息资源。在基于Web的远程监控系统中,客户端使用通用的Web浏览器,通过Internet对生产现场进行监控。这种方案具有显着的优点:Internet技术发展至今,在开放性、通用性、易用性和安全性方面都具备了成熟可靠的技术。不需要开发专门的客户端软件,将应用程序集中在服务器上,大大减少了客户端开发的工作量,而且易于扩充和修改。系统具有统一的用户界面,用户不再需要为不同的控制系统安装不同的客户软件,也不再需要针对不同的客户软件进行不同的培训,任何得到授权的用户都可以使用Web浏览器来对现场进行实时监控。控制网络和数据网络的信息得以集成,有利于信息管理[4]。1.4论文研究意义目前主流的嵌入式远程监控系统一般都需要专门的嵌入式处理器与嵌入式实时操作系统的支持下完成的,要求的处理器也较高端如常见的ARM微处理器以及LINUX实时操作系统。而本文实现的嵌入式远程监控系统则不需要另外的操作系统的支持,而且使用普通的51单片机芯片作为处理器中央处理器,硬件上就节约了很大的成本。由于W5100内部集成了全硬件的、且经过多年市场验证的TCP/IP协议栈、以太网传输层(MAC)和物理层(PHY)。硬件TCP/IP协议栈支持TCP,UDP,IPV4,ICMP,ARP,IGMP和PPPOE,这些协议已经在市场上好多领域经过了多年的验证。因此它可以不需要考虑以太网的控制而只需要进行简单的端口(SOCKET)编程就可以实现接入网络的功能,实现没有操作系统的INTERNET连接[5]。监控系统硬件实现本文设计的远程监控系统分为系统管理模块MCU,系统通信模块W5100,系统现场监控模块即数据采集模块及显示模块,先由现场数据采集模块(温度检测)接收现场信息然后发送到MCU,再通过W5100芯片传送到INTERNET上去。客户端就可以用IE浏览器访问到这些数据。本系统的硬件架构如下图2-1所示:远程控制端远程控制端因特网浏览器RJ45W5100MCU温度传感器因特网浏览器RJ45W5100MCU温度传感器图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连接,简化了硬件电路设计,使嵌入式系统在没有操作系统的支持下,真正实现单芯片接入因特网的理想。为减少PCB板面积和布线复杂性,考虑到系统的数据传输率要求不高,选择SPI接口作为AT89S52和W5100的连接方式。AT89S52、W5100和RJ45接口构成一个典型的嵌入式Web服务器,实现简单,成本低廉[7]。下面从各个部分介绍本系统的具体情况。2.151单片机管理模块本文使用的是AT89S52芯片。AT89S52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机。片内含4KBYTES的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央器(CPU)和Flash存储单元,功能强大AT89S52单片机可为你提供许多高性价比的应用场合,可灵活运用于各种控制领域。它的主要性能特点包括:与MCS—51单口指令系统完全兼容。4K字节可重擦写Flash闪存储器。1000次擦写周期。全静态操作:0~24MHz。三级加密程序存储器。128*8字节内部RAM。4个8位可编程I/O端口。2个16位定时/计时器。6个中断源。可编程串行UART通道。低功耗空闲掉电模式[12]。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.1W5100特点1)支持硬件化TCP/IP协议:TCP、UDP、ICMP、IGMP、PPPOE、以太网。2)内嵌10BaseT/100BaseTX以太网物理层。3)支持自动通信握手(全双工和半双工)。4)支持自动MDI/MDIX,自动校正信号极性。5)支持ADSL连接(支持PPPOE协议中的PAP/CHAP认证模式)。6)支持4个独立端口同时运行。7)不支持IP的分片处理。8)内部16KB存储器用于数据发送/接受缓存。9)0.18umCMOS工艺。10)3V工作电压,I/O口可承受5V电压。11)80脚LQFP小型封装。12)环保无铅封装。13)支持SPI模式0、3接口。14)多功能LED信号输出(TX、RX、全双工/半双工、地址冲突、连接、速度等)。2.2.2W5100引脚图2-3W5100引脚MCU接口信号列表:表2-1:MCU接口信号表2-1:MCU接口信号以太网接口信号:表2表2-2:以太网接口信号表2-3:其它接口信号其它接口信号表2-3:其它接口信号表2-4:电源接口信号电源接口信号表2-4:电源接口信号时钟接口信号:表2表2-5:时钟接口信号LED信号:表2表2-6:LED信号2.2.3W5100存储器映像W5100内含公共寄存器,端口寄存器,发送存储器以及接收存储器,如下图所示:图2-4:W5100存储器映像2.2.4W5100寄存器公共寄存器:公共寄存器保存的是各个端口(Socket)都通用的参数如:网关,本机IP和本机物理地址等。MR(模式寄存器):该寄存器用于软件复位、Ping关闭模式、PPPOE模式以及间接总线接口。GWR(网关IP地址寄存器):该寄存器设置默认网关。SUBR(子网掩码寄存器):该寄存器用来设置子网掩码(Subnetmask)值。SHAR(本机物理地址寄存器):该寄存器用来设置物理地址。SIPR(本机IP地址寄存器):该寄存器用来设置本机IP地址。IR(中断寄存器):CPU通过访问该寄存器获得产生中断的来源。任何中断都可以被中断屏蔽寄存器(IMR)中的位屏蔽。当任何一个未屏蔽中断位为“1”,INT的信号保持低电平。只有当所有未屏蔽的中断位为0时,INT才恢复高电平。可产生中断的原因包括:IP地址冲突(CONFLICT),目标IP地址不可达(UNREACH),PPPOE连接关闭,端口0~3中其中一个中断(SnIMR(中断屏蔽寄存器):对应IR中断的屏蔽,当对应位为“0”RTR(重发时间寄存器):该寄存器用来设置溢出的时间值。每单位100微秒。RCR(重发计数寄存器):该寄存器的数值设定可重发的次数。若重发次数超过设定值则产生超时。RMSR(接收存储器空间大小寄存器):该寄存器配置4个Socket端口的接收缓存大小,默认值为0x55,即每个端口2K缓存。TMSR(发送存储空间大小寄存器):该寄存器配置4个Socket端口的发送缓存大小,默认值为0x55,即每个端口2K缓存。PATR(PPPOE模式下的认证类型):在与PPPOE服务器连接时,改寄存器指示已经被通过的安全认证方法。W5100支持PAP和CHAP。PTIMER(PPPLCP请求计时寄存器):该寄存器表示发出LCPEcho所需要的时间间隔。每单位约25ms。PMAGIC(PPPLCP模数寄存器):该寄存器用于LCP握手时采用的模数选项。UIPR(不可到达的IP地址寄存器):不可到达的IP地址寄存器。UPORT(不可到达的端口号寄存器):不可到达的端口号寄存器[11]。2.2.5W5100与MCU的连接方式W5100与MCU的连接方式主要有直接总线连接、间接总线连接、SPI总线连接这三种连接方法,不同的连接方法适应于不同的场合,应该按需选择最恰当的连接方式。直接总线连接:直接总线连接方式是最直观的一种连接方式,它采用15位地址线,8位数据线,另加/CS,/RD,/WR及/INT等信号线。如图2-5所示:图2-5:W5100与MCU直接总线接口方式间接总线连接:采用2位地址线,8位数据线,另加/CS,/RD,/WR及/INT等信号线。2~14这十三根没用到的地址线通过电阻接地。如图2-6所示:图2-6:W5100与MCU间接总线接口方式间接总线接口相关的寄存器说明如表2-7所示:表2-7:间接总线接口相关寄存器表2-7:间接总线接口相关寄存器数值符号说明0x00MR它选择间接总线接口,以及地址自动增加。0x010x02IDM_AR0IDM_AR1间接总线模式下的地址寄存器,只在大端模式(Big-endian)下使用。0X010X02IDM_AR0:MSBIDM_AR1:LSB例:读取端口0的命令寄存器SO_CR(0X0401),则0x01(IDM_AR0)0x02(IDM_AR1)0X040X010x03IDM_DR间接总线接口模式下的数据寄存器读/写内部寄存器或存储器的过程:将要读写的地址写入到IDM_AR0和IDM_AR1寄存器再从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]。SPI总线接口方式:串行接口模式只需要4个引脚进行数据通信。这4个引脚的定义分别为:SCLK,/SS,MOSI,MISO。利用W5100的SPI_EN引脚选择SPI操作。如图2-7所示:图2-7:W5100与MCU的SPI连接方式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]。远程监控系统程序设计与实现本章主要介绍系统的软件部分的实现方法,包括W5100的编程实验TCP传输与MCU的编程实现数据处理,下面先分开来介绍各个程序的实现方法。3.1W5100程序部分通过设置寄存器与存储器,就可以把W5100与INTERNET连接起来进行数据通信,下面将一步步地介绍设置寄存器与存储器的方法。3.1.1W5100的初始化利用W5100进行数据通信前必须先要对它进行初始化,。其初始化包括以下部分:模式寄存器(MR)。中断屏蔽寄存器(IMR)。重发时间寄存器(RTR)。重发计数寄存器(RCR)。网关地址寄存器(GAR)。本机物理地址寄存器(SHAR)。子网掩码寄存器(SUBR)。本机IP地址寄存器(SIPR)。端口发送/接收存储器分配信息(RMSR/TMSR)[10]。初始化程序流程如图3-1所示:基本设置基本设置重发计数寄存器(RCR)中断屏蔽寄存器(IMR)模式寄存器(MR)重发时间寄存器(RTR)重发计数寄存器(RCR)中断屏蔽寄存器(IMR)模式寄存器(MR)重发时间寄存器(RTR) 本机物理地址寄存器(SHAR)网关地址寄存器(GAR)子网掩码寄存器(SUBR)本机IP地址寄存器(SIPR)设置网络信息本机物理地址寄存器(SHAR)网关地址寄存器(GAR)子网掩码寄存器(SUBR)本机IP地址寄存器(SIPR)设置网络信息设置端口存储器信息设置端口存储器信息图3-1:W5100初始化流程图W5100初始化与W5100的Socket初始化两个C语言程序见目录,此程序在单片机的C语言编译器上都可以编译通过。3.1.2W5100实现TCP通信TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transportlayer)通信协议,由IETF的RFC793说明(specified)。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能。TCP是因特网中的传输层协议,使用三次握手协议建立连接。当主动方发出SYN连接请求后,等待对方回答SYN,ACK。这种建立连接的方法可以防止产生错误的连接,TCP使用的流量控制协议是可变大小的滑动窗口协议。第一次握手:建立连接时,客户端发送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通信服务器模式(SERVERMODE):采用此模式时,首先要进行端口初始化,初始化一个端口需要设置运行模式和端口号,并在端口命令寄存器打开端口。端口初始化涉及到以下寄存器:端口n模式寄存器Sn_MR本机端口n的端口号Sn_PORT端口n命令寄存器Sn_CR工作在服务器模式下的端口要侦听是否有连接请求,若有则建立连接准备收发数据。收发完数据后还要断开连接。过程流程如图3-3所示:侦听侦听打开端口建立连接成功?断开连接程序接收程序发送数据程序超时?关闭端口?超时?要断开连接?收到完成信号?发送数?收到数?关闭端口NNNYYYYNNNNNYYY工作在服务器模式的程序实现方法如附录2所示。二、客户端模式(client)客户端模式下的端口要主动发起连接请求,若成功建立连接则准备收发数据。收发完数据后还要断开连接。过程流程如图3-4所示:发送程序发送程序超时?超时?要关闭端口?超时?最后的ACK?发送数据?收到数据?关闭端口YYYYYYYNN要断开链接?NNTCP工作在客户端时需要首先进行端口初始化。初始化一个端口需要设置运行模式和端口号,并在端口命令寄存器打开端口,以下寄存器端口需初始化:端口n模式寄存器(Sn_MR),本机端口n的端口号(Sn_PORT),端口n命令寄存器(Sn_CR)。将端口n初始化为TCP模式的具体程序可以参考上面服务器模式中的初始化程序[11]。W5100实现UDP数据通信UDP(UserDatagramProtocol),即用户数据报协议,是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。是一个简单的面向数据报的传输层协议。UDP是一种不可靠的、无连接的数据传输方式。它不需要建立就可以进行数据传输,因此UDP的数据可能丢失,覆盖或翻转。由于数据包传输的速度可能较快,接收方可能无法及时处理数据包,因此,用户在应用层必须确保数据传输的可靠性。UDP传输数据过程流程如图3-5所示:开端口 开端口 接收程序发送程序超时?要关闭端口?最后的ACK?发送数据?收到数据?关闭端口YNNYYYYNN图3-5:UDP数据传输流程图主体程序下面介绍主体程序的设计方法。主体程序中首先初始化AT89S52和W5100,配置W5100的工作模式,启动温度传感器,配置W5100工作于TCP服务器模式,主程序的流程图如图3-6所示:开始开始
NYNYSocket端口接收数据处理W5100产生的外部中断初始化STC89C51初始化W5100W5100触及AT89S52的外部中断NYNYSocket端口接收数据处理W5100产生的外部中断初始化STC89C51初始化W5100W5100触及AT89S52的外部中断处理收到的数据库处理收到的数据库图3-6:主体程序流程图为了能够得到实时的数据,因此接下来的程序操作是一个无限循环体,程序开始不断检查外部中断状态标志和Socket接收数据状态标志是否改变,同时开始处理A/D转换的数据,以保证服务器在产生网页时能得到当前的各种最新数据[8]。一旦W5100的Socket端口有中断事件产生时,W5100将通过其中断引脚INT触发AT89S52的外部中断,使AT89S52进入外部中断处理函数改变外部中断状态标志,程序接着进入处理W5100中断事件函数,在此函数中,AT89S52通过访问W5100的中断寄存器(IR)和端口0中断寄存器(S0_IR)判断出W5100的端口0产生何种中断事件,若Socket接收到数据,则改变外部中断状态标志。程序检测到外部中断状态标志发生改变,立即进入处理接收数据函数[6]。第四章系统仿真由于硬件上的制约,因此只能用由AT89S52与W5100组成的EVB-W5100/MCS51板来演示整个系统的可行性与实际应用情况。图5-1为EVB-W5100/MCS51实物图:图5-1EVB-W5100/MCS51实物图EVB-W5100/MCS51板有如下特性:使用ATMEL公司的AT89S52单片机,可兼容绝大多数的MCS-51系列的单片机;RJ-45网络输出可直接连接以太网路由器或计算机(需交叉线连接);提供串行EEPROM存储器,可保存网络参数;可以通过跳线设置默认的网络参数,避免参数设置错误而无法进行通信;提供一个标准的RS-232C异步通信的DB9接口;提供一个温度传感器,可检测环境温度;提供两个LED指示灯,可进行远程控制演示;提供完整的评估板原理图和PCB封装图;提供完整的评估板MCS-51C语言的软件源代码,使用户快速了解W5100的使用;提供计算机端的演示软件,可使用户了解TCP/IP协议架构,掌握W5100的使用方法;7.5v电源供电,内部带5v和3.3v稳压电源。EVB-W5100/MCS51内部集成了温度检测器和两个LED控制灯,因此可以把两个LED看成是对现场需要控制的继电器的输入信号,而温度模块刚想象成检测的是监控现场的温度。下面我们来进行。5.1EVB-W5100/MCS51与PC的连接EVB-W5100/MCS51与PC连接主要有以下两个方案:串行口连接使用标准的RS-232电缆线连接EVB-W5100/MCS51与PC机。如下图所示:图5-2:EVB与PC串口通信连接可以通过DEMO板提供的演示软件用串行口对DEMO板的以太网参数进行设置。设置的内容包括:本机IP;网关IP;子网掩码;Socket0的工作模式、端口号、目的IP地址、目的端口地址;Socket1的工件模式、端口号、目的IP地址、目的端口号。注意:初始化设置完成以后必须重新上电,新的参数才会生效。EVB-W5100/MCS51的网络连接EVB-W5100/MCS51有两种方法接入网络:直接连接;通过交换机连接。考虑到自身条件只能用直接连接这种方法。如下图所示:图5-3:EVB与PC网络直接连接EVB-W5100/MCS51可以同时进行串行连接与网络连接,这样不会影响它们的正常使用。当EVB-W5100/MCS51与PC正确连接后会在桌面右下角显示本地连接已接上的字样。5.2演示软件测试EVB-W5100/MCS51与PC正确连接好后。然后就可以开始设置PC机的网络参数,包括IP地址、子网掩码、默认网关这三个参数的设置,可以按照自己的意愿正确设置并把它记下来。如设置的IP地址为:,子网掩码为:,默认网关为:。然后打开DEMO演示软件,打开的时候选择“MCS-51评估板”,进入演示软件界面。如下图所示:图5-4:演示软件界面在“以太网通信参数”栏,出现了之前设定的各种网络参数。而“状态信息”栏显示的是本机网络参数信息以及一些帮助信息。如果此时还对网络参数进行修改,则要退出程序然后给EVB-W5100/MCS51重新上电才能使修改的参考有效。5.3演示总结通过DEMO演示软件可以总结出以下几点:可以通过本地PC控制EVB-W5100/MCS51板上的LED亮灭情况,并且可以随时地读取LED灯的以光情况,如果LED灯换作需要控制的继电器即是可以通过网络控制远程的继电器的工作。从演示软件中可以读取EVB-W5100/MCS51板上的温度参数,并随着EVB-W5100/MCS51板上的温度的变化而变化,起到监控现场温度的作用。第五章结论本文的主要内容是设计了一个简单、方便、功耗低的嵌入式系统与嵌入式服务器。硬件上采用的是市场上普遍使用的价格低廉的AT89S52单片机和新型的W5100网络控制芯片,以单片机为控制中心实现数据的处理,用W5100作为连接因特网的接口实现网络通信。实现方法简单,材料准备也较为方便,是架设一个简便嵌入式WEB服务器的较好方法之一。通过本系统的设计我进一步地熟悉了TCP/IP协议的工作原理,同时也学会了W5100的使用方法。对于51MCU的嵌入式系统设计也有了更深的认为,加强了实际动手能力。由于设计时间的短促与现实条件的因素,整个系统完成过程中还是存在不少的不尽人意的地方,但是通过论文的完成过程中学到了很多的知识,如嵌入式系统的基本构造、W5100的功能以及其基本使用方法并且进一步地熟悉了51单片机。对程序中应用到的软件如protel,KeilC51等也有了更大的了解与掌握。本系统也存在着一些明显的缺点,如实时性差,安全性低,这是由于51单片机的性能限制而不可避免的。我认为以后的嵌入式远程监控系统的发展方向应如下所说:实时性更高。随着远程监控应用越来越广泛,对其响应的实时性要求也会相应地提高。特别是对于基于Internet的远程监
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 运营商内部体系制度
- 机关内部事务管理制度
- 伊犁师范大学《戏剧工作坊》2024-2025学年第二学期期末试卷
- 机关内部财务管理制度
- 机关科室内部安全制度
- 机构内部绩效考核制度
- 林业内部审计制度
- 检察院内部考核制度汇编
- 检测设备内部检修制度
- 民宿项目内部管理制度
- 2026年包头轻工职业技术学院单招综合素质考试题库附答案详解(基础题)
- 人工智能的知识表示与推理
- 社区健康服务与管理
- 杨胜刚版国际金融第一章课件
- XX公司面试信息登记表
- 便携式四合一气体检测仪使用说明书
- 2023年全国新高考I卷讲评课件-2024届高三英语一轮复习
- 年产10吨功能益生菌冻干粉的工厂设计改
- 主要通风机无计划停电停风应急预案
- 统筹方法平话及补充
- GB/T 10609.1-2008技术制图标题栏
评论
0/150
提交评论