《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > DNP3.0在基于DSP的FTU中的實現

DNP3.0在基于DSP的FTU中的實現

2008-08-26
作者:申 斌 孫同景1 白 羽2

??? 摘 要: 饋線終端單元(FTU)是配電自動化系統中的重要組成部分,以DSP為核心構成的FTU具有運算速度快和精度高等特點,而DNP3.0則是FTU與配網主站通信的主流規約。討論了在DSP平臺上實現DNP3.0的特殊性,介紹了DSP片內異步串口" title="串口">串口的使用方法,給出了程序的主要流程圖和數據結構以及涉及串行通信的C語言源碼。
??? 關鍵詞: 分布式網絡規約? 數字信號處理器?? 配電自動化? 饋線終端單元? 異步串行口

?

??? DNP(Distributed Network Protocol,分布式網絡規約)是HARRIS公司推出的一種遠動通信規約" title="通信規約">通信規約,是目前電力系統自動化產品市場上的一種主流通信規約。它既可作為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七層模型中的三層:物理層、數據鏈路層" title="鏈路層">鏈路層和應用層" title="應用層">應用層,其結構為增強協議結構。這種分層結構使得數據傳送的可靠性大大提高,同時也便于軟件編程的模塊化。物理層一般采用普通的RS232或RS485;鏈路層采用CRC校驗;為了滿足較長數據包的傳送,又增加了一個偽傳輸層。發送數據時它可以將較長的應用層報文拆分為多個短幀然后多幀傳送,反之,接收時將短幀組裝成完整的應用層報文。

?


2 系統硬件
2.1結構框圖

?? ?硬件結構框圖如圖2所示。

?


2.2?F206片內異步串行口介紹[2~3]
??? F206片內具有一個8位全雙工ASP(Asynchronous Serial Port,異步串行口),可以完成并行數據與串行數據的相互轉換,并可以產生可屏蔽硬件中斷TXRXINT。有關的外部引腳共6個:發送端TX、接收端RX、IO0、IO1、IO2、IO3,一般情況下只使用TX和RX就足夠了(另外還有一根地線)。
??? 與編程有關的片內16位寄存器共4個:異步數據發送和接收寄存器ADTR、異步串口控制寄存器ASPCR、I/O" title="I/O">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×波特率)。
?? ?值得注意的是,F206片內串口與通用異步串口略有不同。它只支持最常見的1位起始位、8位數據位、1或2位停止位。另外幾種特殊格式不予支持,如6或7位數據位、1.5位停止位等。為適應現場各種可能的通信方式,還應當擴展一路以上的通用異步收發器(UART),本例采用TI公司的單路異步串口TL16C550。關于這類芯片有很多文章介紹過,在此不再贅述。
3 軟件部分
3.1編程語言

??? 采用C語言開發DSP程序不僅可讀性和可移植性都很好,還能大大加快開發速度。但用C語言實現某些硬件控制不如匯編方便,且實時性不如匯編[1]。因此采用在C程序中直接嵌入匯編語句來完成通信模塊程序的編寫,除極少數采用匯編語言以外,絕大部分采用C語言編寫。
3.2 數據結構定義
?? ?由于F206中的數據總線為16位,故而TI提供的C語言(以下簡稱TI C)與標準 C語言的數據類型略有不同。char、unsigned char、int和short均為16位,enum也為16位。相應地,sizeof(int)和sizeof(short)的結果為1,而不是2,這一點在計算幀長度時尤為重要,習慣于標準C的編程人員一定要特別注意。
??? 由于DNP3.0幀格式中的基本單元是字節,而TI C中卻沒有這一數據類型,在用結構體類型定義具體的數據結構時,都是按字(WORD)對齊的,因此只能將DNP3.0數據格式中的BYTE定義為16位無符號整數WORD,將DNP3.0中的WORD定義為32位無符號整數DWORD。接收數據時將每個字節都存儲至一個字的低8位,發送時則只取每個字的低8位,這樣雖然浪費了一半的存儲器空間,但程序編寫容易,效率也較高。
??? 根據DNP3.0的層次結構定義三個結構體——鏈路層DL_LAYER、傳輸層T_LAYER和應用層APP_LAYER,每個結構體再按照DNP3.0中相應層規定的字段去逐個定義相應的成員即可。如鏈路層包括報頭和n個數據塊,報頭又包括起始字、長度、控制字節等字段,控制字節按比特位又包括功能碼、方向位和幀計數位等。鏈路層結構定義為:
?? ?(1)DL層控制字
?? ?typedef struct{
??? ?? ?WORD?b0-3_FuncCode:4, /*功能碼*/
???????? ????b4_FCV:1, ??/*幀計數有效位*/
?????????????b5_FCB:1, ??/*幀計數位*/
???????? ????b6_PRM:1, ??/*主站標志位*/
???????? ????b7_DIR:1; ??/*方向位*/
??? }DL_CONTROL;
??? (2)DL層報頭?
?? ?typedef? struct{
????? ??DWORD dwStart;???/*起始字*/
????? ??WORD wLength; ???/*長度*/
????? ??DL_CONTROL DLCtrl; ??/*控制字*/
????? ??DWORD dwDest; ???/*目的地址*/
????? ??DWORD dwSource; ??/*源地址*/
????? ??DWORD dwCRC; ???/*校驗碼*/
??? }DL_HEADER;
??? (3)DL層數據塊?
??? typedef? struct{??
????????WORD awUserData[16];??/*用戶數據*/
????? ??DWORD dwCRC; ???/*校驗碼*/
????????}DL_DATABLOCK;
3.3 流程圖
??? DNP3.0已經詳細規定了協議的層次結構及每一層的功能,程序的層次結構只要與其一致就會非常清晰,編程時只需遵照這些層次間的數據流向編寫相應的函數即可。物理層對應串口收發中斷子程序,鏈路層、傳輸層和應用層在接收與發送時各有一套函數去處理,以對應串口的全雙工工作方式。其中,鏈路層接收處理流程如圖3所示。

?


3.4 ASP的相關程序
3.4.1 ASP的寄存器定義

??? ioport unsigned portFFF4;
??? #define ADTR portFFF4??/*收發寄存器*/
??? ioport unsigned portFFF5;
??? #define ASPCR portFFF5??/*控制寄存器*/
??? ioport unsigned portFFF6;
??? #define IOSR portFFF6??/*I/O狀態寄存器*/
??? ioport unsigned portFFF7;
??? #define BRD?portFFF7??/*波特率發生器*/
3.4.2 初始化ASP
??? void InitASP(){???/*初始化異步串口*/
??? ??ASPCR=0xE080;??/*RIM=1:允許接收中斷,STB=0:一位停止位*/
??? ??IOSR=0x1800;???/*THRE=1:ADTR空 */
??? ??BRD=0x0020;???/*20MHz/38400bps*/
??? }
3.4.3 異步串口中斷服務子程序
??? void interrupt aspint(){
??? ??if( (IOSR & 0x0100) == 0x0100 ){
??? ????? Recv();}???/*有接收數據*/
??? ??if((IOSR & 0x0400) == 0x0400 ){
???? ?? ? ......;}????/*幀錯誤處理*/
?? ?if((IOSR & 0x0800) == 0x0800 ){
??? ??Send();}????/*可以發送數據*/
?? ?*IFR = 0x20; ???/*清中斷標志*/;
?? ?asm(' clrc INTM')???/*開中斷*/;
??? }
?? ?由于采用F206的片內串口作為通信工具,充分利用了DSP的片內集成外設,不僅使得通信模塊可靠性較高,而且接口方法簡單,ASP的控制和讀寫通過幾個寄存器就可完成,非常方便。采用本文所介紹的方法編寫的以DNP3.0為規約的通信子程序流程清晰,符合模塊化的要求。自現場投入試運行以來,整個通信模塊工作穩定可靠,能迅速響應主站請求,主動上報數據,及時準確。但是隨著現場總線技術的發展,FTU還應具備至少一個現場總線接口(如CAN總線接口)。這樣不光通信質量有保證,還可以簡化通信規約(只保留一個應用層即可),這應該是FTU通信方式的一個發展方向。
參考文獻
1 張雄偉.DSP芯片的原理與開發應用(第3版).北京:電子工業出版社,2003
2 張衛寧.TMS320C2000系列DSPs原理及應用.北京:國防工業出版社,2002.4
3 TMS320C20X? User’s Guide.Texas Instruments Incorporated,April 1999
4 蔡運清. IEC 870-5系列及DNP3.0規約簡介.電力系統自動化,1998;22
5 徐丙垠,張懌寧.淺談DNP3.0規約.電力自動化設備,1999;19(2)

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产精品久久久久一区二区| 亚洲国产一区二区精品专区| 黄色一区三区| 国产亚洲综合精品| 欧美日韩精品一本二本三本| 一区二区三区免费网站| 国产精品中文在线| 欧美插天视频在线播放| 欧美激情aⅴ一区二区三区| 99re6这里只有精品视频在线观看| 欧美精品一区二区在线观看| 久久亚洲图片| 国产专区精品视频| 久久精品盗摄| 国内精品久久久久久久影视麻豆| 亚洲精品午夜| 欧美日韩午夜在线视频| 免费日韩av电影| 久久久久中文| 亚洲国产精品电影在线观看| 激情欧美日韩| 国产无一区二区| 欧美一激情一区二区三区| 国产精品theporn88| 久久精品国产综合| 亚洲欧洲午夜| 欧美色综合网| 亚洲一区日韩| 国产一区二区三区免费观看| 亚洲一区二区三区精品在线观看| 久久国产精品色婷婷| 91久久精品美女高潮| 亚洲国产成人精品久久久国产成人一区| 在线视频精品一区| 欧美国产精品中文字幕| 激情成人av| 亚洲精品黄网在线观看| 久久久久综合一区二区三区| 激情欧美日韩一区| 美女福利精品视频| 国产精品电影观看| 亚洲午夜激情免费视频| 裸体素人女欧美日韩| 亚洲男女自偷自拍| 国产精品豆花视频| 欧美日韩亚洲另类| 欧美成人中文字幕| 国模精品一区二区三区| 国产精品久久久久久久午夜片| 午夜精品影院在线观看| 午夜一区二区三视频在线观看| 在线观看不卡| 永久555www成人免费| 日韩午夜精品| 国产一区二区三区久久悠悠色av| 亚洲国产成人不卡| 亚洲尤物在线视频观看| 久久激情五月激情| 欧美成人免费小视频| 亚洲激情第一区| 欧美日韩精品一区二区| 欧美成人福利视频| 欧美在现视频| 亚洲一区3d动漫同人无遮挡| 99国产精品久久久久老师| 美女福利精品视频| 国产一区二区三区最好精华液| 国产精品免费观看在线| 国产一区二区| 国产精品日本精品| 亚洲女ⅴideoshd黑人| 亚洲天堂网在线观看| 免费观看亚洲视频大全| 日韩视频在线观看国产| 欧美成年人网站| 久久亚洲视频| 国产精品视频久久一区| 欧美一区二区三区在线观看| 国产乱码精品一区二区三区不卡| 欧美一区二区| 国产精品一区一区三区| 欧美黄网免费在线观看| 国产一区二三区| 欧美黄色免费| 免费一级欧美片在线播放| 久久久精品国产一区二区三区| 欧美一区二区三区视频免费播放| 麻豆九一精品爱看视频在线观看免费| 久久都是精品| 欧美精品一区二区三| 伊人成综合网伊人222| 国产精品欧美经典| 欧美日韩另类一区| 女女同性女同一区二区三区91| 美女啪啪无遮挡免费久久网站| 国产精品视频xxxx| 亚洲高清一区二区三区| 亚洲二区精品| 亚洲在线视频观看| 激情五月婷婷综合| 国产精品高潮视频| 午夜在线不卡| 久久偷看各类wc女厕嘘嘘偷窃| 久久精品人人做人人爽| 欧美另类一区二区三区| 国产精品久久久爽爽爽麻豆色哟哟| 欧美激情久久久| 国产一区 二区 三区一级| 欧美fxxxxxx另类| 欧美电影免费网站| 每日更新成人在线视频| 国产精品三区www17con| 伊人天天综合| 亚洲国产成人精品视频| 午夜精品久久久久久久久久久| 欧美日韩国产三级| 韩国三级电影久久久久久| 亚洲女性喷水在线观看一区| 亚洲国产成人精品久久久国产成人一区| 欧美中文在线字幕| 日韩小视频在线观看| 国产有码一区二区| 国产精品sss| 精品不卡一区二区三区| 嫩模写真一区二区三区三州| 国产午夜精品在线| 欧美91福利在线观看| 欧美激情1区| 国产精品人人做人人爽人人添| 亚洲欧美日韩综合国产aⅴ| 国产亚洲精品久久久久婷婷瑜伽| 亚洲一线二线三线久久久| 亚洲午夜久久久久久尤物| 久热国产精品| 欧美成人性生活| 久久精品日韩欧美| 国产精品午夜在线| 美女国内精品自产拍在线播放| 欧美专区日韩专区| 久久久国产精品一区二区中文| 免费成人黄色| 久久视频一区二区| 欧美777四色影视在线| 国产欧美日韩一区二区三区| 久久久久**毛片大全| 香蕉久久夜色精品国产使用方法| 一区二区三区精品视频| 亚洲国产精品悠悠久久琪琪| 美脚丝袜一区二区三区在线观看| 欧美三级特黄| 亚欧美中日韩视频| 亚洲国产日韩精品| 亚洲欧美国产高清| 欧美暴力喷水在线| 欧美日韩精品中文字幕| 欧美一区二区三区四区视频| 国产精品影音先锋| 在线中文字幕一区| 一区二区三区精品久久久| 久久字幕精品一区| 午夜久久影院| 亚洲人成久久| 欧美日韩一区二区在线| 国产精品日韩专区| 欧美电影打屁股sp| 国产日韩欧美一区二区三区在线观看| 久久久久一本一区二区青青蜜月| 久热精品视频| 欧美在现视频| 亚洲另类春色国产| 国外成人网址| 欧美精品电影| 久久久99精品免费观看不卡| 一本色道久久综合亚洲精品高清| 欧美调教视频| 亚洲第一色中文字幕| 欧美午夜在线观看| 在线成人免费观看| 国产精品视频专区| 亚洲视频一区在线| 国产午夜亚洲精品不卡| 狠狠88综合久久久久综合网| 欧美区在线观看| 一本久久a久久精品亚洲| 久久黄色网页| 久久成人一区二区| 久久久人人人| 亚洲激情在线播放| 国内精品视频在线播放| 国产自产v一区二区三区c| 国产欧美一区二区视频| 欧美理论片在线观看| 国内视频一区| 久久天堂国产精品| 一区二区三区视频观看| 欧美精品激情在线| av成人国产| 国产欧美日韩精品a在线观看| 亚洲精品视频中文字幕| 99视频在线观看一区三区| 久久久久一本一区二区青青蜜月| 亚洲免费视频一区二区| 久久成人免费电影| 欧美亚一区二区| 久久精品女人的天堂av| 中国日韩欧美久久久久久久久| 亚洲国产精品一区二区久| 欧美亚洲视频| 亚洲精品字幕| 国产一区二区三区日韩欧美| 牛牛影视久久网| 欧美在线一级视频| 亚洲国产一区二区三区a毛片| 欧美va天堂| 性欧美在线看片a免费观看| 一区二区三区精密机械公司| 久久精品日产第一区二区三区| 亚洲人午夜精品免费| 中文久久精品| 欧美伊人久久大香线蕉综合69| 欧美国产日本| 国产欧美va欧美不卡在线| 亚洲欧美国产高清| 亚洲理论在线观看| 欧美久久精品午夜青青大伊人| 在线视频中文亚洲| 国产亚洲精品久久久久动| 免费人成精品欧美精品| 国产精品久久久久影院色老大| 国产精品九色蝌蚪自拍| 亚洲欧洲一区二区天堂久久| 欧美精品啪啪| 国产精品99久久久久久宅男| 国产精品欧美日韩久久| 亚洲香蕉网站| 久久久国产精品亚洲一区| 国产欧美一区视频| 亚洲综合色丁香婷婷六月图片| 欧美日韩国产另类不卡| 一区在线播放| 国产亚洲精久久久久久| 欧美激情一区二区三级高清视频| 欧美日韩美女在线观看| 欧美天堂在线观看| 欧美日韩国产欧美日美国产精品| 国产精品99久久99久久久二8| 亚洲欧美国产77777| 一区久久精品| 久久色在线播放| 午夜精品久久久久久久| 久久在线91| 亚洲性线免费观看视频成熟| 欧美国产欧美亚州国产日韩mv天天看完整| 久久久久成人网| 一区二区三区精密机械公司| 亚洲欧美在线aaa| 欧美电影免费| 日韩午夜在线电影| 日韩视频在线一区| 亚洲高清视频在线| 欧美高清视频www夜色资源网| 国产一二三精品| 亚洲一区二区三区午夜| 国产亚洲a∨片在线观看| 国产一区三区三区| 久久精品人人做人人爽电影蜜月| 99这里只有精品| 亚洲在线免费视频| 欧美日本在线一区| 久久综合九色99| 国产日韩精品视频一区| 欧美一区午夜视频在线观看| 亚洲图片激情小说| 亚洲一区二区综合| 亚洲美女黄网| 老巨人导航500精品| 欧美亚洲第一区| 免费在线日韩av| 女生裸体视频一区二区三区| 欧美一区二区啪啪| 久久一区二区三区四区| 久久综合久久综合九色| 国产精品vip| 狠狠色狠狠色综合日日91app| 在线播放不卡| 欧美精品久久久久a| 国产精品日韩电影| 欧美日韩亚洲一区| 国内久久婷婷综合| 久久爱www.| 欧美夫妇交换俱乐部在线观看| 欧美一区二区免费观在线| 蜜桃av久久久亚洲精品| 欧美mv日韩mv国产网站app| 亚洲女人小视频在线观看| 又紧又大又爽精品一区二区| 国内久久视频| 午夜影视日本亚洲欧洲精品| 欧美日韩国产精品成人| 欧美aⅴ99久久黑人专区| 好吊视频一区二区三区四区| 欧美激情麻豆| 国产精品v欧美精品∨日韩| 午夜亚洲一区| 久久精品国产精品亚洲综合| 黑人巨大精品欧美一区二区小视频| 在线成人免费观看| 美女脱光内衣内裤视频久久网站| 国产日韩亚洲| 香蕉久久精品日日躁夜夜躁| 亚洲欧美国产高清| 国产精品丝袜白浆摸在线| 欧美精品观看| 性色av一区二区三区红粉影视| 尤妮丝一区二区裸体视频| 亚洲第一网站免费视频| 欧美日韩国产精品一卡| 亚洲激情在线观看| 亚洲视频高清| 国模大胆一区二区三区| 亚洲欧美日韩一区二区| 亚洲精品日产精品乱码不卡| 国产亚洲成av人在线观看导航| 狠狠狠色丁香婷婷综合激情| 亚洲精品免费网站| 亚洲一区二区三区在线视频| 国产在线视频欧美一区二区三区| 久久久久久久久综合|