



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一种双MCU结构的嵌入式Internet接入服务器摘要:针对某些单MCU结构的嵌入式Internet服务器性能价格比低且灵活性差的问题,提出了一种双MCU结构的嵌入式Internet接入服务器(DMCUEIAS)。它使嵌入式Internet的用户交互和设备控制分离,用户通过Internet不仅可以监视和控制现场设备,而且利用RAC可以将任务下载到现场;解决了低端单MCU处理能力低高端MCU成本高的矛盾,并能够灵活地实现现场控制程序的功能扩展和升级。 关键词:双MCU结构嵌入式InternetRAC嵌入式TCP/IP协议栈嵌入式Internet是指借助于Internet监视和控制工厂的机器、通信设备、数据采集系统、过程控制系统、医疗设备、机顶盒、车辆控制器、办公机械、个人数字助理(PDA)和其它设备。随着Internet/Intranet的迅猛发展,将Internet延伸到8位、16位、32位单片机,实现基于Internet的远程数据采集、远程控制、自动报警、上传/下载数据文件、自动发送EMALL等功能已经成为嵌入式系统发展的必然趋势。就嵌入式Internet系统而言,实现Internet通信协议及其服务,同时还要控制现场设备将占用大量资源,而嵌入式Internet系统中大量存在的是8位和16位MCU,这些系统在某些环境下实现上述功能将十分困难。如果采用32位或64位的处理器,无疑会增加成本。为此,本文提出了一种双MCU结构的嵌入式Internet接入服务器DMCUEIAS。其中一个MCU作为Internet服务器与用户交互(称作InetMCU),它支持TCP/IP协议栈并运行Internet服务程序,形成一个用户可以通过浏览器进行交互的服务器;另一个MCU专门用作设备服务器(称作DevMCU)控制多个设备。InetMCU和DevMCU通过RAC协议实现通信,完成现场设备的控制。这样可以提高性能价格比,具有操作简便、功能易扩展等特点。1硬件结构双MCU结构的嵌入式Internet接入服务器DMCUEIAS采用ATMEL公司生产的AT90S8515微控制器作为InetMCU,采用AT89S53作为DevMCU,系统体系结构如图1。其中,DevMCU拥有12K字节的Flash程序存储器,256字节的片内RAM,3个可预分频的16位定时储器,256字节的片内RAM,3个可预分频的16位定时器、计数器,32位I/O口和一个内置的全双工UART;InetMCU拥有8K字节的Flash程序存储器,512字节的片内EEPROM,512字节的片内RAM,1个可预分频的8位定时器、计数器,1个可预分频、具有比较、捕捉和8/9/10位PWM功能的16位定时器和计数器,用于程序下载的SPI口,32位I/O和一个内置的全双工UART。InetMCU的时钟频率是8MHz,可以高速地通过ISA口传递数据(约2Mbps)。通过一个时钟周期内执行一条指令,InetMCU可以取得近1MIPS/MHz的性能。通过在单一芯片内将一个增强性的8位RISCCPU与可下载的Flash结合,使它非常适合多种嵌入式应用要求,具有高度灵活性和低成本的特点。DMCUEISA的以太网控制器采用台湾Realtek公司的RTL8019AS(10Mbps)。其采用全双工通信方式,使帧的发送与接收能够在一条通信线路上同时进行。使信道的带宽增加一倍,实现了基于IEEE802.3协议标准的MAC层(MediaAccessControlLayer)的所有功能。内置的双DMA通道FIFO完成简单有效的包管理(数据帧的接收和发送)功能,本地DMA通道的传输速率高达10Mbps。其优越的性能价格比使它非常适合嵌入式Internet系统。在InetMCU的片内Flash中固化的服务程序可以现任务调度、线程支持、文件系统、内存管理、网络系统(TCP/IP)和I/O管理等。通过20位(8位A口,8位C口,D口的PD0、PD1、PD2、PD7)I/O口连接到廉价的ISA总线的网卡芯片RTL8019AS卡,能够对外(如Internet上的用户)提供一种通过以太网接口访问嵌入式系统的方法。InetMCU的片内EEPROM存储授权的用户名、密码和其固定的IP地址及MAC地址。远程用户访问DMCUEIAS时,要比较用户名密码,只有合法用户可以通过Internet访问DMCUEIAS。InetMCU的片内RAM存储临时数据,同时外扩了32K字节的SEEPROM。它采用AT24C256存储不同的控制网页,完成必要的文件系统功能,通过WEB页可以实现远程用户与DMCUEIAS的交互。InetMCU用12位(8位B口作为数据口,D口的PD3、PD4、PD5、PD6作为控制口)I/O完成与DevMCU的通信。DevMCU的片内Flash已经固化DCX51嵌入式实时操作系统、通信服务和远程存取控制服务(RAC),负责现场设备的控制。DevMCU的另外16位(8位A口,8位C口作为数据)I/O口与ISP相连,完成必要的逻辑功能,最后由ISP的IO56IO63(8位)通过功率驱动直接驱动设备。2软件体系结构2.1TCP/IP协议由于系统的资源有限,要求实现协议时应从具体需求着眼,而不是以实现完整的协议为主要目的。DMCUEIAS要求能够提供WWW服务,并选择以太网为其运行的网络环境。这样用户可以利用浏览器通过HTTP协议浏览事先下载到InetMCU的SEEPROM中的控制网页,通过该网页传递控制命令到InetMCU。客户端发来的数据以HTTP协议标准发到DMCUEIAS。这是因为HTTP协议是国际标准,它被所有浏览器支持,能保证用户可以通过任何地方的浏览器下达命令。HTTP协议建立在TCP协议的基础上。建立连接时经过三次握手,每次传输数据都要求服务器给予确认;如无确认,则重发,保证从客户端到InetMCU的数据正确、无整。软件部分要实现的协议至少是:应用层上负责Web页面请求和应答的HTTP协议;位于传输层上保证数据进行可靠传输的TCP协议,在数据传输时采用带重传机制的停-等协议,有效保证数据的传输;位于网络层上进行数据传输的IP协议;IP是TCP/IP协议族中最为核心的协议,它对收到的IP数据报进行分用,提交TCP或ICMP协议处理,对TCP或ICMP报文进行IP封装,交数据链路层装帧发送是IP协议负责的主要任务,因此对这两个功能也要进行实现;实现32位IP地址到48位网卡地址转换的ARP协议,完全可以满足网络上主机对InetMCU的IP地址进行解析的需求;实现网卡的驱动程序。Ping这一常用的网络诊断工具也应该被提供,所以与Ping相应的ICMP协议应该予以实现。2.2DCX嵌入式实时操作系统DMCUEIAS基于实时多任务操作系统“&”,这是一段在DMCUEIAS启动后首先执行的后台程序。用户的应用程序是运行于RTOS上的各个任务,RTOS根据各个任务时要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。在RTOS支持的DMCUEIAS系统中,每个任务均有一个优先级。DMCUEIAS根据各个任务的优先级,动态切换各个任务,保证实时性的要求。DCX(DistributedControlExecutive)嵌入式实时操作系统相当于实时操作系统的核,本文讨论的DMCUEIAS支持8位的DCX51。DCX51执行程序已固化在DevMCU中,为BITBUS网络上的节点提供多任务能力,并且控制DevMCU和InetMCU之间的通信。DCX51操作系统提供中断处理,能实时地响应外事件发出的中断服务请求、任务间的通讯、任务的同步,内部存储器管理对应用程序代码段和数据区以不同方式管理;定时服务以及其于优先级的抢占式任务调度方法。新建任务如果优先级最高,可立即运行,否则处于就绪状态。就绪队列中的任务按优先级顺序排列,下一次运行的总是就绪阶列中优先级最高的任务,同优先级的任务则按就绪时间顺序排列是。DCX支持多任务,0号任务RAC是系统任务,它管理目标机与上位机通信。含有DCX51的DevMCU作为主控芯片安装到目标机上,分布到工业现场中控制设备。对于每部分功能,DCX都提供系统调用,这些调用就是用户任务与DCX的接口。这些服务综合在一起就实现一个实时系统。这样在DMCUEIAS中,用户主要完成控制外部设备的各个程序模块。2.3RAC任务任务是一个可调度的执行单元,它由执行代码和只能由该任务存取的私有数据组成。RAC(RemoteAccessControl)任务,即远程存取和控制,专门负责远程任务的接收和发送。当信息发送到另一节点时,DCX51执行程序发送信息到RAC任务(即任务0)。RAC任务内含通信服务,它已经随同DCX51操作系统一道固化到DevMCU,通过DCX51,可以实现InetMCU与DevMCU的通信。它有两种类型的服务:数据存取和任务控制。数据存取类的服务可以对DevMCU不同的存储器段或I/O空间进行数据的读或写。任务控制类的服务可以下载一个任务的目标代码到DevMCU,建立或删除在DevMCU的一个任务。传到InetMCU的数据通过RAC任务从InetMCU传到DevMCU,再由DevMCU完成远端设备的控制和访问。RAC任务的信息格式如表1。其中,Link是系统用于保存信息表的两字节的参数;Messagelength是RAC命令或回答的字节数。MT(Message-type):指定信息类型的一位;SE(src-ext)表示产生信息的任务是否在扩展节点上;DE(dest-ext):表示接收命令信息的任务驻留在扩展节点上,还是在一个设备上;Nodeaddress:只能通过PC系统接口进行传递的信息参数是0xff,当信息从同一节点的一个任务传递到另一个任务时,参数是0;Sourcetask:是源节点发送任务的任务ID(07);Destinationtask:是目的任务的任务标识符;Command/respond:包含选择规定的RAC任务的参数(不同服务其值也不同),RAC任务的响应信息包含了指示服务结果的状态代码;data:数据,对不同RAC服务而不同。表1RAC信息格式Link(高字节)Link(低字节)MessageLengthMTSEDE00000NodeaddressSourcetaskDestinationtaskCommand/responddata2.3.1RAC任务控制类任务控制类允许用户在远程节点上使用适当的DCX51系统调用,或者控制远程节点自身。在DMCUEIAS中用户可以把指定的任务文件(必须是十六进制格式,如.hex)通过Internet下载到InetMCU里,然后通过下载后,客户端还要发create命令激活下载的文件数据,通过RAC任务create服务把命令传到DevMCU,完成新任务的建立,实现控制设备。用户还可以控制其它服务如deletetask(删除特定的任务,并禁止所有与该任务有关的中断)、resetdevice(全部任务初始化),为此用户必须知道当前运行的任务号。这需用户事前发getfunctionids命令,DevMCU通过RAC任务的getfunctionids服务把ID号传给InetMCU,并通过Internet返回到客户端,用户可对任务进行不同的操作(如删除等)。2.3.2RAC数据存取类数据存取类使用户可以对不同的存储段或I/O空间进行数据的读写。在DMCUEIAS中,客户端可以通过对DevMCU的I/O空间进行数据读写来控制设备,完成数据的写(客户端传来的数据直接控制设备状态)、读(把设备的状态通过网络传给客户端)。RAC任务写服务:写数据到DevMCU的I/O口中。客户端从Internet传来的设备状态码从InetMCU写到DevMCU,完成对设备的控制。RAC任务读服务:把DevMCU的I/O口内容进行读和显示。当前设备的状态(用一字节8位表示,即可同时控制8个设备)从DevMCU传到InetMCU,然后通过Internet返回到远端的客户端,用户就可知道设备的状态。3实验结果本文的实验环境是:通过计算机的RS-232串口把编好的服务程序(采用汇编语言,这样可减少程序代码量,并提高执行效率)固化到InetMCU的Flash存储器里,实现较完整的服务器功能,如任务调度、线程的支持、文件系统、内存管理、网络系统(TCP/IP)和I/O管理。断开程序下载线,双MCU结构的嵌入式Internet接入服务器(DMCUEIAS)和运行客户端程序的PC机只通过网线连接。了演示实验结果,把8个设备用8个指示灯代替,对指示灯的控制通过二进制0(灯灭)、1(灯亮)实现,即指示灯只有两个状态,完成客户远端控制和读取指示灯的状态。这个实验环境是对用户通过Internet远端控制设备的模拟。验证RAC任务控制类:首先下载文件fd.hex,它控制指示灯,使8个小灯按序接连亮,然后灭,下一个亮,到最后一个灯,再从第1个灯开始,重复循环然后用户发create命令,激活任务,实现实验目的。在这里共有4个任
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中国农业科学院北京畜牧兽医研究所奶产品质量与风险评估创新团队博士后岗位招聘考试模拟试题及答案解析
- 2025内蒙古呼和浩特市玉泉区西菜园办事处社区卫生服务中心招聘1人考试模拟试题及答案解析
- 2025中央民族歌舞团招聘编制外13人备考考试试题及答案解析
- 2025云南民族大学附属小学教育集团聘用制教师招聘(39人)考试参考题库及答案解析
- 2025重庆九洲星熠导航设备有限公司招聘软件设计岗(校招-深度学习方向)等岗位23人考试参考题库及答案解析
- 2025内蒙古巴彦淖尔市建安发展投资集团有限公司招聘中层管理人员2人备考模拟试题及答案解析
- 2025黑龙江佳木斯铁路运输检察院招聘1人考试参考题库及答案解析
- 2025年安庆宿松县城区及城周边学校选调教师143名工作实施考试模拟试题及答案解析
- 2025上海海关事业单位第一批招聘3人备考模拟试题及答案解析
- 2025云南省楚雄州州级机关统一公开遴选公务员(56人)备考考试试题及答案解析
- 2025年大学辅导员招聘考试题库
- 2025-2026学年七年级英语上学期第一次月考(Unit 1-2)(广州专用沪教版2024)解析卷
- 浙江名校协作体(G12)2025年9月2026届高三返校联考物理(含答案)
- 2025年山东省青岛市中考英语试卷真题(含答案详解)
- 廉租房承包物业合同范本
- 文学社教学课件
- 2025全国企业员工全面质量管理知识竞赛试题及答案
- 中小学心理健康c证考试试题及答案
- 污水厂工艺知识培训课件
- 2025年中学教师资格证考试(科目二)教育知识与能力冲刺试卷
- 水利水电工程单元工程施工质量验收标准第8部分:安全监测工程
评论
0/150
提交评论