新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > DNP3.0在基于DSP的FTU中的實(shí)現(xiàn)

DNP3.0在基于DSP的FTU中的實(shí)現(xiàn)

——
作者:申 斌 孫同景 時(shí)間:2007-02-07 來(lái)源:電子技術(shù)應(yīng)用 收藏

摘 要(FTU)是系統(tǒng)中的重要組成部分,以DSP為核心構(gòu)成的FTU具有運(yùn)算速度快和精度高等特點(diǎn),而DNP3.0則是FTU與配網(wǎng)主站通信的主流規(guī)約。討論了在DSP平臺(tái)上實(shí)現(xiàn)DNP3.0的特殊性,介紹了DSP片內(nèi)異步串口的使用方法,給出了程序的主要流程圖和數(shù)據(jù)結(jié)構(gòu)以及涉及串行通信的C語(yǔ)言源碼。
 
關(guān)鍵詞:分

DNP(Distributed Network Protocol,分)是HARRIS公司推出的一種遠(yuǎn)動(dòng)通信規(guī)約,是目前電力系統(tǒng)自動(dòng)化產(chǎn)品市場(chǎng)上的一種主流通信規(guī)約。它既可作為FTU(Feeder Terminal Unit,)與配網(wǎng)主站之間的規(guī)約,又可作為RTU與調(diào)度主站之間的規(guī)約。由于目前我國(guó)的大部分(DA)產(chǎn)品都支持DNP3.0,為使產(chǎn)品更具兼容性和標(biāo)準(zhǔn)性,FTU有必要采用DNP3.0作為其與配網(wǎng)主站之間的通信規(guī)約。
 
FTU作為配電自動(dòng)化系統(tǒng)(DAS)中重要的組成部分,除擔(dān)負(fù)最基本的測(cè)量與控制任務(wù)外,還要與中心子站或主站進(jìn)行通信。某些FTU還具有微機(jī)保護(hù)功能,故而其核心部分一般采用高檔次的16位或32位。但在交流采樣的情況下,計(jì)算U、I有效值以及P、Q等參數(shù)往往力不從心,導(dǎo)致實(shí)時(shí)性較差。雖然可以通過(guò)采用主-從結(jié)構(gòu)來(lái)解決,但這樣無(wú)疑要增加成本。DSP()恰恰以數(shù)學(xué)計(jì)算(如快速傅立葉變換)而見(jiàn)長(zhǎng),雖然它的控制功能遜于,但由于FTU只負(fù)責(zé)監(jiān)控一路柱上開(kāi)關(guān),故而在這種測(cè)控量不多的情況下,如果不需要就地保護(hù)功能,一片DSP還是完全能夠勝任的。

TMS320F206(以下簡(jiǎn)稱F206)是TI公司生產(chǎn)的TMS320C2000系列中的一款主流DSP,它屬于16位定點(diǎn)DSP,可應(yīng)用于電機(jī)控制以及工業(yè)自動(dòng)化和電力行業(yè)中,價(jià)格接近普通16位單片機(jī)。FTU以一片TMS320F206為核心,并輔以A/D轉(zhuǎn)換器等外圍器件,即可完成測(cè)控、參數(shù)計(jì)算和通信等任務(wù)。

由于DNP3.0幀格式中的基本單元是8位整型數(shù)(BYTE字節(jié)),而F206中的數(shù)據(jù)總線是16位的,尋址時(shí)是以字(WORD)為單位,而且TI提供的C語(yǔ)言中也沒(méi)有8位整型數(shù),這樣在F206平臺(tái)上實(shí)現(xiàn)DNP3.0時(shí)就存在一個(gè)8位/16位轉(zhuǎn)換的問(wèn)題。另外,大多數(shù)DSP利用外接UART(通用異步收發(fā)器)來(lái)實(shí)現(xiàn)串行通信。本文著重討論如何在保證程序清晰和高效的前提下利用F206片內(nèi)異步串口實(shí)現(xiàn)以DNP3.0為通信協(xié)議的串行通信。
 
1 DNP3.0簡(jiǎn)介[4~5]

DNP3.0為純軟件的通信協(xié)議,其結(jié)構(gòu)如圖1所示。它基于IEC 870-5標(biāo)準(zhǔn),采用了ISO七層模型中的三層:物理層、數(shù)據(jù)鏈路層和應(yīng)用層,其結(jié)構(gòu)為增強(qiáng)協(xié)議結(jié)構(gòu)。這種分層結(jié)構(gòu)使得數(shù)據(jù)傳送的可靠性大大提高,同時(shí)也便于軟件編程的模塊化。物理層一般采用普通的RS232或RS485;鏈路層采用CRC校驗(yàn);為了滿足較長(zhǎng)數(shù)據(jù)包的傳送,又增加了一個(gè)偽傳輸層。發(fā)送數(shù)據(jù)時(shí)它可以將較長(zhǎng)的應(yīng)用層報(bào)文拆分為多個(gè)短幀然后多幀傳送,反之,接收時(shí)將短幀組裝成完整的應(yīng)用層報(bào)文。

 

2 系統(tǒng)硬件

2.1結(jié)構(gòu)框圖

  
硬件結(jié)構(gòu)框圖如圖2所示。

2.2F206片內(nèi)介紹[2~3]

F206片內(nèi)具有一個(gè)8位全雙工ASP(Asynchronous Serial Port,),可以完成并行數(shù)據(jù)與串行數(shù)據(jù)的相互轉(zhuǎn)換,并可以產(chǎn)生可屏蔽硬件中斷TXRXINT。有關(guān)的外部引腳共6個(gè):發(fā)送端TX、接收端RX、IO0、IO1、IO2、IO3,一般情況下只使用TX和RX就足夠了(另外還有一根地線)。

與編程有關(guān)的片內(nèi)16位寄存器共4個(gè):異步數(shù)據(jù)發(fā)送和接收寄存器ADTR、異步串口控制寄存器ASPCR、I/O狀態(tài)寄存器IOSR、波特率除數(shù)寄存器BRD,均映射至I/O空間。ADTR為讀/寫(xiě)寄存器,高8位恒為0,向ADTR寫(xiě)數(shù)據(jù)即可啟動(dòng)串口發(fā)送。ASPCR用來(lái)控制串口的工作方式,BIT8為發(fā)送中斷屏蔽TIM,BIT7為接收中斷屏蔽RIM, BIT6為停止位選擇STB。IOSR反映串口的工作狀態(tài),BIT11為發(fā)送寄存器空指示位THRE,BIT8為接收數(shù)據(jù)準(zhǔn)備就緒位DR。BRD用作波特率發(fā)生器,BRD值=CLKOUT1頻率/(16



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉