新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > DNP3.0在基于DSP的FTU中的实现

DNP3.0在基于DSP的FTU中的实现

——
作者:申 斌 孙同景时间:2007-02-07来源:电子技术应用收藏

摘 要(FTU)是系统中的重要组成部分,以DSP为核心构成的FTU具有运算速度快和精度高等特点,而DNP3.0则是FTU与配网主站通信的主流规约。讨论了在DSP平台上实现DNP3.0的特殊性,介绍了DSP片内异步串口的使用方法,给出了程序的主要流程图和数据结构以及涉及串行通信的C语言源码。
 
关键词:分

DNP(Distributed Network Protocol,分)是HARRIS公司推出的一种远动通信规约,是目前电力系统自动化产品市场上的一种主流通信规约。它既可作为FTU(Feeder Terminal Unit,)与配网主站之间的规约,又可作为RTU与调度主站之间的规约。由于目前我国的大部分(DA)产品都支持DNP3.0,为使产品更具兼容性和标准性,FTU有必要采用DNP3.0作为其与配网主站之间的通信规约。
 
FTU作为配电自动化系统(DAS)中重要的组成部分,除担负最基本的测量与控制任务外,还要与中心子站或主站进行通信。某些FTU还具有微机保护功能,故而其核心部分一般采用高档次的16位或32位。但在交流采样的情况下,计算U、I有效值以及P、Q等参数往往力不从心,导致实时性较差。虽然可以通过采用主-从结构来解决,但这样无疑要增加成本。DSP()恰恰以数学计算(如快速傅立叶变换)而见长,虽然它的控制功能逊于,但由于FTU只负责监控一路柱上开关,故而在这种测控量不多的情况下,如果不需要就地保护功能,一片DSP还是完全能够胜任的。

TMS320F206(以下简称F206)是TI公司生产的TMS320C2000系列中的一款主流DSP,它属于16位定点DSP,可应用于电机控制以及工业自动化和电力行业中,价格接近普通16位单片机。FTU以一片TMS320F206为核心,并辅以A/D转换器等外围器件,即可完成测控、参数计算和通信等任务。

由于DNP3.0帧格式中的基本单元是8位整型数(BYTE字节),而F206中的数据总线是16位的,寻址时是以字(WORD)为单位,而且TI提供的C语言中也没有8位整型数,这样在F206平台上实现DNP3.0时就存在一个8位/16位转换的问题。另外,大多数DSP利用外接UART(通用异步收发器)来实现串行通信。本文着重讨论如何在保证程序清晰和高效的前提下利用F206片内异步串口实现以DNP3.0为通信协议的串行通信。
 
1 DNP3.0简介[4~5]

DNP3.0为纯软件的通信协议,其结构如图1所示。它基于IEC 870-5标准,采用了ISO七层模型中的三层:物理层、数据链路层和应用层,其结构为增强协议结构。这种分层结构使得数据传送的可靠性大大提高,同时也便于软件编程的模块化。物理层一般采用普通的RS232或RS485;链路层采用CRC校验;为了满足较长数据包的传送,又增加了一个伪传输层。发送数据时它可以将较长的应用层报文拆分为多个短帧然后多帧传送,反之,接收时将短帧组装成完整的应用层报文。

 

2 系统硬件

2.1结构框图

  
硬件结构框图如图2所示。

2.2F206片内介绍[2~3]

F206片内具有一个8位全双工ASP(Asynchronous Serial Port,),可以完成并行数据与串行数据的相互转换,并可以产生可屏蔽硬件中断TXRXINT。有关的外部引脚共6个:发送端TX、接收端RX、IO0、IO1、IO2、IO3,一般情况下只使用TX和RX就足够了(另外还有一根地线)。

与编程有关的片内16位寄存器共4个:异步数据发送和接收寄存器ADTR、异步串口控制寄存器ASPCR、I/O状态寄存器IOSR、波特率除数寄存器BRD,均映射至I/O空间。ADTR为读/写寄存器,高8位恒为0,向ADTR写数据即可启动串口发送。ASPCR用来控制串口的工作方式,BIT8为发送中断屏蔽TIM,BIT7为接收中断屏蔽RIM, BIT6为停止位选择STB。IOSR反映串口的工作状态,BIT11为发送寄存器空指示位THRE,BIT8为接收数据准备就绪位DR。BRD用作波特率发生器,BRD值=CLKOUT1频率/(16



评论


相关推荐

技术专区

关闭