基于CAN總線智能建筑監(jiān)控系統(tǒng)的通信協(xié)議設(shè)計(jì)
擴(kuò)展幀的數(shù)據(jù)幀的主要結(jié)構(gòu)有:
(1)幀起始,標(biāo)志幀的開始,它由單個(gè)“顯性”位構(gòu)成,在總線空閑時(shí)發(fā)送,在總線上產(chǎn)生同步作用。
(2)仲裁域,仲裁域包括29位標(biāo)識(shí)符、SRR位、IDE位、RTR位。29位標(biāo)識(shí)符包括11位基本ID、18位擴(kuò)展ID?;綢D按ID-28到ID-18的順序發(fā)送,擴(kuò)展ID按ID-17到ID-0的順序發(fā)送?;綢D首先發(fā)送,其次是SRR位和IDE位。擴(kuò)展ID的發(fā)送位于IDE位之后。SRR是“隱性”位。IDE位在標(biāo)準(zhǔn)格式里為“顯性”,在擴(kuò)展格式里為“隱性”。RTR位在數(shù)據(jù)幀里必為“顯性”,而在遠(yuǎn)程幀里必為“隱性”。標(biāo)識(shí)符用于提供關(guān)于傳送報(bào)文和總線訪問的優(yōu)先權(quán)信息,其數(shù)值越小,表示優(yōu)先權(quán)越高,發(fā)生沖突時(shí)優(yōu)先發(fā)送。
(3)控制域,由6位構(gòu)成,前2位為保留位,為“顯性”。后4位為數(shù)據(jù)長(zhǎng)度碼(DLC),表示數(shù)據(jù)域中數(shù)據(jù)的字節(jié)數(shù),必須在0~8范圍內(nèi)變化。
(4)數(shù)據(jù)域,由被發(fā)送的數(shù)據(jù)組成,字節(jié)數(shù)為控制域中決定的0~8 bit,第一個(gè)字節(jié)的最高位首先被發(fā)送。
(5)CRC域,包括CRC(循環(huán)冗余碼校驗(yàn))序列(15位)和CRC界定符(1個(gè)“隱性”位),用于幀校驗(yàn)。
(6)應(yīng)答域,由應(yīng)答間隙和應(yīng)答界定符組成,共2位。
(7)幀結(jié)束,由7位隱性位組成,此期間無位填充。本文引用地址:http://m.butianyuan.cn/article/157121.htm
4 通訊協(xié)議的制定
在CAN的協(xié)議規(guī)范,規(guī)定了數(shù)據(jù)鏈路層和物理層,沒有規(guī)定應(yīng)用層。所以用戶在設(shè)計(jì)通訊軟件時(shí),必須首先設(shè)計(jì)合適的CAN總線通訊協(xié)議,才能完成數(shù)據(jù)準(zhǔn)確可靠的傳輸?;谘芯緾AN2.OB規(guī)范的基礎(chǔ)上,采用自定義協(xié)議的方法,制定了智能建筑監(jiān)控系統(tǒng)的通信協(xié)議。通訊協(xié)議的制定主要包括以下3個(gè)步驟。
4.1 CAN總線網(wǎng)絡(luò)中信息傳輸類型
智能建筑中信息傳輸類型主要有以下幾種:
(1)緊急信息,用以傳輸重要信息,優(yōu)先級(jí)最高,如報(bào)警信息。
(2)廣播信息,向總線上掛接的所有節(jié)點(diǎn)發(fā)送的信息。
(3)命令信息,控制節(jié)點(diǎn)向執(zhí)行節(jié)點(diǎn)發(fā)送的信息。
(4)狀態(tài)信息,執(zhí)行節(jié)點(diǎn)接收到命令執(zhí)行后,向控制節(jié)點(diǎn)反饋的信息。
(5)數(shù)據(jù)信息,負(fù)責(zé)采集數(shù)據(jù)的節(jié)點(diǎn)發(fā)送的信息,如傳感器采集到的信息。
4.2 根據(jù)標(biāo)識(shí)符的分配方案確定各節(jié)點(diǎn)優(yōu)先級(jí)
標(biāo)識(shí)符的分配方案首先滿足節(jié)點(diǎn)以及報(bào)文信息對(duì)優(yōu)先級(jí)的要求,同時(shí)利用標(biāo)識(shí)符空問加載有關(guān)信息,減少在數(shù)據(jù)域內(nèi)占用的空間。本系統(tǒng)采用有29位標(biāo)識(shí)符的擴(kuò)展幀格式,具體分配如下:
(1)信息類型標(biāo)識(shí)符(ID.28~I(xiàn)D.23),000001—緊急信息,000010—廣播信息,000011—命令信息,000100—狀態(tài)信息,000101—數(shù)據(jù)信息。
(2)節(jié)點(diǎn)地址標(biāo)識(shí)符(ID.22~I(xiàn)D.15),0000000l—上位機(jī)節(jié)點(diǎn),00000010—安全監(jiān)控節(jié)點(diǎn),00000100—消防監(jiān)控節(jié)點(diǎn),0000010l—配電節(jié)點(diǎn),00000111—給排水節(jié)點(diǎn),00001000—電梯節(jié)點(diǎn),00001001—照明節(jié)點(diǎn),00001010—空調(diào)節(jié)點(diǎn)。
(3)報(bào)文功能標(biāo)識(shí)符(ID.14~I(xiàn)D.08),如果一個(gè)節(jié)點(diǎn)發(fā)送多幀報(bào)文,在報(bào)文信息類型相同的情況下,可以用報(bào)文功能標(biāo)識(shí)符來區(qū)分報(bào)文的優(yōu)先級(jí)。
(4)現(xiàn)場(chǎng)裝置地址標(biāo)識(shí)符(ID.07~I(xiàn)D.00)。
4.3 組織各幀報(bào)文
明確各節(jié)點(diǎn)發(fā)送的報(bào)文,對(duì)系統(tǒng)中各類控制信號(hào)和數(shù)據(jù)進(jìn)行分類,填充各報(bào)文的數(shù)據(jù)域。
5 通信協(xié)議的軟件實(shí)現(xiàn)
通信協(xié)議的軟件設(shè)計(jì)由3部分組成:CAN控制器的初始化、數(shù)據(jù)的發(fā)送和接收程序,其流程圖如圖5,圖6和圖7所示。
評(píng)論