在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

      EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 嵌入式Modbus/TCP網(wǎng)關的設計與實現(xiàn)

      嵌入式Modbus/TCP網(wǎng)關的設計與實現(xiàn)

      作者: 時間:2010-05-21 來源:網(wǎng)絡 收藏

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

      本文引用地址:http://www.biyoush.com/article/151848.htm
      linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

      tcp/ip相關文章:tcp/ip是什么



      上一頁 1 2 下一頁

      評論


      相關推薦

      技術專區(qū)

      關閉