本申請涉及總線通信領(lǐng)域,尤其涉及一種基于二總線的數(shù)據(jù)同步方法及系統(tǒng)。
背景技術(shù):
:目前,在布置電網(wǎng)電力監(jiān)控、電能計量管理、能源管理、消防電子設(shè)備、電氣保護設(shè)備、消防設(shè)備電源監(jiān)控、防火門監(jiān)控等系統(tǒng)時,通常使用二總線的通信方式。二總線通信是指通信總線上只有兩根導(dǎo)線,不需要額外的電源線的一種通信方式。所有的通信節(jié)點(從設(shè)備)都通過這兩根導(dǎo)線從通信主節(jié)點(主設(shè)備)取電和與主節(jié)點通信。在二總線的類型中,M-BUS(symphonicmbus:遠(yuǎn)程抄表系統(tǒng),其中mbus為Meter-Bus:計數(shù)器總線)是國際通行標(biāo)準(zhǔn),其能夠同時完成提供電源與數(shù)據(jù)通信的功能,并且在連接時不用區(qū)分極性,可以按照任意拓補結(jié)構(gòu)布線施工,并且具有良好的開放性。在實現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)相關(guān)技術(shù)中至少存在如下問題:M-BUS的工作原理是在只有通信主節(jié)點(主設(shè)備)發(fā)出詢問的情況下,通信節(jié)點(從設(shè)備)才會執(zhí)行數(shù)據(jù)交換,也就是說,所有的通信節(jié)點(從設(shè)備)在通信主節(jié)點(主設(shè)備)發(fā)出指令后,才可以向通信主節(jié)點(主設(shè)備)提供數(shù)據(jù),這就導(dǎo)致當(dāng)通信節(jié)點(從設(shè)備)狀態(tài)發(fā)生改變想給通信主節(jié)點(主設(shè)備)發(fā)送數(shù)據(jù)時,不能及時的發(fā)送,存在較長的時延。技術(shù)實現(xiàn)要素:為了解決現(xiàn)有技術(shù)中的二總線通信存在較長時延的問題,第一方面,本發(fā)明實施例提供一種基于二總線的數(shù)據(jù)同步方法,所述方法應(yīng)用于一種二總線基于二總線的數(shù)據(jù)同步系統(tǒng),所述系統(tǒng)包括主設(shè)備和多個從設(shè)備,所述方法包括:發(fā)送持續(xù)預(yù)定時長的同步信號至二總線;當(dāng)在所述同步信號持續(xù)時間內(nèi)接收到自所述多個從設(shè)備中的至少一個從設(shè)備通過所述二總線發(fā)送的數(shù)據(jù)上傳請求時,生成仲裁指令并發(fā)送至所述二總線;接收所述至少一個從設(shè)備在接收到所述仲裁指令之后發(fā)送至所述二總線的所述至少一個從設(shè)備的地址位;根據(jù)接收到的所述至少一個從設(shè)備的地址位確定優(yōu)先級最高的從設(shè)備的設(shè)備地址;根據(jù)所述設(shè)備地址讀取所述優(yōu)先級最高的從設(shè)備的數(shù)據(jù)信息。第二方面,本發(fā)明實施例提供一種基于二總線的數(shù)據(jù)同步系統(tǒng),包括:同步信號發(fā)送程序模塊,用于發(fā)送持續(xù)預(yù)定時長的同步信號至二總線;仲裁指令生成程序模塊,用于當(dāng)在所述同步信號持續(xù)時間內(nèi)接收到自所述多個從設(shè)備中的至少一個從設(shè)備通過所述二總線發(fā)送的數(shù)據(jù)上傳請求時,生成仲裁指令并發(fā)送至所述二總線;地址位接收程序模塊,用于接收所述至少一個從設(shè)備在接收到所述仲裁指令之后發(fā)送至所述二總線的所述至少一個從設(shè)備的地址位;設(shè)備地址確定程序模塊,用于根據(jù)接收到的所述至少一個從設(shè)備的地址位確定優(yōu)先級最高的從設(shè)備的設(shè)備地址;數(shù)據(jù)信息讀取程序模塊,用于根據(jù)所述設(shè)備地址讀取所述優(yōu)先級最高的從設(shè)備的數(shù)據(jù)信息。第三方面,本發(fā)明實施例提供一種非易失性計算機可讀存儲介質(zhì),所述存儲介質(zhì)中存儲有一個或多個包括執(zhí)行指令的程序,所述執(zhí)行指令能夠被電子設(shè)備(包括但不限于計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)讀取并執(zhí)行,以用于執(zhí)行本發(fā)明上述任一項基于二總線的數(shù)據(jù)同步方法。第四方面,提供一種電子設(shè)備,其包括:至少一個處理器,以及與所述至少一個處理器通信連接的存儲器,其中,所述存儲器存儲有可被所述至少一個處理器執(zhí)行的指令,所述指令被所述至少一個處理器執(zhí)行,以使所述至少一個處理器能夠執(zhí)行本發(fā)明上述任一項基于二總線的數(shù)據(jù)同步方法。第五方面,本發(fā)明實施例還提供一種計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括存儲在非易失性計算機可讀存儲介質(zhì)上的計算程序,所述計算機程序包括程序指令,當(dāng)所述程序指令被計算機執(zhí)行時,使所述計算機執(zhí)行上述任一項基于二總線的數(shù)據(jù)同步方法。本發(fā)明實施例提供的基于二總線的數(shù)據(jù)同步方法及系統(tǒng),采用總線仲裁機制,可以使二總線上的從設(shè)備不需要等到主設(shè)備巡檢到本身就可以通過上報數(shù)據(jù)上傳請求從而主動向主設(shè)備發(fā)送數(shù)據(jù)信息,有效地降低了通信時延,從設(shè)備狀態(tài)的改變得到及時更新。附圖說明為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本申請一實施例提供的一種基于二總線的數(shù)據(jù)同步方法的流程圖;圖2A是本申請一實施例提供的基于二總線的數(shù)據(jù)同步方法中的主設(shè)備的編碼示意圖;;圖2B是本申請一實施例的提供的基于二總線的數(shù)據(jù)同步方法中的從設(shè)備的編碼示意圖;圖3是本申請另一實施例提供的一種基于二總線的數(shù)據(jù)同步方法的流程圖;圖4是本申請一實施例的提供的基于二總線的數(shù)據(jù)同步方法中的主設(shè)備的為從設(shè)備分配物理地址的時序圖;圖5是本申請一實施例提供的一種基于二總線的數(shù)據(jù)同步方法中的使用邏輯地址仲裁總線的時序圖;圖6A是本申請一實施例提供的一種基于二總線的數(shù)據(jù)同步方法中的主設(shè)備仲裁數(shù)據(jù)0的時序圖;圖6B是本申請一實施例提供的一種基于二總線的數(shù)據(jù)同步方法中的主設(shè)備仲裁數(shù)據(jù)1的時序圖;圖7是本申請一實施例提供的一種基于二總線的數(shù)據(jù)同步方法中的在二總線空閑狀態(tài)下的同步信號的示意圖;圖8是本申請一實施例提供的基于二總線的數(shù)據(jù)同步方法中的主設(shè)備向從設(shè)備發(fā)送數(shù)據(jù)的時序圖;圖9是本申請一實施例提供的基于二總線的數(shù)據(jù)同步方法中的從設(shè)備向主設(shè)備發(fā)送數(shù)據(jù)的時序圖;圖10是本申請一實施例提供的基于二總線的數(shù)據(jù)同步方法中的主設(shè)備的讀時序圖;圖11是本申請一實施例提供的基于二總線的數(shù)據(jù)同步方法中的主設(shè)備寫從設(shè)備單播時序圖;圖12是本申請一實施例提供的基于二總線的數(shù)據(jù)同步方法中的主設(shè)備寫從設(shè)備組播時序圖;圖13是本申請一實施例提供的基于二總線的數(shù)據(jù)同步方法中的主設(shè)備寫從設(shè)備廣播時序圖;圖14是本申請一實施例提供的一種基于二總線的數(shù)據(jù)同步系統(tǒng)的結(jié)構(gòu)示意圖;圖15是本申請一實施例提供的一種基于二總線的數(shù)據(jù)同步系統(tǒng)的設(shè)備地址確定程序模塊的結(jié)構(gòu)示意圖;圖16是本申請一實施例提供的一種基于二總線的數(shù)據(jù)同步系統(tǒng)的仲裁指令生成程序模塊的結(jié)構(gòu)示意圖;圖17是本申請一實施例提供的電子設(shè)備的結(jié)構(gòu)示意圖。具體實施方式為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。如圖1所示為本發(fā)明一實施例提供的一種基于二總線的數(shù)據(jù)同步方法,包括:S11:發(fā)送持續(xù)預(yù)定時長的同步信號至二總線;S12:當(dāng)在所述同步信號持續(xù)時間內(nèi)接收到自所述多個從設(shè)備中的至少一個從設(shè)備通過所述二總線發(fā)送的數(shù)據(jù)上傳請求時,生成仲裁指令并發(fā)送至所述二總線;S13:接收所述至少一個從設(shè)備響應(yīng)于在接收到所述仲裁指令之后發(fā)送至所述二總線的所述至少一個從設(shè)備的地址位;S14:根據(jù)接收到的所述至少一個從設(shè)備的地址位確定優(yōu)先級最高的從設(shè)備的設(shè)備地址;S15:根據(jù)所述設(shè)備地址讀取所述優(yōu)先級最高的從設(shè)備的數(shù)據(jù)信息。在本實施方式中,該方法可以應(yīng)用于基于二總線的數(shù)據(jù)同步系統(tǒng),所述系統(tǒng)包括主設(shè)備(主機)和多個從設(shè)備(節(jié)點),該方法可以配置在主設(shè)備(主機)中由該主設(shè)備執(zhí)行。在該系統(tǒng)中,通過兩條導(dǎo)線(即,二總線)連接主設(shè)備與多個從設(shè)備,主設(shè)備通過該兩條導(dǎo)線可以為從設(shè)備供電以及與各從設(shè)備通信,不需要再布設(shè)電源線,節(jié)省了施工和線纜成本。而且,該兩條導(dǎo)線無極性連接,可以靈活布線。通過根據(jù)接收到的地址位確定優(yōu)先級最高的從設(shè)備,減少了確定從設(shè)備優(yōu)先級的計算量,提升了系統(tǒng)的響應(yīng)效率。在本實施方式中,由主設(shè)備控制二總線上的輸出電壓,如下表1所示該二總線有三種電平信號,其中,VH>VM>VL。表1:在本實施方式中,如圖2A所示,主設(shè)備向從設(shè)備發(fā)送數(shù)據(jù)信息時,使用電平信號,其中,T1表示主設(shè)備向從設(shè)備傳輸一位數(shù)據(jù)所用的時間即,主設(shè)備向從設(shè)備傳輸數(shù)據(jù)時的波特率的倒數(shù)。在可選的實施例中,例如,VH可以是24伏,VM可以是7伏,VL可以是0伏。然而,這僅僅是一種電平信號的示例,本發(fā)明的實施例對此并不限制。在本實施方式中,對于步驟S11,由于只有當(dāng)二總線上的電壓為VM時,才允許從設(shè)備通過該二總線向主設(shè)備發(fā)送數(shù)據(jù),則主設(shè)備可以控制二總線上的電壓為VM來允許從設(shè)備向主設(shè)備發(fā)送數(shù)據(jù)。令從設(shè)備向主設(shè)備傳輸數(shù)據(jù)時的波特率為A,則每一位的傳輸時間T2=1/A,則二總線上的電壓VM至少要保持T2秒,主設(shè)備才能接收到從設(shè)備發(fā)送的一位數(shù)據(jù)。例如,令A(yù)=9600bps,則T2=104us,那么主設(shè)備可以控制二總線線上的電壓VM保持104us或者208us或者104的其他整數(shù)倍。因此,在本實施方式中,持續(xù)預(yù)定時長的同步信號為持續(xù)n1T2秒的電平為VM的負(fù)脈沖電平信號,其中,n1為大于等于1的整數(shù)。對于步驟S12,當(dāng)從設(shè)備接收到二總線上的同步信號后,若從設(shè)備需要主動上傳數(shù)據(jù)信息(例如發(fā)生故障或從故障返回時),則在同步信號持續(xù)的時間段內(nèi)通過二總線向主設(shè)備發(fā)送數(shù)據(jù)上傳請求,在可選的實施例中,如圖2B所示,從設(shè)備向主設(shè)備發(fā)送數(shù)據(jù)時,使用電流信號,例如令I(lǐng)1表示當(dāng)前從設(shè)備通過該二總線向主設(shè)備傳輸?shù)臄?shù)據(jù)位為1,I0表示當(dāng)前從設(shè)備通過該二總線向主設(shè)備傳輸?shù)臄?shù)據(jù)位為0,其中,T2表示從設(shè)備向主從設(shè)備傳輸一位數(shù)據(jù)所用的時間,即,從設(shè)備向主設(shè)備傳輸數(shù)據(jù)時的波特率的倒數(shù)。作為具體的示例,I1=0mA,I2=15mA。同步信號持續(xù)的時間為n1T1,因此,從設(shè)備可以向二總線上發(fā)送n2個位的電流信號(數(shù)據(jù)上傳請求)以表示該從設(shè)備需要主動上傳數(shù)據(jù)信息,n2≤n1。其中,向主設(shè)備發(fā)送數(shù)據(jù)上傳請求的從設(shè)備可以是一個也可以是多個,當(dāng)發(fā)送數(shù)據(jù)上傳請求的從設(shè)備是多個時,多個從設(shè)備的電流可以進行疊加,例如,當(dāng)有3個從設(shè)備向主設(shè)備發(fā)送0時(3個從設(shè)備同時上傳15mA的電流信號),則主設(shè)備接收到的電流信號為45mA。為保護線路硬件設(shè)施,從設(shè)備向主設(shè)備傳輸數(shù)據(jù)時電路有電流限制,例如預(yù)設(shè)電流限制為80mA,6個以上的從設(shè)備同時向主設(shè)備傳輸數(shù)據(jù)位0時,此時二總線上電流輸出為最大電流限制80mA。作為一個具體的示例,在數(shù)據(jù)鏈路層,主設(shè)備與從設(shè)備以字節(jié)為單位進行數(shù)據(jù)傳輸,每個字節(jié)包含:1個起始位,8個數(shù)據(jù)位,最低有效位先發(fā)送,1個校驗位,1個停止位。主設(shè)備向從設(shè)備發(fā)送數(shù)據(jù)幀(指令)的幀頭如下表2及表3所示,數(shù)據(jù)幀的數(shù)據(jù)部分如下表4所示:表2:表3:當(dāng)主設(shè)備接收到從設(shè)備發(fā)送的電流信號時,主設(shè)備在數(shù)據(jù)幀的功能碼部分寫“5”從而生成仲裁指令并發(fā)送至所述二總線。表4:Data1Data2…Data2CRC反碼Data2反碼Data2…反碼Data2反碼CRC其中,Data1~DataN(N<=63)以及反碼Data1~反碼DataN(N<=63)均為1字節(jié),CRC以及反碼CRC均為2字節(jié)。在讀時序中,Data1~DataN(N<=63)為從設(shè)備發(fā)送給主設(shè)備的數(shù)據(jù)信息;在寫時序中,Data1~DataN(N<=63)為主機發(fā)送給指定節(jié)點的寫入數(shù)據(jù),該數(shù)據(jù)緊接著寫數(shù)據(jù)幀的幀頭發(fā)送;是否開啟反碼傳輸,由幀頭的反碼控制字段決定;CRC為Data1~DataN的校驗,校驗使用CRC-16。對于步驟S13和步驟S14,當(dāng)主設(shè)備接收到從設(shè)備發(fā)送的數(shù)據(jù)上傳請求時,主設(shè)備并不知道是哪個從設(shè)備發(fā)送的請求,因此可以通過總線仲裁的方式確定從設(shè)備的設(shè)備地址。當(dāng)主設(shè)備將仲裁指令發(fā)送至二總線上時,連接在二總線上的所有從設(shè)備都可以讀取到該仲裁指令,但是,只有向主設(shè)備發(fā)送了數(shù)據(jù)上傳請求的從設(shè)備才去響應(yīng)該仲裁指令將自己的地址位發(fā)送至總線上。當(dāng)只有一個從設(shè)備發(fā)送了數(shù)據(jù)上傳請求時,則該設(shè)備發(fā)送自己的一個地址位至二總線;當(dāng)有多個從設(shè)備發(fā)送了數(shù)據(jù)上傳請求時,則該多個設(shè)備同時將自己的一個地址位發(fā)送至二總線。在應(yīng)用中,每個從設(shè)備的地址可以有多位,例如8位或16位等,在發(fā)送地址位時,可以先發(fā)送設(shè)備地址的最高有效位。當(dāng)只有一個從設(shè)備發(fā)送數(shù)據(jù)請求時,主設(shè)備根據(jù)接收到的地址位可以確定該從設(shè)備的設(shè)備地址;當(dāng)有多個從設(shè)備發(fā)送數(shù)據(jù)請求時,主設(shè)備根據(jù)接收到的地址位確定該多個從設(shè)備中優(yōu)先級最高的從設(shè)備的設(shè)備地址,例如可以是設(shè)備地址值最小的從設(shè)備。對于步驟S15,當(dāng)主設(shè)備確定了優(yōu)先級最高的從設(shè)備的設(shè)備地址之后,主設(shè)備生成讀節(jié)點數(shù)據(jù)指令并發(fā)送至二總線,該優(yōu)先級最高的從設(shè)備進行響應(yīng)將其數(shù)據(jù)信息發(fā)送至二總線。本發(fā)明實施例提供的基于二總線的數(shù)據(jù)同步方法,采用總線仲裁機制,可以使二總線上的從設(shè)備不需要等到主設(shè)備巡檢到本身就可以通過上報數(shù)據(jù)上傳請求從而主動向主設(shè)備發(fā)送數(shù)據(jù)信息,有效地降低了通信時延,從設(shè)備狀態(tài)得改變得到及時更新。如圖3所示,在本發(fā)明一實施方式提供的基于二總線的數(shù)據(jù)同步方法中,根據(jù)接收到的所述至少一個從設(shè)備的地址位確定優(yōu)先級最高的從設(shè)備的設(shè)備地址包括:S21:對接收到的地址位進行線與,并將線與結(jié)果發(fā)送至所述二總線;S22:接收所述至少一個從設(shè)備中響應(yīng)與所述線與結(jié)果的從設(shè)備反饋至所述二總線的從設(shè)備的次級地址位,所述響應(yīng)與所述線與結(jié)果的從設(shè)備至少為一個;S23:重復(fù)上述步驟,直到確定出所述優(yōu)先級最高的從設(shè)備的設(shè)備地址。在本實施方式中,在從設(shè)備主動上傳數(shù)據(jù)之前,主設(shè)備要進行總線仲裁,具體而言,當(dāng)多個從設(shè)備中有一個從設(shè)備向二總線發(fā)送數(shù)據(jù)0時,主設(shè)備接收到的數(shù)據(jù)就是0,向二總線返回的數(shù)據(jù)也是0。仲裁時,發(fā)送數(shù)據(jù)上傳請求的從設(shè)備先向主設(shè)備發(fā)送一位地址位,例如可以是設(shè)備地址的最高有效位,然后主設(shè)備把接收到的一位地址位返回至二總線,發(fā)送地址位的從設(shè)備讀取二總線上的地址位,當(dāng)讀取到的地址位與其之前發(fā)送的地址位相同時,則該從設(shè)備繼續(xù)向二總線發(fā)送次級地址位;當(dāng)讀取到的地址位與其之前發(fā)送的地址位不同時,則該從設(shè)備不再向二總線發(fā)送地址位。重復(fù)上述步驟(從設(shè)備的設(shè)備地址有N位,則重復(fù)N次),直到確定出優(yōu)先級最高的從設(shè)備的設(shè)備地址。在本實施方式中,優(yōu)先級最高的從設(shè)備為發(fā)送數(shù)據(jù)上傳請求的從設(shè)備中設(shè)備地址值最小的從設(shè)備。上述實施例中,從設(shè)備向二總線發(fā)送地址位的順序是從最高地址位到最低地址位順序發(fā)送的。從而結(jié)合主設(shè)備對接收到的地址位進行線與運算,并反饋線與結(jié)果至總線,由于線與結(jié)果必然是:當(dāng)接收的所有地址位都為1時,線與結(jié)果為1;當(dāng)接收的所有地址位中既有1,又有0時,線與結(jié)果為0;當(dāng)接收的所有地址位都為0時,線與結(jié)果為0。從而每一次反饋的線與結(jié)果都是優(yōu)先反饋小的結(jié)果,進而每一次響應(yīng)主設(shè)備反饋至二總線的線與結(jié)果的都是設(shè)備地址值較小的從設(shè)備。因此,依據(jù)上述方法最終確定的自然就是設(shè)備地址值最小的從設(shè)備,也就是優(yōu)先級最高的從設(shè)備,無需單獨通過計算比較所有從設(shè)備的地址值的大小來確定最小地址值以確定優(yōu)先級最高的從設(shè)備。此外,在上述實施例中,由于在線與并反饋線與結(jié)果的過程中,不斷的淘汰地址值較高的設(shè)備,從而也省去了不符合優(yōu)先級要求的從設(shè)備盲目上傳地址位造成的資源浪費(總線資源、主設(shè)備接收并存儲冗余地址位的存儲資源與管理資源)。繼續(xù)上述實施例,每一位地址位的仲裁過程如圖6A和6B所示,其中,每一位地址位的仲裁占用3個位的傳輸時間。作為具體的示例,每個從設(shè)備在出廠前寫入一個唯一的24位的物理地址,每個從設(shè)備的物理地址均不相同,物理地址的范圍為:000001H~FFFFFEH,在主設(shè)備與多個從設(shè)備連接至二總線時,主設(shè)備可以初始化從設(shè)備,得到各從設(shè)備的物理地址,通過各物理地址可以為各從設(shè)備分配邏輯地址。如圖4所示,主設(shè)備為從設(shè)備分配邏輯地址的過程(也可以稱之為自動編碼)可以如下:步驟S31:主設(shè)備生成自動編碼指令至二總線,其中自動編碼指令中的節(jié)點地址字段指定了允許參與分配的最小地址;步驟S32:各從設(shè)備將其物理地址的最高位發(fā)送至二總線;步驟S33:主設(shè)備將二總線上的地址位進行線與,并將線與結(jié)果返回至二總線;步驟S34:只有接收到的物理地址的最高位與發(fā)送的物理地址的最高位相同的從設(shè)備繼續(xù)將次級地址位發(fā)送至二總線;步驟S35:重復(fù)上述步驟S33-S34,直至24位物理地址發(fā)送完,主設(shè)備得到一個從設(shè)備的物理地址,根據(jù)該物理地址為該從設(shè)備分配一個邏輯地址。然后繼續(xù)步驟S31-35,其中,已經(jīng)分配到邏輯地址的從設(shè)備不再響應(yīng)主設(shè)備的自動編碼指令。當(dāng)主設(shè)備得到的地址為0xFFFFFF時,邏輯地址分配完畢。在本實施方式中,每個從設(shè)備有一個24位的物理地址,24位有1600萬個地址,地址范圍為000001H~FFFFFEH,可以保證在同一個網(wǎng)絡(luò)內(nèi)各從設(shè)備的物理地址唯一。進一步,主設(shè)備可以通過物理地址讀取從設(shè)備的屬性,若該從設(shè)備為中繼節(jié)點,則向該從設(shè)備發(fā)送自動編碼指令,為子節(jié)點分配邏輯地址(中繼節(jié)點不占用邏輯地址,所以不為中繼節(jié)點分配邏輯地址);若該從設(shè)備不是中繼節(jié)點,則可以為該從設(shè)備分配邏輯地址。在可選的實施例中,每個主設(shè)備最多可以連接254個從設(shè)備,則邏輯地址可以是8位,范圍為01H~FEH。因此,在步驟S13中,從設(shè)備向主設(shè)備傳輸?shù)牡刂肺豢梢允俏锢淼刂肺?,也可以是邏輯地址位,?yōu)選為邏輯地址位,這樣可以縮短傳輸?shù)刂氛加玫臅r間,提高通信效率。作為具體的示例,如表5及圖5所示,假設(shè)有3個從設(shè)備在同步信號持續(xù)的時間內(nèi)向主設(shè)備發(fā)送了數(shù)據(jù)上傳請求,其邏輯地址如下表所示,最高有效位為第7位:表5:由表5可知,從設(shè)備A、B、C的邏輯地址的第7位、第6位和第5位相同,在仲裁第4位地址位時,由于從設(shè)備A和C上傳的是0,則主設(shè)備接收到的地址位為0,主設(shè)備將0返回至二總線,由于從設(shè)備B上傳的地址位與接收到的地址位不同,那么從設(shè)備B退出后續(xù)地址位的仲裁;在仲裁第3位地址位時,由于從設(shè)備C上傳的是0,則主設(shè)備返回的地址位為0,那么從設(shè)備A退出后續(xù)地址位的仲裁。從設(shè)備C繼續(xù)上傳后續(xù)的地址位直至第0位。至此,主設(shè)備可以確定優(yōu)先級最高的從設(shè)備的邏輯地址,即邏輯地址值最小的從設(shè)備的邏輯地址。在可選的實施例中,在步驟S11發(fā)送持續(xù)預(yù)定時長的同步信號至二總線包括:當(dāng)所述二總線處于空閑狀態(tài)時按照預(yù)定周期發(fā)送所述同步信號至所述二總線;和/或在所述主設(shè)備發(fā)送讀從設(shè)備數(shù)據(jù)指令之后,并且在所述主設(shè)備開始讀所述從設(shè)備發(fā)送至所述二總線的數(shù)據(jù)信息之前,發(fā)送所述同步信號至所述二總線。如圖7所示,當(dāng)主設(shè)備與從設(shè)備之間沒有通信時(二總線處于空閑狀態(tài)),主設(shè)備可以周期性的發(fā)送同步信號至二總線,使得主設(shè)備既可以向從設(shè)備供電,又可以及時檢測從設(shè)備是否有數(shù)據(jù)要上傳。由于主設(shè)備周期性(例如周期為T)的發(fā)送同步信號,則主設(shè)備向從設(shè)備發(fā)送數(shù)據(jù)時的波特率應(yīng)為從設(shè)備向主設(shè)備發(fā)送數(shù)據(jù)時的波特率的T倍,例如,令從設(shè)備向主設(shè)備發(fā)送數(shù)據(jù)時的波特率為9600bps,T=4ms,則主設(shè)備向從設(shè)備發(fā)送數(shù)據(jù)時的波特率為2400bps。如圖8所示為主設(shè)備向從設(shè)備發(fā)送數(shù)據(jù)時的時序圖,其中,同步信號每5ms發(fā)送一次。如圖9所示為從設(shè)備向主設(shè)備發(fā)送數(shù)據(jù)信息的時序圖,其中,在從設(shè)備向主設(shè)備傳輸數(shù)據(jù)時,主設(shè)備是二總線保持為VM直至數(shù)據(jù)傳輸結(jié)束,數(shù)據(jù)傳輸結(jié)束之后,主設(shè)備控制二總線電壓為VH以向從設(shè)備供電。主設(shè)備向從設(shè)備供電的時間約為3/4。繼續(xù)上述實施例,當(dāng)有多個從設(shè)備在同步信號持續(xù)的時間內(nèi)發(fā)送了數(shù)據(jù)上傳請求時,在步驟S15中,主設(shè)備只讀取了優(yōu)先級最高的從設(shè)備的數(shù)據(jù)信息。在本實施方式中,在主設(shè)備發(fā)送讀該優(yōu)先級最高的從設(shè)備數(shù)據(jù)指令之后,并且在主設(shè)備開始讀所述從設(shè)備發(fā)送至所述二總線的數(shù)據(jù)信息之前,該主設(shè)備可以再次發(fā)送同步信號以檢測是否還有從設(shè)備要主動上傳數(shù)據(jù),若接收到其他從設(shè)備上傳的數(shù)據(jù)上傳請求,主設(shè)備可以在讀取了優(yōu)先級最高的從設(shè)備的數(shù)據(jù)信息之后再次發(fā)送仲裁指令以使其他從設(shè)備的數(shù)據(jù)信息得到及時更新。參考圖9和圖10所示,在主設(shè)備發(fā)送讀從設(shè)備n的指令之后,主設(shè)備發(fā)送同步信號(第一次同步信號,該同步信號為主設(shè)備發(fā)送讀從設(shè)備指令之后的持續(xù)2T2的7v的電平信號,在該2T2內(nèi)只允許從設(shè)備發(fā)送數(shù)據(jù)上傳請求,不允許從設(shè)備向主設(shè)備發(fā)送數(shù)據(jù)),在該同步信號持續(xù)的時間內(nèi),主設(shè)備接收到從設(shè)備m發(fā)送的數(shù)據(jù)上傳請求,之后,主設(shè)備發(fā)送同步信號,在該同步信號持續(xù)的時間內(nèi)(第二次同步信號,該同步信號為在第一次同步信號之后又過了(4ms-2T2)的24v電平之后的持續(xù)2T2的7v的電平信號),主設(shè)備接收到從設(shè)備n上傳的起始位,則主設(shè)備控制二總線的電平保持在7V直至接受完從設(shè)備n上傳的數(shù)據(jù)(該數(shù)據(jù)為一個字節(jié));然后,在主設(shè)備讀取從設(shè)備n的數(shù)據(jù)之后,主設(shè)備發(fā)送地址仲裁指令,從設(shè)備m響應(yīng)該地址仲裁指令,地址仲裁結(jié)束之后主設(shè)備獲得從設(shè)備m的邏輯地址并發(fā)送讀取從設(shè)備m的指令;在主設(shè)備發(fā)送讀從設(shè)備m的指令之后,發(fā)送同步信號(第一次同步信號),在該同步信號持續(xù)的時間內(nèi),未收到從設(shè)備的數(shù)據(jù)上傳請求,在第二次同步信號持續(xù)的時間內(nèi),主設(shè)備接收到從設(shè)備m上傳的起始位,則主設(shè)備控制二總線的電平保持在7V直至接受完從設(shè)備m上傳的數(shù)據(jù)(該數(shù)據(jù)為一個字節(jié))。在可選的實施方式中,可以將主設(shè)備控制所述同步信號持續(xù)的時間n1T2分為第一時間段和第二時間段,其中第一時間段和第二時間段均為T2的整數(shù)倍。在所述同步信號持續(xù)的第一時間段內(nèi),主設(shè)備可以檢測二總線是否短路,當(dāng)檢測到所述二總線短路時,將所述二總線電壓置零;在所述同步信號持續(xù)的第二時間段內(nèi),檢測從設(shè)備是否有數(shù)據(jù)上傳,即是否收到從設(shè)備發(fā)送的數(shù)據(jù)上傳請求。例如,在圖10中,同步信號持續(xù)的時間為208us,將其分為前104us和后104us,前104us內(nèi)主設(shè)備可以檢測二總線是否短路;在后104us內(nèi)檢測從設(shè)備是否有數(shù)據(jù)上傳。本發(fā)明實施例提供的方法可以在二總線發(fā)生短路時進入總線短路保護狀態(tài),可以及時的反應(yīng)故障,以便快速解決線路問題,避免因故障沒有及時維護而造成損失。在本發(fā)明實施例中,如表4所示的在主設(shè)備向從設(shè)備發(fā)送數(shù)據(jù)的功能碼字段包括向從設(shè)備寫數(shù)據(jù)的三種方式:單播、組播及廣播,其中單播的時序圖如圖11所示,組播的時序圖如圖12所示,廣播的時序圖如圖13所示。在寫從設(shè)備數(shù)據(jù)單播時,主設(shè)備每次向一個從設(shè)備寫數(shù)據(jù),指定設(shè)備地址的從設(shè)備將接收到數(shù)據(jù)寫入相應(yīng)該設(shè)備的存儲裝置中并進行響應(yīng);在寫從設(shè)備數(shù)據(jù)組播時,從設(shè)備收到組播指令后,若指令中的設(shè)備地址與該從設(shè)備的設(shè)備地址相同,則把接收到的數(shù)據(jù)寫入該從設(shè)備的存儲裝置中并進行響應(yīng),在發(fā)送所有要寫入的從設(shè)備后,發(fā)送一個0xFF作為一次組播的結(jié)束;在寫從設(shè)備廣播時,從設(shè)備收到廣播指令后,將接收到的數(shù)據(jù)寫入其存儲裝置中。如圖14所示為本發(fā)明實施例提供的一種基于二總線的數(shù)據(jù)同步系統(tǒng)的框圖,該系統(tǒng)包括:同步信號發(fā)送程序模塊110,用于發(fā)送持續(xù)預(yù)定時長的同步信號至二總線;仲裁指令生成程序模塊120,用于當(dāng)在所述同步信號持續(xù)時間內(nèi)接收到自所述多個從設(shè)備中的至少一個從設(shè)備通過所述二總線發(fā)送的數(shù)據(jù)上傳請求時,生成仲裁指令并發(fā)送至所述二總線;地址位接收程序模塊130,用于接收所述至少一個從設(shè)備響應(yīng)于在接收到所述仲裁指令之后發(fā)送至所述二總線的所述至少一個從設(shè)備的地址位;設(shè)備地址確定程序模塊140,用于根據(jù)接收到的所述至少一個從設(shè)備的地址位確定優(yōu)先級最高的從設(shè)備的設(shè)備地址;數(shù)據(jù)信息讀取程序模塊150,用于根據(jù)所述設(shè)備地址讀取所述優(yōu)先級最高的從設(shè)備的數(shù)據(jù)信息。在一些可選的實施例中,如圖15所示,所述設(shè)備地址確定程序模塊140包括:地址位線與結(jié)果確定程序單元1410,用于對接收到的地址位進行線與,并將線與結(jié)果發(fā)送至所述二總線;次級地址位接收程序單元1420,用于接收所述至少一個從設(shè)備中響應(yīng)與所述線與結(jié)果的從設(shè)備反饋至所述二總線的從設(shè)備的次級地址位,所述響應(yīng)與所述線與結(jié)果的從設(shè)備至少為一個;功能調(diào)用程序單元1430,用于循環(huán)調(diào)用所述地址位線與結(jié)果確定程序單元和次級地址位接收單元,直到確定出所述優(yōu)先級最高的從設(shè)備的設(shè)備地址。在一些可選的實施例中,如圖16所示,所述同步信號發(fā)送程序模塊120包括:第一同步信號發(fā)送程序單元1210,用于當(dāng)所述總線處于空閑狀態(tài)時按照預(yù)定周期發(fā)送所述同步信號至所述二總線;和/或第二同步信號發(fā)送程序單元1220,用于在所述主設(shè)備發(fā)送讀從設(shè)備數(shù)據(jù)指令之后,并且在所述主設(shè)備開始讀所述從設(shè)備發(fā)送至所述二總線的數(shù)據(jù)信息之前,發(fā)送所述同步信號至所述二總線。在一些可選的實施例中,所述系統(tǒng)還包括短路保護模塊,用于在所述同步信號持續(xù)時間內(nèi),當(dāng)檢測到所述二總線短路時,將所述二總線電壓置零。在一些可選的實施例中,所述地址位為所述從設(shè)備的物理地址位或者邏輯地址位。上述本發(fā)明實施例的基于二總線的數(shù)據(jù)同步系統(tǒng)可用于執(zhí)行本發(fā)明實施例的基于二總線的數(shù)據(jù)同步方法,并相應(yīng)的達(dá)到上述本發(fā)明實施例的數(shù)據(jù)同步方法所達(dá)到的技術(shù)效果,這里不再贅述。另一方面,本發(fā)明實施例提供一種非易失性計算機可讀存儲介質(zhì),所述存儲介質(zhì)中存儲有一個或多個包括執(zhí)行指令的程序,所述執(zhí)行指令能夠被電子設(shè)備(包括但不限于計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)讀取并執(zhí)行,以用于執(zhí)行上述方法實施例中的相關(guān)步驟,例如:發(fā)送持續(xù)預(yù)定時長的同步信號至二總線;當(dāng)在所述同步信號持續(xù)時間內(nèi)接收到自所述多個從設(shè)備中的至少一個從設(shè)備通過所述二總線發(fā)送的數(shù)據(jù)上傳請求時,生成仲裁指令并發(fā)送至所述二總線;接收所述至少一個從設(shè)備響應(yīng)于在接收到所述仲裁指令之后發(fā)送至所述二總線的所述至少一個從設(shè)備的地址位;根據(jù)接收到的所述至少一個從設(shè)備的地址位確定優(yōu)先級最高的從設(shè)備的設(shè)備地址;根據(jù)所述設(shè)備地址讀取所述優(yōu)先級最高的從設(shè)備的數(shù)據(jù)信息。本發(fā)明實施例還提供一種計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括存儲在非易失性計算機可讀存儲介質(zhì)上的計算程序,所述計算機程序包括程序指令,當(dāng)所述程序指令被計算機執(zhí)行時,使所述計算機執(zhí)行上述任一項方法實施例提供的基于二總線的數(shù)據(jù)同步方法。圖17是本申請另一實施例提供的執(zhí)行基于二總線的數(shù)據(jù)同步方法的電子設(shè)備的硬件結(jié)構(gòu)示意圖,如圖17所示,該設(shè)備包括:一個或多個處理器310以及存儲器320,圖17中以一個處理器310為例。執(zhí)行數(shù)據(jù)同步方法的設(shè)備還可以包括:輸入裝置330和輸出裝置340。處理器310、存儲器320、輸入裝置330和輸出裝置340可以通過總線或者其他方式連接,圖17中以通過總線連接為例。存儲器320作為一種非易失性計算機可讀存儲介質(zhì),可用于存儲非易失性軟件程序、非易失性計算機可執(zhí)行程序以及模塊,如本申請實施例中的數(shù)據(jù)同步方法對應(yīng)的程序指令/模塊。處理器310通過運行存儲在存儲器320中的非易失性軟件程序、指令以及模塊,從而執(zhí)行服務(wù)器的各種功能應(yīng)用以及數(shù)據(jù)處理,即實現(xiàn)上述方法實施例的數(shù)據(jù)同步方法。存儲器320可以包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需要的應(yīng)用程序;存儲數(shù)據(jù)區(qū)可存儲根據(jù)數(shù)據(jù)同步裝置的使用所創(chuàng)建的數(shù)據(jù)等。此外,存儲器320可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他非易失性固態(tài)存儲器件。在一些實施例中,存儲器320可選包括相對于處理器310遠(yuǎn)程設(shè)置的存儲器,這些遠(yuǎn)程存儲器可以通過網(wǎng)絡(luò)連接至數(shù)據(jù)同步裝置。上述網(wǎng)絡(luò)的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動通信網(wǎng)及其組合。輸入裝置330可接收輸入的數(shù)字或字符信息,以及產(chǎn)生與數(shù)據(jù)同步裝置的用戶設(shè)置以及功能控制有關(guān)的鍵信號輸入。輸出裝置340可包括顯示屏等顯示設(shè)備。所述一個或者多個模塊存儲在所述存儲器320中,當(dāng)被所述一個或者多個處理器310執(zhí)行時,執(zhí)行上述任意方法實施例中的數(shù)據(jù)同步方法。上述產(chǎn)品可執(zhí)行本申請實施例所提供的方法,具備執(zhí)行方法相應(yīng)的功能模塊和有益效果。未在本實施例中詳盡描述的技術(shù)細(xì)節(jié),可參見本申請實施例所提供的方法。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在計算機可讀存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。當(dāng)前第1頁1 2 3