国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于自定義協(xié)議的維護通信總線(M-BUS)設計?

2020-05-15 05:19:54焦繼業(yè)
計算機與數(shù)字工程 2020年2期
關鍵詞:鏈路層應用層通信協(xié)議

楊 義 焦繼業(yè)

(西安郵電大學計算機學院 西安 710121)

1 引言

在熱電廠調控系統(tǒng)中,維護通信總線作為重要的測試通信網關,完成電廠系統(tǒng)中的重要工作環(huán)境參數(shù)和生產運行狀態(tài)等參數(shù)的監(jiān)控上報功能[1]。隨著電廠系統(tǒng)復雜性越來越高,數(shù)據量的不斷增加,實時、穩(wěn)定、高速、精確已成為現(xiàn)代通信網關的發(fā)展趨勢。由于系統(tǒng)中各設備之間信號類型的多樣性和功能的復雜性使得整個調控網絡更加龐大,控制管理機制復雜[2],因此需要一套穩(wěn)定性強、安全性高的通信系統(tǒng)實現(xiàn)對數(shù)據信息的的實時、高效調控與處理。

目前,熱電廠控制系統(tǒng)大多采用集散式控制系統(tǒng)——DCS系統(tǒng)[3],在該系統(tǒng)下,通信網關模塊大多使用RS-422,RS-232C,RS-485和以太網接口與其他控制站設備進行連接通信[4],控制設備采用的通信協(xié)議不統(tǒng)一,控制方式多為主從問答方式,同一時刻僅允許一個終端擁有總線使用權,數(shù)據的通信速率取決于當前優(yōu)先級最高的控制終端,限制了系統(tǒng)的傳輸速率[5]。

針對以上問題,本文采用自定義格式對總線協(xié)議進行設計,在分析RS485通信標準的基礎上,根據4B5B編碼、NRZI差分編碼設計一個高效穩(wěn)定的通信協(xié)議[6~7]。該協(xié)議能夠實現(xiàn)電廠系統(tǒng)的自診斷與維護等功能,同時在較大數(shù)據量的數(shù)據交互下,通過添加CRC校驗,保證芯片較高效穩(wěn)定的運行[8]。

2 本地維護通信協(xié)議設計

2.1 系統(tǒng)總體概述

基于自定義協(xié)議的本地維護通信總線采用非標準總線來完成對個設備模塊的數(shù)據通信,硬件采用Microsemi公司的IGLOO2系列FPGA和ST公司的STM32F103單片機,F(xiàn)PGA是整個電廠網關系統(tǒng)的控制中心和數(shù)據交互媒介,STM32完成配置并通過讀取FPGA內部的寄存器來實現(xiàn)系統(tǒng)各項功能??偩€上有485總線數(shù)據流控制模式,通過控制站發(fā)送485總線數(shù)據流控制維護總線的運行。RS-485接口從RS232發(fā)展過來,采用差分傳輸,可以實現(xiàn)點到點、多節(jié)點的通信,信號抗干擾能力較強,傳輸距離也較遠[9~11]。在總線上允許連接多達128個收發(fā)器。

圖1 網關模塊對外配置圖

系統(tǒng)上電啟動后,需要完成相關器件的初始化功能,讀取板卡ID信息,完成內部存儲器的初始化功能,完成外部E2PROM接口的自檢(數(shù)據CRC校驗)功能,若校驗正確取E2PROM中的配置參數(shù)初始化相應的內部RAM(加載數(shù)據),如E2PROM接口自檢錯誤(存儲器數(shù)據CRC校驗錯誤)則進入故障狀態(tài),否則進入運行工作狀態(tài)。

圖2 軟件運行流程圖

2.2 M-BUS協(xié)議總體架構設計

M-BUS采用主從問答設計方式,維護接口模塊為主節(jié)點,控制器、點對點卡、多節(jié)點卡、IO卡為從節(jié)點。M-BUS主節(jié)點從節(jié)點都連接在M-BUS總線上,通信時,主節(jié)點下發(fā)下裝/維護數(shù)據包時,從節(jié)點需要在收到這包數(shù)據后立即發(fā)送反饋數(shù)據包,如果主節(jié)點發(fā)送的是廣播數(shù)據包,則不用反饋數(shù)據,主節(jié)點發(fā)送數(shù)據包和從節(jié)點反饋數(shù)據包之間的間隔不能超過響應時間要求,否則視為超時[12]。

由于模塊內存在兩個時鐘,輸送給應用層的使能信號可能由于系統(tǒng)時鐘和鏈路時鐘的不同而踩不到關鍵的使能信號,故在和應用層對接時應做跨時鐘域處理[13],具體方法如下:發(fā)送方向應該將w_tg信號展寬5倍,再用鏈路時鐘去采樣展寬后的信號,可以得到一個鏈路時鐘的脈沖信號。接收方向應該將w_rg,w_crc展寬2倍,再用系統(tǒng)時鐘去采樣展寬后的信號,可以得到一個系統(tǒng)時鐘的脈沖信號。

圖3 M-BUS協(xié)議架構圖

2.3 M-BUS協(xié)議應用層設計

M-BUS應用層主要實現(xiàn)控制鏈路層物理層發(fā)送和接收、接收數(shù)據,去掉無用字段,將有效數(shù)據存入下裝下行緩存或者維護下行緩存、從下裝上行緩沖區(qū)或者維護上行緩沖區(qū)讀取數(shù)據加入包裝字段存入鏈路層和物理層發(fā)送數(shù)據緩沖區(qū),并通知鏈路層和物理層發(fā)送至物理總線、接收數(shù)據若為廣播,則不發(fā)送上行反饋,連續(xù)接收到3包廣播復位數(shù)據包,給出復位請求給當前板卡。M-BUS應用層上采用自定義數(shù)據幀格式來定義數(shù)據包,數(shù)據通過數(shù)據包的方式在總線中傳輸,一個數(shù)據包即一幀數(shù)據。常用的通信協(xié)議由幀頭、地址信息、數(shù)據類型、數(shù)據長度、數(shù)據塊、校驗碼、幀尾等部分組成[14]。M-BUS協(xié)議中應用層用DA域為目的地址標識,SA為源地址標識。主節(jié)點的SA域填寫主節(jié)點(維護接口模塊)的地址。從節(jié)點的DA域為主節(jié)點的SA域信息值,從節(jié)點的SA域為從節(jié)點的地址。功能碼域代表兩方面的信息,F(xiàn)C用來定義報文類型,表明該幀是請求幀還是應答幀。MODE域為發(fā)送此數(shù)據包的板卡模式,CMD域為此數(shù)據包的執(zhí)行命令,SN域為包序號,用來區(qū)別相同位置不同時間的兩次數(shù)據幀。ADDR域為請求從節(jié)點操作的內存首地址,TYPE域為板卡類型,板卡類型定義:維護接口模塊:0x00;控制器:0x10;點對點卡:0x20;多節(jié)點卡:0x30。DATA域為Data Unit用戶數(shù)據域,用于放置要攜帶的用戶數(shù)據,長度可取128字節(jié)。

圖4 M-BUS應用層自定義幀格式

2.4 M-BUS協(xié)議鏈路層和物理層設計

M-BUS通信協(xié)議鏈路層和物理層模塊主要完成鏈路組幀/拆包[15],CRC 編碼/解碼,并串轉換發(fā)送/接收任務。M-BUS的總線以12.5Mbps的速率進行傳輸,數(shù)據的同步信息無需附加在字符中間,每個字符以NRZI格式傳輸,在接收端通過數(shù)據時鐘恢復并校驗。幀字節(jié)格式為10位,跳變沿為1'b0,無跳變沿為1'b1。以下為5B/4B編碼方式:

5'b11110:decodemap_5B4B=5'h0;//hex'0'

5'b01001:decodemap_5B4B=5'h1;//hex'1'

5'b10100:decodemap_5B4B=5'h2;//hex'2'

5'b10101:decodemap_5B4B=5'h3;//hex'3'

5'b01010:decodemap_5B4B=5'h4;//hex'4'

5'b01011:decodemap_5B4B=5'h5;//hex'5'

5'b01110:decodemap_5B4B=5'h6;//hex'6'

5'b01111:decodemap_5B4B=5'h7;//hex'7'

5'b10010:decodemap_5B4B=5'h8;//hex'8'

5'b10011:decodemap_5B4B=5'h9;//hex'9'

5'b10110:decodemap_5B4B=5'hA;//hex'A'

5'b10111:decodemap_5B4B=5'hB;//hex'B'

5'b11010:decodemap_5B4B=5'hC;//hex'C'

5'b11011:decodemap_5B4B=5'hD;//hex'D'

5'b11100:decodemap_5B4B=5'hE;//hex'E'

5'b11101:decodemap_5B4B=5'hF;//hex'F'

以下為非字符的譯碼:

5'b11000:decodemap_5B4B=J;

5'b10001:decodemap_5B4B=K;

5'b01101:decodemap_5B4B=T;

5'h1F:decodemap_5B4B=I;

當檢測的JK時,標志著一幀的開始,檢測到TT時,為一幀的結束。

圖5 M-BUS物理層幀格式

M-BUS通信協(xié)議鏈路層SYNC數(shù)據域表示同步頭固定字符“0x33,0x33”。JK數(shù)據域表示幀起始字符,DATA數(shù)據域為應用數(shù)據段,F(xiàn)CS數(shù)據域是為了校驗CRC而設立的,其值等于幀中除同步符SYNC,起始符JK和結束符TT域外的所有各域的CRC32校驗和,位于TT前。ED數(shù)據域為幀結束標志符。

圖6 M-BUS鏈路層數(shù)據幀格式

M-BUS在周期開始時,主節(jié)點依次發(fā)送請求信號給各從節(jié)點,要求從節(jié)點在600bit時間內應答。

圖7 M-BUS鏈路過程

3 性能評估

3.1 測試環(huán)境

本文采用Linux操作系統(tǒng)和Microsemi公司的IGLOO2系列M2GL090-FG484I器件FPGA搭建了軟件驗證平臺,通過編寫大量測試程序在電廠系統(tǒng)上對其進行測試,以此來驗證對所設計M-BUS總線的正確性。

3.2 測試結果

為了驗證所設計的M-BUS總線協(xié)議的正確性,編寫大量的測試例子對總線進行測試。圖8是通過向DUT輸入50MHz時鐘,通過station_in、rack_in和slot_in對DUT連續(xù)輸入3組ID信息,待DUT完成初始化后,在運行模式下運行下裝模式功能,通過波形查看M-BUS的性能。

圖8 M-BUS性能測試

測試由波形看出M-BUS通信速率為12.5Mb?ps,數(shù)據傳輸正確,M-BUS性能正確。

對M-BUS接口布局布線后的網表進行分析。

圖9 M-BUS接口測試

圖9 中兩級同步寄存器的時鐘具有固定相位關系,因此做同步處理正確。

4 結語

在本文中,提出了M-BUS總線協(xié)議的架構設計,分別對M-BUS總線應用層、數(shù)據鏈路層和物理層進行了自定義協(xié)議設計,該協(xié)議是開放的,只要遵循此協(xié)議的板卡都可該總線兼容,實現(xiàn)了應用場景擴展,并且該總線協(xié)議借鑒了傳統(tǒng)工業(yè)現(xiàn)場總線的優(yōu)點,具有穩(wěn)定性高、安全性高、實時精準等特點。此外,通過Linux操作系統(tǒng)和Microsemi公司的IGLOO2系列器件FPGA搭建了軟件驗證平臺,完成了對M-BUS總線性能測試和接口測試,作為一種高效穩(wěn)定的通信協(xié)議,該總線協(xié)議可以廣泛應用于工業(yè)控制、遠程抄表、維護監(jiān)控等領域。

猜你喜歡
鏈路層應用層通信協(xié)議
基于多空間內存共享的數(shù)據鏈路層網絡包捕獲方法
基于Z-Stack通信協(xié)議棧的紅外地溫采集電路設計
基于分級保護的OA系統(tǒng)應用層訪問控制研究
基于DMX512通信協(xié)議的多路轉發(fā)器設計與研究
基于FPGA全功能MVB網絡從設備鏈路層IP核設計
基于NS-3的PLC多頻通信協(xié)議仿真平臺設計與實現(xiàn)
電測與儀表(2016年2期)2016-04-12 00:24:52
新一代雙向互動電力線通信技術的應用層協(xié)議研究
物聯(lián)網技術在信息機房制冷系統(tǒng)中的應用
數(shù)據鏈路層的選擇重傳協(xié)議的優(yōu)化改進
IEEE 1394事務層接口的設計與實現(xiàn)
杭州市| 万盛区| 滕州市| 永平县| 宜昌市| 洛扎县| 襄樊市| 环江| 兰溪市| 视频| 青川县| 柏乡县| 连江县| 大新县| 肥乡县| 四子王旗| 友谊县| 保德县| 景东| 黔西| 太仆寺旗| 平罗县| 神农架林区| 报价| 宜宾县| 无锡市| 萨嘎县| 九江县| 舟曲县| 牡丹江市| 泾源县| 公主岭市| 稻城县| 碌曲县| 铜川市| 中卫市| 平泉县| 栾城县| 莎车县| 洪江市| 庐江县|