变电站嵌入式以太网通信平台的设计与实现.pdf

所需积分/C币:9 2019-09-15 13:41:15 341KB PDF
15
收藏 收藏
举报

设计了一种变电站嵌入式以太网通信平台,硬件设计基于TMS320F2407 DSP,软件设计基于嵌入式操作系统IxC/OS一Ⅱ。阐述了以太网接口的实现与操作系统的移植过程,然后对嵌入式TCP/IP协议栈进行了合理的设计,并通过实验测试验证了该通信平台的可行性。
《电气自动化》2010年第32卷第3期 嵌入式系统 Embedded Systems 开始发送 验数据包的合法性并调整相应的指针。接收数据包的流程 (开始接收 读发送开始页地址 如图3(a)所示。 青是 是 数据发送时先将待发送的数据帧,用远程DMA方式 长60? 从主控制器的缓冲区发送到RI8019AS的发送缓冲区。 出处理] 然后配置发送计数器,启动发送命令把数据往外发送数 关中断读取读读页指针和 写页指针(BNRY、CURR) 长150(返回)据发送过程流程如图3()所示。 是↓(返回 写远程DM地址和计数器高低位 2.2嵌入式TCP/IP协议栈的实现 CURRBNRY 在完成系统硬件电路的设计与以太网驱动程序的开 启动远程DMA读取接受状态 设置CR,开启远程DMA 下一页指针和帧长度 发之后,系统已能发送和接收网络数据包。然而如何将网 送数据到0195发送级冲区 络数据包里的纯数据分解出来,将纯数据封装成符合协议 <数据包合法 启动发送 的网络数据包则需要嵌入式TCP/IP协议处理程序来完 读取数据到缓冲区 丢弃报错 成。需要在μC/OSⅢ操作系统上定制的嵌入式TCP/P BNRFCURRI 协议栈主要有ARP协议、IP协议、lCMP协议和UDP协 调整!指向下帧地址 议8-91 配置下一次发送开始页地 在ARP模块中,为了便于地址解析,系统中设置了 返回 返网 一定ARP缓存空间用于存储IP地址和硬件MAC地址 a)数据接收 b)数据发送 之间的关联。在发送IP数据报时,首先查看ARP缓存空 图3以太网数据接收与发送过程流程图 间中目标IP是否有对应的MAC地址。如果有就直接发 21以太网驱动程序实现 送;否则,就向网络发送ARP请求帧,并等待ARP应答 以太网驱动程序主要作用是屏蔽底层硬件的处理细节,同时 帧。另外一种情况是收到正确的ARP应答帧时,就要更新ARP缓 存空间,并把IP报发送出去。在程序设计中主要是针对ARP请求 向上层软件提供硬件有关接口,主要完成以下三部分工作:网卡初 函数和ARP应答函数的设计。ARP应答函数的流程如图4所示 始化发送数据包与接收数据包。 初始化程序主要完成:复位网卡、接收发送缓冲区配置、初始化 协议是TCP/IP协议中最为核心的协议,所有的上层协议 都要以IP数据报的格式传输。本文中考虑到嵌入式系统的实际应 物理地址组播地址、安装网卡中断等工作。BT8019AS在工作前必 须复位,复位比较簡单,对IL8019AS的复位端口 RSTDRV进行读 用场合,为了简化代码,提高效率,只实现了最基本的功能。采用 两个函数I发送函数和IP接收函数来实现IP数据报的处理。 操作或者写操作都将复位RTL8019AS 接收数据包是通过以太网中断服务程序、以太网接收任务、操 P发送函数是由上层协议调用的,负责对上层数据进行格式封 作系统信号量及内存管理机制来完成的。当网卡收到数据包时进人装使之成为数据报以及把数据传递到以太网层的发送函数。在 以太网中断服务程序,由以太网中断服务程序把数据包从网卡接收 IP协议的发送函数中会用到发送信号量,用于发送时的资源管理 到主控制器分配的接收缓冲区,然后发送信号量到以太网接收任 开始) 获得信号 务。接收数据帧时,RI80I9AS将网络屮的数据通过本地DMA存储 选择发送网终 是 到环形接收缓冲区,再由DSP通过远程DMA读取数据帧。最后要检 接口号 调用以太网发送函 开始) 组装P数据报 释放信号量 ≤目的P本地IP 否 开始 「等待信号量 (返回 添加以太网帧头 ↓是 a)发送 组装应答帧 添加请求报文首部 「调用数据包发送函数 (开始 上层协汉为>是 发送应答报文 填充报文满足最小风 调用CMF函数 太网帧为60字节 计算P报的长度 否 调整读写指针 吸上层协议为1是 调用数据包发送函 <校验和正确 向UDF函数 数发送报文 吏新ARP缓存 发送消息 返回 返回 返回 a)请求 b)应答 b)接收 图4ARP清求和应答函数流程图 图5亚发送与接收函数流程图 62 Elecrical automation 嵌入式系统 《电气自动化》2010年第32卷第3期 Embedded Systems 使用μC/OsⅡ的 OSSem Pend()获取信号量,使用 OSSermPost()释实用的方式,可以用来测试网络的连接状况,可以对ARP协议、P 放信号量。IP接收函数首先把校验和字段置为0。然后,对首部中协议和ICMP协议进行测试实验装置能够正确的响应Ping请求 每个16位进行二进制反码求和,结果存在校验和字段中。当收到而且没有数据包丢失,说明系统工作正常,网络连接功能得以实现 份IP数据报后,同样对首部中每个16位进行二进制反码的求 UDP测试可以通过在上位机建立UDP服务器向实验装置发 和。由于接收方在计算过程中包含了发送方存在首部中的校验送的数据,并通过上位机接收实验装置的回传数据来进行数据传 和,因此,如果首部在传输过程中没有发生任何差错,那么接收方输的正确性验证。实验中对不同长度的数据包传输进行了多次发 计算的结果应该为全1,如果结果不是全1,那么IP就丢弃收到的送与接收测试,测试结果的统计如表1所示。 数据。P发送函数和接收函数的流程如图5所示。 表1测试结果统计表 ICMP协议经常被认为是IP层的一个组成部分。它传递差错报 文以及其他需要注意的信息。ICMP报文通常被I层或更高层协议 序号测试据长度|测试次数正确数错误数|误包率 (TCP或UDP)使用。一些ICMP报文把差错报文返回给用户进程。 200 0 ICMP报文是在IP数据报内部被传输的。它的实现方式是:把收到的 96 200 200 0 请求的IP源地址与目的地址交换后重新写入,并把ICMP头中的消 28 200 2 息类型改为回响应答”,作为对回响请求的应答发回 192 0.005 256 200 0.005 UDP是面向数据报的简单传输层协议,所以UDP的处理过程 比TCP简单,UDP向应用程序提供了一种发送封装的原始IP数 从表中可以看出,在传输数据包长度较小时,传输数据的错误 据报的方法,并且发送时无需建立连接。UDP协议的程序实现主率为0。随着传输数据包长度的增加,误包率出现,但出现的误包率 要是两个函数的设计:UDP数据报的发送函数和UDP数据报的接仅为0.005。因此,网络通信数据传输的正确性可以得到保证。 收处理函数 同理,TCP测试可以同时在上位机建立TCP服务器和TCP客 UDP数据报的发送函数首先判断目的TP是否正确,然后进行户端来分别对rCP协议进行验证。并通过上位机抓包程序对数据 相应的数据首部封装以及对校验和的计算。UDP检验和的基本计传输的正确性进行验证。通过 Spynet的分析结果可以看出,服务 算方法与P首部检验和计算方法相类似,是把若干个16ht字相器端与客户端的地址正确,数据解包分析的结果与设置的传输值 加,所以如果UDP数据报的长度可以为奇数字节,计算检验和时致,且传输协议符合TP格式。所以,设计的TCP协议栈能够满 则在最后增加填充字节0,填充的字节只是为了检验和的计算。足传输要求 UD数据报的接收处理函数,在这个函数中设置了一系列的确4小结 认、超时设置和应答机制来保证UDP数据报的传输可靠性。在判 设计了一种变电站嵌入式以太网通信平台,对通信平台的软硬 断丁正确接收了数据之后,会给主机一个应答信息通知主机已件设计做了详细阐述,硬件设计基于TMs3202407DP,软件设计 经正确接收了数据在正确接收了数据之后,通过调用操作系统基丁嵌入式操作系统μC/0sⅡ,详细阐述了以太网接口实现,在 内核函数 OSSemPost(发出接收信号量唤醒上层应用程序,从而对操作系统移植的基础上,对嵌入式TCP/P协议栈进行了合理的 完成UDP数据的接收。 设计,并通过实验测试验证了该通信平台的可行性,同时该系统已 TCP协议与UDP协议一样,也属于传输层协议,都使用相同在10KV少油式断路器的状态监测系统中得到成功应用。 的网络层。然而,TCP却向应用层提供与UDP完全不同的服务。 参考文獻 TCP提供一种面向连接的、可靠的字节流服务。TCP协议是整个[1]任雁铭秦立军,杨奇逊等变电站自动化系统中内部通信网的研究 ICP/P协议栈的核心协议。但是,TCP协议的标准实现机制是非 J.电网技术,200,24(5):42-44 [2]谭文恕.变电站通信网络和系统协议IEC61850介绍[电网技术, 常复杂的,对于嵌入式系统而言,较慢的CPU运行速度和有限的200,25(9):8-11 内存资源不可能实现标准的TCP协议。同时,嵌入式系统是面向「3谭文恕电力系统无缝通信系统体系[电力自动化设备,200,21 特定的应用的,也完全没有必要实现一个完整的TCP协议。在嵌 (11):1-4 [4 JIEC 61850-5. Communication Networks and Systems in Substations-Part 5 人式系统上实现TCP协议就有必要对它进行要的约简和改 Communication requirements for functiona and device model203 进。这里我们设计的TCP协议主要包括三个部分:TCP连接的建[5 EPRI. The common information model for distribution,200811 立、TCP连接的断开以及TCP数据接收处理 [6]Realteks Emi-conductor Co Ltd. R'lL8u19AS Realtek Full-Duplex Ether net Controller with Plug and Play Function( Real PNP) Specification, 1996 3实验测试 [7] Jean j. Labrosse.入式实时操作系统μC/Os-I[M](第二版).北京 本文建立的通信平台是一个开放型的系统,可以根据需求在北京航空航天大学出版社2003 [8]Thomas F. An Introduction to TCP/lP for Embedded Engineers. Embed- 嵌入式操作系统的基础上方便的建立用户自定义的任务。系统性 ded System Conference SanFrancisco, 2002: 350-370 能的测试主要包括3方面的内容:以太网通信功能的测试通信的9] Behrouz a. Formular, Sophia Chung Fegan. TCP/IP Protocol suite sccond 时延测试以及数据传输的可靠性测试。 Edition[M].北京:清华大学出版社,2003 系统性能的测试主要包括ARP协议、P协议、ICMP协议 作者简介]陈伟(1976-),男,副教投,主要研究领域为屯力系统自动 UDP协议及TCP协议的测试。 化、电能质量分析与控制技术等。郝晓弘(1960-),男,教授,博导,主 首先进行Pg测试,Ping测试是测试网络通信连接的一种简单要研究领域为现场总线与网络拉制。 Electrical Automation 1 63

...展开详情
试读 4P 变电站嵌入式以太网通信平台的设计与实现.pdf
立即下载
限时抽奖 低至0.43元/次
身份认证后 购VIP低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • 至尊王者

关注 私信
上传资源赚钱or赚积分
最新推荐
变电站嵌入式以太网通信平台的设计与实现.pdf 9积分/C币 立即下载
1/4
变电站嵌入式以太网通信平台的设计与实现.pdf第1页

试读结束, 可继续读1页

9积分/C币 立即下载