两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種可編程控制器背板的通信方法

文檔序號:6280005閱讀:212來源:國知局
專利名稱:一種可編程控制器背板的通信方法
技術領域
本發(fā)明涉及可編程控制器(PLC),尤其是指PLC背板通信方法。
背景技術
隨著工業(yè)生產自動化程度的提高,可編程控制器(PLC)的應用也越來越廣泛,對于PLC,國際電工委草案作了這樣的定義,可編程控制器是一種數字運算操作的電子系統(tǒng),專為在工業(yè)環(huán)境下應用的設計,它采用了可編程序的存儲器,用來在其內部存儲執(zhí)行邏輯運算、順序控制、定時、計數和算術操作等面向用戶的指令,并通過數字式或模擬式的輸入/輸出,控制各種類型的機械或生產過程,可編程控制器及其有關外圍設備,都按易于與工業(yè)系統(tǒng)聯(lián)成一個整體、易于擴充其功能的原則設計。
對此本領域技術人員對PLC與一般的微機控制的區(qū)別就有了一個清晰的概念,市售的PLC產品,以西門子的S7-200產品為例。該產品可以提供3種模擬量擴展模塊模擬量輸入模塊EM231、模擬量輸入/輸出模塊EM235和模擬量輸出模塊EM232,其他還有接線端子排以及連接擴展模塊用的總線連接器等。
該西門子產品的協(xié)議芯片接口具有3種工作模式,即1、離散式模式,DI/O(數字輸入/輸出接口)操作。
2、總線接口模式,提供智能模塊(帶CPU)的總線接口。
3、總線接口模式,提供非智能模塊(ADC/DAC/多路復用器控制)的總線接口。
這3種工作模式為無猝發(fā)數據傳輸(即一次進行批量數據傳輸)機制,AD/DA模塊的AD/DA轉換直接由CPU模塊通過特定的操作時序來啟動轉換、讀或寫模擬量數據。
前述的擴展模塊在進行通信協(xié)議處理時的傳輸機制為無猝發(fā)傳輸方式,傳輸效率、擴展性及適應性不能滿足現有技術的需要;另外,由于其單純采用逐字節(jié)雙奇偶校驗,進行校驗的可靠性不能滿足現有技術的需要。西門子現有的產品也沒有對與智能模塊的本地接口方式以及傳輸機制和操作方法進行明確定義。

發(fā)明內容
本發(fā)明解決的技術問題是提供一種可編程控制器背板的通信方法,可以實現擴展模塊在進行通信協(xié)議處理時的猝發(fā)傳輸方式。
為了解決上述技術問題,本發(fā)明提供了一種可編程控制器背板通信方法,其特征在于,包括以下步驟(a)對可編程控制器主模塊和擴展模塊中的通信芯片進行模式配置以實現單字節(jié)和多字節(jié)的猝發(fā)數據傳輸及其相應的芯片本地接口模式;(b)采用單字節(jié)和多字節(jié)猝發(fā)數據傳輸方法進行數據通信,同時采用CRC的數據包校驗和數據流的交織校驗結合的方法對需要進行通信的數據進行校驗。
進一步地,上述方法還可具有以下特點所述步驟(b)在進行多字節(jié)猝發(fā)數據傳輸時,由可編程控制器背板總線中的串行時鐘驅動內部狀態(tài)機自動產生本地存儲器的讀寫操作時序,對于所要接收或發(fā)送數據的地址,均由一個可在單字節(jié)操作模式下讀寫的內部寄存器指定,并且每接收或發(fā)送一個字節(jié)該地址自動加1;由一數據/地址復用的總線接口以及相應的控制總線,將所傳輸的數據通過該端口讀出或寫入該存儲器,直到完成所有數據的傳輸。
進一步地,上述方法還可具有以下特點所述步驟(b)在讀和寫過程進行多字節(jié)猝發(fā)數據傳輸時,采用的數據包的比特流依次包括數據包頭、對存儲器進行讀或寫操作的首地址、要傳送數據的字節(jié)數、若干個字節(jié)的數據和CRC計算結果,且在比特流的任一8位數據后都附加有2位交織校驗位P1和P0;接收方收到10位數據后,先進行交織校驗解交織運算,正確則將前8位數據進行CRC-8校驗運算,若都正確則交于上層協(xié)議處理;否則指示接收錯誤或做錯誤應答;且在寫過程中,在數據傳輸完成后,還進行數據包應答字節(jié)的回讀過程,該應答字節(jié)中包含有發(fā)出應答的擴展模塊的地址和包校驗正確與否的信息。
進一步地,上述方法還可具有以下特點所述數據包頭中包括模塊地址,對應于可編程控制器的擴展模塊地址;子地址,在多字節(jié)模式下對應于擴展模塊的存儲器或通信芯片中的內部寄存器地址;頭擴展標志,指示本次傳輸為單字節(jié)傳輸還是多字節(jié)傳輸;讀寫標志,指示本次操作為讀操作還是寫操作。
進一步地,上述方法還可具有以下特點所述擴展模塊的存儲器為雙口RAM。
進一步地,上述方法還可具有以下特點所述可編程控制器中的模塊A要從模塊B讀取多字節(jié)數據的過程包括以下步驟(b11)模塊A通過PLC背板總線對模塊B通信芯片內的一內部寄存器A的子地址寫“讀數據命令字”,該操作為單字節(jié)傳輸操作;(b12)模塊B中斷本地CPU,啟動本地一次讀過程,本地中斷程序根據命令字的要求,將所要上傳的數據和狀態(tài)寫到本地雙口RAM中,寫完后本地清所述內部寄存器,清中斷;(b13)模塊A讀模塊B的內部寄存器A,該操作為單字節(jié)傳輸操作,判斷表示模塊B的數據是否準備好,如在超時前數據已準備好,執(zhí)行下一步,否則,放棄本次操作,結束;(b14)模塊A將模塊B雙口RAM的操作首地址寫入模塊B通信芯片內的另一內部寄存器B,該操作為單字節(jié)傳輸操作;(b15)模塊A從模塊B雙口RAM中指定的首地址開始讀出指定字節(jié)的數據,該操作為多字節(jié)猝發(fā)式傳輸操作。
進一步地,上述方法還可具有以下特點所述可編程控制器中的模塊A要從模塊B寫入多字節(jié)數據的過程包括以下步驟(b21)模塊A將雙口RAM操作首地址寫模塊B通信芯片內的一內部寄存器A’,該操作為單字節(jié)傳輸操作;(b22)模塊A對模塊B雙口RAM寫規(guī)定的字節(jié),將指定字節(jié)的數據寫到模塊B雙口RAM中的指定的首地址,該操作為多字節(jié)傳輸操作;(b23)模塊A對模塊B通信芯片中的另一內部寄存器B’寫“寫數據命令”字,該操作為單字節(jié)傳輸操作;(b24)模塊B中斷本地CPU,啟動一次本地寫過程,本地中斷程序將轉換所要的數據從雙口RAM中讀出,寫完后清內部寄存器B’。
進一步地,上述方法還可具有以下特點所述步驟(a)中,所述主模塊或擴展模塊的通信芯片具有一選擇通信模式的模式配置端口,該模式配置端口可配置為單字節(jié)傳輸工作模式或多字節(jié)猝發(fā)式傳輸工作模式;其中,單字節(jié)傳輸工作模式下,芯片端口為數字量輸入/輸出端口,用以傳輸數字量數據;在多字節(jié)猝發(fā)式傳輸工作模式下,芯片端口為可與存儲器接口的數據/地址線復用端口,用以批量傳輸多個字節(jié)數據。
進一步地,上述方法還可具有以下特點所述進行多字節(jié)猝發(fā)數據傳輸的擴展模塊配置為8位地址/8位數據線的接口模式,該接口模式下各芯片的接口配置為以下幾種方式中的一種第一種,擴展模塊中還包括雙口RAM、本地CPU和譯碼器,其中雙口RAM為地址/數據總線接口復用的芯片,所述通信芯片的內部寄存器讀/寫數據端口DataA通過數據總線與本地CPU的8位數據/低8位地址總線復用端口雙向連接,用于本地CPU對芯片內部寄存器讀/寫操作;所述通信芯片的雙口RAM地址/數據總線復用端口DataB與雙口RAM的地址/數據總線復用端口A連接,雙口RAM的地址/數據復用端口B與本地CPU的8位數據/低8位地址總線復用端口雙向連接;本地CPU的高8位地址總線輸出端口通過數據總線與第一譯碼器連接,該第一譯碼器輸出的譯碼信號分別與通信芯片的內部寄存器片選端口nCS和雙口RAM的片選端口CEB連接;通信芯片的讀寫控制信號nRDB、nWEB端口分別與雙口RAM的RDA、WEA端口連接;通信芯片的地址鎖存控制信號端口nCEB與雙口RAM的地址鎖存控制信號輸入端口CEA連接;本地CPU的讀寫控制信號RD、WE分別與雙口RAM的RDB和WEB相連,通信芯片直接通過中斷輸出端口INT與本地CPU連接;第二種,擴展模塊中還包括雙口RAM、本地CPU、第一鎖存器、第二鎖存器和譯碼器,雙口RAM為地址/數據總線非復用接口的芯片,通信芯片的雙口RAM地址/數據總線復用端口DataB與雙口RAM的數據總線端口DB連接,同時通過第一鎖存器與雙口RAM的地址總線端口AB連接;相應地,本地CPU的數據/低8位地址總線復用端口與雙口RAM的數據總線端口DA連接,同時通過第二鎖存器與雙口RAM的地址總線端口AA連接;其它連接與第一種方式相同;第三種,擴展模塊中還包括本地CPU和譯碼器,所述通信芯片具有內置雙口RAM,芯片內部實現總線對雙口RAM的操作,通信芯片內部寄存器和雙口RAM讀/寫數據端口DataA和內部寄存器和雙口RAM讀/寫地址端口DataB均與本地CPU的8位數據/低8位地址總線復用端口D/A雙向連接;本地CPU的高8位地址總線輸出端口通過數據總線與所述譯碼器連接,該所述譯碼器輸出的譯碼信號分別與通信芯片的內部寄存器片選端口nCS和雙口RAM片選控制信號輸入端口CEB連接;本地CPU和通信芯片對應的讀、寫控制端口和中斷端口相互連接。
進一步地,上述方法還可具有以下特點所述進行多字節(jié)猝發(fā)數據傳輸的擴展模塊配置為16位地址/8位數據線且8位低地址復用的接口模式,該接口模式下各芯片的接口配置如下擴展模塊中還包括雙口RAM、本地CPU和譯碼器,所述通信芯片的一內部寄存器作為存儲器高8位地址從端口DataA直接輸出,與雙口RAM的高8位地址端口連接;通信芯片的數據/低8位地址復用端口DataB與雙口RAM數據端口D連接,端口DataB還與第三鎖存器連接,第三鎖存器將鎖存的地址信號傳送給雙口RAM的低8位地址端口,通信芯片直接通過中斷輸出端口INT與本地CPU連接;通信芯片和雙口RAM對應的讀、寫控制端口和片選端口相互連接。
綜上所述,本發(fā)明所述的通信方法和模塊,采用特有的芯片接口方式以及工作模式,可以實現主CPU模塊與擴展模塊間的具有單字節(jié)和多字節(jié)猝發(fā)數據傳輸機制;并采用CRC的包校驗和數據流交織校驗結合的方式,使得可編程控制器能夠實現較高的可靠性以及傳輸效率。


圖1為本發(fā)明實施例PLC背板的總線結構圖。
圖2a~2d分別示出了本發(fā)明擴展模塊中的通信芯片與雙口RAM和本地CPU的一種連接模式。
圖3a為本發(fā)明實施例CPU生成多字節(jié)讀數據幀格式的示意圖。
圖3b為本發(fā)明實施例CPU生成多字節(jié)寫數據幀格式的示意圖。
圖4為圖3a和圖3b中數據幀頭格式的示意圖。
具體實施例方式
本實施例PLC背板的總線結構如圖1所示,包括一個帶有CPU的主模塊(即圖中的主機)和最多7個擴展模塊(即圖中的從機),每一擴展模塊中均有一背板通信模塊,該模塊負責本擴展模塊與主模塊的通訊,主模塊和擴展模塊之間、擴展模塊和擴展模塊之間通過PLC背板總線采用菊花鏈方式串行連接,該總線包括幀傳輸同步線Sync,單向傳輸,且總線處理是由該信號線上的低有效脈沖啟動的,在任何時候,該低有效脈沖將會復位從機的內部狀態(tài)機;數據位同步時鐘線Sclk,單向傳輸,在寫操作時,上升沿數據輸出(移出),在進行讀操作時,下降沿數據鎖存輸入(移入),空閑時為低電平。
串行數據線Sdata,雙向傳輸信號,用于串行數據的傳輸,其方向由內部狀態(tài)機控制切換。
擴展模塊的地址Add0-2,3比特表示地址0-7,由芯片從前一模塊讀入作為本模塊地址,并加1送給下一模塊。CPU模塊送出的地址信息為全零,表示地址0。
每個背板通信模塊中有一通信芯片,其部分外部端口用于與上述PLC背板總線相連,其它外部端口與所在擴展模塊中的雙口RAM和本地CPU相連,該通信芯片具有一選擇通信協(xié)議模式的模式配置端口。對于不帶CPU芯片的數字量輸入/輸出模塊,應配置為單字節(jié)數據傳輸模式,芯片端口為數字量輸入/輸出端口,每次傳輸8位數字量,用以傳輸數字量信號;對于帶有本地CPU芯片的智能擴展模塊,如模擬輸入/輸出、以太網和PROFIBUS-DP從站等模塊,需要進行模擬量(多字節(jié))傳輸以及其它進行大量數據傳輸的場合,如PROFIBUS、以太網數據的收發(fā)等等,則應將該通信芯片配置為多字節(jié)數據猝發(fā)傳輸模式,芯片端口為可與存儲器接口的數據/地址線復用端口,用以批量傳輸多個字節(jié)數據。
需進行多字節(jié)猝發(fā)數據傳輸的擴展模塊在本地設有一雙口RAM(該RAM也可集成在通信芯片內),通過通信芯片的地址/數據復用接口連接該雙口RAM與本地CPU進行數據交換,并通過專門的中斷命令來通知本地CPU,告知或啟動一次數據傳輸。以下結合圖2a~圖2d說明多字節(jié)傳輸模式的擴展模塊中,通信芯片與本地CPU、雙口RAM連接的4種接口模式。
圖2a所示為多字節(jié)猝發(fā)數據傳輸8位地址/8位數據線的接口模式,其中雙口RAM為地址/數據總線接口復用的芯片。所述通信芯片的內部寄存器讀/寫數據端口DataA通過數據總線與本地CPU的8位數據/低8位地址總線復用端口雙向連接,用于本地CPU對芯片內部寄存器讀/寫操作;所述的通信芯片的雙口RAM地址/數據總線復用端口DataB與雙口RAM的地址/數據總線復用端口A連接,雙口RAM的地址/數據復用端口B與本地CPU的8位數據/低8位地址總線復用端口雙向連接;本地CPU的高8位地址總線輸出端口通過數據總線與第一譯碼器連接,該第一譯碼器輸出的譯碼信號分別與通信芯片的內部寄存器片選端口nCS和雙口RAM的片選端口CEB連接;通信芯片的讀寫控制信號nRDB、nWEB端口分別與雙口RAM的RDA、WEA端口連接;通信芯片的地址鎖存控制信號端口nCEB與雙口RAM的地址鎖存控制信號輸入端口CEA連接。以及本地CPU的讀寫控制信號RD、WE分別與雙口RAM的RDB和WEB相連,通信芯片直接通過中斷輸出端口INT與本地CPU連接。
圖2b所示為多字節(jié)猝發(fā)數據傳輸8位地址/8位數據線的另一種接口模式,但雙口RAM為地址/數據總線非復用接口的芯片。其結構原理與圖2a相近,只是通信芯片的雙口RAM地址/數據總線復用端口DataB與雙口RAM的數據總線端口DB連接,同時通過第一鎖存器與雙口RAM的地址總線端口AB連接。相應地,本地CPU的數據/低8位地址總線復用端口與雙口RAM的數據總線端口DA連接,同時通過第二鎖存器與雙口RAM的地址總線端口AA連接。其它連接是一樣的。
圖2a和圖2b中該通信芯片的主要管腳定義如下DataA----內部寄存器讀/寫數據端口nCS----內部寄存器讀/寫片選輸入端口DataB----雙口RAM八位數據地址復用端口nCEB----雙口RAM地址鎖存控制信號輸出端口nRDB----雙口RAM讀控制信號輸出端口nWEB----雙口RAM寫控制信號輸出端口nCSB----雙口RAM片選控制信號輸出端口nINT----本地CPU中斷信號輸出端口圖2c所示為多字節(jié)猝發(fā)數據傳輸8位地址/8位數據線的又一種接口模式,所述的通信芯片具有內置雙口RAM,芯片內部實現總線對雙口RAM的操作,結構原理同圖2b。其內部寄存器和雙口RAM讀/寫數據端口DataA和內部寄存器和雙口RAM讀/寫地址端口DataB均與本地CPU的8位數據/低8位地址總線復用端口D/A雙向連接;本地CPU的高8位地址總線輸出端口通過數據總線與第三譯碼器連接,該第三譯碼器輸出的譯碼信號分別與通信芯片的內部寄存器片選端口nCS和雙口RAM片選控制信號輸入端口CEB連接;本地CPU和通信芯片的讀、寫控制端口和中斷端口相互連接。
圖2c的管腳定義如下DataA----內部寄存器和雙口RAM讀/寫數據端口DataB----內部寄存器和雙口RAM讀/寫地址端口nCS----內部寄存器片選控制信號輸入端口nRDB----內部寄存器和雙口RAM讀控制信號輸入端口nWEB----內部寄存器和雙口RAM寫控制信號輸入端口
dpRAMCS----雙口RAM片選控制信號輸入端口nINT----本地CPU中斷信號輸出端口圖2d所示為多字節(jié)猝發(fā)數據傳輸16位地址/8位數據線且8位低地址復用的接口模式,通過特殊的外部管腳連接,使得另一個可在單字節(jié)操作模式下讀/寫的內部寄存器local_Haddress_index作為存儲器高8位地址從端口DataA直接輸出,與雙口RAM的高8位地址端口A(15-8)連接。通信芯片的數據/低8位地址復用端口DataB與雙口RAM數據端口D連接,端口DataB還與第三鎖存器連接,第三鎖存器將鎖存的地址信號傳送給雙口RAM的低8位地址端口A(7-0),通信芯片直接通過中斷輸出端口(INT)與本地CPU連接。通信芯片和雙口RAM對應的讀、寫控制端口和片選端口相互連接。在此通信模式下,本地CPU操作不能操作芯片內部寄存器。其它管腳的功能和連接關系見以下定義和附圖。
圖2d通信芯片的主要管腳定義如下DataA----高8位地址輸出端口DataB----低8位地址/8位數據復用端口nCEB----雙口RAM地址鎖存控制信號輸出端口nRDB----雙口RAM讀控制信號輸出端口nWEB----雙口RAM寫控制信號輸出端口nCSB----雙口RAM片選控制信號輸出端口nINT----本地CPU中斷信號輸出端口對于雙口RAM讀寫操作時,可以是單字節(jié)傳輸,也可以是多字節(jié)傳輸。下面對多字節(jié)數據讀寫操作的整個流程進行一下說明,假定模塊A要從模塊B讀取數據,則該過程包括以下步驟步驟110,模塊A通過PLC背板總線對模塊B的子地址4(指向通信芯片內的一內部寄存器)寫“讀數據命令字”,該操作為單字節(jié)傳輸操作;步驟120,模塊B置nINT為低,中斷本地CPU,啟動本地一次讀過程。本地中斷程序根據命令字的要求,將所要上傳的數據和狀態(tài)寫到雙口RAM中,寫完后本地清寄存器地址4,清中斷;步驟130,模塊A讀模塊B的寄存器地址4,該操作為單字節(jié)傳輸操作,若為0xFF表示本地數據未準備好,則等待;若超時則放棄本次操作;如在超時前數據已準備好,執(zhí)行下一步;步驟140,模塊A將模塊B雙口RAM的操作首地址寫子地址1(即內部寄存器local_Laddress_index),該操作為單字節(jié)傳輸操作;步驟150,模塊A從模塊B子地址7(即雙口RAM)中指定的首地址開始讀出指定字節(jié)的數據,該操作為多字節(jié)傳輸操作。
特別地,上述步驟150中多字節(jié)傳輸的比特流格式如圖3a所示,包括數據包頭、首地址、字節(jié)數、若干個字節(jié)的數據和CRC檢驗值XOR子地址,且在每8位數據后都附加有2位交織校驗位P1和P0。
圖4為在本實施例中的數據包頭Header定義。其中Board Address表示模塊地址,地址范圍000到110,對應于7個擴展模塊地址,地址111保留。
Sub Address表示子地址,地址范圍0到7,每次讀寫操作的地址是由Sub address[2:0]決定。子地址0-5為擴展模塊通信芯片中的內部寄存器地址,在單字節(jié)模式下可對應通信芯片的外部端口;子地址110保留,子地址7用于多字節(jié)操作模式下的雙口RAM操作。在多字節(jié)操作模式子地址0-5將有特殊的含義。
Header Extend flag表示頭擴展標志,其為0時,表示為單字節(jié)傳輸,為1時表示為多字節(jié)傳輸。
W/R表示讀寫標志,為0時,開始一個讀操作,為1時,開始一個寫操作。
首地址表示對雙口RAM進行讀或寫操作的起始地址,占8位。
Header Extend flag為1時,首地址后傳送的內容是字節(jié)數Number,用于指示多字節(jié)方式下所要傳的字節(jié)數(1~256字節(jié))。當Number=0時,傳送的字節(jié)數為1,當Number=1時,傳送的字節(jié)數為2,...當Number=255時,傳送的字節(jié)數為256。在擴展模式下,最多一次傳送256字節(jié)。
數據在線上傳輸時,每8位插入兩位交織校驗位,格式如下7 65 4321 0 P1P0

比特流的最后部分是CRC計算結果,采用CRC檢驗值XOR子地址。
接收方收到10位數據后,先進行交織校驗解交織運算,正確則將前8位數據進行CRC-8校驗運算,若都正確則交于上層協(xié)議處理;否則指示接收錯誤或做錯誤應答。
假定模塊A要向模塊B寫入數據,則該過程包括以下步驟步驟210,模塊A將雙口RAM操作首地址寫模塊B的子地址1(指向通信芯片內的一內部寄存器local_Laddress_index),該操作為單字節(jié)傳輸操作;步驟220,模塊A對模塊B的子地址7寫規(guī)定的字節(jié),將指定字節(jié)的數據寫到模塊B雙口RAM中的指定的首地址,該操作為多字節(jié)傳輸操作;步驟230,模塊A對模塊B的子地址4寫“寫數據命令”字(單字節(jié)傳輸操作),中斷模塊B的本地CPU;步驟240,模塊B啟動本地一次寫過程,這時,本地中斷程序將轉換所要的數據從雙口RAM中讀出,寫完后本地清子地址4。
上述步驟220為寫過程的多字節(jié)傳輸,其比特流格式如圖3b所示。包括數據包頭、首地址、若干字節(jié)的數據、CRC檢驗值和ACK XOR子地址,每8位數據后也都附加有2位交織校驗位P1和P0。與讀過程比特流格式不同之處在于最后還有一個包應答ACK字節(jié)的回讀過程。在ACK中包含有發(fā)出應答的擴展模塊的地址和包校驗正確與否的信息。
在擴展模塊中,由PLC背板總線中的串行時鐘驅動內部狀態(tài)機自動產生本地雙口RAM的讀寫操作時序。下面以圖2b所示的接口方式為例進行說明。
對于一次數據讀過程,在總線時鐘的驅動下,每十個時鐘完成一個字節(jié)的數據傳輸。在第一個時鐘的下降沿,nCSB變低,nCEB變高,并將內部寄存器local_Laddress_index的內容從端口DataB送出,一個時鐘周期后nCEB變低;當發(fā)送完上一個字節(jié)的第十個時鐘后nRDB變低,同時端口DataB高阻,雙口RAM將指定地址的數據放到該端口上,在下一個字節(jié)的第一個時鐘的下降沿nRDB變高將該字節(jié)讀到內部寄存器并將該字節(jié)的最高位數據放到串行總線上,同時local_Laddress_index的內容加1并又從端口DataB送出,如此往復,直到最后一個數據傳輸完;最后主模塊將會再發(fā)十個時鐘來讀CRC-8字節(jié),以判斷整個數據包是否正確傳輸,然后nCSB變高。
對于一次數據寫過程,在總線時鐘的驅動下,每十個時鐘完成一個字節(jié)的數據傳輸。在第二個時鐘的下降沿,nCSB變低,nCEB變高,通信芯片內部寄存器local_Laddress_index的內容從端口DataB送出,一個時鐘周期后nCEB變低;當完整接收完一個字節(jié)且校驗正確的第十個時鐘后nWEB變低,同時將從串行總線接收到的數據從端口DataB送出,local_Laddress_index的內容加1,在下一個字節(jié)的第一個時鐘的下降沿nWEB變高、第二個時鐘的下降沿,local_Laddress_index的內容又從端口DataB送出,如此往復,直到最后一個數據傳輸完,然后寫CRC-8校驗字節(jié),nCSB變高;最后主模塊將會再發(fā)十個時鐘來讀ACK字節(jié),以判斷整個數據包是否正確傳輸。
對于其它幾種連接方式,總線操作時序基本同上,只是端口有所不同。在進行多字節(jié)猝發(fā)數據傳輸時,由可編程控制器背板總線中的串行時鐘驅動內部狀態(tài)機自動產生本地雙口RAM的讀寫操作時序,對于所要接收或發(fā)送數據的地址,均由一個可在單字節(jié)操作模式下讀寫的內部寄存器指定,并且每接收或發(fā)送一個字節(jié)該地址自動加1;由一數據/地址復用的總線接口以及相應的控制總線,將所傳輸的數據通過該端口讀出或寫入該雙口RAM,直到完成所有數據的傳輸。
綜上所述,本發(fā)明背板通信模塊可以用CPLD、FPGA或ASIC等的方式的實現,內部具有對擴展模塊的通信與控制的狀態(tài)機結構,可以同步串行接收和發(fā)送數據幀;該模塊采用具有數據傳輸的擴展模塊地址和寄存器地址或端口尋址,具有數據流的交織校驗和數據包的CRC校驗及應答機制,具有單字節(jié)數據傳輸和多字節(jié)猝發(fā)數據傳輸方式的幀格式定義;該模塊具備用于擴展模塊接收和處理該數據幀的芯片的數字量模塊、模擬量模塊以及智能功能模塊的接口方式,和與之相應的由配置端口的不同的配置可選擇不同芯片端口復用工作模式;并根據幀要求讀或寫本地端口或寄存器,自動生成本地讀、寫、片選等控制信號;同時具有中斷機制,以實現主從式數據交換;具有對該芯片的端口或片內寄存器的單字節(jié)端口或寄存器操作和多字節(jié)的端口操作的功能完整的操作方法和操作流程。
同時,本發(fā)明在PLC背景通信中實現了多字節(jié)傳輸,即猝發(fā)數據傳輸。通過在數據幀頭中有專門的數據位標識本次操作為猝發(fā)數據傳輸方式,使得通信模塊進入特殊的猝發(fā)傳輸工作狀態(tài);這時,通信模塊將緊隨該幀頭的字節(jié)作為本次所要傳輸的總字節(jié)數,然后芯片在時鐘的驅動下連續(xù)地接收或發(fā)送所要傳輸的數據。
綜上所述,本發(fā)明與現有技術相比產生了有益的技術效果,本發(fā)明采用特有的芯片接口方式以及工作模式,使得可編程控制器使用本發(fā)明的背板能夠實現較高的校驗可靠性以及傳輸效率,適用性也更為廣泛。
權利要求
1.一種可編程控制器背板通信方法,其特征在于,包括以下步驟(a)對可編程控制器主模塊和擴展模塊中的通信芯片進行模式配置以實現單字節(jié)和多字節(jié)的猝發(fā)數據傳輸及其相應的芯片本地接口模式;(b)采用單字節(jié)和多字節(jié)猝發(fā)數據傳輸方法進行數據通信,同時采用CRC的數據包校驗和數據流的交織校驗結合的方法對需要進行通信的數據進行校驗。
2.如權利要求1所述的方法,其特征在于,所述步驟(b)在進行多字節(jié)猝發(fā)數據傳輸時,由可編程控制器背板總線中的串行時鐘驅動內部狀態(tài)機自動產生本地存儲器的讀寫操作時序,對于所要接收或發(fā)送數據的地址,均由一個可在單字節(jié)操作模式下讀寫的內部寄存器指定,并且每接收或發(fā)送一個字節(jié)該地址自動加1;由一數據/地址復用的總線接口以及相應的控制總線,將所傳輸的數據通過該端口讀出或寫入該存儲器,直到完成所有數據的傳輸。
3.如權利要求1所述的方法,其特征在于,所述步驟(b)在讀和寫過程進行多字節(jié)猝發(fā)數據傳輸時,采用的數據包的比特流依次包括數據包頭、對存儲器進行讀或寫操作的首地址、要傳送數據的字節(jié)數、若干個字節(jié)的數據和CRC計算結果,且在比特流的任一8位數據后都附加有2位交織校驗位P1和P0;接收方收到10位數據后,先進行交織校驗解交織運算,正確則將前8位數據進行CRC-8校驗運算,若都正確則交于上層協(xié)議處理;否則指示接收錯誤或做錯誤應答;且在寫過程中,在數據傳輸完成后,還進行數據包應答字節(jié)的回讀過程,該應答字節(jié)中包含有發(fā)出應答的擴展模塊的地址和包校驗正確與否的信息。
4.如權利要求3所述的方法,其特征在于,所述數據包頭中包括模塊地址,對應于可編程控制器的擴展模塊地址;子地址,在多字節(jié)模式下對應于擴展模塊的存儲器或通信芯片中的內部寄存器地址;頭擴展標志,指示本次傳輸為單字節(jié)傳輸還是多字節(jié)傳輸;讀寫標志,指示本次操作為讀操作還是寫操作。
5.如權利要求2、3或4所述的方法,其特征在于,所述擴展模塊的存儲器為雙口RAM。
6.如權利要求5所述的方法,其特征在于,所述可編程控制器中的模塊A要從模塊B讀取多字節(jié)數據的過程包括以下步驟(b11)模塊A通過PLC背板總線對模塊B通信芯片內的一內部寄存器A的子地址寫“讀數據命令字”,該操作為單字節(jié)傳輸操作;(b12)模塊B中斷本地CPU,啟動本地一次讀過程,本地中斷程序根據命令字的要求,將所要上傳的數據和狀態(tài)寫到本地雙口RAM中,寫完后本地清所述內部寄存器,清中斷;(b13)模塊A讀模塊B的內部寄存器A,該操作為單字節(jié)傳輸操作,判斷表示模塊B的數據是否準備好,如在超時前數據已準備好,執(zhí)行下一步,否則,放棄本次操作,結束;(b14)模塊A將模塊B雙口RAM的操作首地址寫入模塊B通信芯片內的另一內部寄存器B,該操作為單字節(jié)傳輸操作;(b15)模塊A從模塊B雙口RAM中指定的首地址開始讀出指定字節(jié)的數據,該操作為多字節(jié)猝發(fā)式傳輸操作。
7.如權利要求5所述的方法,其特征在于,所述可編程控制器中的模塊A要從模塊B寫入多字節(jié)數據的過程包括以下步驟(b21)模塊A將雙口RAM操作首地址寫模塊B通信芯片內的一內部寄存器A’,該操作為單字節(jié)傳輸操作;(b22)模塊A對模塊B雙口RAM寫規(guī)定的字節(jié),將指定字節(jié)的數據寫到模塊B雙口RAM中的指定的首地址,該操作為多字節(jié)傳輸操作;(b23)模塊A對模塊B通信芯片中的另一內部寄存器B’寫“寫數據命令”字,該操作為單字節(jié)傳輸操作;(b24)模塊B中斷本地CPU,啟動一次本地寫過程,本地中斷程序將轉換所要的數據從雙口RAM中讀出,寫完后清內部寄存器B’。
8.如權利要求1所述的方法,其特征在于,所述步驟(a)中,所述主模塊或擴展模塊的通信芯片具有一選擇通信模式的模式配置端口,該模式配置端口可配置為單字節(jié)傳輸工作模式或多字節(jié)猝發(fā)式傳輸工作模式;其中,單字節(jié)傳輸工作模式下,芯片端口為數字量輸入/輸出端口,用以傳輸數字量數據;在多字節(jié)猝發(fā)式傳輸工作模式下,芯片端口為可與存儲器接口的數據/地址線復用端口,用以批量傳輸多個字節(jié)數據。
9.如權利要求5所述的方法,其特征在于,所述進行多字節(jié)猝發(fā)數據傳輸的擴展模塊配置為8位地址/8位數據線的接口模式,該接口模式下各芯片的接口配置為以下幾種方式中的一種第一種,擴展模塊中還包括雙口RAM、本地CPU和譯碼器,其中雙口RAM為地址/數據總線接口復用的芯片,所述通信芯片的內部寄存器讀/寫數據端口DataA通過數據總線與本地CPU的8位數據/低8位地址總線復用端口雙向連接,用于本地CPU對芯片內部寄存器讀/寫操作;所述通信芯片的雙口RAM地址/數據總線復用端口DataB與雙口RAM的地址/數據總線復用端口A連接,雙口RAM的地址/數據復用端口B與本地CPU的8位數據/低8位地址總線復用端口雙向連接;本地CPU的高8位地址總線輸出端口通過數據總線與第一譯碼器連接,該第一譯碼器輸出的譯碼信號分別與通信芯片的內部寄存器片選端口nCS和雙口RAM的片選端口CEB連接;通信芯片的讀寫控制信號nRDB、nWEB端口分別與雙口RAM的RDA、WEA端口連接;通信芯片的地址鎖存控制信號端口nCEB與雙口RAM的地址鎖存控制信號輸入端口CEA連接;本地CPU的讀寫控制信號RD、WE分別與雙口RAM的RDB和WEB相連,通信芯片直接通過中斷輸出端口INT與本地CPU連接;第二種,擴展模塊中還包括雙口RAM、本地CPU、第一鎖存器、第二鎖存器和譯碼器,雙口RAM為地址/數據總線非復用接口的芯片,通信芯片的雙口RAM地址/數據總線復用端口DataB與雙口RAM的數據總線端口DB連接,同時通過第一鎖存器與雙口RAM的地址總線端口AB連接;相應地,本地CPU的數據/低8位地址總線復用端口與雙口RAM的數據總線端口DA連接,同時通過第二鎖存器與雙口RAM的地址總線端口AA連接;其它連接與第一種方式相同;第三種,擴展模塊中還包括本地CPU和譯碼器,所述通信芯片具有內置雙口RAM,芯片內部實現總線對雙口RAM的操作,通信芯片內部寄存器和雙口RAM讀/寫數據端口DataA和內部寄存器和雙口RAM讀/寫地址端口DataB均與本地CPU的8位數據/低8位地址總線復用端口D/A雙向連接;本地CPU的高8位地址總線輸出端口通過數據總線與所述譯碼器連接,該所述譯碼器輸出的譯碼信號分別與通信芯片的內部寄存器片選端口nCS和雙口RAM片選控制信號輸入端口CEB連接;本地CPU和通信芯片對應的讀、寫控制端口和中斷端口相互連接。
10.如權利要求5所述的方法,其特征在于,所述進行多字節(jié)猝發(fā)數據傳輸的擴展模塊配置為16位地址/8位數據線且8位低地址復用的接口模式,該接口模式下各芯片的接口配置如下擴展模塊中還包括雙口RAM、本地CPU和譯碼器,所述通信芯片的一內部寄存器作為存儲器高8位地址從端口DataA直接輸出,與雙口RAM的高8位地址端口連接;通信芯片的數據/低8位地址復用端口DataB與雙口RAM數據端口D連接,端口DataB還與第三鎖存器連接,第三鎖存器將鎖存的地址信號傳送給雙口RAM的低8位地址端口,通信芯片直接通過中斷輸出端口INT與本地CPU連接;通信芯片和雙口RAM對應的讀、寫控制端口和片選端口相互連接。
全文摘要
本發(fā)明涉及一種PLC背板通信模塊及其通信方法,該模塊用于PLC產品中,包括有通信芯片,該通信芯片具有一選擇通信模式的模式配置端口,通過該模式配置端口可將芯片配置為單字節(jié)數據傳輸模式和多字節(jié)(一次進行批量數據傳輸,即猝發(fā)數據傳輸,包括模擬量)數據傳輸模式;其中該單字節(jié)傳輸模式,用以傳輸數字量數據;該多字節(jié)傳輸模式,通過對雙口RAM,用以傳輸模擬量數據以及其它需要進行大量數據傳輸的情況。本發(fā)明采用CRC的包校驗和數據流的交織校驗結合的方法保證數據傳輸的完整性,同時具有猝發(fā)數據傳輸機制和靈活的本地接口方式,使得本發(fā)明的數據傳輸可靠性以及傳輸效率更高,適應多種工業(yè)場合的應用。
文檔編號G05B19/05GK1888990SQ20061008969
公開日2007年1月3日 申請日期2006年7月12日 優(yōu)先權日2006年7月12日
發(fā)明者莊斌, 徐昌榮, 宋軍, 徐毓軍, 郝莉, 趙建民, 朱世博, 潘燕南 申請人:北京和利時系統(tǒng)工程股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
井研县| 绩溪县| 剑阁县| 远安县| 德阳市| 平度市| 库车县| 启东市| 丽江市| 泗洪县| 江西省| 托克逊县| 广东省| 江西省| 于都县| 昌邑市| 大化| 阜新市| 岗巴县| 右玉县| 西丰县| 城口县| 太康县| 灌阳县| 宝坻区| 长丰县| 石屏县| 舒兰市| 武川县| 娱乐| 定边县| 陆川县| 东山县| 新龙县| 大方县| 永登县| 连州市| 咸丰县| 大名县| 黄龙县| 和顺县|