新聞中心

        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



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 华蓥市| 莆田市| 西宁市| 武鸣县| 油尖旺区| 富顺县| 招远市| 莱阳市| 金门县| 溧阳市| 平陆县| 海晏县| 林州市| 清河县| 昌江| 崇仁县| 文化| 平阴县| 延长县| 来安县| 天水市| 信丰县| 达孜县| 黄骅市| 太原市| 淮阳县| 镇康县| 湘西| 台中县| 尚义县| 白水县| 沙湾县| 镇康县| 兴义市| 肥城市| 舒兰市| 秦安县| 安阳市| 柏乡县| 宣恩县| 长兴县|