基于物聯(lián)網(wǎng)電力測(cè)溫設(shè)備的rs485與can總線(xiàn)兼容的通信方法
【專(zhuān)利摘要】一種基于物聯(lián)網(wǎng)電力測(cè)溫設(shè)備的RS485與CAN總線(xiàn)兼容的通信方法,采用為RS485與CAN總線(xiàn)規(guī)定統(tǒng)一的主從設(shè)備規(guī)則、網(wǎng)絡(luò)地址分配規(guī)則、幀格式、數(shù)據(jù)包格式、總線(xiàn)資源分配規(guī)則、保留字規(guī)則的方法,首先定義網(wǎng)絡(luò)主設(shè)備和從設(shè)備,然后定義網(wǎng)絡(luò)地址、幀格式、數(shù)據(jù)包格式、總線(xiàn)資源分配、保留字,指定RS485與CAN總線(xiàn)網(wǎng)絡(luò)中一個(gè)節(jié)點(diǎn)作為主設(shè)備,其他所有節(jié)點(diǎn)作為從設(shè)備;主設(shè)備負(fù)責(zé)總線(xiàn)資源分配;從設(shè)備中存儲(chǔ)一個(gè)變量,用于記錄當(dāng)前總線(xiàn)類(lèi)型;使兩種總線(xiàn)能夠使用統(tǒng)一的方法進(jìn)行通信,本方法對(duì)RS485和CAN總線(xiàn)兼容性好,同時(shí)應(yīng)用層不必關(guān)心硬件設(shè)備類(lèi)型,可避免同一種設(shè)備開(kāi)發(fā)兩套軟件的造成的時(shí)間浪費(fèi),同時(shí),也可降低系統(tǒng)復(fù)雜度,減小錯(cuò)誤幾率,節(jié)省開(kāi)發(fā)和維護(hù)環(huán)節(jié)的成本。
【專(zhuān)利說(shuō)明】基于物聯(lián)網(wǎng)電力測(cè)溫設(shè)備的RS485與CAN總線(xiàn)兼容的通信方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及基于物聯(lián)網(wǎng)電力測(cè)溫設(shè)備的通信方法,特別涉及基于物聯(lián)網(wǎng)電力測(cè)溫設(shè)備的能夠同時(shí)兼容RS485與CAN總線(xiàn)的通信的通信方法,本發(fā)明可擴(kuò)展應(yīng)用至物聯(lián)網(wǎng)、工業(yè)控制及其他領(lǐng)域中使用RS485與CAN總線(xiàn)進(jìn)行通信的設(shè)備。
【背景技術(shù)】
[0002]隨著物聯(lián)網(wǎng)技術(shù)的深入發(fā)展,物品管理、設(shè)備運(yùn)行監(jiān)控已成為物聯(lián)網(wǎng)的重要前端技術(shù)。利用SAW-RFID實(shí)現(xiàn)設(shè)備運(yùn)行時(shí)的時(shí)時(shí)監(jiān)控,可令電力運(yùn)營(yíng)部門(mén)預(yù)測(cè)故障,提前解決問(wèn)題,避免了故障發(fā)生時(shí)帶來(lái)的巨額經(jīng)濟(jì)損失以及人員傷亡。
[0003]利用SAW-RFID測(cè)溫設(shè)備進(jìn)行測(cè)溫的原理是:隨著標(biāo)簽溫度的改變,標(biāo)簽的響應(yīng)頻點(diǎn)也會(huì)按一定規(guī)律變化。首先測(cè)溫設(shè)備向標(biāo)簽發(fā)射射頻信號(hào),接下來(lái)測(cè)量標(biāo)簽返回的射頻信號(hào),然后對(duì)接收到的射頻信號(hào)進(jìn)行分析處理,得到標(biāo)簽的響應(yīng)頻點(diǎn)。最終將標(biāo)簽的響應(yīng)頻點(diǎn)轉(zhuǎn)換為對(duì)應(yīng)的溫度。
[0004]在物聯(lián)網(wǎng)領(lǐng)域中的設(shè)備之間,通常使用RS485總線(xiàn)或CAN總線(xiàn)進(jìn)行通信。其中,RS485總線(xiàn)應(yīng)用較早,應(yīng)用范圍較廣,在成熟產(chǎn)品中使用率較高。但在技術(shù)不斷發(fā)展的今天,RS485總線(xiàn)也面臨著傳輸速率慢、傳輸距離短、誤碼率高,無(wú)總線(xiàn)資源硬件仲裁功能諸多缺點(diǎn)。CAN總線(xiàn)是一種較新型的串行總線(xiàn),其優(yōu)點(diǎn)是:傳輸速率較快,可達(dá)IMbps ;傳輸距離長(zhǎng),最長(zhǎng)可達(dá)10公里;可靠的數(shù)據(jù)處理與檢錯(cuò)機(jī)制;自帶總線(xiàn)資源硬件仲裁功能。但目前在物聯(lián)網(wǎng)領(lǐng)域中,CAN總線(xiàn)普及率不高。所以,目前的物聯(lián)網(wǎng)設(shè)備往往同時(shí)帶有RS485、CAN兩套通信接口。
[0005]依據(jù)IS0/0SI網(wǎng)絡(luò)分層模型,RS485總線(xiàn)與CAN總線(xiàn)只規(guī)定了物理層與數(shù)據(jù)鏈路層這兩個(gè)底層通訊協(xié)議,沒(méi)有規(guī)定高層通信協(xié)議,導(dǎo)致應(yīng)用這兩種總線(xiàn)的設(shè)備需要獨(dú)立開(kāi)發(fā)兩套軟件,分別實(shí)現(xiàn)以上兩種總線(xiàn)的高層通信協(xié)議。本發(fā)明是一套能同時(shí)兼容RS485總線(xiàn)與CAN總線(xiàn)的基于高層通信協(xié)議的實(shí)現(xiàn)方法。應(yīng)用本發(fā)明,同一設(shè)備只需開(kāi)發(fā)一套軟件即可同時(shí)支持RS485總線(xiàn)與CAN總線(xiàn),極大的降低了軟件開(kāi)發(fā)成本。
【發(fā)明內(nèi)容】
[0006]鑒于上述現(xiàn)有技術(shù)現(xiàn)狀,本發(fā)明提供一種基于物聯(lián)網(wǎng)電力測(cè)溫設(shè)備的RS485與CAN總線(xiàn)兼容的通信方法。本方法采用為RS485與CAN總線(xiàn)規(guī)定統(tǒng)一的主從設(shè)備規(guī)則、網(wǎng)絡(luò)地址分配規(guī)則、幀格式、數(shù)據(jù)包格式、總線(xiàn)資源分配規(guī)則、保留字規(guī)則等方法,使兩種總線(xiàn)能夠使用統(tǒng)一的方法進(jìn)行通信
本發(fā)明所采取的技術(shù)方案是:一種基于物聯(lián)網(wǎng)電力測(cè)溫設(shè)備的RS485與CAN總線(xiàn)兼容的通信方法,其特征在于,在應(yīng)用層使用一套實(shí)現(xiàn)方法,即可使設(shè)備同時(shí)支持RS485與CAN總線(xiàn);
所述方法包括如下步驟:
(I)、定義網(wǎng)絡(luò)主設(shè)備和從設(shè)備:
指定RS485與CAN總線(xiàn)網(wǎng)絡(luò)中一個(gè)節(jié)點(diǎn)作為主設(shè)備,其他所有節(jié)點(diǎn)作為從設(shè)備;主設(shè)備負(fù)責(zé)總線(xiàn)資源分配;從設(shè)備中存儲(chǔ)一個(gè)變量,用于記錄當(dāng)前總線(xiàn)類(lèi)型;
(2)定義網(wǎng)絡(luò)地址:
總線(xiàn)網(wǎng)絡(luò)中地址范圍從O?255,分別為以下節(jié)點(diǎn)分配地址:主設(shè)備地址、從設(shè)備地址范圍、廣播地址;
(3)定義中貞:
定義總線(xiàn)中數(shù)據(jù)傳輸?shù)淖钚挝唤凶鰩繋潭ò?字節(jié)數(shù)據(jù);定義若干幀組成的一個(gè)包含完整意義的結(jié)構(gòu)叫做數(shù)據(jù)包;幀格式定義如下:
I字節(jié)的目的地址+1字節(jié)的源地址+1字節(jié)的數(shù)據(jù)包信息+1字節(jié)的幀校驗(yàn)值+4字節(jié)的的數(shù)據(jù);
上述定義中,“數(shù)據(jù)包信息”字節(jié)中的第7位表示數(shù)據(jù)包類(lèi)型,O表示單幀數(shù)據(jù)包,I表示多幀數(shù)據(jù)包;數(shù)據(jù)包的長(zhǎng)度小于等于4字節(jié)的數(shù)據(jù)包叫做單幀數(shù)據(jù)包;數(shù)據(jù)包長(zhǎng)度大于4字節(jié)的數(shù)據(jù)包叫做多幀數(shù)據(jù)包;多幀數(shù)據(jù)包分為頭幀與數(shù)據(jù)幀;“數(shù)據(jù)包信息”字節(jié)中的第O?6位用于標(biāo)記數(shù)據(jù)包ID ;
多幀數(shù)據(jù)包中,頭幀格式定義如下:
I字節(jié)的目的地址+1字節(jié)的源地址+1字節(jié)的數(shù)據(jù)包信息+1字節(jié)的幀校驗(yàn)值+1字節(jié)的數(shù)據(jù)包ID+1字節(jié)的數(shù)據(jù)包字節(jié)長(zhǎng)度+2字節(jié)的數(shù)據(jù)包校驗(yàn)值;
多幀數(shù)據(jù)包的頭幀中,“數(shù)據(jù)包信息”字節(jié)固定為OxFF ;
多幀數(shù)據(jù)包中,數(shù)據(jù)幀格式定義如下:
I字節(jié)的目的地址+1字節(jié)的源地址+1字節(jié)的數(shù)據(jù)包信息+1字節(jié)的幀校驗(yàn)值+ 4字節(jié)的數(shù)據(jù);
上述定義中,“數(shù)據(jù)包信息”的第O?6位表示數(shù)據(jù)幀編號(hào);多幀數(shù)據(jù)包中,每個(gè)數(shù)據(jù)幀都擁有唯一編號(hào);多幀數(shù)據(jù)包中,“數(shù)據(jù)包信息”的第7位固定為I ;
(4)定義數(shù)據(jù)包:
一組幀可組成一個(gè)包含完整意義的數(shù)據(jù)包;數(shù)據(jù)包格式定義如下:
I字節(jié)的源地址+1字節(jié)的目的地址+1字節(jié)的數(shù)據(jù)包ID+若干字節(jié)的數(shù)據(jù);
(5)接收數(shù)據(jù)包:
接收數(shù)據(jù)包的流程如下:
a、計(jì)算巾貞校驗(yàn)值,若校驗(yàn)不通過(guò),則拋棄本巾貞;
b、若目的地址不是本機(jī)地址或廣播地址,則拋棄本幀;
C、若數(shù)據(jù)包類(lèi)型為單幀數(shù)據(jù)包,則直接接收數(shù)據(jù),得到一個(gè)完整的數(shù)據(jù)包;d、若數(shù)據(jù)包類(lèi)型為多幀數(shù)據(jù)包,則從頭幀中獲取數(shù)據(jù)包ID、數(shù)據(jù)包長(zhǎng)度、數(shù)據(jù)包校驗(yàn)值,然后依次接收數(shù)據(jù)幀,最后校驗(yàn)數(shù)據(jù)包校驗(yàn)值,得到一個(gè)完整的數(shù)據(jù)包;若接收過(guò)程中幀編號(hào)不正確或數(shù)據(jù)包校驗(yàn)值不正確,則拋棄本數(shù)據(jù)包中的所有幀;
(6)總線(xiàn)資源分配規(guī)則:
CAN總線(xiàn)具有硬件自仲裁功能;RS485總線(xiàn)需要定義軟件總線(xiàn)資源分配方法;RS485總線(xiàn)資源分配方法描述如下:
a、總線(xiàn)中,每個(gè)從設(shè)備都具有唯一的地址;主設(shè)備上電時(shí)先執(zhí)行初始化過(guò)程:首先向廣播地址發(fā)送ID為“掃描”的單幀數(shù)據(jù)包,然后,主設(shè)備輪流向0?255范圍內(nèi)的每個(gè)地址點(diǎn)名,各從設(shè)備依次向主設(shè)備應(yīng)答本從設(shè)備地址;主設(shè)備確認(rèn)當(dāng)前總線(xiàn)中存在的所有地址,完成初始化;
b、完成初始化后,主設(shè)備以時(shí)間片為單位,輪流向每個(gè)地址點(diǎn)名;被點(diǎn)到名的地址獲得總線(xiàn)占用權(quán),點(diǎn)名操作占用2字節(jié),數(shù)據(jù)格式為:1字節(jié)點(diǎn)名關(guān)鍵字+1字節(jié)點(diǎn)名地址;一旦其他地址被點(diǎn)名,當(dāng)前地址立即失去總線(xiàn)占用權(quán);
(7 )保留子:
RS485總線(xiàn)中保留I字節(jié)數(shù)據(jù)作為點(diǎn)名關(guān)鍵字;若數(shù)據(jù)包中的數(shù)據(jù)字段中存在點(diǎn)名關(guān)鍵字,則將其轉(zhuǎn)義后才能傳輸。
[0007]本發(fā)明的有益效果是:優(yōu)化設(shè)計(jì)之后的標(biāo)簽用于物聯(lián)網(wǎng)電力測(cè)溫設(shè)備中,對(duì)RS485和CAN總線(xiàn)兼容性好,同時(shí)應(yīng)用層不必關(guān)心硬件設(shè)備類(lèi)型??杀苊馔环N設(shè)備開(kāi)發(fā)兩套軟件的造成的時(shí)間浪費(fèi)。同時(shí),也可降低系統(tǒng)復(fù)雜度,減小錯(cuò)誤幾率,節(jié)省開(kāi)發(fā)和維護(hù)環(huán)節(jié)的成本。
【具體實(shí)施方式】
[0008]為了更清楚的理解本發(fā)明,結(jié)合實(shí)施例詳細(xì)描述本發(fā)明:
I)、定義網(wǎng)絡(luò)主設(shè)備和從設(shè)備:
RS485與CAN總線(xiàn)均屬于半雙工通信,兩者在物理上均屬于總線(xiàn)型網(wǎng)絡(luò),在邏輯上屬于星型網(wǎng)絡(luò)。在物聯(lián)網(wǎng)電力測(cè)溫設(shè)備(WL-002)中,包含上位機(jī)控制端及若干通過(guò)串行總線(xiàn)網(wǎng)絡(luò)與上位機(jī)連接的讀卡器。因此,指定網(wǎng)絡(luò)中的上位機(jī)控制端為主設(shè)備,所有讀卡器作為從設(shè)備。主設(shè)備負(fù)責(zé)總線(xiàn)資源分配,從設(shè)備中存儲(chǔ)I字節(jié)無(wú)符號(hào)變量cMask,初始值為0,用于記錄當(dāng)前總線(xiàn)類(lèi)型。主設(shè)備向總線(xiàn)發(fā)送數(shù)據(jù)時(shí),從設(shè)備根據(jù)觸發(fā)的中斷類(lèi)型,設(shè)置該變量的不同標(biāo)記位:當(dāng)觸發(fā)RS485中斷時(shí),置cMask變量的第O位為I ;當(dāng)觸發(fā)CAN中斷時(shí),置cMask變量的第I位為I。此后,根據(jù)cMask變量的位標(biāo)記執(zhí)行不同的操作流程。
[0009]2)定義網(wǎng)絡(luò)地址:
總線(xiàn)網(wǎng)絡(luò)中地址范圍從0x00?OxFF,分配如下:
0x00:為擴(kuò)展保留
0x01:廣播地址
0x02?OxDO:從設(shè)備地址
OxDl?OxR):為擴(kuò)展保留
OxFl:主設(shè)備地址
0xF2?OxFF:為擴(kuò)展保留
3)定義中貞:
定義總線(xiàn)中數(shù)據(jù)傳輸?shù)淖钚挝唤凶鰩?,每幀固定包?字節(jié)數(shù)據(jù)。定義若干幀組成的一個(gè)包含完整意義的結(jié)構(gòu)叫做數(shù)據(jù)包。
[0010]幀格式定義如下:
目的地址(I字節(jié))+源地址(I字節(jié))+數(shù)據(jù)包信息(I字節(jié))+幀校驗(yàn)值(I字節(jié))+數(shù)據(jù)(4字節(jié));
若當(dāng)前總線(xiàn)類(lèi)型為CAN,由于總線(xiàn)協(xié)議規(guī)定每幀數(shù)據(jù)的長(zhǎng)度為8字節(jié),因此,數(shù)據(jù)直接按幀格式填充。若當(dāng)前總線(xiàn)類(lèi)型為RS485,則將數(shù)據(jù)按上述幀格式分割為若干幀。
[0011]上述定義中,“數(shù)據(jù)包信息”字節(jié)中的第7位表示數(shù)據(jù)包類(lèi)型,O表示單幀數(shù)據(jù)包,I表示多幀數(shù)據(jù)包。數(shù)據(jù)包的長(zhǎng)度小于等于4字節(jié)的數(shù)據(jù)包叫做單幀數(shù)據(jù)包。數(shù)據(jù)包長(zhǎng)度大于4字節(jié)的數(shù)據(jù)包叫做多幀數(shù)據(jù)包。多幀數(shù)據(jù)包分為頭幀與數(shù)據(jù)幀。“數(shù)據(jù)包信息”字節(jié)中的第O?6位用于標(biāo)記數(shù)據(jù)包ID。
[0012]多幀數(shù)據(jù)包中,頭幀格式定義如下:
目的地址(I字節(jié))+源地址(I字節(jié))+數(shù)據(jù)包信息(I字節(jié))+幀校驗(yàn)值(I字節(jié))+數(shù)據(jù)包ID (I字節(jié))+數(shù)據(jù)包長(zhǎng)度(I字節(jié))+數(shù)據(jù)包校驗(yàn)值(2字節(jié));
多幀數(shù)據(jù)包的頭幀中,“數(shù)據(jù)包信息”固定為OxFF。
[0013]多幀數(shù)據(jù)包中,數(shù)據(jù)幀格式定義如下:
目的地址(I字節(jié))+源地址(I字節(jié))+數(shù)據(jù)包信息(I字節(jié))+幀校驗(yàn)值(I字節(jié))+數(shù)據(jù)(4字節(jié))
上述定義中,“數(shù)據(jù)包信息”的第O?6位表示數(shù)據(jù)幀編號(hào)。多幀數(shù)據(jù)包中,每個(gè)數(shù)據(jù)幀都擁有唯一編號(hào)。多幀數(shù)據(jù)包中,“數(shù)據(jù)包信息”的第7位固定為I。
[0014]4)定義數(shù)據(jù)包:
一組幀可組成一個(gè)包含完整意義的數(shù)據(jù)包。數(shù)據(jù)包格式定義如下:
源地址(I字節(jié))+目的地址(I字節(jié))+數(shù)據(jù)包ID(1字節(jié))+數(shù)據(jù)(若干字節(jié));
5)接收數(shù)據(jù)包:
接收數(shù)據(jù)包的流程如下:
a、計(jì)算巾貞校驗(yàn)值,若校驗(yàn)不通過(guò),則拋棄本巾貞;
b、若目的地址不是本機(jī)地址或廣播地址,則拋棄本幀;
C、若數(shù)據(jù)包類(lèi)型為單幀數(shù)據(jù)包,則直接接收數(shù)據(jù),得到一個(gè)完整的數(shù)據(jù)包;d、若數(shù)據(jù)包類(lèi)型為多幀數(shù)據(jù)包,則從頭幀中獲取數(shù)據(jù)包ID、數(shù)據(jù)包長(zhǎng)度、數(shù)據(jù)包校驗(yàn)值,然后依次接收數(shù)據(jù)幀,最后校驗(yàn)數(shù)據(jù)包校驗(yàn)值,得到一個(gè)完整的數(shù)據(jù)包。若接收過(guò)程中幀編號(hào)不正確或數(shù)據(jù)包校驗(yàn)值不正確,則拋棄本數(shù)據(jù)包中的所有幀。
[0015]6)總線(xiàn)資源分配規(guī)則:
CAN總線(xiàn)具有硬件自仲裁功能;RS485總線(xiàn)需要定義軟件總線(xiàn)資源分配方法。RS485總線(xiàn)資源分配方法描述如下:
a、總線(xiàn)中,每個(gè)從設(shè)備都具有唯一的地址。主設(shè)備上電時(shí)先執(zhí)行初始化過(guò)程:首先向廣播地址發(fā)送ID為“掃描”的單幀數(shù)據(jù)包,然后,主設(shè)備輪流向O?255范圍內(nèi)的每個(gè)地址點(diǎn)名,各從設(shè)備依次向主設(shè)備應(yīng)答本從設(shè)備地址;主設(shè)備確認(rèn)當(dāng)前總線(xiàn)中存在的所有地址,完成初始化。
[0016]b、完成初始化后,主設(shè)備以時(shí)間片為單位,輪流向每個(gè)地址點(diǎn)名。被點(diǎn)到名的地址獲得總線(xiàn)占用權(quán),點(diǎn)名操作占用2字節(jié),數(shù)據(jù)格式為:0χΑ0+1字節(jié)點(diǎn)名地址。一旦其他地址被點(diǎn)名,當(dāng)前地址立即失去總線(xiàn)占用權(quán)。
[0017]7)保留字:
RS485總線(xiàn)中保留I字節(jié)數(shù)據(jù)“OxAO”作為點(diǎn)名關(guān)鍵字。若數(shù)據(jù)包中的數(shù)據(jù)字段存在OxAO,則先將其轉(zhuǎn)義,然后才能傳輸。轉(zhuǎn)義規(guī)則定義如下:
數(shù)據(jù)包中若存在I字節(jié)數(shù)據(jù)“OxAO”,則將其轉(zhuǎn)義為2字節(jié)數(shù)據(jù)“OxBB+OxBC”;數(shù)據(jù)包中若存在I字節(jié)數(shù)據(jù)“OxBB”,則轉(zhuǎn)義為2字節(jié)數(shù)據(jù)“OxBB+OxBD”。
[0018]根據(jù)上述說(shuō)明,結(jié)合本領(lǐng)域技術(shù)可實(shí)現(xiàn)本發(fā)明的方案。
【權(quán)利要求】
1.一種基于物聯(lián)網(wǎng)電力測(cè)溫設(shè)備的RS485與CAN總線(xiàn)兼容的通信方法,其特征在于,在應(yīng)用層使用一套實(shí)現(xiàn)方法,即可使設(shè)備同時(shí)支持RS485與CAN總線(xiàn);所述方法包括如下步驟: (1)、定義網(wǎng)絡(luò)主設(shè)備和從設(shè)備: 指定RS485與CAN總線(xiàn)網(wǎng)絡(luò)中一個(gè)節(jié)點(diǎn)作為主設(shè)備,其他所有節(jié)點(diǎn)作為從設(shè)備;主設(shè)備負(fù)責(zé)總線(xiàn)資源分配;從設(shè)備中存儲(chǔ)一個(gè)變量,用于記錄當(dāng)前總線(xiàn)類(lèi)型; (2)定義網(wǎng)絡(luò)地址: 總線(xiàn)網(wǎng)絡(luò)中地址范圍從O~255,分別為以下節(jié)點(diǎn)分配地址:主設(shè)備地址、從設(shè)備地址范圍、廣播地址; (3)定義中貞: 定義總線(xiàn)中數(shù)據(jù)傳輸?shù)淖钚挝唤凶鰩?,每幀固定包?字節(jié)數(shù)據(jù);定義若干幀組成的一個(gè)包含完整意義的結(jié)構(gòu)叫做數(shù)據(jù)包;幀格式定義如下: I字節(jié)的目的地址+1字節(jié)的源地址+1字節(jié)的數(shù)據(jù)包信息+1字節(jié)的幀校驗(yàn)值+4字節(jié)的的數(shù)據(jù); 上述定義中,“數(shù)據(jù)包信息”字節(jié)中的第7位表示數(shù)據(jù)包類(lèi)型,O表示單幀數(shù)據(jù)包,I表示多幀數(shù)據(jù)包;數(shù)據(jù)包的長(zhǎng)度小于等于4字節(jié)的數(shù)據(jù)包叫做單幀數(shù)據(jù)包;數(shù)據(jù)包長(zhǎng)度大于4字節(jié)的數(shù)據(jù)包叫做多幀數(shù)據(jù)包;多幀數(shù)據(jù)包分為頭幀與數(shù)據(jù)幀;“數(shù)據(jù)包信息”字節(jié)中的第O~6位用于標(biāo)記數(shù)據(jù)包ID ; 多幀數(shù)據(jù)包中,頭幀格式定義如下: I字節(jié)的目的地址+1字節(jié)的源地址+1字節(jié)的數(shù)據(jù)包信息+1字節(jié)的幀校驗(yàn)值+1字節(jié)的數(shù)據(jù)包ID+1字節(jié)的數(shù)據(jù)包字節(jié)長(zhǎng)度+2字節(jié)的數(shù)據(jù)包校驗(yàn)值; 多幀數(shù)據(jù)包的頭幀中,“數(shù)據(jù)包信息”字節(jié)固定為OxFF ; 多幀數(shù)據(jù)包中,數(shù)據(jù)幀格式定義如下: I字節(jié)的目的地址+1字節(jié)的源地址+1字節(jié)的數(shù)據(jù)包信息+1字節(jié)的幀校驗(yàn)值+ 4字節(jié)的數(shù)據(jù); 上述定義中,“數(shù)據(jù)包信息”的第O~6位表示數(shù)據(jù)幀編號(hào);多幀數(shù)據(jù)包中,每個(gè)數(shù)據(jù)幀都擁有唯一編號(hào);多幀數(shù)據(jù)包中,“數(shù)據(jù)包信息”的第7位固定為I ; (4)定義數(shù)據(jù)包: 一組幀可組成一個(gè)包含完整意義的數(shù)據(jù)包;數(shù)據(jù)包格式定義如下: I字節(jié)的源地址+1字節(jié)的目的地址+1字節(jié)的數(shù)據(jù)包ID+若干字節(jié)的數(shù)據(jù); (5)接收數(shù)據(jù)包: 接收數(shù)據(jù)包的流程如下: a、計(jì)算幀校驗(yàn)值,若校驗(yàn)不通過(guò),則拋棄本幀; b、若目的地址不是本機(jī)地址或廣播地址,則拋棄本幀; C、若數(shù)據(jù)包類(lèi)型為單幀數(shù)據(jù)包,則直接接收數(shù)據(jù),得到一個(gè)完整的數(shù)據(jù)包;d、若數(shù)據(jù)包類(lèi)型為多幀數(shù)據(jù)包,則從頭幀中獲取數(shù)據(jù)包ID、數(shù)據(jù)包長(zhǎng)度、數(shù)據(jù)包校驗(yàn)值,然后依次接收數(shù)據(jù)幀,最后校驗(yàn)數(shù)據(jù)包校驗(yàn)值,得到一個(gè)完整的數(shù)據(jù)包;若接收過(guò)程中幀編號(hào)不正確或數(shù)據(jù)包校驗(yàn)值不正確,則拋棄本數(shù)據(jù)包中的所有幀; (6)總線(xiàn)資源分配規(guī)則:CAN總線(xiàn)具有硬件自仲裁功能;RS485總線(xiàn)需要定義軟件總線(xiàn)資源分配方法;RS485總線(xiàn)資源分配方法描述如下: a、總線(xiàn)中,每個(gè)從設(shè)備都具有唯一的地址;主設(shè)備上電時(shí)先執(zhí)行初始化過(guò)程:首先向廣播地址發(fā)送ID為“掃描”的單幀數(shù)據(jù)包,然后,主設(shè)備輪流向0~255范圍內(nèi)的每個(gè)地址點(diǎn)名,各從設(shè)備依次向主設(shè)備應(yīng)答本從設(shè)備地址;主設(shè)備確認(rèn)當(dāng)前總線(xiàn)中存在的所有地址,完成初始化; b、完成初始化后,主設(shè)備以時(shí)間片為單位,輪流向每個(gè)地址點(diǎn)名;被點(diǎn)到名的地址獲得總線(xiàn)占用權(quán),點(diǎn)名操作占用2字節(jié),數(shù)據(jù)格式為:1字節(jié)點(diǎn)名關(guān)鍵字+1字節(jié)點(diǎn)名地址;一旦其他地址被點(diǎn)名,當(dāng)前地址立即失去總線(xiàn)占用權(quán); (7 )保留子: RS485總線(xiàn)中保留I字節(jié)數(shù)據(jù)作為點(diǎn)名關(guān)鍵字;若數(shù)據(jù)包中的數(shù)據(jù)字段中存在點(diǎn)名關(guān)鍵字,則將其轉(zhuǎn)義后 才能傳輸。
【文檔編號(hào)】H04L1/22GK103546354SQ201310498247
【公開(kāi)日】2014年1月29日 申請(qǐng)日期:2013年10月22日 優(yōu)先權(quán)日:2013年10月22日
【發(fā)明者】李鴻儒, 吳昊, 王飛 申請(qǐng)人:天津七一二通信廣播有限公司, 北京華龍通科技有限公司