999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Modbus/TCP協議的通信處理器模塊設計*

2013-03-11 05:48:50李慧燕沈昱明
光學儀器 2013年1期
關鍵詞:嵌入式

李慧燕,費 鵬,沈昱明

(1.上海理工大學 光電信息與計算機工程學院,上海 200093;2.上海自動化儀表股份有限公司,上海 200233)

引 言

所謂工業以太網,是根據國際標準IEEE802.3,設計應用于工業控制系統現場的需要,它的特點主要有系統安全性高和數據實時性強等。近年來,工業以太網控制技術和網絡協議設計技術快速發展,協議設計也有了突破性的進展,工業以太網技術得以迅速發展。

Modbus-IDA 組織是由施耐德公司成立的,就是為了專門對Modbus協議進行研究和開發的。在國內,Modbus TCP/IP協議已經處于比較成熟的階段,并對其廣泛應用。為了讓Modbus廣泛有效地使用,提出了一種支持多線程實時應用的方案,即基于AT91R40008的微處理器,在實時操作系統uC/OS-II和ARM7內核的軟硬件平臺上,通過移植TCP/IP 協議棧[1]LwIP 到ARM 開發平臺并結合Modbus/TCP協議實現通信處理器模塊通信的功能。

1 Modbus/TCP協議模型

Modbus/TCP協議[2-3]是在TCP/IP標準中,應用層采用工業領域事實標準Modbus實現的。經過國際公認,502端口被專門用于Modbus TCP/IP應用層,且其串行總線方式支持各種介質的rs-232、rs-422、rs-485接口,網絡通信模式如圖1所示。

在一個客戶端與服務器的以太網TCP/IP協議為基礎的網絡上,Modbus報文傳輸服務提供商的設備之間可以進行相互的通信,且支持Modbus請求、響應、指示和證實這4 種類型的客戶端/服務器模式報文。Modbus/TCP客戶端首先要通過啟動事務報文處理,并在網絡上發送一個Modbus請求,服務器端接收到該報文請求,產生Modbus指示信號,當服務器收到該請求時,會自動產生一個Modbus響應,并向客戶端發送此響應,當客戶端接收到信息時,也會做出響應的反應,即產生Modbus證實來確認已經將Modbus請求發送完畢。

Modbus TCP/IP的通信系統可以包括不同類型的嵌入式設備,例如TCP/IP 網絡可以通過網橋或交換機與串行鏈路子網相連,且客戶端串行鏈路和服務器端串行鏈路通過TCP/IP網關連接到MODBUS TCP/IP 上,最終可以相互之間進行通信,其通信結構如圖2所示。

Modbus/TCP功能組件結構模型[4]主要由四個層次組成,由下到上是TCP/IP棧、TCP管理層、通信應用層和用戶應用程序。其中,在Modbus/TCP 通信的應用層中包含了Modbus客戶端、Modbus服務器、Modbus客戶端接口和Modbus服務器接口四個部分,是系統的核心所在。Modbus設備可以提供客戶端/服務器Modbus接口和Modbus后臺接口,而后臺接口包括四種數據類型:離散輸入Discrete Input、離散輸出Coil、寄存器輸入Input Register和寄存器輸出Holding Register。

Modbus客戶端完成對用戶的遠程控制和設備間的交換信息,用戶發送一個Modbus請求到客戶端接口,然后調用一個Modbus等待,最后再確認該事務處理。Modbus客戶端接口允許用戶應用程序生成,并通過提供的Modbus服務請求接口訪問Modbus應用對象。Modbus服務器的主要功能是等待接收一個Modbus請求來讀取和寫入,然后生成Modbus響應。Modbus的后臺接口僅僅是一個Modbus服務器的應用程序對象之間的接口。

圖1 Modbus/TCP的網絡通信模式Fig.1 The network communication mode of Modbus/TCP

圖2 Modbus/TCP通信結構Fig.2 Modbus/TCP communication structure

2 硬件開發平臺設計

考慮到網絡協議軟件和實時操作系統與嵌入式工控產品的應用發展需求,硬件平臺采用了美國Atmel公司提供的AT91R40008微控制器和臺灣Asix公司推出的一款基于AX88796 網卡的以太網接口芯片。硬件開發平臺框圖如圖3所示。

AT91R40008是一款主要面向嵌入式應用的高性能32位微處理器,目前在很多嵌入式設備上已經被大量的使用,工作頻率為66 MHz,且集成256kB的片內ARM,支持嵌入式ICE 內電路仿真以及調試通信接口,不需要外擴RAM 就可以滿足一般的嵌入式系統的開發。

AX88796是一款內部集成有10/100Mbps自適應的介質訪問控制層(MAC)[5]和物理層收發器(PHY)的以太網控制器,與NE2000快速兼容。AX88796與AT91R40008的接口電路如圖4所示。

圖3 系統硬件開發平臺框圖Fig.3 The block diagram of system hardware development platform

圖4 AX88796與AT91R40008的接口電路Fig.4 The interface circuit of AX88796and AT91R40008

片外Flash擴展選用SST39VF160,是一個1 MB 16位的CMOS多功能Flash(MPF)器件,由SST特有的高性能SuperFlash技術制造而成。調試工具JTAG 是一種國際標準測試協議,主要用于芯片內部測試及對系統進行仿真、調試,AT91R40008 的JTAG 接口共有5 條信號線:NRST、TMS、TCK、TDI、TDO 分別為測試復位輸入信號、模式選擇、時鐘、數據輸入和數據輸出線。為了拓展本通信模塊的適用范圍,還應該具有能夠下載配置文件的串口,故本通信模塊除了以太網和RS485 接口外,另外還增加了RS232接口。

3 嵌入式TCP/IP協議棧的實現

考慮到系統的實時可靠性和代碼公開的問題,采用代碼開放的低成本的實時嵌入式操作系統uC/OS-II和TCP/IP協議棧LwIP,并結合采用Modbus協議的應用層來設計該系統的軟件結構,其軟件架構如圖5所示。

3.1 uC/OS-II的移植[5]

為了使實時操作系統uC/OS-II能夠在ARM7的硬件開發平臺AT91R40008上正確地運行,因此就要先將操作系統移植到該ARM 處理器上。須知的是,在編寫與處理器硬件相關的代碼時要用匯編語言來完成,而操作系統uC/OS-II的大部分代碼還是要用C 語言來編寫的。在進行操作系統的移植過程中,最主要的是實現與處理器息息相關的代碼部分,具體的有使用C語言編寫的頭文件OS_CPU.H、使用匯編程序語言編寫的源文件OS_CPU_A.S和需要C 程序語言編寫的源文件OS_CPU_C.C。

3.2 LwIP的移植[6-8]

LwIP的含義是輕型(Light weight)TCP/IP協議棧,既可以移植到操作系統上,又可以在無操作系統的情況下獨立運行。它是一種源代碼開放的協議棧,可方便的用于嵌入式系統,它的成本較低,是用戶使用的理想選擇。它盡可能少的減少內存的使用率和縮小代碼容量,這樣就可以讓LwIP適用于資源有限的小型平臺,典型的如嵌入式系統。為了簡化處理過程和內存要求,LwIP對API進行了裁減,可以不復制一些數據。

在/include/arch文件下的cc.h等頭文件中存放這一些與處理器相關的數據長度和位順序,它們的定義都與移植操作系統uC/OS-II時定義的數據參數是相符合的。通常在C語言的結構體中,struct遵循四字節對齊結構。

操作系統模擬層的存在主要是為LwIP協議棧的移植提供便利條件,具體的移植涉及到的函數主要包括信號量操作函數、郵箱操作函數、實現sys_arch_timeouts()函數和實現sys_thread_new()函數這四個部分。

圖5 嵌入式TCP/IP協議棧軟件架構Fig.5 The software architecture of embedded TCP/IP protocol stack

4 通信應用層軟件設計

根據Modbus/TCP規范提供的參考組件模型,采用分層式軟件設計方法。其中,在通信應用層軟件設計過程中,通過創建多個線程函數來實現客戶端/服務器之間數據的傳送。

通信控制器模塊發送定值信號到定值模塊SP 卡上的線程函數sndto_sp_card_thread();通過調用sp_copy_modreg_to_485buf()函數,將Modbus協議對應地址中(Coils,Holding Reg)的數據拷貝到要發送的數據緩沖485buf中,然后通過38譯碼器選擇通道,最后調用sndto_sp_card()函數,通過485發送數據到SP卡上。

通信控制器模塊接收來自定值模塊SP卡的定值狀態信號的線程函數recvfrom_sp_card_thread();通過調用sp_recvfrom_fpga_to_485buf()函數,從相應fpga(該芯片通過RS485接口進行m 序列的發送和接收)內存中讀取數據數據放入485buf中,然后調用sp_copy_485buf_to_modreg()函數,將接收到定值卡SP卡數據拷貝到Modbus協議對應的地址中。

通信控制器模塊接收來自調理模塊AD 卡的調理信號的線程函數recvfrom_ad_card_thread();通過調用ad_recvfrom_fpga_to_485buf()函數,從相應fpga內存中讀取數據放入緩沖485buf中,然后調用ad_copy_485buf_to_modreg()函數,將接收到調理卡AD 卡數據拷貝到Modbus協議對應的地址中。

Modbus/TCP客戶端線程函數client_thread();通過調用conn_netconn()和服務器建立連接。連接一旦建立,客戶和服務器之間就可以通過調用函數netconn_write()來進行Modbus/TCP事務報文的傳輸,然后調用netconn_recv()讀應答報文,并根據事務響應情況給用戶應用發送證實信息。最后待數據傳輸結束以后,雙方調用函數mbserver_close()關閉TCP連接。

Modbus/TCP服務器主線程函數mbserver_thread();通過調用函數netconn_new()創建一個套接字,然后調用函數netconn_bind()將該套接字和本地網絡地址綁定在一起,再調用函數netconn_listen()監聽TCP 502端口的連接請求,最后調用函數mbserver_accept()接收并產生一個新的線程處理連接,然后分析netconn_recv()讀取的報頭并處理請求,等待請求成功或關閉連接。

5 結 論

介紹了在實時嵌入式操作系統uC/OS-II和ARM7內核的軟硬件平臺上,結合Modbus/TCP協議實現通信處理器模塊信號傳輸的方法。將uC/OS-II實時操作系統移植到ARM7AT91R40008系列的處理器內核上,再將嵌入式TCP/IP協議棧LwIP移植到該操作系統,實現了一種多線程的實時應用協議棧。在通訊應用層上,則在將Modbus信息幀嵌入到TCP幀中,分析研究Modbus/TCP協議通信結構模型,最終簡單可靠地實現了嵌入式Modbus/TCP客戶端/服務器端之間的通信。

[1] 王海,張娟,朱曉陽,等.TCP/IP協議族[M].4版.北京:清華大學出版社,2011:300-319.

[2] 王可鵬.基于Modbus TCP/IP通信的實現[J].電腦知識與技術,2008,4(3):553-555.

[3] 司馬莉萍,賀貴明,陳明榜.基于Modbus/TCP協議的工業控制通信[J].計算機應用,2005,25(S1):29-31.

[4] 金青,戴勝華,歐陽勁松.基于Modbus/TCP的工業以太網通信[J].儀器儀表標準化與計量,2006(1):22-24.

[5] 宋玉貴,康婷颋.基于ZigBee的天幕靶信號處理裝置的設計與研究[J].光學儀器,2012,34(1):55-58.

[6] 王曉鳴,王樹新,張宏偉.實時操作系統uC_OS_II在ARM 上的移植[J].機電一體化,2007,13(1):56-58.

[7] 闕大順,王近濤.LwIP協議在uC/OS-II系統上的移植與實現[J].艦船電子工程,2006,26(4):89-91.

[8] DUNKELS A.TCP/IP協議棧LwIP的設計與實現[M].焦海波,譯.北京:北京航空航天大學出版社,2006:1-12.

猜你喜歡
嵌入式
Focal&Naim同框發布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
基于嵌入式Linux內核的自恢復設計
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
嵌入式PLC的設計與研究
電子制作(2018年16期)2018-09-26 03:27:18
搭建基于Qt的嵌入式開發平臺
基于嵌入式系統Windows CE的應用程序開發
嵌入式單片機在電機控制系統中的應用探討
電子制作(2017年8期)2017-06-05 09:36:15
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 另类综合视频| 亚洲性一区| 国产精品第三页在线看| 久久久久亚洲Av片无码观看| 国产精品不卡永久免费| 中文无码毛片又爽又刺激| 欧美特黄一免在线观看| 欧美成人精品一区二区| 97视频免费在线观看| 18禁不卡免费网站| 啪啪啪亚洲无码| 波多野结衣在线se| 久久久久国产一区二区| 国产成人亚洲精品色欲AV| 国产国模一区二区三区四区| 伦伦影院精品一区| aaa国产一级毛片| 久久久久久久久亚洲精品| 无码一区18禁| 免费播放毛片| 亚洲国产精品无码久久一线| 成人免费视频一区| …亚洲 欧洲 另类 春色| 久久黄色视频影| 精品少妇人妻av无码久久| 日韩精品少妇无码受不了| 成人中文字幕在线| 日本高清成本人视频一区| 成人精品在线观看| 永久成人无码激情视频免费| 国产综合精品日本亚洲777| 久久精品66| 99福利视频导航| AV天堂资源福利在线观看| 亚洲IV视频免费在线光看| 狠狠色综合久久狠狠色综合| 国产主播喷水| 露脸一二三区国语对白| 精品成人一区二区三区电影| 亚洲综合一区国产精品| 精品久久久久久久久久久| 91免费国产高清观看| 国产一级毛片高清完整视频版| 国产最新无码专区在线| 超碰精品无码一区二区| 国产成人91精品免费网址在线| 国产黄网永久免费| 亚洲精品黄| 亚洲日韩精品伊甸| 国产精品熟女亚洲AV麻豆| 亚洲精品国产精品乱码不卞| 国产欧美日韩91| 99性视频| 日韩高清中文字幕| 欧美成人综合视频| 一区二区自拍| 国产伦片中文免费观看| 久久精品视频一| 天天综合网亚洲网站| 无码一区18禁| AV无码一区二区三区四区| www.日韩三级| 91国内在线视频| 亚洲浓毛av| 亚洲人成影视在线观看| 在线五月婷婷| 18黑白丝水手服自慰喷水网站| 无码啪啪精品天堂浪潮av| 在线观看国产精美视频| 亚洲精品麻豆| 国产凹凸视频在线观看| 国产精品黄色片| 欧美高清国产| 天堂成人av| 在线观看国产网址你懂的| 国模视频一区二区| 91美女视频在线| 欧美国产菊爆免费观看 | 久久精品66| 高h视频在线| 呦女亚洲一区精品| 国产女人在线|