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