www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]嵌入式Modbus/TCP網(wǎng)關(guān)的設(shè)計與實現(xiàn)

隨著企業(yè)信息化進程的深入發(fā)展,實現(xiàn)企業(yè)上層的管理網(wǎng)絡(luò)與現(xiàn)場控制網(wǎng)絡(luò)的無縫連接顯得越來越重要?;谫|(zhì)量分析的生產(chǎn)管理、與安全相關(guān)的測試監(jiān)控都要求現(xiàn)場的儀器儀表能對現(xiàn)場的信息進行處理并能及時被上級監(jiān)控和管理網(wǎng)絡(luò)訪問與控制,最終納入到企業(yè)信息管理系統(tǒng)統(tǒng)一的框架中。
  目前,構(gòu)成底層控制網(wǎng)絡(luò)的現(xiàn)場總線技術(shù)已獲得了廣泛的應(yīng)用。多種現(xiàn)場總線標準并存而相互間無法兼容的問題一直困擾著工業(yè)界。將工業(yè)以太網(wǎng)應(yīng)用到現(xiàn)場控制網(wǎng)絡(luò)已成為當(dāng)前研究的熱點和未來發(fā)展的趨勢。如何使這種網(wǎng)絡(luò)結(jié)構(gòu)與工業(yè)以太網(wǎng)技術(shù)相結(jié)合,實現(xiàn)底層生產(chǎn)與上層管理的緊密集成是當(dāng)前研究的熱點。
1 Modbus協(xié)議及網(wǎng)關(guān)拓撲結(jié)構(gòu)
  Modbus現(xiàn)場總線協(xié)議是Modicon公司于1978年提出的一種現(xiàn)場總線協(xié)議[1]。通過此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)和其他設(shè)備之間可以進行通信。該協(xié)議內(nèi)容可以免費獲得,因此Modbus的串行鏈路版本在市場上長期占有主導(dǎo)地位。大量的產(chǎn)品已直接運行或兼容Modbus串行鏈路版本。
  Modbus/TCP工業(yè)以太網(wǎng)協(xié)議是1999年被開發(fā)的Modbus協(xié)議的另一版本[2],允許用戶通過以太網(wǎng)訪問設(shè)備。協(xié)議的開放性及簡單易學(xué),使它比很多受商業(yè)利益驅(qū)使的協(xié)議取得更快的發(fā)展,受到眾多第三方產(chǎn)品廠商、終端用戶、系統(tǒng)集成商的廣泛支持[3]。
  本文設(shè)計和實現(xiàn)了一種嵌入式協(xié)議轉(zhuǎn)換網(wǎng)關(guān),通過Modbus/TCP協(xié)議將傳統(tǒng)的串行鏈路通信的Modbus現(xiàn)場總線與以太網(wǎng)相連。用戶經(jīng)由以太網(wǎng)對Modbus設(shè)備進行數(shù)據(jù)采集并對Modbus設(shè)備進行遠程訪問和控制。同時網(wǎng)關(guān)還提供Web服務(wù)功能,允許通過Web瀏覽器直接配置網(wǎng)關(guān)的IP地址等信息并保存到網(wǎng)關(guān)的非易失性存儲器中。圖1是嵌入式Modbus/TCP網(wǎng)關(guān)的連接示意圖。

2 網(wǎng)關(guān)總體設(shè)計
  網(wǎng)關(guān)選用了ATMEL公司生產(chǎn)的AT91RM9200高性能32位工業(yè)級嵌入式微處理器作為網(wǎng)關(guān)硬件系統(tǒng)的核心。網(wǎng)關(guān)的軟件系統(tǒng)將移植μC/OS-II嵌入式實時操作系統(tǒng)和實現(xiàn)TCP/IP協(xié)議棧,并在此基礎(chǔ)上設(shè)計應(yīng)用層程序。網(wǎng)關(guān)的總體設(shè)計結(jié)構(gòu)如圖2。網(wǎng)關(guān)的設(shè)計方案將采用開放源代碼的嵌入式操作系統(tǒng)和TCP/IP協(xié)議棧,因此在取得較高性價比的基礎(chǔ)上可取得最佳的擴展性。
3 硬件設(shè)計
  AT91RM9200是著名半導(dǎo)體廠商ATMEL力推的一款基于ARM920T內(nèi)核的工業(yè)級嵌入式微處理器,為最大功能、最低功耗、最低成本的嵌入式系統(tǒng)提供了一個完整的解決方案[4],它除具備ARM微處理器傳統(tǒng)優(yōu)勢以外,其性能、可靠性和擴展性都大大超過普通的商業(yè)級ARM7核心的嵌入式微處理器。硬件系統(tǒng)的結(jié)構(gòu)如圖3。

4 軟件系統(tǒng)設(shè)計
    嵌入式實時操作系統(tǒng)在目前的嵌入式應(yīng)用中使用越來越廣泛,尤其在功能復(fù)雜、系統(tǒng)龐大的應(yīng)用中顯得愈來愈重要[5]。網(wǎng)關(guān)采用了μC/OS-II實時操作系統(tǒng)。μC/OS-II實時操作系統(tǒng)是專門為嵌入式應(yīng)用設(shè)計的,除了與CPU硬件相關(guān)部分是用匯編語言編寫外,其他絕大部分代碼用C語言編寫。μC/OS-II具有執(zhí)行效率高、占用空間小、實時性能優(yōu)良、可靠性高、可擴展性強和移植性好等特點[6]。
    選擇合適的ARM處理器的開發(fā)工具可以加快嵌入式系統(tǒng)的開發(fā)進度、節(jié)約成本、提高效率。CodeWarrior for ARM Developer Suite V1.2集成開發(fā)環(huán)境是ARM公司推出的新一代ARM集成開發(fā)工具,網(wǎng)關(guān)的所有程序代碼均在此集成開發(fā)環(huán)境中編譯、鏈接、調(diào)試。
4.1 μC/OS-II初始化程序設(shè)計
    μC/OS-II操作系統(tǒng)運行前需要對硬件系統(tǒng)的片內(nèi)和片外存儲器、系統(tǒng)堆棧等進行初始化。這些工作與硬件系統(tǒng)相關(guān),難以用C語言實現(xiàn),需要用匯編語言實現(xiàn)。系統(tǒng)在執(zhí)行完初始化程序之后就將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),為啟動μC/OS-II準備好正確的環(huán)境,最后通過跳轉(zhuǎn)指令執(zhí)行μC/OS-II主函數(shù)main中的第一條C語句[7]。
    初始化程序的設(shè)計不屬于μC/OS-II操作系統(tǒng)的移植,但是其質(zhì)量的好壞關(guān)系到整個系統(tǒng)程序的運行。初始化程序的執(zhí)行步驟如下:(1)定義程序的入口點;(2)設(shè)置異常向量; (3)執(zhí)行硬件初始化;(4)在CP15控制寄存器中,將AT91RM9200配置成小端模式; (5)初始化堆棧指針寄存器SP; (6)開放系統(tǒng)中斷;(7)初始化C變量;(8)運行μC/OS-II操作系統(tǒng)。[!--empirenews.page--]
4.2 μC/OS-II移植
    μC/OS-II在最初設(shè)計時就已經(jīng)考慮到了系統(tǒng)的可移植性。移植的絕大部分工作集中在多任務(wù)切換的實現(xiàn)上。這部分代碼主要是進行處理器狀態(tài)的保存、切換和恢復(fù),主要用匯編語言來實現(xiàn)[8]。網(wǎng)關(guān)采用μC/OS-II V2.52版本的內(nèi)核,其全部源代碼量大約是6 000~7 000行,共16個文件。移植到ARM處理器上,主要修改3個與ARM體系結(jié)構(gòu)相關(guān)的文件:os_cpu.h、os_cpu_c.c和os_cpu_a.s,代碼量大約是500行,另外還要添加μC/OS-II系統(tǒng)時鐘節(jié)拍的代碼。
    時鐘節(jié)拍初始化代碼需要根據(jù)具體的硬件系統(tǒng)來編寫。網(wǎng)關(guān)選用分頻后的系統(tǒng)內(nèi)部時鐘做為定時器的輸入,通過對AIC高級中斷控制器進行設(shè)置,μC/OS-II利用AT91RM9200片內(nèi)定時器1提供的周期性系統(tǒng)時鐘節(jié)拍中斷。
4.3 TCP/IP協(xié)議棧移植
    考慮到商業(yè)TCP/IP協(xié)議棧價格昂貴,有的僅提供庫函數(shù)調(diào)用并不開放源代碼,所以本文在對幾種開放源代碼的TCP/IP協(xié)議棧進行比較后選用2006年3月發(fā)布的穩(wěn)定版本LwIP 1.1.1協(xié)議棧[9]移植到μC/OS-II操作系統(tǒng)和硬件系統(tǒng)上。
    LwIP對μC/OS-II的支持也非常好,文檔管理和軟件版本升級比較完善。LwIP的移植主要涉及兩部分:操作系統(tǒng)模擬層的修改和以太網(wǎng)硬件驅(qū)動程序的設(shè)計。
  對于嵌入式系統(tǒng)來說,操作系統(tǒng)中進程切換的代價相當(dāng)昂貴。LwIP沒有直接使用屬于操作系統(tǒng)的函數(shù)調(diào)用及數(shù)據(jù)結(jié)構(gòu),而是用操作系統(tǒng)模擬層來代替這些函數(shù)的使用。所有TCP/IP協(xié)議都在μC/OS-II的一個任務(wù)tcpip_thread中運行。網(wǎng)關(guān)的應(yīng)用層程序建立單獨的T_httpServer任務(wù)(進程)和T_modbusServer任務(wù)(進程),通過μC/OS-II的郵箱、消息隊列等與lwIP任務(wù)(進程)進行通信。
  操作系統(tǒng)模擬層使用統(tǒng)一的接口來提供定時器、進程同步及消息傳遞機制等此類系統(tǒng)服務(wù)。因此移植LwIP需針對μC/OS-II操作系統(tǒng)修改模擬層中的與處理器和編譯工具相關(guān)的include文件、與操作系統(tǒng)相關(guān)的數(shù)據(jù)結(jié)構(gòu)和函數(shù),主要涉及LwIP的sys_arch.c和sys_arch.h文件。
  以太網(wǎng)硬件驅(qū)動程序的設(shè)計包括LwIP接口函數(shù)設(shè)計和硬件相關(guān)函數(shù)設(shè)計。AT91RM9200微處理器集成了以太網(wǎng)媒質(zhì)訪問層EMAC控制器。EMAC控制器通過RMII接口訪問物理層芯片DM9161,實現(xiàn)以太網(wǎng)數(shù)據(jù)的傳輸。以太網(wǎng)設(shè)備驅(qū)動程序需要實現(xiàn)EMAC層的接收、發(fā)送、初始化以及中斷處理功能。LwIP提供了一個網(wǎng)絡(luò)驅(qū)動程序的參考模板,即LwIP的源代碼目錄srcnetif下找到ethernetif.c文件,根據(jù)微處理器的硬件修改其中的6個函數(shù)即可。
4.4 應(yīng)用層程序設(shè)計
  在嵌入式操作系統(tǒng)μC/OS-II和LwIP的基礎(chǔ)上進行應(yīng)用層程序的設(shè)計,主要實現(xiàn)嵌入式Modbus/TCP網(wǎng)關(guān)的兩個主要功能:通過網(wǎng)關(guān)的Web服務(wù)功能對網(wǎng)關(guān)進行配置;通過Modbus/TCP協(xié)議將Modbus串行通信鏈路與以太網(wǎng)相連。
4.4.1 Web服務(wù)功能設(shè)計
  HTTP協(xié)議實現(xiàn)的客戶機/服務(wù)器模式是一種請求/響應(yīng)行為。嵌入式Modbus/TCP網(wǎng)關(guān)將充當(dāng)Web服務(wù)器。客戶機是任意一臺與網(wǎng)關(guān)以太網(wǎng)接口相連的計算機。
  (1)網(wǎng)關(guān)復(fù)位啟動后,μC/OS-II運行T_httpServer任務(wù)(啟動Web服務(wù))??蛻魴C可以通過瀏覽器向網(wǎng)關(guān)發(fā)出HTTP的GET方法的請求。
    (2)網(wǎng)關(guān)收到該請求后對請求消息中的方法字段進行判斷。如果是GET方法,則表示是第一次請求,網(wǎng)關(guān)執(zhí)行__Handler_HTTPGet( )函數(shù),將固化在片外Flash中的HTTP表單頁面和網(wǎng)關(guān)的配置信息返回給客戶機。
    (3)用戶填寫網(wǎng)關(guān)發(fā)送的表單頁面,輸入新的IP地址、子網(wǎng)掩碼和網(wǎng)關(guān)地址,然后點擊提交按鈕,客戶機向網(wǎng)關(guān)發(fā)出POST方法的請求。其中對用戶填寫數(shù)據(jù)進行驗證的工作是通過嵌在表單頁面中的javascript程序?qū)崿F(xiàn)的,減輕了網(wǎng)關(guān)的負擔(dān)。
  (4)網(wǎng)關(guān)收到客戶機POST方法的請求后擦除片外
Flash中原有的配置信息,然后燒寫新的信息,從而保證網(wǎng)關(guān)的配置在復(fù)位后不會丟失,配置信息在網(wǎng)關(guān)重啟后生效。
4.4.2 Modbus/TCP協(xié)議轉(zhuǎn)換功能設(shè)計
  Modbus/TCP嵌入式網(wǎng)關(guān)復(fù)位啟動之后會進行一系列的初始化操作,最后啟動T_modbusServer任務(wù),該任務(wù)實現(xiàn)Modbus/TCP幀與串行鏈路中的Modbus RTU幀之間的轉(zhuǎn)發(fā)。當(dāng)Modbus/TCP客戶機需要對串行鏈路中的服務(wù)器進行查詢時,首先會向Modbus/TCP網(wǎng)關(guān)的502端口發(fā)起連接請求,網(wǎng)關(guān)監(jiān)聽到這一請求后會執(zhí)行中斷服務(wù)程序,喚醒處于等待狀態(tài)的T_modbusServer任務(wù),并與之建立TCP連接,Modbus/TCP客戶機就會發(fā)送一個Modbus/TCP請求幀并等待網(wǎng)關(guān)的響應(yīng)信息。網(wǎng)關(guān)在收到Modbus/TCP客戶機的請求信息后會對幀進行分析處理,最后生成一個Modbus RTU格式的查詢幀并發(fā)送到串行鏈路中去。之后繼續(xù)監(jiān)聽串行鏈路,若收到串行鏈路上的RTU響應(yīng)幀,則將該幀封裝成Modbus/TCP應(yīng)答幀,發(fā)送給以太網(wǎng)的Modbus/TCP客戶機,并斷開連接。
5 測試
  網(wǎng)關(guān)采用了第三方的Modbus客戶機測試工具ModbusPoll V4.2和服務(wù)器測試工具ModbusSlave V4.1進行測試。在一臺PC機上運行多個ModbusSlave程序模擬不同的設(shè)備和設(shè)備功能狀態(tài),該PC機通過串行通信鏈路與網(wǎng)關(guān)相連。另一臺PC機運行ModbusPoll程序,模擬Modbus/TCP客戶機,通過以太網(wǎng)與網(wǎng)關(guān)相連,并且運行Commview軟件捕捉以太網(wǎng)通信的全過程并計算響應(yīng)時間。測試時由Modbus/TCP客戶機通過網(wǎng)關(guān)循環(huán)查詢串行通信鏈路中的三臺Modbus服務(wù)器, 串行通信的波特率設(shè)置為9 600 b/s,無校驗位,停止位為1。網(wǎng)關(guān)連續(xù)工作48 h未發(fā)生查詢失敗。根據(jù)Commview捕捉到的以太網(wǎng)數(shù)據(jù)包的間隔時間可以計算出Modbus/TCP客戶機一次查詢響應(yīng)的實際時間約為110 ms。網(wǎng)關(guān)各部分均正常,主控芯片僅微微發(fā)熱。網(wǎng)關(guān)直流5 V電源,輸入電流為55 mA,總功率僅為0.275 W。
  隨著企業(yè)管理信息化的迅速發(fā)展,越來越多的工廠和企業(yè)擁有了自己的信息管理網(wǎng)絡(luò)。有用戶提出將自己的控制系統(tǒng)(如中央空調(diào)系統(tǒng))的管理納入到企業(yè)信息管理系統(tǒng)統(tǒng)一的框架中去。利用嵌入式Modbus/TCP網(wǎng)關(guān)可以在保留現(xiàn)有的控制設(shè)備和布線網(wǎng)絡(luò)的情況下,使用戶通過企業(yè)的信息網(wǎng)絡(luò)對整個控制系統(tǒng)進行監(jiān)控,既滿足了用戶升級的愿望又減少了成本的支出。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉