嵌入式系统的通信规约管理平台设计(精选4篇)
摘要:论述设计通信规约管理平台的必要性与可行性;借鉴操作系统的PCB思想,结合面向对象的方法学提出通信规约管理平台设计的核心思想――用户填写静态规约说明书。规约管理平台根据规约书生成通信规约控制块,由规约控制块控制、管理并适应千差万别规约程序的运行。
关键词:平台 规约说明书 CPCB 动态描述静态描述 逻辑描述
引言
众所周知,通信的双方必须遵守相同的协议,报文才能互相识别。目前,不同行业间的通信协议千差万别。为解决不同通信协议间的计算机系统通信问题,人们普遍采用的措施是一个具体规约对应一段程序。如果出现新规约,只能由通信双方共同配合,由一方按另一方的标准修改或增加通信规约来解决问题。这种解决措施使得通信系统的适应能力不强、可维护性差,难以兼容不同规约的设备。
笔者借鉴操作系统进程控制块PCB的思想,通过对各种通信规约的认真分析研究,提出了自己的通信规约管理平台的核心设计思想――用户填写指定格式的静态规约说明书。规约管理平台根据规约书生成通信规约控制块,由规约控制块统一控制、管理,并适应千差万别规约程序的运行。
该平台的设计使得系统能够适应千差万别的通信规约,不用修改程序就能够保证通信系统在线运行情况下,接入各种新设备,以不变的程序应对万变的规约,维护真正做到傻瓜化、智能化。
1 设计通信规约管理平台的可行性
1.1 统一的通信模型(本网网收集整理)
任何两台计算机上的两个应用程序通信,都遵从如图1所示的通信模型。数据流动可以用收到发两个动作来描述。把提出数据请求服务的应用程序称为控制方向、即命令的下行;把提供数据服务的应用程序称为监测方向,即数据的上行。这样,一个完整的规约有控制方和监测方两个方面。控制方向下发送命令,并解析监测方发来的应答或主动上报的数据或状态指示报文;监测方解析命令,根据请求命令组织应答报文并上传。
1.2 通信规约的共性
任何通信规约都具有如下共同特征;帧结构的相似性、数据对象种类和报文长度的有限性、报文流的粒子性、逻辑过程的有穷性、传送原因的可分类性。
(1)帧结构的相似性
每帧报文都有图2所示的传输控制部分。
传输控制部分的目的之一是保证要传输的数据最终能够正确到达目的地。传输控制部分包括同步字对象、长度对象、传输方向对象、源地址对象、目的地址对象、帧号对象、功能符对象、结束符对象、其它对象及校验码十种对象构成。任何具体的规约都是上述对象的全部或基子集的一个具体排列。
数据部分就是用传输控制元素封装起来的传输数据。
(2)数据对象种类和报文长度的有限性
数据对象是通信规约真正要传输的对象。任何一个具体应用,要传输数据对象的种类是有限的,因而人们能够通过具体的通信规约将其进行描述。通信规允管理平台同样也能被描述出来。
任何规约一帧报文的最大长度都是有限的,这样不但可以遏制通信线路上长期被个别设备独占,也减少了错误传的次数与重传时间。一旦要传输的数据超过规定帧长,要分帧发送,接收方根据帧号来组装源数据。
(3)报文流的粒子性
更重要的是任何报文流的最小单位都是一个二进制位,相应报文的最小定义单元也是一个二进制位,这是所有通信规约的共性,不同的是各位间含义不同。任何规约的不同定义都在报文流有不同的确定位置(对位而言),数据发送是以字节为单位的。所以,引入顺序号的概念来描述并指示定义在不同报文中的起始位置(相对于合法报文的第一个同步字)和位数,顺序号属性就成了所有对象的共同属性。描述如下:
*字节序号――定义在一个以字节为单位,合法帧中数据成员占有的逻辑序号,第一个起始符为逻辑序号0(C、C++下标从0开始),根据在数据流中出现的先后顺序递增;
*字节内的起始位号――字节内的开始位号,取值范围0~7;
*位数――用几位表示。
struct CommSerial
{unsigned int SerialByte;
unsigned char ByteStartBit,ByteEndBit}my={2,0,8};
字节顺序号为2,字节内起始位号为0,位数为8,说明是帧中的第三个字节。如果规约用已有定义的字节的空位来定义,顺序号可以重复,但位号不能重复,用累加实现。
(4)逻辑规则的有穷性
逻辑规则包含以下四个方面。
①命令应答关系规则:包括通信双方中,控制方发送的命令和监测方的应答数据对应关系,以及监测方的状态指示和控制方的发送命令关系两个方面。这种对应关系是确定的、有限的和可描述的。
②双方数据发送的时间规则:控制方的自动轮询时间规则、监视方主动上报的时间规则及人工随机干预的控制命令,以上都是有限的与确定的。
③优先级规则:控制方同时出现多种要发送的命令,应按优先级规则进行传送。
④在帧结构的各控制元素一级封装下,数据对象本身又进行了二级封装。这种二级封可按一级封装的方式解决。
(5)传送原因的可分类性
控制方的传输原因有自动轮询、人工随机干预、监视方出现需优先处理的状态或指示;监视方向的传输原因有受召唤与主动上报两种。
综上所述,通信规约管理平台的设计是完全可行的。
图2 通信报文统一抽象格式
2 通信规约管理平台的基本组织方式
管理平台组织方式是将规约按照统一格式分解,以形成规约说明书或规约描述文件,将之放在外存,启动注册命令,管理平台将规约说明书进行系统注册,填入规约注册控制表。运行时,管理平台从规约注意表中提取指定的规约说明书,并找到一个空白规约控制块CPCB,根据规约说明文件填写CPCB,再由CPCB控制管理这个具体规约的运行。空白规约控制块的个数是有限的。一个进程按照CPCB的内容来运行,同时一个进程管理一个硬件通信端口资源,即通信端口的数量决定通信进程的数量。平台可根据运行各规约的实现性要求,来安排一个进程运行CPCB的数量。当然,一个进程依照一个CPCB运行是容易实现的。
2.1 规约说明书
规约说明书由基本情况表、静态描述表、动态描述表、逻辑规则表构成。静态描述表由控制元素对象中不随时间变化而变化的属性信息及其它信息组成;动态描述表用于描述随时间不断变化的控制元素和数据元素信息及其它信息;逻辑描述表由命令应答关系表、应答命令表、时间规则表、优先级规则表、筛选规则表和二级封装规则表组成。
(1)基本情况表
包括规约名称、最大帧长、数据对象个数、命令对象个数和状态指示对象个数,如图3(a)所示。
(2)静态描述
由同步字、传输方向、源地址、结束符及其它6种数据对象构成,如图3(b)所示。同步字标志一帧数据的`开始;传输方向说明当前是工作在控制方向还是标志测方向;源地址说明报文的发送设备地址;结束符标志一帧报文的尾;其它对象指向所有不在上述静态描述之中的控制元素对象链的队首。静态描述中的每个控制元素对象都有本规约内全局统一的标识号(ID)。
(3)动态描述
用于描述随时间具体因素控制而不断变化的信息,它包括帧号对象、校验码对象、报文长度对象、数据对象、请求命令对象、应答命令对象、目的地址对象及其它对象,如图3(c)所示。帧号是完整报文的分帧传送,规约规定的报文帧的帧长是有限的;超限时分帧传送,发送方指明帧号,接受方按帧号重新组装。校验码对象用于传输差错控制,检验一帧报文的合法性。报文长度对象管理并指明有效数据的长度。数据对象按应答命令对象指明的类型组织该类数据。目的地址对于控制方向,指明服务的设备地址,它可能向多个设备轮流请求;对于监测方向,指明请求服务的设备地址。数据对象取决于具体规约的定义。应答命令对换快捷指明应答数据对象的类型。请求命令对象指明控制方向,向目的设备下发请求数据状态对象命令,并组织报文帧。应答命令对象和请求命令对象管理的措施与数据状态对象相同。当然,应答数据状态表和请求命令表是静态的,在此便于说明;而数据状态对象表是动态的。
动态描述中的控制元素对象和数据元素对象也都由本规约内全局统一的ID号来识别;ID号由ID注册管理程序生成,填写规约自己所赂的ID注册表。
(4)静态对象和动态对象公有的属性
①顺序号对象:如前所述,它指明某一元素对象在报文流中的起始位置和所占的连续二进制位数。
②ID号对象是全局统一的,它由六段依次连接而成,即一段、二段、三段、四段、五段、六段。根据ID可以识别提取不同的元素对象,它是各控制元素和数据元素的唯一标识。
一段是注册后的规约ID号,高段的位数由规约ID号位数决定。二段是区分上行与下行,用一位二进制位就可区分。三段用于说明具体的规约是否含有对应的元素对象,它说明的是有与无。四段用于区分源地址、目的地址、传输方向、同步字、其它静态对象、帧号、校验码、报文长度、请求命令符、应答命令符、其它动态对象和数据对象,共12种,用4位二进制位就可区分。五段用于说明四段之中的每一种是否具有原子性,比如同步字就具有原子性。当子种类多于一个同步字时,也相当于一个,要发就全发,不可分割;而请求命令符就不具有原子性,只能发出其子种类之中的一种。原子性是个布尔量,一位二进制就可描述。六段用于说明当上述12种之中任一种超过一个时,就可用第5段描述,比如同步字6个,就得用三位,选取上述12种之中子种类最多的一个和为第五段的位数。
③拷贝、赋值、被拷贝:在报文流中的其它类元素对象中,当出现与已有定义的控制元素对象表示值重复时,引
进对象的拷贝与被拷贝属性。赋值属性说明该元素指的是已独立的定义值。相应的,引入拷贝与赋值操作。
(5)逻辑描述信息
逻辑描述信息由下列表构成:
①控制方发送的命令被监测方收到后,监测方予以应答的数据对象ID对应关系表;
②控制方收到监测方的状态指示后,控制方应响应的发送命令ID对应关系表;
③控制方发送轮询命令ID时间间隔表;
④控制方的人工干预控制命令ID表;
⑤监测方的主动上报数据表、状态ID表;
⑥控制方发送命令ID优先级的规则表;
⑦监测方应答数据与主动上报的ID优先级规则表;
⑧二级封装规则表。
2.2 规约控制埠CPCB
关键词:继电保护,电力系统,实时操作系统,嵌入式,IEC60870-5-103规约
0 引言
随着嵌入式技术的发展,其在电力保护自动化系统方面的应用也越来越广泛[1~3]。另一方面,电力保护系统对信息交换的可靠性和对系统的易于维护性也提出了越来越高的要求。
本文研制的WMH-500微机式母线保护装置,应用了国际标准——IEC60870-5-103通讯规约[4~10],实现与变电站自动化系统和保护信息管理系统的接口。这使得利用嵌入式操作系统可以完全实现链路层和应用层分开进行设计,使系统具有实时性强、易于扩展和维护、具有良好的开放性;另外,为进一步增强装置的功能,研制了其在通信管理系统中可以存储大容量报告以实现故障数据的波形在线恢复显示及打印的功能;装置的通信规约已在开普实验室通过一致性检测。
1 系统的硬件和软件设计
1.1 装置通信管理系统的特点
WMH-500微机式母线保护装置适用于110 kV及以上各种电压等级的双母线、单母线、单母分断等各种接线形式的发电厂及变电所的母线保护。通信管理系统的设计完全考虑目前现场的工程实际,采用灵活的后台通讯方式,友好的人机接口,10.4大屏幕TFT显示,正常显示系统主接线及实时潮流数据;配电阻式触摸屏,用户操作更加方便快捷;且可存储大容量与COMTRADE兼容的故障录波,用户可根据需要进行选择显示或打印,多种形式再现故障时的原始数据,便于用户查找分析原因,适于无人值守的现场应用。
1.2 通信管理系统的硬件平台设计
装置内部的功能组件采用后插拔的插件式结构,通信管理插件采用多层印制板、表面贴装和涂敷工艺制作,依据总线不出芯片原则,大大提高了抗干扰性能。
1)硬件平台优势
装置通信管理系统的硬件平台应满足快速、准确处理数据的要求,PowerPC555是MOTOROLA公司的32位微处理器,它能在摄氏-45度到125度的恶劣环境下工作,具有强大的浮点处理能力,支持复杂的算法,内部有448 K字节的FLASH存储空间,且兼有工业标准的JTAG和BDM调试接口,使产品的软硬件调试非常方便快捷。
装置的硬件结构、电路设计等方面充分考虑电磁兼容性要求,以确保装置具有较强的抗干扰能力,整个系统的强弱电彻底分离,保证了装置的可靠性;另外通信管理系统设计了软硬双看门狗防错机制,可避免装置运行过程中如常死锁等现象。
2)装置的通信管理系统的硬件原理框图如图1所示。
其中电源采用直流220 V输入,经逆变后提供+5 V、+12 V给通信管理系统使用;CPU采用Motorola的32位浮点POWER PC体系嵌入式微处理器,加以适当扩展完成所有控制;控制面板采用大屏幕背光TFT液晶显示并配触摸屏,实现人机对话。
3)数据交互的实现
通信管理CPU板负责装置的信息管理和数据通信,该插件通过CAN总线与保护CPU板进行组网,利用公司内部的103规约实现数据的交互,接收和存储事件报告等相关信息,通过不通接口输出到各相应的设备,如显示屏、打印机或输送至监控后台和工程师站。
1.3 通信管理系统的软件平台设计1)采用RTOS的优势
通信管理系统是装置与人机显示或综自的信息桥梁,完成的主要任务包括硬件初始化、装置自检、人机交互、数据信息的远传等。如此复杂的应用,需要嵌入式实时操作系统来保证软件系统的可靠性,并能合理地最大化地利用CPU的资源,由于它具有自愈能力而避免了出现系统崩溃情况,此外,实时操作系统还具有开发效率高、可移植性好、模块化的程序设计等特点,系统可以将各功能模块分独立的任务处理,从根本上保证软件的实性,简化软件的移植和产品的升级。故本系统选择嵌入式实时操作系统,从根本上满足装置与综自互连时链路层和应用层完全分开的设计要求。
2)Nucleus Plus简介
NucleusPlus是为实时嵌入式应用而设计的一个抢占式多任务操作系统的内核,提供任务控制管理、内存管理、定时器管理、中断、系统诊断等16个组件,可根据设计的需要对其进行裁剪和定制,它具有性价比高、功能模块丰富、易学易用等优点,所以本装置选用该操作系统。
3)功能设计实现
WMH-500微机式母线保护装置的通信管理系统在高性能硬件系统上,嵌入Nucleus Plus实时操作系统,采用POWER PC555汇编语言和高级C语言编程,软件按任务实现模块化设计,以搭积木的方式将各功能模块组合起来,实现装置的整体功能。主要分上电复位、液晶显示、触摸屏操作、通信管理、规约转换、打印处理。实现如图2所示。
系统采用模块化设计增强了系统易于扩展升级、模块代码易于移植、具有很强的开放性等特点。并在相应的实际继电保护产品中进行了相应的移植,实践证明对应用代码稍加改动即可完全满足应用开发需要,避免了投入重复人力物力的浪费。
2 103规约在装置中的实现
2.1 103规约简介及网络模型
103规约是国际电工委员会(IEC)提出,用于控制系统与继电保护设备交换信息中的继电保护设备的信息接口标准。与国际标准化组织的开放系统互联七层参考模型相比,103规约是简化的通信协议。三层参考模型可显著提高通信的实时性。其参考模型如图3所示。
103规约规定,物理层采用光纤系统或RS485总线系统,装置采用RS485通信接口,应用光电隔离的MAX485实现电平转换,利用光电隔离可提高稳定性;通讯速率支持9 600 bps或19 200 bps(可配置);偶校验;通讯格式为1位起始位,8位数据位,1位停止位,1位偶校验位;另外,为满足现在不同的现场需要也提供了以太网接口。
链路层由一系列采用明确链路规约控制信息的传输过程所组成,为应用层提供差错的数据传输服务。装置链路层与应用层的实现完全分开,实现了理想化的通信联络,在链路层快速响应主站信息,确保标准规定的,重复帧传输时间间隔控制在50 ms之内,切实地提高了通信接口的实时性。
应用层主要是提供用户之间进行信息交换的接口,包括信息交换方法和装置应用功能及过程。
2.2 信息交换方法
WMH-500微机式母线保护装置中应用了兼容范围和通用分类两种方法,而建议不采用专用范围,主要是考虑到规约一致性及互联的局限。采用前两种服务进行协议编制,才能保证互换性和互操作性,避免大量的规约转换工作。
2.3 装置应用的功能及过程
在高压变电站微机控制系统与微机保护设备103规约的通信接口的开发中,主要应用到的功能,通信管理任务的软件流程如图4所示。
1)站初始化功能:子站上电或重启后,接受主站复位CU命令或复位FCB命令,上送ASDU5(复位CU或复位FCB),接着上送ASDU5(启动/重启)表示子站初始化完成。
2)基本链路传输:在正常运行情况下,主站循环向子站召唤2级数据,子站没有2级数据时,用功能码9回复主站的请求命令;如果有1级数据产生,先将ACD位置1,在主站请求1级数据时上送。
3)事件的获取功能:子站将告警信息、保护动作、开关变位作为事件突发主动上送,报文中的时间标记表示事件发生瞬间时间,且使用了品质描述词中的IV位。
4)总召唤:主站发送总召唤命令时上送装置内总查询报文表的全部内容——遥信,最后上送总召唤结束;总召唤过程中允许传输突发事件或主站进行命令控制。
5)时间同步:主站发送时间同步命令,子站在应用层进行响应,并正确校正当地时间。
6)命令传输:主站进行信号复归,子站用做肯定认可,然后上送变位事件。
7)闭锁模式:监视方向的闭锁在当地激活,在闭锁模式下,如子站收到总召唤命令后回复总召唤终止信息,如收到主站一般命令回复否定认可;如收到时间同步命令,子站可以正确执行和响应;监视方向的闭锁可以在当地解除。
8)测试模式:可以在子站当地激活,也可以在当地终止,测试模式下子站屏蔽保护动作功能。
9)通用分类:主站发送通用分类命令,子站用通用分类数据上送其内部定义的各组标题的内容、特定组内的全部条目的属性(如描述、实际值、因子等)、某条目的属性(如描述、实际值);主站发送1帧或连续多帧写通用分类数据,子站用通用分类数据进行确认,然后在主站发送通用分类数据写确定/取消时,子站回复通用分类数据执行写操作/取消写操作。
3 103规约在应用中应注意的问题
3.1 时间同步
应答报文的时标是主站发送对时命令时,对应的子站当地时间;在否定测试环节,对接受到的无效时间(如14月33日62分)命令的特殊处理,使装置具有容错能力。
3.2 命令传输
遥控过程作为IEC60870-5系列规约所实现的主要功能,是规约实现的重点。当短期内装置收到两个或更多的遥控命令时,在对前一次的命令做出认可之前,间隔单元又收到主站的命令报文,装置应对新的控制命令进行否定认可。多数厂家虽然都能完成命令传输的功能,但对执行遥控命令时发生另一遥控命令的情况缺乏细节上的处理,违背103规约的标准规定,同时由于应答过程不完整,还会存在一些互操作的麻烦。
3.3 品质描述词的使用
IEC60870-5系列规约的显著特点之一就是使用了品质描述词,品质描述会造成沟通和互联的障碍。品质描述词主要包括IV(无效)、NT(当前值)、OV(溢出)、SB(替代)、BL(闭锁)等,通常用于遥测、摇信、遥脉等信息对象的额外的品质信息。
如在时标的IV(无效)位,由于事件信息、时间同步命令中都带有时标,因此该位的处理至关重要。103规约规定:“继电保护设备最后一次同步后超过23 h未再同步;在复位报文和第一次成功的时间设定或同步之间发生的报文”,应在“时间信息元素的第三个八位位组的IV(无效)位置1”。
上述提到规约中应用应注意的问题,已应用到装置中,且通过开普实验室的否定测试和数据正确性的检验。
4 结论
嵌入式通信管理系统能保证系统响应的实时性和运行的可靠性,软件设计采用模块化模式,提高了装置适应现场环境的能力,方便了系统维护,克服了以往功能简单的缺点,充分满足了用户的个性需求;103规约是一个规则比较复杂的IEC传输规约,要在装置中成功应用,需要进行规约应用的反复实验和检验。但规约一致性检测报告和现场运行的良好效果,已经初步说明所研制的应用103规约的WMH-500微机式母线保护装置的通信具备良好的稳定性和可靠性。
参考文献
[1]张劲,章坚民,等.220 kV继电保护故障信息处理系统的设计[J],电力系统自动化,2003,27(11):61-64.ZHANG Jin,ZHANG Jian-min,et al.Design of 220kV Relay Protection and Fault Information System[J].Automation of Electric Power Systems,2003,27(11):61-64.
[2]赵祖康,徐石明.变电站自动化技术综述[J].电力自动化设备,2000,20(1):38-42.ZHAO Zu-kang,XU Shi-ming.A Summary of Substation Automation Technology[J].Electric Power Automation Equipment,2000,20(1):38-42.
[3]赵自刚,黄华林,等.继电保护运行与故障信息自动化管理系统[J].电力系统自动化,1999,23(19):20-22.ZHAO Zi-gang,HUANG Hua-lin,et al.Automatic Management System for Protective Relaying operation and Fault Information[J].Automation of Electric Power Systems,1999,23(19):55-57.
[4]谭嘉虎.用于微机保护设备基于IEC 60870-5-103传输规约的通信接口技术的研究与开发[J].电网技术,2004,28(22):31-35.TAN Jia-hu.Research and Development of IEC 60870-5-103 Transmission Protocol Based Communic-ation Interface Technology for Microcomputer Based Protection Devices[J].Power System Technology,2004,28(22):31-35.
[5]DL/T 667-1999 IDT IEC 60870-5-103:1997[S].
[6]GB/T 18657.1—2002 IDT IEC 60870-5-1:1990[S].
[7]GB/T 18657.2—2002 IDT IEC 60870-5-2:1992[S].
[8]GB/T 18657.3—2002 IDT IEC 60870-5-3:1992[S].
[9]GB/T 18657.4—2002 IDT IEC 60870-5-4:1993[S].
关键词:嵌入式软硬件;ARM;教学平台
中图分类号:TP319文献标识码:A文章编号:1007-9599 (2011) 06-0000-01
Design of Multi-platform Embedded Software/Hardware System on ARM
Li Huaizhou,Zhao Xuegong,Liu Shi
(School of Optoelectronic Information,University of Electronic Science&Technology,Chengdu610054,China)
Abstract:A design of embedded hardware teaching platform based on ARM is realized in the paper.After setting up software development environment,some lab projects related to the platform are designed.Multiple ARM processors can be compatible with the platform.It offers a solution contributes to improve students' innovation ability.
Keywords:Embedded software and hardware;ARM;Teaching platform
随着嵌入式行业的迅猛发展,社会上对嵌入式方向的研究人才的需求也大幅度增加。为此,本文设计了一种兼容多款ARM9的嵌入式教学实验平台。学生可通过切换不同的CPU板完成对基于ARM的嵌入式系统的全面深入学习。
一、实验系统硬件平台总体设计
本系统需要设计的是一个支持多平台的嵌入式硬件平台,我们在硬件设计时采用子母板的结构,不同的ARM芯片电路分别设计在较小的子板上,而共用外设电路设计在母板上,子板与母板间通过金手指接口连接。本系统设计了三个不同的CPU子板:S3C2440子板,AT92SAM9261子板和LSZCP320子板。同时设计一个能够兼容三个子板的母板。具体的硬件规划布局如图1所示。
二、实验系统软件平台设计
(一)嵌入式软件开发环境的建立
嵌入式系统开发模式为交叉开发模式:在主机上编辑、编译软件,在目标板上运行、验证程序。本系统搭建的交叉编译环境,主机为PC,目标板即为实验教学平台,交叉编译工具为arm-linux编译器。
(二)引导程序的加载
嵌入式系统中,Bootloader完成两项工作:首先,对嵌入式平台做一些简单的初始化工作;其次,加载操作系统内核,并将控制权交给操作系统。Bootloader的实现非常依赖于具体硬件,不同体系结构需求的Bootloader不同,所以需要针对不同的嵌入式系统进行Bootloader的一些移植。
(三)Linux内核移植
Linux内核文件数目将近2万,它们分别位于顶层目录下的17个子目录下:arch,block,drivers等,每个文件目录下都有相应的Makefile文件,它决定了内核中哪些文件被编译,如何编译这些文件以及怎么连接这些文件的规则。
Linux内核配置选项多达上千个,初学者要了解每个配置选项的作用很困难。所以通常都是在默认的配置文件基础上进行修改。例如本系统中对S3C2440子板采用的配置文件为/arch/arm/configs/smdk2410_defconfig。执行命令:make menuconfig,即可对内核进行重新配置。完成后执行命令:make uImage即在arch/arm/boot目录下生成uImage文件。
(四)构建Linux根文件系统
本系统针对Nand Flash设备采用的是yaffs的嵌入式文件系统。文件系统从基本目录开始创建,配置启动过程所需的文件,并且在/etc目录下建立配置文件inittab,确定init进程在启动与关机时的工作特性。该文件系统应用BusyBox来编译,制作yaffs文件映像。最后下载到Nand Flash存储器中。
三、开设的综合实验内容
本实验平台采用母板加子板的设计思想,可满足学生自主开发的需求。学生也可根据自己的要求选择外围硬件设备,完成不同的综合实验。本系统可开设的一些实验有:
1.多线程程序设计;2.串口通信设计;3.TCP程序设计;4.字符设备驱动程序入门实验;5.按键驱动程序设计;6.SD卡驱动分析与移植;7.LCD驱动分析与移植;8.嵌入式MP3播放器实验;9.远程视频监控实验;10.图像运动检测实验。
四、结束语
本文探讨了一种兼容多款ARM9处理器的嵌入式教学实验平台完整性设计,包括系统硬件平台的设计,嵌入式交叉开发环境的建立,Bootloader移植,Linux操作系统内核移植,根文件系统制作以及相关课程实验设计。经过测试与验证,设计的嵌入式平台达到了预期的效果,实现了一个可用于实验和开发的嵌入式平台,对提高学生的动手能力和创新能力具有重要的意义。
参考文献:
[1]杨水清,张剑,施云飞.ARM嵌入式Linux系统开发技术详解[M].北京:电子工业出版社,2010
[2]韦东山.嵌入式Linux应用开发完全手册[M].北京:人民邮电出版社,2008
[3]王洪辉.嵌入式系统Linux内核开发实战平台指南[M].北京:电子工业出版社,2009
[作者简介]李怀周(1986-),河南新乡人,在读硕士研究生,专业:电路与系统,研究方向:Linux嵌入式系统;赵学功(1986-),河南商丘人,在读硕士研究生,专业:电路与系统,研究方向:复杂电路系统;刘士(1986-),安徽亳州人,在读硕士研究生,专业:电路与系统,研究方向:Linux嵌入式系统。
通信管理机是水电厂计算机监控系统的重要部件,担负着数据采集、协议转换、命令下发等工作,是下层微机化设备和上层监控系统间的通信枢纽。一般要求其具有:极高的可靠性,能够24 h不间断运行;较好的实时性,在允许延时范围内上传各类数据;高互连性,能兼容各种电力系统规约,方便与各类设备通信;较好的可扩展性,使其能不断地加入新的协议、采集对象等,以适应水电厂的局部的升级改造。本设计实现了一种基于Win CE平台嵌入式工业计算机的水电厂通信管理机,可完成对水电厂监控系统的各种设备的数据采集、命令下发、规约转换任务。以IEC60870-5-104规约将数据上传多个客户端,简化了上位机数据采集过程,提高了水电厂监控系统通信可靠性,满足通信管理机长期稳定运行需要[1,2]。
1 通信管理机软、硬件环境
随着嵌入式系统的发展,嵌入式计算机以其稳定、可靠、低功耗的特点在各种工业领域得到了广泛应用,而通信管理机的运行环境和性能要求都非常适合以嵌入式系统来实现。在这种需求的支持下,MOXA推出了UC系列工业计算机,该系列产品以通信功能为核心,整合了各种相关软、硬件,适用于协议转换、数据集中、接口转换等多种数据处理场合。
本设计中使用MOXA UC7410CE智能通信服务器。硬件方面,该产品采用Intel XScale 266 MHz CPU,128 MB内存,32 MB Flash闪存,集成8个RS-232/422/485串口,双以太网卡和1块128×64点阵液晶显示器。Intel XScale处理器是Intel公司在ARM处理器构架基础上重新设计内核的高性能处理器,主要应用于高端的网络产品,满足通信管理机的处理能力需求;双网卡和8串口设计使该机拥有完善的设备连接能力;该系列产品强调工业应用,采用无风扇、机壳密封防尘、无旋转设备、可靠电磁屏蔽、浪涌保护等设计,提高了稳定性和使用寿命,非常适合在条件复杂的工业现场使用。
软件方面,该机预装Win CE5.0和完整的设备驱动程序。专门定制的Win CE系统只保留了通信相关的功能,小巧而高效,完善支持串口API、Winsock,并拥有多线程并发执行能力。
2 通信管理机软件设计[3,4,5]
2.1 UC7410CE开发基础
UC7410CE的典型的开发环境为e VC4.0+SP4+UC7400SDK1.2,可直接调用Win CE API实现对串口、以太网的编程。
a.串口操作。水电厂中很多微机化设备采用RS-485/232方式向外提供数据,故串口数据采集是通信管理机设计的一个重点。Win CE下串口操作过程为:调用Create File()创建串口句柄;Get Comm State()读取DCB,修改DCB参数并调用Set Comm State()写回DCB;创建COMMTIMEOUTS变量设置读取写入超时参数并调用Set Comm Timeouts()将其设置到已创建的串口句柄;串口读写用Write File()与Read File()函数,类似于一般的文件读写。这部分内容在很多著作中都有详细介绍,文中不再赘述。
b.以太网的操作。Win CE自4.1版起开始支持Winsock2.2,以太网操作用到的API主要有:
Recv()、Send()等。下面是一段以太网监听与创建客户服务线程程序。
2.2 通信软件设计
通信管理机是监控系统的前置机,主要功能是数据采集、命令下发和规约转换,在水电站监控系统中的连接关系如图1所示。其中,粗线表示以太网,细线表示RS-485网络。水电厂存在多个协议不同、接口相异的设备:如常见的励磁调节器采用Modbus协议、RS-485口;电能表采用DL/T645协议、RS-485口;直流监控系统采用循环远动规约(CDT)、RS-485口;保护装置采用Modbus协议或IEC60870-5-103/104协议、以太网或RS-485口等。通信管理机应能采集所有这些设备的数据并按照一定的协议传到上位机,以简化上位机的采集过程。
通信管理机软件结构如图2所示。
下面介绍软件主要模块。
a.主线程。主线程负责创建其他任务线程,并显示当前系统信息(如系统内存使用情况、IP地址信息、上传数据队列长度、缓冲区长度等),并负责响应按键输入。
b.采集线程。采集线程由主线程创建,完成下位机数据采集并对采集的数据进行判断,按照判断结果确定是否将其置入发送队列。采集线程有多个,可分为2组:低优先级组和高优先级组。低优先级线程实现对数据实时性要求较低的设备进行采集,如励磁调节器、调速器、电能表、温度模块、直流系统等。对此类设备的采集应采用单线程采用轮询的方法,以避免多个线程同时采集时数据刷新过快,浪费系统资源。高优先级线程实现对数据实时性要求较高的设备的采集,如基于RS-485的保护设备、基于TCP/IP保护设备等。这类设备传输数据量大,并要求数据快速送上位机,故对每个设备以独立线程进行采集,且设置该类线程有高优先级,确保数据转发的实时性。
c.IEC60870-5-104协议上传线程对组(下称上传线程组)。上传线程组负责从上传数据发送队列中取得数据,并发送到上位机。该类线程在上位机客户端连接时由主线程创建,并且每个上位机客户连接独享一个上传线程对(一个接收线程、一个发送线程)。上传线程组中的多个线程同时访问上传数据发送队列时必须进行同步化。
d.数据区包括上传数据队列和可编程序控制器(PLC)数据缓冲区2部分。上传数据队列是为解决采集过程与上传过程速度匹配问题而引入的一个队列结构。采集线程将待上传的数据插入队列,发送线程取出数据并发送到上位机。PLC数据缓冲区是一个线性表,存储了现地PLC需要的全部数据,由采集线程负责刷新。
2.3 软件设计中需要注意的问题
a.多线程同步。多个采集线程或发送线程可能同时访问数据区,因此必须采取同步化措施,互斥体是Windows系统提供的一种多线程同步方法。使用互斥体之前必须先用Create Mutex()对互斥体进行初始化;在访问临界资源前调用Wait For Single Object()阻塞其他线程;对临界资源的访问结束后调用Release Mutex()释放阻塞。
b.客户线程管理。多个客户端同时与通信管理机连接时,任何客户服务线程在删除上传数据队列节点前都要确保所有客户服务线程都已获取了该节点的数据,不能直接删除。可用一个客户线程线程状态字(Clientstatus)和一个看门变量(ready)来判断当前客户端连接状态和各客户服务线程对上传数据队列的访问情况。图3说明了客户状态字和看门变量的工作原理。
3 IEC60870-5-104规约实现[6,7,8,9,10,11,12,13,14,15]
IEC60870-5-104是应用于远动设备的传输/控制规约,其科学性、可靠性都得到了实践的证明,非常适合作为通信管理机与上层系统间的通信规约。这里不详细介绍IEC60870-5-104的细节,只就其实现过程中的一些重要问题进行探讨。
3.1 IEC60870-5-104规约帧结构
一个标准的IEC60870-5-104数据帧称为应用规约数据单元APDU(Application Protocol Data Unit),由应用规约控制信息APCI(Application Protocol Control Information)和应用服务数据单元ASDU(Application Service Data Unit)组成。其结构如图4所示。
APCI结构中,启动字符固定为68 H,表示一个数据帧的开始;APDU长度为控制域开始到本帧结束的总字节数;4个8位控制域分别表示发送序列号和接收序列号,可用以实现报文丢失检测和报文重传。规约帧(即APDU)有3种格式:I格式、S格式和U格式。I格式即用于编号的信息传输,其结构是一个包含APCI和ASDU的完整的APDU;S格式帧只含有一个APCI,是收端发给发端的确认帧;U格式帧也只含有一个APCI,用于传输过程的控制,如启动传输、停止传输、测试帧等。
3.2 通信流程
通信时,通信管理机是TCP连接的服务器,上位机是客户端,通信过程由客户端发起。一旦TCP连接建立,则服务器端创建一个接收线程对某一客户端服务。接收线程接收来自上位机的数据帧并上传相应的应答帧;自动上传线程由接收线程创建,用于实现数据的自动上传。图5是服务器端接收流程图,图6是自动上传流程图。
3.3 防止报文丢失和报文重传
IEC60870-5-104采用发送、接收序列号(下文称N(S)、N(R))来实现防止报文丢失和报文重传[5]。当TCP连接建立后,N(S)、N(R)均被重置为0。此后,N(S)、N(R)在每个APDU和每个方向上都应按顺序加2,发送方增加N(S)而接收方增加N(R)。当接收站按连续正确收到的APDU的数字返回N(R),表示接收站认可这个APDU或者多个APDU。发送站把一个或几个APDU保存到一个缓冲区里直到它将自己的N(S)作为一个N(R)收回,而这个N(R)是对所有数字小于或等于该号的APDU的有效确认,这时就可以删除缓冲区里已正确传送过的APDU。若更长的数据传输只在一个方向进行,就得在另一个方向发送S格式确认帧,在缓冲区溢出或超时前认可APDU。这种方法应该在2个方向上应用。在实际的应用中,可不设已发数据缓冲区,当一方发送了U或I格式帧后,必须在超时前得到收方确认才进行下一个数据帧的发送。所以上位机每收到一帧要发送一个确认帧,不要等收到多帧后再回复。
3.4 超时时间常数
IEC60870-5-104引入了τ0~τ3共4个时间常数来判断整个传输过程中的超时情况[5],其定义可参考文献[5]。实际应用中可不采取τ0时间,通信管理机在连接建立前一直处于连接状态,客户端随时连接;τ1按规约推荐取15 s;若不使用已发数据帧缓冲机制,则不使用τ2,一旦有数据接收到就进行确认;τ3按规约推荐取20 s。
4 与现地单元共享数据
通信管理机负责大部分设备的数据采集,但由于目前的中小水电厂广泛采用2级控制模式,即后台+现地控制单元(LCU)。因此,现地PLC也有分享数据的需求。通信管理机可以通过以太网或RS-485方式与现地LCU连接,通信规约可以采用CDT或Modbus。下面是一个采用Modbus协议,实现与PLC数据共享的例子,括弧中的数字代表发送数据的长度,单位为bit。
PLC发送命令帧,其格式为:子站号(8)+功能码(8)+数据地址(16)+CRC16效验(16)。通信管理机返回数据帧,其格式为:子站号(8)+功能码(8)+上传数据(16)+CRC16效验(16)。其中,子站号可编0~255,在单PLC对多通信管理机时用;功能码固定,命令时为03 H,应答时为04 H;数据地址可编0000 H~FFFF H,遥测值、遥信值统一编址,命令接收端实现地址变换;上传数据占16位,即每个遥测量占一个数据帧;每16个遥信量占一个数据帧。当通信管理机接收到一个错误帧(效验出错,地址越限)时,返送错误帧,格式为:子站号(8)+FF+00 H+00 H+CRC16(16)。
5 结语
【嵌入式系统的通信规约管理平台设计】推荐阅读:
嵌入式系统设计课程设计大纲(给学生)10-22
嵌入式毕业论文:嵌入式系统的应用06-19
嵌入式系统开发试题07-19
嵌入式系统试题库09-20
构建嵌入式linux系统10-25
嵌入式操作系统习题02-10
嵌入式系统学习心得07-11
基于ARM的嵌入式RIFD读写器设计10-30
嵌入式在的发展趋势11-18