本發(fā)明涉及一種數(shù)據(jù)采集方法,特別是一種基于CAN總線的獨(dú)占式數(shù)據(jù)采集方法。
背景技術(shù):
在眾多現(xiàn)場總線中,CAN總線由于具有突出的可靠性、實(shí)時(shí)性和靈活性等優(yōu)點(diǎn)越來越受到人們的青睞,相應(yīng)地,基于CAN總線的產(chǎn)品需求市場正在日益擴(kuò)大,應(yīng)用也越來越廣泛。
數(shù)據(jù)采集是利用一種裝置從系統(tǒng)外部采集數(shù)據(jù)并輸入到系統(tǒng)內(nèi)部的一種接口技術(shù),每間隔一定時(shí)間(稱采樣周期)對同一點(diǎn)數(shù)據(jù)重復(fù)采集,廣泛應(yīng)用在各個(gè)領(lǐng)域。隨著互聯(lián)網(wǎng)行業(yè)的快速發(fā)展,數(shù)據(jù)采集已經(jīng)被廣泛應(yīng)用于互聯(lián)網(wǎng)及分布式領(lǐng)域,將數(shù)據(jù)采集帶入了一個(gè)全新的時(shí)代。
周期性的數(shù)據(jù)采集采用客戶機(jī)/服務(wù)器的工作架構(gòu),數(shù)據(jù)匯總端作為客戶機(jī),采集終端作為服務(wù)器,當(dāng)數(shù)據(jù)匯總端需要采集數(shù)據(jù)時(shí),向采集終端發(fā)送命令請求,采集終端響應(yīng)命令請求,返回要采集的數(shù)據(jù)。按照此通信流程,在一個(gè)采樣周期內(nèi),完成對其他剩余的采集終端的數(shù)據(jù)采集。其缺陷是:在一個(gè)采樣周期內(nèi),數(shù)據(jù)中心發(fā)出多次同樣的命令請求,在CAN總線上,同一個(gè)采集終端會收到多次同樣的命令請求,加上命令處理時(shí)間,極大地浪費(fèi)了通信帶寬。另外,采集終端需要發(fā)送緊急數(shù)據(jù)時(shí),數(shù)據(jù)中心的實(shí)時(shí)響應(yīng)時(shí)間不確定。最好的響應(yīng)情況是在查詢指定采集終端時(shí),該終端正好需要發(fā)送緊急數(shù)據(jù);最差的響應(yīng)情況是在查詢第一個(gè)采集終端時(shí),最后一個(gè)采集終端需要發(fā)送緊急數(shù)據(jù)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是針對現(xiàn)有技術(shù)的不足,提供一種實(shí)時(shí)、高效的基于CAN總線的獨(dú)占式數(shù)據(jù)采集方法。
本發(fā)明所要解決的技術(shù)問題是通過以下的技術(shù)方案來實(shí)現(xiàn)的。本發(fā)明是一種基于CAN總線的獨(dú)占式數(shù)據(jù)采集方法,其特點(diǎn)是:
該方法是基于CAN總線多終端的獨(dú)占式數(shù)據(jù)采集方法,實(shí)現(xiàn)一套“數(shù)據(jù)匯總端”和N套“采集終端”之間的數(shù)據(jù)通信,N為正整數(shù);所述的“數(shù)據(jù)匯總端”和“采集終端”是具有CAN硬件接口且能執(zhí)行程序代碼特征的智能設(shè)備;N套“采集終端”之間通過一根CAN總線電纜,采用手拉手的方式并聯(lián)CAN總線上,最終連接于“數(shù)據(jù)匯總端”;
該數(shù)據(jù)采集方法包括:獨(dú)占式“一對一”通信;在CAN總線上,“數(shù)據(jù)匯總端”向具有指定標(biāo)識符值的“采集終端”發(fā)起命令請求,僅該“采集終端”響應(yīng)命令請求,并返回響應(yīng)數(shù)據(jù);
獨(dú)占式“一對多”輪詢通信;通過配置“父親終端”,“數(shù)據(jù)匯總端”只需發(fā)送一次命令請求就可以完成一個(gè)周期的數(shù)據(jù)采集過程;
緊急通信;設(shè)計(jì)了“緊急位”和“命令碼”兩種標(biāo)志位的相互配合方法,通過在不同情況下調(diào)整報(bào)文的優(yōu)先級,保證緊急數(shù)據(jù)的實(shí)時(shí)發(fā)送及響應(yīng)。
本發(fā)明所述的一種基于CAN總線的獨(dú)占式數(shù)據(jù)采集方法,其進(jìn)一步優(yōu)選的技術(shù)方案是:所述的智能設(shè)備為PC計(jì)算機(jī)。
本發(fā)明所述的一種基于CAN總線的獨(dú)占式數(shù)據(jù)采集方法,其進(jìn)一步優(yōu)選的技術(shù)方案是:該方法支持CAN 2.0A或CAN2.0B協(xié)議的CAN硬件;使用了M位標(biāo)識符,Y≥M≥3,對于CAN 2.0A硬件,Y等于11,對于CAN 2.0B硬件,Y等于29;標(biāo)識符保存于CAN報(bào)文的標(biāo)識符域。
本發(fā)明所述的一種基于CAN總線的獨(dú)占式數(shù)據(jù)采集方法,其進(jìn)一步優(yōu)選的技術(shù)方案是:“數(shù)據(jù)匯總端”和“采集終端” 的標(biāo)識符采用不同數(shù)值,并且“數(shù)據(jù)匯總端”標(biāo)識符的數(shù)值最??;定義標(biāo)識符的最低一位為緊急位,默認(rèn)為“1” 表示正常狀態(tài)通信,“0”表示緊急數(shù)據(jù)通信;使用標(biāo)識符的bit(M-2)|bit(M-1)兩位作為命令碼;bit0表示標(biāo)識符的最低位,bit(M-1)表示標(biāo)識符的最高位。
本發(fā)明所述的一種基于CAN總線的獨(dú)占式數(shù)據(jù)采集方法,其進(jìn)一步優(yōu)選的技術(shù)方案是:在“數(shù)據(jù)匯總端” 中采用以下方法定義命令碼:
(1)“11b”表示數(shù)據(jù)匯總端發(fā)出數(shù)據(jù)輪詢命令,請求從指定第x個(gè)采集終端開始,依次返回各個(gè)終端采集數(shù)據(jù),x為該采集終端的標(biāo)識符,x保存在CAN報(bào)文的數(shù)據(jù)域中;
(2)“10b”表示數(shù)據(jù)匯總端向第x個(gè)采集終端發(fā)出特定命令請求,x為該采集終端的標(biāo)識符,x與特定命令請求保存在CAN報(bào)文的數(shù)據(jù)域中;
在“采集終端”中采用以下方法定義命令碼:
A、“11b”和“10b”表示“采集終端”響應(yīng)“數(shù)據(jù)匯總端”發(fā)出的“11b”數(shù)據(jù)輪詢命令請求;其中“10b”表示當(dāng)前的數(shù)據(jù)發(fā)送還沒有結(jié)束;“11b”表示當(dāng)前的數(shù)據(jù)發(fā)送已經(jīng)結(jié)束;
B、在緊急位為“1”時(shí),“00b”和“01b”表示“采集終端”響應(yīng)“數(shù)據(jù)匯總端”發(fā)出的“10b” 特定命令請求;其中“00b”表示當(dāng)前的數(shù)據(jù)發(fā)送還沒有結(jié)束;“01b”表示當(dāng)前的數(shù)據(jù)發(fā)送已經(jīng)結(jié)束;
(3)在緊急位為“0”時(shí),“00b”和“01b”表示“采集終端”向“數(shù)據(jù)匯總端”發(fā)出緊急命令請求;其中“00b”表示當(dāng)前的數(shù)據(jù)發(fā)送還沒有結(jié)束;“01b”表示當(dāng)前的數(shù)據(jù)發(fā)送已經(jīng)結(jié)束。
本發(fā)明所述的一種基于CAN總線的獨(dú)占式數(shù)據(jù)采集方法,其進(jìn)一步優(yōu)選的技術(shù)方案是:該方法采用獨(dú)占式一對一通信,即數(shù)據(jù)匯總端向具有指定標(biāo)識符值的采集終端發(fā)起命令請求,僅該采集終端響應(yīng)命令請求,并返回響應(yīng)數(shù)據(jù);配置父親終端過程屬于一對一通信,數(shù)據(jù)匯總端向指定采集終端發(fā)出“10b”命令請求包,命令請求包的數(shù)據(jù)域里含有標(biāo)識符值,命令請求具有該標(biāo)識符值的采集終端配置成該終端的父親終端,該終端接收到命令請求后,進(jìn)行響應(yīng)配置,配置結(jié)果報(bào)告給數(shù)據(jù)匯總端;配置父親終端實(shí)現(xiàn)了讓該采集終端可以接收來自父親終端的CAN報(bào)文,用于獨(dú)占式一對多輪詢通信。
本發(fā)明所述的一種基于CAN總線的獨(dú)占式數(shù)據(jù)采集方法,其進(jìn)一步優(yōu)選的技術(shù)方案是:該方法采用獨(dú)占式“一對多”輪詢通信:“數(shù)據(jù)匯總端”向多個(gè)“采集終端”發(fā)起查詢請求,要求它們把各自的采集數(shù)據(jù)返回給“數(shù)據(jù)匯總端”,“一對多”通信是周期性的數(shù)據(jù)通信過程;在一個(gè)“一對多”通信周期里,“數(shù)據(jù)匯總端”只需發(fā)送一次命令請求,多個(gè)“采集終端”依次響應(yīng),返回本終端的采集數(shù)據(jù);
(1) “數(shù)據(jù)匯總端”向CAN總線上發(fā)出“11b”命令請求,報(bào)文的數(shù)據(jù)域里包含“采集終端1#”的標(biāo)識符值,要求“采集終端1#”返回它的采集數(shù)據(jù);
(2) 在CAN總線上的所有“采集終端”都可以接收“數(shù)據(jù)匯總端”的“11b”命令請求報(bào)文,通過判斷報(bào)文數(shù)據(jù)域的標(biāo)識符值,“采集終端1#”滿足要求,它響應(yīng)命令請求,向“數(shù)據(jù)匯總端”返回采集數(shù)據(jù),其他的“采集終端”忽略該命令報(bào)文;
(3) “采集終端1#”是“采集終端2#”的“父親終端”,“采集終端2#”會同時(shí)接收到“采集終端1#”的響應(yīng)報(bào)文,“采集終端1#”判斷報(bào)文中標(biāo)識符的緊急位是否“0”,如果是“0”,則忽略該報(bào)文;如是“1”,則再通過識別響應(yīng)報(bào)文中標(biāo)識符的“命令碼”進(jìn)行如下處理:
(i)“命令碼”為非“11b”時(shí),“采集終端2#”忽略該報(bào)文,不做處理;
(ii)“命令碼”為“11b”時(shí),“采集終端2#” 向“數(shù)據(jù)匯總端”返回自身采集數(shù)據(jù);
而其他的“采集終端”則直接忽略“采集終端1#”的響應(yīng)報(bào)文,不做處理;
(4)“采集終端2#”是“采集終端3#”的“父親終端”,“采集終端3#”會同時(shí)接收到“采集終端2#”的響應(yīng)報(bào)文,“采集終端2#”判斷報(bào)文中標(biāo)識符的緊急位是否“0””,如果是“0”,則忽略該報(bào)文;如是“1”,則再通過識別響應(yīng)報(bào)文中標(biāo)識符的“命令碼”進(jìn)行如下處理:
(i)“命令碼”為非“11b”時(shí),“采集終端2#”忽略該報(bào)文,不做處理;
(ii)“命令碼”為“11b”時(shí),“采集終端2#” 向“數(shù)據(jù)匯總端”返回自身采集數(shù)據(jù);
而其他的“采集終端”則直接忽略“采集終端2#”的響應(yīng)報(bào)文,不做處理;
(5) 以此類推,最后一個(gè)“采集終端N#” 向“數(shù)據(jù)匯總端”返回采集數(shù)據(jù),完成了一個(gè)周期的數(shù)據(jù)采集過程。
本發(fā)明所述的一種基于CAN總線的獨(dú)占式數(shù)據(jù)采集方法,其進(jìn)一步優(yōu)選的技術(shù)方案是:該方法的“緊急通信”是“采集終端”主動向“數(shù)據(jù)匯總端”發(fā)送數(shù)據(jù);“采集終端a”需要緊急通信時(shí),把標(biāo)識符的“緊急位”置為“0”,相比較輪詢通信的優(yōu)先級,“采集終端a”具有更高優(yōu)先級,因此將會打斷周期性的輪詢通信過程,保證緊急數(shù)據(jù)優(yōu)先傳遞給“數(shù)據(jù)匯總端”;“數(shù)據(jù)匯總端”在接收到緊急報(bào)文后,把自身標(biāo)識符的“緊急位”置為“0”,此時(shí)“數(shù)據(jù)匯總端”的報(bào)文將具有最高優(yōu)先級,當(dāng)CAN總線上還有其他“采集終端”的緊急數(shù)據(jù)將要發(fā)送,將會被打斷發(fā)送過程,等把響應(yīng)報(bào)文最先發(fā)送給“采集終端a”后,被打斷的“采集終端”才能繼續(xù)發(fā)送數(shù)據(jù);
以此類推,完成其他終端的緊急通信過程。
當(dāng)在極端情況下,有多個(gè)“采集終端”同時(shí)發(fā)生異常,向“數(shù)據(jù)匯總端”發(fā)送緊急報(bào)文,此時(shí)CAN總線會進(jìn)入仲裁機(jī)制,按照優(yōu)先級的高低依次發(fā)送數(shù)據(jù);“數(shù)據(jù)匯總端”在接收到緊急報(bào)文后,把自身標(biāo)識符的“緊急位”置為“0”,此時(shí)“數(shù)據(jù)匯總端”的報(bào)文將具有最高優(yōu)先級,按照接收緊急報(bào)文的順序依次把響應(yīng)報(bào)文發(fā)送給對應(yīng)的“采集終端”,最后完成全部“采集終端”的緊急通信。
與現(xiàn)有技術(shù)相比,本發(fā)明及進(jìn)一步設(shè)計(jì)的本發(fā)明具有以下顯著優(yōu)點(diǎn):
1、“數(shù)據(jù)匯總端”和“采集終端”優(yōu)選PC機(jī)但不局限于PC機(jī),具有所述的CAN硬件接口且能執(zhí)行程序代碼特征的智能設(shè)備都滿足技術(shù)要求,應(yīng)用范圍廣。
2、可以支持更多數(shù)量的“采集終端”,性能提升數(shù)十倍,且“采集終端”數(shù)量越多,采用本發(fā)明的技術(shù)效果越明顯。
3、對緊急數(shù)據(jù)的實(shí)時(shí)響應(yīng)能力強(qiáng),采用本發(fā)明技術(shù),“采集終端”不需要等待就可以直接發(fā)出緊急數(shù)據(jù)要求處理。即使在極端情況下,有m個(gè)“采集終端”同時(shí)要求發(fā)送緊急數(shù)據(jù),最低優(yōu)先級的“采集終端”最長需要等待(m-1)×0.4ms的時(shí)間(以250kb/s的速率計(jì)算)。
附圖說明
圖1為本發(fā)明一種基于CAN總線的獨(dú)占式數(shù)據(jù)采集方法的數(shù)據(jù)采集方式分類;
圖2為本發(fā)明的一種硬件結(jié)構(gòu)圖;
圖3為CAN報(bào)文的標(biāo)識符定義圖;
圖4為獨(dú)占式“一對多”輪詢通信的通信過程圖;
圖5為對應(yīng)于緊急通信的多“采集終端”不同時(shí)發(fā)起緊急通信的通信過程圖;
圖6為對應(yīng)于緊急通信的多“采集終端”同時(shí)發(fā)起緊急通信的通信過程圖。
具體實(shí)施方式
以下參照附圖,進(jìn)一步描述本發(fā)明的具體技術(shù)方案,以便于本領(lǐng)域的技術(shù)人員進(jìn)一步地理解本發(fā)明,而不構(gòu)成對其權(quán)利的限制。
參照圖1,一種基于CAN總線的獨(dú)占式數(shù)據(jù)采集方法,該方法是基于CAN總線多終端的獨(dú)占式數(shù)據(jù)采集方法,實(shí)現(xiàn)一套“數(shù)據(jù)匯總端”和N套“采集終端”之間的數(shù)據(jù)通信,N為正整數(shù);所述的“數(shù)據(jù)匯總端”和“采集終端”是具有CAN硬件接口且能執(zhí)行程序代碼特征的智能設(shè)備;N套“采集終端”之間通過一根CAN總線電纜,采用手拉手的方式并聯(lián)CAN總線上,最終連接于“數(shù)據(jù)匯總端”。
該方法包括:
獨(dú)占式“一對一”通信,在CAN總線上,“數(shù)據(jù)匯總端”向具有指定標(biāo)識符值的“采集終端”發(fā)起命令請求,僅該“采集終端”響應(yīng)命令請求,并返回響應(yīng)數(shù)據(jù);
獨(dú)占式“一對多”輪詢通信,通過配置“父親終端”,“數(shù)據(jù)匯總端”只需發(fā)送一次命令請求就可以完成一個(gè)周期的數(shù)據(jù)采集過程;
緊急通信,設(shè)計(jì)了“緊急位”和“命令碼”兩種標(biāo)志位的相互配合方法,通過在不同情況下調(diào)整報(bào)文的優(yōu)先級,保證緊急數(shù)據(jù)的實(shí)時(shí)發(fā)送及響應(yīng)。
參照圖2,一種基于CAN總線的獨(dú)占式數(shù)據(jù)采集方法:支持CAN 2.0A或CAN 2.0B協(xié)議的CAN硬件。整體硬件結(jié)構(gòu)包括:CAN總線、N個(gè)“采集終端”和一個(gè)數(shù)據(jù)匯總端,且都應(yīng)支持CAN 2.0A或CAN 2.0B協(xié)議。
參照圖3,使用M位標(biāo)識符(Y≥M≥3),對于CAN 2.0A硬件,Y等于11,對于CAN 2.0B硬件,Y等于29。標(biāo)識符保存于CAN報(bào)文的標(biāo)識符域。
標(biāo)識符的最低一位bit0為緊急位,默認(rèn)值為“1”,表示正常狀態(tài)通信,值“0”表示緊急數(shù)據(jù)通信;標(biāo)識符的最高一位為bit(M-1),使用標(biāo)識符的最低兩位bit(M-2)| bit(M-1)作為命令碼。
“數(shù)據(jù)匯總端”和“采集終端”的標(biāo)識符采用不同數(shù)值,并且“數(shù)據(jù)匯總端”標(biāo)識符的數(shù)值最小。報(bào)文的優(yōu)先級由標(biāo)識符值決定,標(biāo)識符值越小,優(yōu)先級越高,具有優(yōu)先使用CAN總線的權(quán)利。
依據(jù)此原理設(shè)計(jì)了“緊急位”和“命令碼”標(biāo)志位的相互配合方法。以下是對命令碼的使用定義:
(1)在“數(shù)據(jù)匯總端”中使用命令碼的定義:
“11b”表示“數(shù)據(jù)匯總端”發(fā)出數(shù)據(jù)輪詢命令,請求從指定第x個(gè)“采集終端”開始,依次返回各個(gè)終端采集數(shù)據(jù),x為該“采集終端”的標(biāo)識符,x保存在CAN報(bào)文的數(shù)據(jù)域中。
“10b”表示“數(shù)據(jù)匯總端”向第x個(gè)“采集終端”發(fā)出特定命令請求,x為該“采集終端”的標(biāo)識符,x與特定命令請求保存在CAN報(bào)文的數(shù)據(jù)域中。
(2)在“采集終端”中使用命令碼的定義:
“11b”和“10b”表示“采集終端”響應(yīng)“數(shù)據(jù)匯總端”發(fā)出的“11b”數(shù)據(jù)輪詢命令請求。其中“10b”表示當(dāng)前的數(shù)據(jù)發(fā)送還沒有結(jié)束;“11b”表示當(dāng)前的數(shù)據(jù)發(fā)送已經(jīng)結(jié)束。
在緊急位為“1”時(shí),“00b”和“01b”表示“采集終端”響應(yīng)“數(shù)據(jù)匯總端”發(fā)出的“10b”特定命令請求。其中“00b”表示當(dāng)前的數(shù)據(jù)發(fā)送還沒有結(jié)束;“01b”表示當(dāng)前的數(shù)據(jù)發(fā)送已經(jīng)結(jié)束。
在緊急位為“0”時(shí),“00b”和“01b”表示“采集終端”向“數(shù)據(jù)匯總端”發(fā)出緊急命令請求。其中“00b”表示當(dāng)前的數(shù)據(jù)發(fā)送還沒有結(jié)束;“01b”表示當(dāng)前的數(shù)據(jù)發(fā)送已經(jīng)結(jié)束。
參照圖3-4,獨(dú)占式“一對多”輪詢通信,其步驟如下:
步驟一:“數(shù)據(jù)匯總端”向CAN總線上發(fā)出“11b”命令請求,報(bào)文的數(shù)據(jù)域里包含“采集終端1#”的標(biāo)識符值,要求“采集終端1#”返回它的采集數(shù)據(jù);
步驟二:在CAN總線上的所有“采集終端”都會接收到“數(shù)據(jù)匯總端”的“11b”命令請求報(bào)文,通過判斷報(bào)文數(shù)據(jù)域的標(biāo)識符值,“采集終端1#”滿足要求,它響應(yīng)命令請求,向“數(shù)據(jù)匯總端”返回采集數(shù)據(jù),其他的“采集終端”忽略該命令報(bào)文;
步驟三:“采集終端”1#”是“采集終端2#”的“父親終端”,“采集終端2#”會同時(shí)接收到“采集終端1#”的響應(yīng)報(bào)文,“采集終端1#”判斷報(bào)文中標(biāo)識符的緊急位是否“0”,如果是“0”,則忽略該報(bào)文;如是“1”,則再通過識別響應(yīng)報(bào)文中標(biāo)識符的“命令碼”進(jìn)行如下處理:
(1)“命令碼”為非“11b”時(shí),“采集終端2#”忽略該報(bào)文,不做處理;
(2)“命令碼”為“11b”時(shí),“采集終端2#”向“數(shù)據(jù)匯總端”返回自身采集數(shù)據(jù);其他“采集終端”則忽略“采集終端1#”的響應(yīng)報(bào)文,不作處理;
步驟四:按步驟三所述過程依次類推,最后一個(gè)“采集終端N”向“數(shù)據(jù)匯總端”返回采集數(shù)據(jù),即完成一個(gè)周期的數(shù)據(jù)采集過程。
其中,所述的“父親終端”的配置過程屬于“一對一”通信。“數(shù)據(jù)匯總端”向指定“采集終端”發(fā)出“10b”命令請求包,命令請求包的數(shù)據(jù)域里含有標(biāo)識符值,命令請求具有該標(biāo)識符值的“采集終端”配置成該終端的“父親終端”,該終端接收到命令請求后,進(jìn)行響應(yīng)配置,配置結(jié)果報(bào)告給“數(shù)據(jù)匯總端”。配置“父親終端”是為了讓該“采集終端”可以接收來自“父親終端”的CAN報(bào)文,從而應(yīng)用于獨(dú)占式“一對多”輪詢通信。
參照圖5-6,所述的緊急通信,其步驟如下:
(1)“采集終端”把所發(fā)送報(bào)文的標(biāo)識符“緊急位”置為“0”,以取得當(dāng)前最高優(yōu)先級;
(2)“數(shù)據(jù)匯總端”收到報(bào)文后,把所發(fā)送得響應(yīng)報(bào)文的標(biāo)識符“緊急位”置為“0”,以取得最高優(yōu)先級,保證緊急數(shù)據(jù)的實(shí)時(shí)發(fā)送及響應(yīng)。
參照圖5,緊急通信是“采集終端”主動向“數(shù)據(jù)匯總端”發(fā)送數(shù)據(jù),“采集終端a”需要緊急通信時(shí),把標(biāo)識符的“緊急位”置為“0”,相比較輪詢通信的優(yōu)先級,“采集終端a”具有更高優(yōu)先級,因此將會打斷周期性的輪詢通信過程,保證緊急數(shù)據(jù)優(yōu)先傳遞給“數(shù)據(jù)匯總端”。“數(shù)據(jù)匯總端”在接收到緊急報(bào)文后,把自身標(biāo)識符的“緊急位”置為“0”,此時(shí)“數(shù)據(jù)匯總端”的報(bào)文將具有最高優(yōu)先級,如CAN總線上還有其他“采集終端”的緊急數(shù)據(jù)將要發(fā)送,將會被打斷發(fā)送過程,等把響應(yīng)報(bào)文最先發(fā)送給“采集終端a”后,被打斷的“采集終端”才能繼續(xù)發(fā)送數(shù)據(jù)。以此類推,完成其他終端的緊急通信過程。
參照圖6,在極端情況下,會有多個(gè)“采集終端”同時(shí)發(fā)生異常,向“數(shù)據(jù)匯總端”發(fā)送緊急報(bào)文,此時(shí)CAN總線會進(jìn)入仲裁機(jī)制,按照優(yōu)先級的高低依次發(fā)送數(shù)據(jù)?!皵?shù)據(jù)匯總端”在接收到緊急報(bào)文后,把自身標(biāo)識符的“緊急位”置為“0”,此時(shí)“數(shù)據(jù)匯總端”的報(bào)文將具有最高優(yōu)先級,按照接收緊急報(bào)文的順序依次把響應(yīng)報(bào)文發(fā)送給對應(yīng)的“采集終端”,最后完成全部“采集終端”的緊急通信。采用這種方法,可以使不同優(yōu)先級的采集終端都能在最短時(shí)間內(nèi)把緊急數(shù)據(jù)報(bào)告給“數(shù)據(jù)匯總端”并得到優(yōu)先處理。