1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. LPC2378的CAN轉以太網網關

        時間:2024-10-18 20:26:59 碩士畢業論文 我要投稿
        • 相關推薦

        關于LPC2378的CAN轉以太網網關

        引言
          
          現場總線是應用在生產現場、在微機化測量控制設備之間實現雙向串行多節點數字通信的系統,也被稱為開放式、數字化、多點通信的底層控制網絡[1],F場總線是當今自動化技術發展的熱點之一,被譽為自動化領域的計算機局域網。CAN 總線[6]作為現場總線的一種,由于采用了許多新技術及獨特的設計,與一般的通信總線相比,CAN 總線的數據通信具有突出的可靠性、實時性和靈活性[4]。
          以太網 (Ethernet)作為構筑互連網的一種最普及的局域網技術,具有較好的技術穩定性和傳輸數據的高效性等特點,此外,以太網還可以方便的與干線網絡連接,整個控制系統還能夠支持互連網絡的遠程訪問。因此,使用以太網作為工業控制的上層網絡有著十分明顯的優勢[2]。
          本文給出了一種基于LPC2378 的CAN 總線和以太網互聯的網關設計方案[3],有效解決了底層現場總線與上層控制系統的互聯問題。
          
          1 硬件設計
          
          網關主要由微控器模塊,以太網接口模塊,CAN 接口模塊構成。微控器模塊主要實現以太網協議和CAN 協議的互相轉換,以太網接口模塊主要實現以太網數據的發送和接收,CAN 接口模塊主要實現CAN 數據的發送和接收。
          
          1.1 微控器選型
          本設計采用 Philips 公司的LPC2378 作為主控器,LPC2378 是一款基于ARM7TDMI 內核的32 位微處理器,工作頻率高達72MHz,內嵌512kB 的Flash 程序存儲器,ARM 局部總線上有32kB 的SRAM,可以進行高性能的CPU 訪問,內部集成2 路CAN 控制器和1 個以太網控制器,只要加上CAN 收發器和網絡變壓器即可組成CAN 轉以太網網關,大大簡化了電路。
          
          1.2 以太網接口模塊
          LPC2378 內部集成以太網控制器,支持10M 或100Mbps PHY 器件,與標準802.3 完全兼容,內部含16kB 靜態RAM,也可用作通用SRAM,帶有分散/集中式DMA 的DMA 管理器以及幀描述符數組,加上網絡變壓器后通過RJ45 接口與以太網相連。
          
          1.3 CAN 接口模塊
          LPC2378 內部集成2 路CAN 控制器,在任何一路外面加上CAN 收發器都可以組成CAN接口電路,本設計采用CTM8251 作為CAN 收發器,其主要功能是將CAN 控制器的邏輯電平轉換為CAN 總線的差分電平,并具有DC 2500V 隔離功能,省略了傳統電路的光電隔離模塊,簡化了電路,接口速率高達1Mbit/s。
          
          2 軟件設計
          
          網關軟件設計主要包括以太網模塊通信,CAN 模塊通信,以太網協議與CAN 協議的相互轉換三個部分。
          
          2.1 以太網模塊通信
          以太網模塊通信主要包括以太網控制器的初始化和TCP/IP 協議的嵌入兩部分,主程序通過調用以太網模塊通信程序驅動以太網控制器。
          2.1.1 以太網控制器的初始化
          以太網控制器的初始化主要有設置以太網MAC 寄存器,工作模式,定義發送緩沖區的大小,IP 地址、子網掩碼。
          2.1.2 TCP/IP 協議的嵌入
          TCP/IP 協議作為以太網通信協議嵌入到微處理器中[5],其主要作用是管理以太網報文的發送和接收,實現遠程主機與網關的通信。
          因為本網關主要應用于井下控制系統,對數據的傳輸實時性要求較高,所以在傳輸層使用UDP 協議,該協議是一種無連接協議,只把從TCP/IP 應用層中的得到的消息簡單分組為數據報,所以一般UDP 的運行速度要比TCP 快40%,適合工業控制系統。
          在網絡層,設計主要采用了IP 協議作為傳輸協議,IP 協議是整個TCP/IP 協議的核心,傳輸層的UDP 協議要以IP 數據報的格式進行傳輸。
          另外,在網絡通信中,還需要用到ARP 協議,其功能是根據目標IP 地址查詢對應的MAC 地址。
          2.2 CAN 模塊通信
          CAN 模塊通信主要包括CAN 模塊的初始化,CAN 數據的發送和接收,主程序通過調用CAN 模塊通信程序驅動CAN 控制器。
          2.2.1 CAN 模塊的初始化
          CAN 模塊的初始化包括復位CAN 控制器,配置CAN 口波特率,初始化CAN 模塊中斷,設置CAN 驗收濾波器工作方式、CAN 控制器的工作模式。
          2.2.2 CAN 數據的發送和接收
          發送程序負責將以太網傳輸來的UDP 數據包按照CAN 協議轉換后的CAN 報文傳輸到CAN 總線上。LPC2378 集成2 路CAN 控制器,每個CAN 控制器都有3 個發送緩沖器,發送數據時要查詢對應狀態寄存器(CAN1SR 或CAN2SR),檢查上次發送是否完成,若沒完成,則把要發送數據存入發送緩沖區,若完成,則向相應命令寄存器(CAN1CMR 或CAN2CMR)寫入發送命令,發送數據。
          CAN 控制器采用中斷接收數據,若CAN 數據通過濾波器濾波,則觸發一個接收中斷,在中斷程序中將數據從接收緩沖器中存入接收緩沖區,然后通過向相應的命令寄存器(CAN1CMR 或CAN2CMR)寫入釋放接收緩沖器命令,最后通過轉換協議轉換為UDP 數據包。
          2.3 以太網協議和 CAN 協議轉換
          網關的核心設計即為協議轉換的設計,協議轉換的具體過程如下:
          當收到的數據為CAN 數據包時,首先添加UDP 報頭,再添加IP 報頭,最后添加以太網幀頭,封裝成以太網數據幀,存入以太網緩沖區,最后發送到以太網。過程如圖2,3 所示:
          當收到的數據為以太網數據包,首先判斷數據包中是否含有IP 報文,目的地址是否匹配,是否含UDP 數據報,UDP 數據報端口是否匹配,如果以上條件都滿足,則按照UDP封裝的反過程來取出數據,即依次去除IP,UDP 報頭,再將數據存入CAN 發送緩沖區,最后發送到CAN 總線。轉換流程如圖4:
          
          3 結束語
          
          基于 LPC2378 的CAN 轉以太網網關集成了2 路CAN 控制器和1 路以太網控制器,簡化了硬件設計,縮小了產品的體積,成本低廉,采用UDP 協議實時性高,適合煤礦井下控制系統應用。

        中國碩士論文網提供大量免費碩士畢業論文,如有業務需求請咨詢網站客服人員!
          
          [參考文獻] (References)
          [1] 丁恩杰、馬方清,監控系統與現場總線[M]. 徐州,中國礦業大學出版社,2003.
          [2] 陳積明,王智. 工業以太網的研究現狀及展望[J]. 化工自動化及儀表,2001,28(6): 1-4,9.
          [3] 索明何,邢海霞. 基于ARM 的CAN-以太網轉換器的設計[J]. 科技信息,2012,(18): 79-79,81.
          [4] 王化南. CAN 總線監測儀表與以太網互聯設計[J]. 國內外機電一體化技術,2012,(2):41-42.
          [5] 陳雪梅,曾照福. 基于ENC28J60 的嵌入式以太網/CAN 網關設計[J]. 現代電子技術,2012,32(6):24-27.
          [6] 李正軍,現場總線及其應用技術[M].北京,機械工業出版社2006.1:100-101.

        【LPC2378的CAN轉以太網網關】相關文章:

        CAN與以太網數據交換的研究與分析12-05

        PROFIBUS-DP轉CAN通信接口模塊的設計11-22

        論基于CAN總線與以太網互聯的實時溫度和濕度監控系統的研究與設03-27

        短信網關開發設計03-26

        藍牙技術在音頻網關中的應用01-07

        千兆比以太網與ATM網01-06

        CAN智能節點的設計03-19

        基于Web服務的短信網關設計03-26

        智能化住宅與未來家庭網關03-18

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>