新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于CAN總線智能建筑監控系統的通信協議設計

        基于CAN總線智能建筑監控系統的通信協議設計

        作者: 時間:2010-09-10 來源:網絡 收藏

        擴展幀的數據幀的主要結構有:
        (1)幀起始,標志幀的開始,它由單個“顯性”位構成,在總線空閑時發送,在總線上產生同步作用。
        (2)仲裁域,仲裁域包括29位標識符、SRR位、IDE位、RTR位。29位標識符包括11位基本ID、18位擴展ID。基本ID按ID-28到ID-18的順序發送,擴展ID按ID-17到ID-0的順序發送。基本ID首先發送,其次是SRR位和IDE位。擴展ID的發送位于IDE位之后。SRR是“隱性”位。IDE位在標準格式里為“顯性”,在擴展格式里為“隱性”。RTR位在數據幀里必為“顯性”,而在遠程幀里必為“隱性”。標識符用于提供關于傳送報文和總線訪問的優先權信息,其數值越小,表示優先權越高,發生沖突時優先發送。
        (3)控制域,由6位構成,前2位為保留位,為“顯性”。后4位為數據長度碼(DLC),表示數據域中數據的字節數,必須在0~8范圍內變化。
        (4)數據域,由被發送的數據組成,字節數為控制域中決定的0~8 bit,第一個字節的最高位首先被發送。
        (5)CRC域,包括CRC(循環冗余碼校驗)序列(15位)和CRC界定符(1個“隱性”位),用于幀校驗。
        (6)應答域,由應答間隙和應答界定符組成,共2位。
        (7)幀結束,由7位隱性位組成,此期間無位填充。

        本文引用地址:http://www.104case.com/article/157121.htm

        4 通訊協議的制定
        在CAN的協議規范,規定了數據鏈路層和物理層,沒有規定應用層。所以用戶在設計通訊軟件時,必須首先設計合適的CAN總線通訊協議,才能完成數據準確可靠的傳輸。基于研究CAN2.OB規范的基礎上,采用自定義協議的方法,制定了智能建筑監控系統的協議。通訊協議的制定主要包括以下3個步驟。
        4.1 CAN總線網絡中信息傳輸類型
        智能建筑中信息傳輸類型主要有以下幾種:
        (1)緊急信息,用以傳輸重要信息,優先級最高,如報警信息。
        (2)廣播信息,向總線上掛接的所有節點發送的信息。
        (3)命令信息,控制節點向執行節點發送的信息。
        (4)狀態信息,執行節點接收到命令執行后,向控制節點反饋的信息。
        (5)數據信息,負責采集數據的節點發送的信息,如傳感器采集到的信息。
        4.2 根據標識符的分配方案確定各節點優先級
        標識符的分配方案首先滿足節點以及報文信息對優先級的要求,同時利用標識符空問加載有關信息,減少在數據域內占用的空間。本系統采用有29位標識符的擴展幀格式,具體分配如下:
        (1)信息類型標識符(ID.28~ID.23),000001—緊急信息,000010—廣播信息,000011—命令信息,000100—狀態信息,000101—數據信息。
        (2)節點地址標識符(ID.22~ID.15),0000000l—上位機節點,00000010—安全監控節點,00000100—消防監控節點,0000010l—配電節點,00000111—給排水節點,00001000—電梯節點,00001001—照明節點,00001010—空調節點。
        (3)報文功能標識符(ID.14~ID.08),如果一個節點發送多幀報文,在報文信息類型相同的情況下,可以用報文功能標識符來區分報文的優先級。
        (4)現場裝置地址標識符(ID.07~ID.00)。
        4.3 組織各幀報文
        明確各節點發送的報文,對系統中各類控制信號和數據進行分類,填充各報文的數據域。

        5 協議的軟件實現
        協議的軟件設計由3部分組成:CAN控制器的初始化、數據的發送和接收程序,其流程圖如圖5,圖6和圖7所示。

        3e.jpg



        關鍵詞: 通信

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 富平县| 杭州市| 新津县| 镇坪县| 永城市| 广宗县| 乌审旗| 浙江省| 宝丰县| 张家口市| 正镶白旗| 康定县| 眉山市| 灵璧县| 泾源县| 全州县| 洞头县| 富民县| 平和县| 灌阳县| 沁水县| 北海市| 甘德县| 龙里县| 南通市| 宁都县| 蓬安县| 太白县| 新乐市| 阳曲县| 乐亭县| 科尔| 邢台县| 焉耆| 潮州市| 吴忠市| 潼关县| 莒南县| 罗源县| 塔城市| 新安县|