專利名稱:CAN總線到LonWorks總線的智能網關及其實現方法
技術領域:
本發明涉及一種CAN總線到LonWorks總線的智能網關及其實現方法。
背景技術:
隨著全世界成千上萬的應用開發商的出現和幾百萬設備的安裝,Lonfforks系統已 經成為樓宇自動化、工業、運輸和公共設備控制網首屈一指的開放式解決方案。LonWorks的 基本元件同時具有通信與控制功能,并且固化了 IS0/0SI全部7層通信協議及34種I/O控 制對象。LonWorks改善了 CSMA(載波監聽多路訪問),在網絡負載很重時,也不會導致網絡 癱瘓,其網絡通信協議采用了面向對象的設計方法,稱之為“網絡變量”,使網絡通信的設計 簡化為參數設計。CAN總線的技術特點為總線上任意一個節點可以在任意時刻主動地向網絡上其它 節點發送信息,而不分主從。CAN總線采用非破壞性總線仲裁技術,在網絡負載很重的情況 下,也不會出現網絡癱瘓。CAN總線節點在錯誤嚴重的情況下,可以自動切斷它與總線的聯 系。CAN總線節點在錯誤嚴重的情況下,可自動切斷它與總線的聯系。CAN具有點對點,一 點對多點及全局廣播傳送數據的功能。國內外對于CAN總線和LonWorks總線都是分別應用于各自適用的領域,而實際應 用中需要實現一種CAN總線到LonWorks總線的智能網關的設計,即實現這兩種總線間的通
發明內容
本發明的主要目的在于,提供一種CAN總線到LonWorks總線的智能網關及其實現 方法,以實現CAN總線和LonWorks總線之間的通信。為了達到上述目的,本發明提供了一種CAN總線到LonWorks總線的智能網關,其 包括CAN收發器、LonWorks收發器、CAN控制器和LonWorks控制器,其中,所述CAN收發器,其一端與CAN總線連接,其另一端與所述CAN控制器連接;所述CAN控制器,其與所述LonWorks控制器連接;所述LonWorks收發器,其一端與LonWorks總線連接,其另一端與所述LonWorks 控制器連接。本發明還提供了一種CAN總線到LonWorks總線的智能網關的實現方法,其是基于 上述的CAN總線到LonWorks總線的智能網關的,其特征在于,包括以下步驟步驟1 為CAN控制器和LonWorks控制器設置I/O接口的連接方式;步驟2 選擇LonWorks控制器的I/O工作對象;步驟3 所述CAN收發器接收并處理CAN報文,所述LonWorks收發器接收并處理 Lonfforks 艮文。與現有技術相比,本發明所述的CAN總線到LonWorks總線的智能網關及其實現方 法,可以實現CAN總線和LonWorks總線之間的通信。
圖1是本發明所述的CAN總線到LonWorks總線的智能網關的結構圖;圖2是本發明所述的CAN總線到LonWorks總線的智能網關的實現方法的一具體 實施方式應用的智能網關的結構示意圖。
具體實施例方式如圖1所示,本發明所述的CAN總線到LonWorks總線的智能網關,包括CAN收發 器、CAN控制器、Lonfforks收發器和LonWorks控制器,其中所述CAN收發器,其一端與CAN總線連接,其另一端與所述CAN控制器連接;所述CAN控制器,其與所述LonWorks控制器連接;所述LonWorks收發器,其一端與LonWorks總線連接,其另一端與所述LonWorks 控制器連接。優選的,本發明所述的CAN總線到LonWorks總線的智能網關,還包括復位電路,所 述復位電路與所述LonWorks控制器連接。優選的,本發明所述的CAN總線到LonWorks總線的智能網關,還包括光耦隔離電 路,所述光耦隔離電路的一端與所述CAN收發器連接,所述光耦隔離電路的另一端與所述 CAN控制器連接。優選的,所述CAN控制器的型號為SJA1000,所述LonWorks控制器采用神經元芯片 3150,所述CAN收發器的型號為82C250,Lonfforks收發器的型號為FTT-10A。本發明還提供了一種CAN總線到LonWorks總線的智能網關的實現方法,其是基于 上述的CAN總線到LonWorks總線的智能網關的,包括以下步驟步驟1 為CAN控制器和LonWorks控制器設置I/O接口的連接方式;步驟2 選擇LonWorks控制器的I/O工作對象;步驟3 所述CAN收發器接收并處理CAN報文,所述LonWorks收發器接收并處理 Lonfforks 艮文。當所述CAN控制器的型號為SJA1000,所述LonWorks控制器采用神經元芯片 3150 ;在步驟1中,SJA1000的mode腳接高電平,使其工作在Intel方式;SJA1000的中 斷管腳INT懸空,使其工作在查詢方式;SJA1000的地址數據復用總線ADO AD7接到神經 元芯片3150的IOO 107,SJA1000的地址鎖存信號信號管腳ALE接神經元芯片3150的 108,SJA1000的寫信號管腳WR接神經元芯片3150的109,SJA1000的讀信號管腳RD接神 經元芯片3150的1010,SJA1000的片選信號管腳CS接地。在步驟2中,為神經元芯片3150定義一個并行1/0對象,該并行1/0對象為多總 線 1/0 對象 io_local_bus。下面結合圖2說明本發明所述的方法的一具體實施方式
,本實施方式由以下步驟 組成步驟1、設計智能網關的硬件原理圖,為CAN控制器SJA1000與神經元芯片3150選擇 1/0接口的連接方式;步驟2、選擇神經元芯片3150的1/0工作對象;步驟3、為智能網關設 計軟件實現方案。
具體實施方式
一中步驟1如附圖2所示對SJA1000與神經元芯片3150的連接方 式進行設置如下SJA1000的mode腳接高電平,使其工作在Intel方式;SJA1000的中斷管 腳INT懸空,為了使其工作在查詢方式。SJA1000的地址數據復用總線ADO AD7接到神 經元芯片3150的100 I07,SJA1000的地址鎖存信號信號管腳ALE接神經元芯片3150的 108,SJA1000的寫信號管腳WR接神經元芯片3150的109,SJA1000的讀信號管腳RD接神 經元芯片3150的1010,SJA1000的片選信號管腳CS接地。步驟2中對神經元芯片3150的I/O工作對象的選擇具體實現如下為神經元芯片 3150定義一個并行I/O對象類型,具體為多總線(Muxbus) I/O對象i0_l0Cal_buS,程序中 定義語句如下I0_0muxbus io_local_bus ;該I/O對象類型使用全部的11個I/O引腳形成一個8為地址和雙向數據總線接 口。該對象使用引腳100 107,用于8位地址總線和8位數據總線。引腳108 1010為 控制信號,其中108為地址鎖定選通,高電平有效;109為寫選通,低電平有效;1010為讀選 通,低電平有效。它總是由神經元芯片驅動。步驟3為智能網關設計軟件實現方案的程序流程圖如附圖3所示程序設計包括 初始化模塊、CAN報文接收處理模塊和LonWorks報文接收處理模塊。在初始化模塊中,定 義IO對象、兩個輸入網絡變量NV_ID_Gateway_in和NV_Data_Gateway_in及兩個輸出網絡 變量NV_ID_Gateway_out和NV_Data_Gateway_out,兩個輸入網絡變量對應于所發送CAN報 文的ID和數據場,兩個輸出網絡變量對應于所接收CAN報文的ID和數據場(在LonWorks 網絡的所有節點中均存在與其對應的四個網絡變量,如NV_ID_Node_out、NV_Data_Node_ out、NV_ID_Node_in、NV_Data_Node_in),將 LonWorks 節點中的輸出網絡變量 NV_ID_Node_ out、NV_Data_Node_out鏈接至智能網關中對應的輸入網絡變量NV_ID_Gateway_in、NV_ Data_Gateway_in,將智能網關中的輸出網絡變量 NV_ID_Gateway_out、NV_Data_Gateway_ out鏈接至LonWorks節點中對應的輸入網絡變量NV_ID_Node_in、NV_Data_Node_in ;為神 經元芯片3150定義一個并行1/0對象類型,具體為多總線(Muxbus) 1/0對象io_loCal_ bus,程序中定義語句如下I0_0muxbus io_local_bus ;最后對SJA1000進行初始化,在 CAN報文接收處理模塊中,循環檢測SJA1000接收緩沖器狀態位,當其為真時讀取接收緩沖 器內容,將其標識符、RTR和DLC寫入NV_ID_Gateway_out,將其數據場內容寫入NV_Data_ Gateway_out,并釋放接收緩沖器,此時這兩個網絡變量的值自動映射到LonWorks節點中 的NV_ID_Node_in、NV_Data_Node_in中,這就完成了將CAN總線報文轉發到LonWorks總線 的功能;在LonWorks報文接收處理模塊中,循環檢測兩個輸入網絡變量NV_ID_Gateway_in 及NV_Data_Gateway_in的值是否更新,如果更新,代表接收到LonWorks總線報文,將這兩 個網絡變量的值寫入SJA1000的發送緩沖器中,并發送該報文到CAN總線上,這就完成了將 Lonfforks總線報文轉發到CAN總線的功能。以上說明對發明而言只是說明性的,而非限制性的,本領域普通技術人員理解,在 不脫離所附權利要求所限定的精神和范圍的情況下,可做出許多修改、變化或等效,但都將 落入本發明的保護范圍內。
權利要求
一種CAN總線到LonWorks總線的智能網關,其特征在于,其包括CAN收發器、LonWorks收發器、CAN控制器和LonWorks控制器,其中,所述CAN收發器,其一端與CAN總線連接,其另一端與所述CAN控制器連接;所述CAN控制器,其與所述LonWorks控制器連接;所述LonWorks收發器,其一端與LonWorks總線連接,其另一端與所述LonWorks控制器連接。
2.如權利要求1所述的CAN總線到LonWorks總線的智能網關,其特征在于,其還包括 復位電路,所述復位電路與所述LonWorks控制器連接。(由于在撰寫時將神經元芯片上位 為LonWorks控制器,因此我方進行了如上修改,請貴方確認)
3.如權利要求1或2所述的CAN總線到LonWorks總線的智能網關,其特征在于,其還 包括光耦隔離電路,所述光耦隔離電路的一端與所述CAN收發器連接,所述光耦隔離電路 的另一端與所述CAN控制器連接。
4.如權利要求1或2所述的CAN總線到LonWorks總線的智能網關,其特征在于,所述 CAN控制器的型號為SJA1000,所述LonWorks控制器采用神經元芯片3150,所述CAN收發器 的型號為82C250,Lonfforks收發器的型號為FTT-10A。
5.一種CAN總線到LonWorks總線的智能網關的實現方法,其是基于如權利要求1所述 的CAN總線到LonWorks總線的智能網關的,其特征在于,包括以下步驟步驟1 為CAN控制器和LonWorks控制器設置I/O接口的連接方式;步驟2 選擇LonWorks控制器的I/O工作對象;步驟3 所述CAN收發器接收并處理CAN報文,所述LonWorks收發器接收并處理 Lonfforks 艮文。
6.如權利要求5所述的CAN總線到LonWorks總線的智能網關的實現方法,其特征在 于,所述CAN控制器的型號為SJA1000,所述LonWorks控制器采用神經元芯片3150 ;在步驟1中,SJA1000的mode腳接高電平,使其工作在Intel方式;SJA1000的中斷管 腳INT懸空,使其工作在查詢方式;SJA1000的地址數據復用總線ADO AD7接到神經元芯 片3150的IOO 107,SJA1000的地址鎖存信號信號管腳ALE接神經元芯片3150的108, SJA1000的寫信號管腳WR接神經元芯片3150的109,SJA1000的讀信號管腳RD接神經元 芯片3150的1010,SJA1000的片選信號管腳CS接地。
7.如權利要求6所述的CAN總線到LonWorks總線的智能網關的實現方法,其特征在 于,在步驟2中,為神經元芯片3150定義一個并行I/O對象,該并行I/O對象為多總線I/O 對象 io_local—bus。
全文摘要
本發明提供了一種CAN總線到LonWorks總線的智能網關及其實現方法,所述智能網關包括CAN收發器、LonWorks收發器、CAN控制器和LonWorks控制器,其中,所述CAN收發器,其一端與CAN總線連接,其另一端與所述CAN控制器連接;所述CAN控制器,其與所述LonWorks控制器連接;所述LonWorks收發器,其一端與LonWorks總線連接,其另一端與所述LonWorks控制器連接。所述實現方法包括以下步驟步驟1為CAN控制器和LonWorks控制器設置I/O接口的連接方式;步驟2選擇LonWorks控制器的I/O工作對象;步驟3所述CAN收發器接收并處理CAN報文,所述LonWorks收發器接收并處理LonWorks報文。本發明可以實現CAN總線和LonWorks總線之間的通信。
文檔編號H04L12/40GK101924716SQ201010267609
公開日2010年12月22日 申請日期2010年8月31日 優先權日2010年8月31日
發明者佟為明, 張博琦, 李鳳閣, 李辰, 趙志衡, 陳培友, 高月龍 申請人:哈爾濱工業大學