国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

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

發(fā)布時間:2010-11-25 23:12    發(fā)布者:designer
關(guān)鍵詞: DNP , dsp , FTU
DNP (Distributed Network Protocol,分布式網(wǎng)絡(luò)規(guī)約)是HARRIS公司推出的一種遠動通信規(guī)約,是目前電力系統(tǒng)自動化產(chǎn)品市場上的一種主流通信規(guī)約。它既可作為FTU(Feeder Terminal Unit,饋線終端單元)與配網(wǎng)主站之間的規(guī)約,又可作為RTU與調(diào)度主站之間的規(guī)約。由于目前我國的大部分配電自動化(DA)產(chǎn)品都支持DNP3.0,為使產(chǎn)品更具兼容性和標準性,F(xiàn)TU有必要采用DNP3.0作為其與配網(wǎng)主站之間的通信規(guī)約。

FTU作為配電自動化系統(tǒng)(DAS)中重要的組成部分,除擔負最基本的測量與控制任務(wù)外,還要與中心子站或主站進行通信。某些FTU還具有微機保護功能,故而其核心部分一般采用高檔次的16位或32位單片機。但在交流采樣的情況下,單片機計算U、I有效值以及P、Q等參數(shù)往往力不從心,導致實時性較差。雖然可以通過采用主—從結(jié)構(gòu)來解決,但這樣無疑要增加成本。DSP(數(shù)字信號處理器)恰恰以數(shù)學計算(如快速傅立葉變換)而見長,雖然它的控制功能遜于單片機,但由于FTU只負責監(jiān)控一路柱上開關(guān),故而在這種測控量不多的情況下,如果不需要就地保護功能,一片DSP還是完全能夠勝任的。TMS320F206(以下簡稱F206) 是TI公司生產(chǎn)的TMS320C2000系列中的一款主流DSP,它屬于16位定點DSP,可應(yīng)用于電機控制以及工業(yè)自動化和電力行業(yè)中,價格接近普通16位單片機。FTU以一片TMS320F206為核心,并輔以A/D轉(zhuǎn)換器等外圍器件,即可完成測控、參數(shù)計算和通信等任務(wù)。

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





1 DNP3.0簡介

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

 2 系統(tǒng)硬件

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

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

2.2 F206片內(nèi)異步串行口介紹[2~3]

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

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

值得注意的是,F(xiàn)206片內(nèi)串口與通用異步串口略有不同。它只支持最常見的1位起始位、8位數(shù)據(jù)位、1或2位停止位。另外幾種特殊格式不予支持,如6或7位數(shù)據(jù)位、1.5位停止位等。為適應(yīng)現(xiàn)場各種可能的通信方式,還應(yīng)當擴展一路以上的通用異步收發(fā)器(UART),本例采用TI公司的單路異步串口TLl6C550。關(guān)于這類芯片有很多文章介紹過,在此不再贅述。





3 軟件部分

3.1 編程語言

采用C語言開發(fā)DSP程序不僅可讀性和可移植性都很好,還能大大加快開發(fā)速度。但用C語言實現(xiàn)某些硬件控制不如匯編方便,且實時性不如匯編。因此采用在C程序中直接嵌入?yún)R編語句來完成通信模塊程序的編寫,除極少數(shù)采用匯編語言以外,絕大部分采用C語言編寫。

3.2 數(shù)據(jù)結(jié)構(gòu)定義

由于F206中的數(shù)據(jù)總線為16位,故而TI提供的C語言(以下簡稱TI C)與標準C語言的數(shù)據(jù)類型略有不同。char、unsigned char、int和short均為16位,enum也為16位。相應(yīng)地,sizeof(int)和sizeof(short)的結(jié)果為1,而不是2,這一點在計算幀長度時尤為重要,習慣于標準C的編程人員一定要特別注意。 由于DNP3.0幀格式中的基本單元是字節(jié),而TI C中卻沒有這一數(shù);據(jù)類型,在用結(jié)構(gòu)體類型定義具體的數(shù)據(jù)結(jié)構(gòu)時,都是按字(WORD)對齊的,因此只能將DNP3.0數(shù)據(jù)格式中的BYTE定義為16位無符號整數(shù)WORD,將DNP3.0中的WORD定義為32位無符號整數(shù)DWORD。接收數(shù)據(jù)時將每個字節(jié)都存儲至一個字的低8位,發(fā)送時則只取每個字的低8位,這樣雖然浪費了一半的存儲器空間,但程序編寫容易,效率也較高。

根據(jù)DNP3.0的層次結(jié)構(gòu)定義三個結(jié)構(gòu)體——鏈路層DL_LAYER、傳輸層T_LAYER和應(yīng)用層APP_LAYER,每個結(jié)構(gòu)體再按照DNP3.0中相應(yīng)層規(guī)定的字段去逐個定義相應(yīng)的成員即可。如鏈路層包括報頭和n個數(shù)據(jù)塊,報頭又包括起始字、長度、控制字節(jié)等字段,控制字節(jié)按比特位又包括功能碼、方向位和幀計數(shù)位等。鏈路層結(jié)構(gòu)定義為: (1)DL層控制字 typedef struct{ WORD b0-3_FuncCode:4,/*功能碼*/ b4_FCV:1 /*幀計數(shù)有效位*/ b5_FCB:1, /*幀計數(shù)位*/ b6_PRM:l /*主站標志位*/ 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層數(shù)據(jù)塊 typedef struct{ WORD awUserData[l6] /*用戶數(shù)據(jù)*/ DWORD dwCRC; /*校驗碼*/ }DL_DATABLOCK;

3.3 流程圖

DNP3.0已經(jīng)詳細規(guī)定了協(xié)議的層次結(jié)構(gòu)及每一層的功能,程序的層次結(jié)構(gòu)只要與其一致就會非常清晰,編程時只需遵照這些層次間的數(shù)據(jù)流向編寫相應(yīng)的函數(shù)即可。物理層對應(yīng)串口收發(fā)中斷子程序,鏈路層、傳輸層和應(yīng)用層在接收與發(fā)送時各有一套函數(shù)去處理,以對應(yīng)串口的全雙工工作方式。其中,鏈路層接收處理流程如圖3所示。





3.4 ASP的相關(guān)程序

3.4.1 ASP的寄存器定義

ioport unsigned portFFF4; #define ADTR portFFF4 /*收發(fā)寄存器*/ ioport unsigned portFFF5; #define ASPCR poaFFF5 /*控制寄存器*/ ioport unsigned portFFF6; #define IOSR poaFFF6 /*I/O狀態(tài)寄存器*/ ioport unsigned portFFF7; #define BRD portFFF7 /*波特率發(fā)生器*/

3.4.2 初始化ASP

void InitASP(){ /*初始化異步串口*/ ASPCR=0xE080; /*RIM=1L:允許接收中斷, STB=0:一位停止位*/ IOSR=0xl800; /*THRE=1:ADTR空*/ BRD=0x0020; /*20MHz/38400bps*/ }

3.4.3 異步串口呻斷服務(wù)子程序

void interrupt aspint(){ if((IOSR %26;amp; 0x0l00)==0x0l00){ Recv();} /*有接收數(shù)據(jù)*/ if((IOSR %26;amp; 0x0400)==0x0400){ ……;} /*幀錯誤處理*/ if((IOSR %26;amp; 0x0800)==0x0800){ Send();} /*可以發(fā)送數(shù)據(jù)*/ *IFR=0x20; /*清中斷標志*/; asm("clrc INTM") /開中斷*/; }

由于采用F206的片內(nèi)串口作為通信工具,充分利用了DSP的片內(nèi)集成外設(shè),不僅使得通信模塊可靠性較高,而且接口方法簡單,ASP的控制和讀寫通過幾個寄存器就可完成,非常方便。采用本文所介紹的方法編寫的以DNP3.0為規(guī)約的通信子程序流程清晰,符合模塊化的要求。自現(xiàn)場投入試運行以來,整個通信模塊工作穩(wěn)定可靠,能迅速響應(yīng)主站請求,主動上報數(shù)據(jù),及時準確。但是隨著現(xiàn)場總線技術(shù)的發(fā)展,F(xiàn)TU還應(yīng)具備至少一個現(xiàn)場總線接口(如CAN總線接口)。這樣不光通信質(zhì)量有保證,還可以簡化通信規(guī)約(只保留一個應(yīng)用層即可),這應(yīng)該是FTU通信方式的一個發(fā)展方向。
本文地址:http://www.qingdxww.cn/thread-41915-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責;文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點宏來節(jié)省時間和空間
  • Dev Tool Bits——使用DVRT協(xié)議查看項目中的數(shù)據(jù)
  • Dev Tool Bits——使用MPLAB® Data Visualizer進行功率監(jiān)視
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲人成一区二区三区 | 欧美在线视频一区二区 | 久久久久久久99视频 | 四虎影永久在线观看精品 | 欧美成人一区二区三区在线视频 | 精品99一区二区三区麻豆 | 国产v综合v亚洲欧美 | 免费h黄肉动漫在线观看 | 亚洲综合色就色手机在线观看 | 免费手机黄色网站 | 青青在线国产 | 亚洲国产精品一区二区第四页 | 欧洲三级网站 | 色吊丝免费观看网站 | 日韩视频高清 | 特级毛片网站 | 美女一级毛片免费不卡视频 | 欧美激情久久久久久久大片 | 精品国产品国语在线不卡丶 | 中文字幕 国产精品 | 第三人称复仇韩剧在线观看免费 | 精品午夜久久网成年网 | 91精品国产免费青青碰在线观看 | 免费视频网站在线观看黄 | 日本视频免费在线观看 | 麻豆视频传媒二区 | 久久福利影院 | jizz日本美女 | 日日日干干干 | 欧美三级蜜桃2在线观看 | 黄色a一级片 | 精品久久国产视频 | 四虎在线观看免费永久 | 国产高清黄色 | 最新国产成人盗摄精品视频 | 国产精品视频二区不卡 | 亚洲精品高清国产一久久 | 全国最大色成免费网站 | 韩国在线a免费观看网站 | 亚洲国产日韩欧美在线vip1区 | 四虎成年永久免费网站 |