《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于FPGA的MEWTOCOL-COM 與MODBUS RTU協議快速轉換的設計與實現
基于FPGA的MEWTOCOL-COM 與MODBUS RTU協議快速轉換的設計與實現
2019年電子技術應用第11期
陳 虎1,陳 倩2
1.成都航空職業技術學院 信息工程學院,四川 成都610100;2.四川大學 電子信息學院,四川 成都610064
摘要: 在工業智能化過程中,現場總線設備之間需要信息交換,但種類繁多的總線通信協議造成了不同設備之間無法進行正確的信息交換。為解決這個問題,首先深入研究了MEWTOCOL-COM和MODBUS RTU(Remote Terminal Unit)兩種現場總線協議通信的原理及其運行機制,分析了創建命令、地址和數據映射關系的方法,實現了兩者協議間的快速命令、地址和數據的映射,設計了基于FPGA的硬件電路協議轉換方案,搭建了實驗平臺進行MEWTOCOL-COM協議與MODBUS RTU協議之間的轉換測試。實驗結果表明,該種方法實現了兩種網絡協議間的轉換,從而完成了MEWTOCOL-COM標準設備與MODBUS RTU標準設備的數據互通,且兩種協議轉換后的通信時延為微秒級。
中圖分類號: TN792;TP274
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190859
中文引用格式: 陳虎,陳倩. 基于FPGA的MEWTOCOL-COM與MODBUS RTU協議快速轉換的設計與實現[J].電子技術應用,2019,45(11):112-116.
英文引用格式: Chen Hu,Chen Qian. Design and implementation of the protocol conversion between MEWTOCOL-COM and MODBUS RTU based on FPGA[J]. Application of Electronic Technique,2019,45(11):112-116.
Design and implementation of the protocol conversion between MEWTOCOL-COM and MODBUS RTU based on FPGA
Chen Hu1,Chen Qian2
1.College of Electronical and Information Engineering,Chengdu Aeronautic Polytechnic,Chengdu 610100,China; 2.College of Electronics and Information Engineering,Sichuan University,Chengdu 610064,China
Abstract: The information is needed to exchange between fieldbus devices in industrial artificial intelligence. However, it is difficult to exchange data and information between equipments for various fieldbus communications protocol. In this paper, the principle and mechanism of MEWTOCOL-COM and MODBUS RTU(Remote Terminal Unit) were discussed. The quick commands, address and data were mapped between the two communications protocol. Moreover, a protocol conversion programme was designed based on FPGA. The platform was built up by hardware and software for exchange experiments between devices based on MEWTOCOL-COM and MODBUS RTU communications protocol. The experiments results showed that communications could be realized between the devices based on MEWTOCOL-COM and MODBUS RTU communications protocol, the transform between two protocol was implemented, and the communication time delay was completed within milliseconds.
Key words : MEWTOCOL-COM;MODBUS RTU;protocol conversion

0 引言

    現場總線技術是在工業自動化領域中解決工業現場的智能化儀器儀表、控制器、執行機構等現場設備間的數字通信以及這些現場控制設備和高級控制系統之間的信息傳遞問題,是工業設備自動化和信息化的基礎。然而,由于歷史原因,現場總線的通信協議卻種類繁多,根據IEC61158第四版國際標準,已有20種現場總線協議成為國際標準[1]。常用的現場總線協議有西門子的MPI和PPI Rockwell的DF1、松下的MEWTOCOL-COM以及絕大多數設備廠商都遵循的MODBUS協議等。由于不同設備商支持的協議標準不同,導致不同設備商的設備之間不能直接互聯互通,這就造成了生產制造單位在擴大生產線或設計產品線時,無法做到資源的合理規劃和充分利用,老舊產線無法順利接入智能網絡等困境。

    目前,針對不同的工業協議之間的相互轉換,最常見的方式有基于嵌入式系統實現協議轉換、基于專用芯片實現協議轉換和基于FPGA實現協議轉換[2]。表1是對這三種常用方式的優缺點的比較。

qrs4-b1.gif

    本文針對松下電工的私有協議 MEWTOCOL-COM 和標準串行協議 MODBUS RTU進行了深入的研究,并設計和實現了一種 MEWTOCOL-COM 與 MODBUS RTU協議快速轉換的電路方案,不但解決了 MEWTOCOL-COM 標準設備與 MODBUS RTU標準設備集成在一個現場總線網絡中進行互聯互通、數據交換的問題,而且完成了兩個協議快速轉換,轉換前后的數據報文時延小于2 ms。

1 MEWTOCOL-COM與MODBUS通信原理

1.1  MEWTOCOL-COM通信原理

    MEWTOCOL-COM是松下電工FP系列PLC與PLC、計算機或者HMI觸摸屏之間采用的一種專用的通信協議。該協議采用主從應答模式,數據傳送采用的是ASCII碼編碼形式,每次通信的開始,都由主站(主PLC、計算機或者HMI觸摸屏)發送指令,從站(從PLC)接受到指令后,自動進行相應的響應,主站根據從站的響應,可以得知從設備是否正確執行了剛剛發送的指令,這樣就構成了一個交互式的操作。圖1是完成主從通信模型的示意圖。

qrs4-t1.gif

1.2 MEWTOCOL-COM基本幀格式

    MEWTOCOL-COM協議中規定了基本幀格式,基本幀格式有控制代碼,包含了幀頭、命令、正常響應、錯誤響應、結束等字符,如表2所示。MEWTOCOL-COM的每次通信都先由主站發起,主站發起命令幀,命令幀內容除了包含控制代碼外,還包括一些特殊標志碼、PLC站號和呼號字符等[3]。表3是基本幀的格式。命令幀在文本區域中填寫命令代碼和操作地址,命令代碼含義如表4所示。

qrs4-b2.gif

qrs4-b3.gif

qrs4-b4.gif

1.3 MODBUS RTU工作原理

    自1979年來,MODBUS已經成為工業領域通信協議的業界標準,通過MODBUS連接著百萬臺自動化設備之間的通信。在OSI模型中,MODBUS位于第7層,是一種應用層報文傳輸協議。

    MODBUS在串行通信模式下,通信幀格式有兩種:一種是主機發起的查詢和命令從設備的格式,另一種是從設備收到主機命令后的應答格式[4]。通信原理是采用請求/應答的方式進行主從通信,其工作原理如圖2所示。MODBUS主站通過向相應物理地址的從站發送相應的控制信息進行總線數據的交互,一般采用的是一對多的物理連接方式,其通信的實質是主從一對一的請求/應答模式的通信過程[5]

qrs4-t2.gif

    當物理層為RS422或RS485的串行通信方式下,MODBUS通信協議有兩種數據的收發模式,一種是RTU(Remote Terminal Unit)模式,另外一種是ASCII模式。與ASCII模式不同的是,RTU模式下的報文內容是按十六進制的字節方式進行收發,沒有報文的開始和結束標記。MODBUS協議規定,在工業總線上的所有設備,都必須支持RTU模式,而ASCII通信模式作為可選項,而非必選項。本文以RTU模式為研究對象,建立MEWTOCOL-COM與MODBUS RTU報文的命令、地址映射關系,從而實現兩種不同的總線協議的相互轉換。

    在MODBUS RTU協議中,主機設備通常通過不同的功能碼實現對位、字進行操作,這里的功能碼就是對應MEWTOCOL-COM中的命令。

1.4 命令映射表

    為了實現MEWTOCOL-COM 協議與MODBUS 協議的相互轉換,首先創建命令對應表,如表5所示。

qrs4-b5.gif

1.5 地址映射表

    MODBUS的地址編碼是從1開始,并且分不同的地址段,MEWTOCOL-COM的地址是從0開始,要進行兩者相互之間的轉換,MODBUS的地址是MEWTOCOL-COM的地址+1。轉換關系如表6所示。

qrs4-b6.gif

2 FPGA實現設計

    本文結合實際協議網關項目驗證了一種基于FPGA的高速協議轉換的設計方案,它以Altera公司Cyclone系列FPGA芯片為核心,采用原理圖和Verilog HDL語言編程實現[4-8]。采用友晶提供的DE0-Nano開發板,配合開發軟件Quartus II 13.0,設計了一個驗證系統,系統采用固定波特率115 200 b/s,接收MEWTOCOL-COM協議數據,使用8 bit數據位,1 bit停止位,無奇偶校驗位。

    轉換后的MODBUS RTU協議報文,按照8 bit數據位,1 bit停止位的發送。

    FPGA從串行端口接收一幀MEWTOCOL-COM協議數據%10#RDD011050110757cr,表明讀取站號為10的寄存器地址1105-1107三個字的內容,轉換為MODBUS RTU報文后,為0A 03 04 52 00 03 A4 51。

2.1 頂層設計

    圖3是驗證系統的頂層RTL視圖,頂層一共有三個輸入端口:clk,rst_n和rxd信號,分別表示FPGA的外部時鐘輸入,復位信號的輸入(低電平有效)和串口接收信號。頂層的兩個輸出端口,分別是數據輸出有效信號d_valid和串口發送信號txd。

qrs4-t3.gif

    頂層一共例化了4個獨立模塊,分別是pll,uart_receiver,cov_fp_mod和uart_transfer模塊。

2.2 各模塊說明

    (1)時鐘模塊PLL

    PLL模塊采用Altera公司提供的基礎鎖相環IP,輸入時鐘clk是50 MHz,通過PLL后,輸出信號c0是波特率的采樣時鐘,本例中采用固定波特率115 200 b/s,因此,采用頻率為波特率115 200的16倍,即1.843 2 MHz。

    采樣時鐘c0作為模塊的運行時鐘,分別送到串行端口的收發數據模塊。

    (2)串口接收數據模塊uart_receiver

    uart_receiver模塊是從串行端口rxd信號中接收串行數據,并轉換成8 bit并行數據后從dout端口輸出,同時模塊將給出data_ready指示信號,表明串并轉換完成1個字節的有效數據。

    (3)協議轉換模塊cov_fp_mod

    cov_fp_mod模塊是從串口接收數據模塊中接收并行的8 bit數據,同時按照MEWTOCOL-COM協議幀轉換為MODBUS RTU協議幀的方式,將重新組裝數據,并實時地發送到串口發送數據模塊。

    (4)串口發送數據模塊uart_transfer

    串口發送數據模塊是將協議轉換模塊輸出的協議幀數據,進行并串轉換,并發送到串行接口線路上。

2.3 SignalTap信號抓取

    圖4是通過Altera(現為Intel)公司的Quartus II軟件信號抓取工具SignalTap,實時獲得的FPGA的內部信號數據,其中rxd和txd為FPGA的串口輸入和輸出信號,i_data_d是來自MEWTOCOL-COM協議的做了同步處理后的并行數據,send_en是轉換模塊進行轉換后使能數據輸出的指示信號;o_data信號是協議轉換模塊的MODBUS RTU協議報文的輸出并行數據;silent_interval_done信號是根據MODBUS RTU協議,發送數據報文前后至少要保持3.5個字符時間以內,串口總線保持寂靜,對于波特率為115 200 b/s時,要求這個時間為1 750 μs。當總線上不滿足寂靜時間時,信號silent_interval_done為低電平,否則為高電平,表示數據可以從串行端口上進行發送。信號t35_cnt是串口總線寂靜時間的累加寄存器值,當MODBUS RTU協議的數據從串行端口上發送結束后,信號t35_cnt便開始從0計時,直到計滿1 750 μs后,silent_interval_done信號才為高電平有效,表示串口發送總線上可以進行數據的傳送了。

qrs4-t4.gif

    SignalTap的采樣時鐘使用16x波特率的時鐘,即1.843 2 MHz,每個時鐘周期為0.542 5 μs。從接收到MEWTOCOL-COM協議的數據到轉換為MODBUS RTU的數據并發送,通過將SignalTap的數據導出為csv格式,得到從rxd信號接收開始有效計算到協議轉換發送txd信號有效輸出,兩者之間的時間差2 212個時間單位,每個時間單位為0.542 5 μs,則協議轉換并開始發送的時間為0.542 5×2 212=1 200.01 μs。因此,協議轉換時間很短,而且不需要完全接收完整的一個MEWTOCOL-COM協議的報文才開始轉換,硬件電路上可以在適當的時間內開始進行轉換,大大節省了協議收發的時間延時(協議轉換的CRC計算為組合邏輯,時延為納秒級,不影響整個轉換時延)。

3 測試

    假設PC按MEWTOCOL-COM協議從站號(設備地址)為10號(范圍是1~32)的保持寄存器DT1105號開始讀取數據,直到讀到寄存器1107號,命令幀:%10#RDD011050110757cr。

    其中57是數據幀的BCC校驗字段,cr是結束符。

3.1 命令轉換

    根據命令對應關系,在讀取保持寄存器,MEWTOCOL-COM的RD命令對應MDOBUS RTU的03功能碼。

3.2 地址轉換

    首先是站號的進制轉換,MEWTOCOL-COM協議中是ASCII通信,站號為10,對應到MODBUS RTU的十六進制格式就是0x0a。

    其次是訪問的寄存器地址轉換,在MEWTOCOL-COM協議中,訪問的是數據保持寄存器DT1105~DT1107,起始寄存器地址是1105,結束地址是1107,一共3個寄存器。在MODBUS RTU協議中,需要起始地址和訪問的寄存器數量,因此,根據表4,MOBUS RTU的地址是MEWTOCOL-COM的地址+1,DT1105的地址映射到MODBUS RTU地址,16位的十六進制就是0x0452。

    最后是不同協議中地址字段的轉換映射關系。MEWTOCOL-COM協議字段使用了起始地址和結束地址,而MODBUS RTU協議中使用的是寄存器的起始地址和被訪問的寄存器的數量,因此,還要計算出實際的訪問寄存器的數量,1 107-1 105+1=3,轉成16位的十六進制數據是0x0003,并填入MODBUS RTU協議字段中。

3.3 轉換前后通信幀

    經過上述命令、地址和數據的轉換和映射關系,由PC發出的MEWTOCOL-COM協議的通信幀命令%10#RDD011050110757cr,經過FPGA電路轉換到從站號25號接收到的MODBUS RTU協議通信幀是(hex格式):0A 03 04 52 00 03 A4 51。

4 結論

    本文在深入分析了MEWTOCOL-COM和MODBUS RTU兩種現場總線通信協議的基礎上, 提出了基于FPGA架構的協議轉換方法的硬件方案,方便快捷地實現了不同現場總線網絡的互聯互通,并能快速進行協議轉換和收發,兩者延時時間約1 200 μs,FPGA的資源占用也比較小,圖5是綜合后的實際邏輯數量,綜合代碼已經包含了兩者協議的相互轉換邏輯,實驗驗證了基于FPGA實現MEWTOCOL-COM與MODBUS RTU協議轉換,達到了快速轉換和收發的特點,為現場總線網關的設計提供了一個很好的解決方案。

qrs4-t5.gif

參考文獻

[1] 梅恪,沈璞.關于總線國際標準IEC61158的研究報告[J].儀器儀表標準化與計量,2003(2):30-34.

[2] 王治靈.基于FPGA的多協議轉換系統的研究與設計[D].成都:電子科技大學,2018.

[3] 高偉增,徐君鵬.松下PLC編程與應用(第二版)[M].北京:機械工業出版社,2015.

[4] 于楓.ALTERA可編程邏輯器件應用技術[M].北京:科學出版社,2004.

[5] 李洪偉,袁斯華.基于Quartus II的FPGA/CPLD設計[M].北京:電子工業出版社,2006.

[6] 吳志杰,王新霞,孔凡敏,等.多路隔離的Modbus協議轉換器的設計[J].電子技術應用,2016,42(10):77-79.

[7] 吳繼華,王誠.Altera FPGA/CPLD設計[M].北京:人民郵電出版社,2005.

[8] 夏宇聞.Verilog數字系統設計教程[M].北京:北京航空航天大學出版社,2003.



作者信息:

陳  虎1,陳  倩2

(1.成都航空職業技術學院 信息工程學院,四川 成都610100;2.四川大學 電子信息學院,四川 成都610064)

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美一区亚洲| 欧美一级视频| 欧美一级免费视频| 亚洲一区在线看| 亚洲桃花岛网站| 这里只有精品视频| 一本久久青青| 亚洲少妇一区| 这里只有精品在线播放| 99精品99| 99精品热视频只有精品10| 日韩视频一区二区在线观看| 亚洲日本激情| 99精品热6080yy久久| 一个色综合导航| 亚洲午夜小视频| 亚洲一级在线| 新片速递亚洲合集欧美合集| 欧美一区二区在线观看| 久久精品国产第一区二区三区| 久久成人18免费观看| 久久国产精品99国产精| 亚洲国产精品女人久久久| 亚洲精品久久7777| 一区二区三区四区五区精品| 亚洲一区二区欧美| 性欧美18~19sex高清播放| 久久激情五月婷婷| 久久久久久久综合日本| 久久阴道视频| 欧美激情综合网| 欧美四级在线观看| 国产精品午夜在线| 好吊妞这里只有精品| 在线观看日韩国产| 99精品欧美一区二区三区综合在线| 中日韩美女免费视频网址在线观看 | 亚洲色图在线视频| 亚洲欧美久久久| 亚洲高清激情| 在线一区二区三区做爰视频网站| 亚洲在线中文字幕| 久久久亚洲综合| 欧美激情日韩| 国产精品视频99| 在线观看日产精品| 亚洲天堂av电影| 久久精品青青大伊人av| 在线视频你懂得一区二区三区| 欧美一级视频| 欧美好骚综合网| 国产精品午夜国产小视频| 精品999网站| 亚洲色无码播放| 亚洲国产精品t66y| 亚洲欧美激情视频| 欧美xart系列高清| 欧美午夜不卡| 影音先锋中文字幕一区二区| 一区二区三区四区在线| 久久精品国内一区二区三区| 在线亚洲欧美视频| 久久字幕精品一区| 国产精品成人观看视频国产奇米| 韩国精品一区二区三区| 日韩视频免费大全中文字幕| 欧美在线播放视频| 亚洲香蕉网站| 欧美成人综合在线| 国产精品羞羞答答xxdd| 91久久精品美女| 欧美一区二区三区在线观看| 中文在线一区| 免费欧美电影| 国产视频亚洲精品| 一区二区三区精密机械公司| 亚洲激情婷婷| 久久精品国产99国产精品澳门| 欧美精品久久99久久在免费线| 国产在线精品一区二区夜色| 在线亚洲+欧美+日本专区| 亚洲日本欧美| 久久蜜桃香蕉精品一区二区三区| 国产精品国产三级国产| 亚洲日本一区二区三区| 亚洲第一在线综合在线| 欧美一级淫片aaaaaaa视频| 欧美日韩午夜视频在线观看| 亚洲电影av在线| 久久国产精品久久久| 欧美一区二区三区视频在线 | 一本色道综合亚洲| 欧美/亚洲一区| 国产一区二区日韩精品| 亚洲伊人网站| 亚洲一区二区黄| 欧美区高清在线| 亚洲国产精品电影| 亚洲国产成人精品久久久国产成人一区| 欧美一区二区三区精品 | 亚洲人成人99网站| 亚洲黄色在线观看| 美脚丝袜一区二区三区在线观看 | 国产精品麻豆va在线播放| 日韩视频在线免费观看| 亚洲毛片在线看| 欧美国产一区二区| 亚洲第一在线综合在线| 亚洲国产日韩在线一区模特| 久久亚洲综合网| 激情五月婷婷综合| 久久成人亚洲| 久久免费午夜影院| 精品白丝av| 亚洲国产cao| 免费日韩一区二区| 亚洲黄色性网站| 亚洲美女网站| 欧美日韩精品高清| 99在线精品视频在线观看| 亚洲视频一起| 国产精品成人一区二区网站软件 | 99视频一区| 欧美色图麻豆| 亚洲深夜影院| 午夜一区不卡| 国产日韩亚洲欧美| 欧美一区二区三区免费观看视频| 久久久精品动漫| 在线不卡亚洲| 99热精品在线观看| 欧美日韩亚洲三区| 亚洲一区二区三区在线播放| 久久国产精品网站| 在线观看亚洲一区| 亚洲乱码日产精品bd| 欧美日韩国产天堂| 一本不卡影院| 欧美一区二区三区在线看| 国产视频欧美| 亚洲精美视频| 欧美视频第二页| 亚洲男人的天堂在线| 久久久久一区二区| 亚洲欧洲另类| 午夜在线电影亚洲一区| 国产综合精品| 亚洲美女黄色片| 国产精品狠色婷| 欧美自拍偷拍| 欧美日韩伦理在线免费| 亚洲欧美日韩一区二区在线| 久久天天综合| 日韩视频一区二区三区在线播放| 午夜精品国产更新| 狠狠爱成人网| 亚洲视频一起| 国产一区二区毛片| av成人老司机| 国产欧美日韩一区| 91久久精品一区二区三区| 欧美婷婷久久| 久久精品视频在线看| 欧美精选在线| 午夜精品久久久久久久99水蜜桃| 欧美.日韩.国产.一区.二区| 一二三四社区欧美黄| 久久久久久久久久看片| 亚洲美女在线国产| 欧美在线亚洲| 亚洲区中文字幕| 久久国产精品久久久久久| 亚洲破处大片| 久久精品99国产精品| 亚洲乱码国产乱码精品精| 亚洲影视在线播放| 激情文学综合丁香| 亚洲欧美精品| 亚洲激情另类| 久久久久国内| 亚洲调教视频在线观看| 麻豆av一区二区三区久久| 亚洲一区二区三区中文字幕| 欧美电影免费观看| 欧美一级艳片视频免费观看| 欧美日韩精品一区二区三区| 欧美诱惑福利视频| 国产精品国产三级国产普通话99 | 一本久久综合亚洲鲁鲁五月天| 久久综合色婷婷| 亚洲永久精品大片| 欧美国产高清| 欧美一区二区视频在线| 欧美视频在线观看一区二区| 亚洲国产欧美一区二区三区同亚洲| 国产精品日产欧美久久久久| 日韩网站在线| 在线看片一区| 久久精品国产久精国产爱| 在线视频精品|