一種數(shù)字設(shè)備接口和數(shù)據(jù)交換方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種工業(yè)自動化領(lǐng)域的數(shù)字設(shè)備接口和數(shù)據(jù)交換方法。
【背景技術(shù)】
[0002]目前,計算機主機的輸入輸出I/O接口有很多,如10Mbps的網(wǎng)口,USB 口,并行口,串行口 RS232C等,其中以太網(wǎng)接口 Etherent、USB接口逐漸成為接口標(biāo)準(zhǔn);微處理器MCU接口存在很大差異,如高端微處理器MCU中有以太網(wǎng)接口 EtherNet,中低端微處理器MCU中有USB接口、CAN接口、通用同步異步串行口 UART,以及專業(yè)接口如SPI,I2C,Ι-wire等。在工業(yè)自動化中,一方面在頂端需要功能強大的人機界面,另一方面需要將微處理器MCU嵌入到設(shè)備中,因此需要解決計算機主機與微處理器單元連接的問題。
[0003]現(xiàn)有技術(shù)存在以下問題:
[0004]1、計算機主機與微處理器的接口中,USB作為便攜插口,不能通過螺絲牢固緊固,不能在工業(yè)方面使用。
[0005]2、以太網(wǎng)接口 Etherent為計算機主機接口標(biāo)準(zhǔn)之一,但部分有微處理器MCU沒有以太網(wǎng)接口 Etherent,而具備以太網(wǎng)接口的MCU開發(fā)成本和附加成本又很大,在工業(yè)自動化中,以太網(wǎng)接口 Etherent難以在嵌入式設(shè)備中普及;而且,以太網(wǎng)接口 Etherent中一個以太網(wǎng)包裹的最小字節(jié)數(shù)為64,而工業(yè)自動化中,只需傳輸幾個字節(jié),故以太網(wǎng)接口Etherent的使用效率低。
[0006]3、微處理器MCU中,專業(yè)接口 SPI,I2C,l_wire等串行接口的通信速率低,其中主機串 P RS232C 的最高波特率為 921.6kbps,SPI 一般為 500kbps,I2C, 1-wire 則更低。CAN的波特率為1Mbps,且具有通信自主管理功能,但極少有計算機提供CAN接口,具有CAN接口的MCU難以與主機連接。
【發(fā)明內(nèi)容】
[0007]本發(fā)明為了解決上述問題,提供了一種數(shù)字設(shè)備接口和數(shù)據(jù)交換方法,以實現(xiàn)計算機主機和微處理器MCU之間快速、高效傳輸數(shù)據(jù)。
[0008]為實現(xiàn)上述目的,本發(fā)明采用下述技術(shù)方案:
[0009]一種數(shù)字設(shè)備接口的數(shù)據(jù)交換方法,基于信號線進行數(shù)字設(shè)備間的雙向數(shù)據(jù)傳輸,其實現(xiàn)步驟為:
[0010]步驟(I):定義雙向并行接口 BPI的物理結(jié)構(gòu),所述雙向并行接口 BPI包括對外接口,所述對外接口與信號線管腳連接,所述信號線有10根,所述10根信號線中8根為數(shù)據(jù)線BYTE、另外2根分別為握手線HS、時鐘線CLOCK,所述握手線HS、數(shù)據(jù)線BYTE、時鐘線CLOCK分別外接上拉電阻、數(shù)字電源,所述上拉電阻、數(shù)字電源通過串聯(lián)連接;
[0011]步驟(2):通過雙向并行接口 BPI實現(xiàn)兩個數(shù)字節(jié)點的連接;
[0012]步驟(3):定義字節(jié)傳輸協(xié)議BTP的工作規(guī)則,所述字節(jié)傳輸協(xié)議BTP的工作規(guī)則為:信號線連接兩端必須符合鏈路連接規(guī)則,所述鏈路連接規(guī)則為:一方為發(fā)送,另一方必須為接收;
[0013]步驟(4):通過字節(jié)傳輸協(xié)議BTP實現(xiàn)兩個數(shù)字節(jié)點之間的信息交換。
[0014]進一步的,所述步驟(I)中,所述對外接口包括雙向門電路,方向控制管腳DIR控制所述對外接口的輸入/輸出,方向控制管腳DIR為低電平時,對外接口為輸出狀態(tài),方向控制管腳為高電平時,對外接口為輸入狀態(tài);實現(xiàn)信號線雙向功能的方法是:信號線在無輸出時為輸入狀態(tài),所述信號線在輸入狀態(tài)時呈高阻特性,當(dāng)對外接口為輸入狀態(tài)時,即方向控制管腳DIR為高電平,由于信號線通過上拉電阻與數(shù)字電源相連,則信號線呈高電平狀態(tài),信號線可由另一端的數(shù)字設(shè)備控制。
[0015]進一步的,所述步驟(2)中,通過雙向并行接口 BPI實現(xiàn)兩個數(shù)字節(jié)點的連接方法為:兩個數(shù)字節(jié)點的電平標(biāo)準(zhǔn)匹配時,所述兩個數(shù)字節(jié)點通過所述10根信號線分別按名稱對應(yīng)連接。
[0016]進一步的,所述步驟(4)中,通過字節(jié)傳輸協(xié)議BTP實現(xiàn)兩個數(shù)字節(jié)點之間的信息交換的方法為:依次通過握手、發(fā)送數(shù)據(jù)、結(jié)束三個步驟完成字節(jié)傳輸,所述握手、發(fā)送數(shù)據(jù)分別由發(fā)送方依次實現(xiàn),所述結(jié)束包括發(fā)送方實現(xiàn)的結(jié)束、接收方實現(xiàn)的結(jié)束。
[0017]進一步的,所述步驟(4)中,握手建立的步驟依次為:發(fā)送方將握手線HS對外接口設(shè)置為低電平,此時握手線由高電平狀態(tài)變?yōu)榈碗娖綘顟B(tài);接收方響應(yīng)后,發(fā)送方將握手線HS對外接口設(shè)置為高電平,并等待接收方將握手線HS對外接口設(shè)置為低電平,此時,握手線HS由低電平狀態(tài)變?yōu)楦唠娖綘顟B(tài);接收方拉低握手線HS,此時握手線為低電平狀態(tài);發(fā)送方檢測到握手線HS持續(xù)保持為低電平狀態(tài)后,確認(rèn)握手建立。
[0018]進一步的,所述步驟(4)中,發(fā)送數(shù)據(jù)的步驟依次為:發(fā)送方將八位數(shù)據(jù)輸出到數(shù)據(jù)線BYTE上;發(fā)送方將處于高電平的時鐘線CLOCK對外接口設(shè)置為低電平,此時時鐘線CLOCK由初始的高電平狀態(tài)變?yōu)榈碗娖綘顟B(tài);數(shù)據(jù)線上的八位數(shù)據(jù)由發(fā)送方傳輸?shù)浇邮辗?;發(fā)送方將時鐘線CLOCK對外接口設(shè)置為高電平,此時時鐘線CLOCK由低電平狀態(tài)變?yōu)楦唠娖綘顟B(tài),一個字節(jié)傳輸完畢;多個字節(jié)傳輸,重復(fù)上述步驟(4)中發(fā)送數(shù)據(jù)的步驟。
[0019]進一步的,所述步驟(4)中,發(fā)送數(shù)據(jù)的步驟依次為:發(fā)送方將八位數(shù)據(jù)輸出到數(shù)據(jù)線BYTE上;發(fā)送方將處于高電平的時鐘線CLOCK對外接口設(shè)置為低電平,此時時鐘線CLOCK由初始的高電平狀態(tài)變?yōu)榈碗娖綘顟B(tài);數(shù)據(jù)線上的八位數(shù)據(jù)由發(fā)送方傳輸?shù)浇邮辗?;發(fā)送方將時鐘線CLOCK對外接口設(shè)置為高電平,此時時鐘線CLOCK由低電平狀態(tài)變?yōu)楦唠娖綘顟B(tài),發(fā)送方向接受方發(fā)送傳輸結(jié)束標(biāo)注,一個字節(jié)傳輸完畢;多個字節(jié)傳輸,重復(fù)上述步驟(4)中發(fā)送數(shù)據(jù)的步驟。
[0020]進一步的,所述步驟(4)中,傳輸結(jié)束的實現(xiàn)過程中,由發(fā)送方實現(xiàn)傳輸結(jié)束的步驟依次為:發(fā)送方控制時鐘線CLOCK保持高電平狀態(tài);接收方檢測到CLOCK線高電平狀態(tài)持續(xù)兩個以上的CLOCK時鐘周期后,立即將握手信號線HS對外接口設(shè)置為高電平,握手線HS由低電平狀態(tài)變?yōu)楦唠娖綘顟B(tài);發(fā)送方將雙向并行接口 BPI的10個信號線全部置為輸入狀態(tài),即終止發(fā)送;
[0021]進一步的,所述步驟(4)中,傳輸結(jié)束的實現(xiàn)過程中,由接收方實現(xiàn)傳輸結(jié)束的步驟依次為:接收方如果想停止接收,則可隨時將握手線HS線對外接口設(shè)置為高電平,握手線HS由低電平狀態(tài)變?yōu)楦唠娖綘顟B(tài),則實現(xiàn)發(fā)送終止。
[0022]一種數(shù)字設(shè)備接口,包括10根信號線,所述10根信號線包括I根握手線HS、8根數(shù)據(jù)線BYTE、I根時鐘線CLOCK,所述10根信號線遵循上述數(shù)字設(shè)備接口的數(shù)據(jù)交換方法。本發(fā)明的有益效果:
[0023]1.本發(fā)明提出的方法彌補了目前數(shù)字接口在自動化和智能控制領(lǐng)域的不足;
[0024]2.本發(fā)明提出的同步字節(jié)傳輸方法,可將傳輸速率提高到一方的最大性能極限,傳輸效率高于以太網(wǎng)和USB,是SPI速率的八倍;
[0025]3.本發(fā)明提出的設(shè)備接口和字節(jié)傳輸方法易于實現(xiàn),在高性能計算機主機與廉價的MCU之間提供了一種高速通道;
[0026]4.本發(fā)明提出的方法,有望成為為數(shù)不多的該領(lǐng)域內(nèi)的中國標(biāo)準(zhǔn),有利于打破國外技術(shù)壟斷,具有巨大的經(jīng)濟效益和社會效益。
【附圖說明】
[0027]圖1 (a)為本發(fā)明實施例握手線HS管腳電平控制原理圖;
[0028]圖1 (b)為本發(fā)明實施例數(shù)據(jù)線BYTE管腳電平控制原理圖;
[0029]圖1 (c)為本發(fā)明實施例時鐘線HS管腳電平控制原理圖;
[0030]圖2 (a)為本發(fā)明實施例握手線HS電氣連接原理圖;
[0031]圖2(b)為本發(fā)明實施例數(shù)據(jù)線BYTE電氣連接原理圖;
[0032]圖2 (C)為本發(fā)明實施例時鐘線CLOCK電氣連接原理圖;
[0033]圖3為本發(fā)明實施例雙向并行口BPI單線信息傳輸鏈路圖;
[0034]圖4為本發(fā)明實施例字節(jié)傳輸協(xié)議BTP時序圖;
[0035]其中,1、雙向門電路。
【具體實施方式】
[0036]下面結(jié)合附圖對本發(fā)明作進一步說明。
[0037]一種數(shù)字設(shè)備接口的數(shù)據(jù)交換方法,基于信號線進行數(shù)字設(shè)備間的雙向數(shù)據(jù)傳輸,其實現(xiàn)步驟為:
[0038]步驟(I):定義雙向并行接口 BPI的物理結(jié)構(gòu);
[0039]步驟(2):通過雙向并行接口 BPI實現(xiàn)兩個數(shù)字節(jié)點的連接;
[0040]步驟(3):定義字節(jié)傳輸協(xié)議BTP的工作規(guī)則;
[0041]步驟(4):通過字節(jié)傳輸協(xié)議BTP實現(xiàn)兩個數(shù)字節(jié)點之間的信息交換。
[0042]步驟(I)中,雙向并行接口 BPI包括對外接口,所述對外接口與信號線管腳連接,所述信號線有10根,所述10根信號線中8根為數(shù)據(jù)線BYTE、另外2根分別為握手線HS、時鐘線CLOCK,所述握手線HS、數(shù)據(jù)線BYTE、時鐘線CLOCK分別外接上拉電阻R、數(shù)字電源,所述上拉電阻R、數(shù)字電源Vd通過信號線串聯(lián)。其中,對外接口包括雙向門電路I,方向控制管腳DIR控制所述對外接口的輸入/輸出,方向控制管腳DIR為低電平時,對外接口為輸出狀態(tài),方向控制管腳為高電平時,對外接口為輸入狀態(tài)。
[0043]上述10根信號線都是雙向線,信號線的雙向功能由對外接口實現(xiàn),對外接口受方向控制腳DIR的控制。實現(xiàn)信號雙向功能的方法是:信號線無輸出時為輸入狀態(tài),輸入狀態(tài)時信號線呈現(xiàn)高阻特性。如圖1(a)、圖1(b)、圖1(c)所示,當(dāng)對外接口為輸入狀態(tài)時,即數(shù)字設(shè)備的方向控制管腳DIR為高電平,由于信號線的管腳通過一個限流電阻R與數(shù)字電源Vd相連,則該信號線成高電平狀態(tài),因此可以由另一端的數(shù)字設(shè)備控制該信號線。
[0044]步驟(2)中,通過雙向并行接口 BPI實現(xiàn)兩個數(shù)字節(jié)點的連接的方法為:兩個數(shù)字節(jié)點的電平標(biāo)準(zhǔn)匹配時,可通過所述10根信號線分別對應(yīng)連接。如圖2(a)中,握手線HS兩端的對外接口為輸入狀態(tài)時,該握手線HS兩端的數(shù)字設(shè)備的方向控制腳DIR均為高電平,即DIR= 1,則握手線兩端的數(shù)字設(shè)備可通過該握手線HS建立連接;圖2(b)中,數(shù)據(jù)線BYTE兩端的對外接口為輸入狀態(tài)時,該數(shù)據(jù)線BYTE兩端的數(shù)字設(shè)備的方向控制腳DIR均為高電平,即DIR= 1,則數(shù)據(jù)線兩端的數(shù)字設(shè)備可通過該數(shù)據(jù)線BYTE建立連接;圖2(c)中,時鐘線CLOCK兩端的對外接口為輸入狀態(tài)時,該時鐘線CLOCK兩端的數(shù)字設(shè)備的方向控制腳DIR均為高電平,即DIR = 1,則該時鐘線CLOCK兩端的數(shù)字設(shè)備可通過該時鐘線CLOCK建立連接。
[0045]步驟(3)中,字節(jié)傳輸協(xié)議BTP的工作規(guī)則定義為:信號線連接