嵌入式電梯群控系統(tǒng)設(shè)計
目前,大多數(shù)電梯公司的群控系統(tǒng)都是采用RS485總線進(jìn)行通信,但RS485采用主從式的通信方式,由主機發(fā)起呼叫,對應(yīng)的終端應(yīng)答,因此只能采取輪詢的通信方式,實時性差,一旦主機出現(xiàn)故障,整個系統(tǒng)將癱瘓;而CAN總線在電梯群控系統(tǒng)中卻體現(xiàn)出更多的優(yōu)勢:CAN總線通信與RS485通信相比抗干擾能力更好;可連接較多的通信節(jié)點;通信速率更高;實時性與穩(wěn)定性高,所以本文采用CAN總線來實現(xiàn)群控主機和各電梯之間的通信[2]。
1 系統(tǒng)總體結(jié)構(gòu)
本系統(tǒng)以ARM7為內(nèi)核,主頻達(dá)72 MHz的32 bit微處理器LPC2368作為群控主控制器,它有高達(dá)512 KB的片內(nèi)Flash程序存儲器,具有在系統(tǒng)編程(ISP)和在應(yīng)用編程(IAP)功能,同時LPC2368內(nèi)部集成了2個CAN控制器,CAN控制器提供了一個完整的CAN協(xié)議(遵循CAN規(guī)范V2.0 B)實現(xiàn)方案。包含這個片內(nèi)CAN控制器的微控制器用來構(gòu)建功能強大的局域網(wǎng),支持極高安全級別的分布式實時控制,可以用在汽車、工業(yè)環(huán)境、高速網(wǎng)絡(luò)和低價位多路連線的應(yīng)用中。系統(tǒng)還選用了CAN總線收發(fā)器MPC2551,它可作為CAN控制器與物理總線接口,提供對總線的差動發(fā)送和接收能力。
2 通信模塊設(shè)計
2.1 通信模塊硬件實現(xiàn)
本系統(tǒng)采用LPC2368內(nèi)部集成了的CAN控制器和高速CAN收發(fā)器MPC2551配合實現(xiàn)群控主機和各電梯之間的通信任務(wù)的,CAN模塊由2個部分組成:控制器和接收濾波器,所有的寄存器和RAM都作為32 bit的字來訪問。LPC2368的CAN控制器具有如下的特點:2個控制器和總線;支持11 bit和29 bit的標(biāo)識符;雙重接收緩沖器和三態(tài)發(fā)送緩沖器;可編程的錯誤報警界限和可讀/寫訪問的錯誤計數(shù)器;仲裁丟失捕獲和錯誤代碼捕獲(帶有詳細(xì)的位位置);單次觸發(fā)的發(fā)送(不會重復(fù)發(fā)送);只聽模式(無應(yīng)答、無活動錯誤標(biāo)志);“自身”報文的接收(自接收請求)[3]。
LPC2368的接收濾波器有如下的特點:快速硬件實現(xiàn)的搜索算法,支持大量的CAN標(biāo)識符;全局驗收濾波器識別所有CAN總線的11 bit和29 bit Rx標(biāo)識符;允許11 bit和29 bit CAN標(biāo)識符的明確定義和分組定義;驗收濾波器可以為選擇的標(biāo)準(zhǔn)標(biāo)識符提供FullCAN-style自動接收。
高速CAN收發(fā)器MPC2551是一個可容錯的高速CAN器件,可作為CAN協(xié)議控制器和物理總線接口。MCP2551可為CAN協(xié)議控制器提供差分收發(fā)能力,它完全符合ISO-11898標(biāo)準(zhǔn),包括能滿足24 V電壓要求。其工作速率高達(dá)1 Mb/s。典型情況下,CAN系統(tǒng)上的每個節(jié)點都必須有一個器件,把CAN控制器生成的數(shù)字信號轉(zhuǎn)化為適合總線傳輸(差分輸出)的信號。它也為CAN控制器和CAN總線上的高壓尖峰信號之間加入了緩沖器,這些高壓尖峰信號可能是由外部器件產(chǎn)生(EMI、ESD和電氣瞬態(tài)等)。
本系統(tǒng)設(shè)計的電路中,2個二極管D3與D4可有效地抑制傳輸介質(zhì)的浪涌干擾,由于電梯群控系統(tǒng)中存在多個CAN通信節(jié)點,因此本電路中加入了終端電阻跳線JP3,由用戶靈活地選擇是否在該節(jié)點處加入終端通信電阻,本系統(tǒng)設(shè)計的CAN通信電路連接如圖1。本文引用地址:http://cafeforensic.com/article/151742.htm
2.2 通信協(xié)議及通信軟件設(shè)計
2.2.1 CAN總線幀種類
CAN總線上傳輸?shù)男畔⒎Q為報文,報文傳輸按照幀結(jié)構(gòu)的不同,通??杀硎緸槿缦?種不同類型的幀:
(1)數(shù)據(jù)幀:用于發(fā)送單元向接收單元傳送數(shù)據(jù)的幀;
(2)遙控幀:用于接收單元向具有相同ID的發(fā)送單元請求數(shù)據(jù)的幀;
(3)錯誤幀:用于當(dāng)檢測出錯誤時向其他單元通知錯誤的幀;
(4)過載幀:用于接收單元通知其尚未做好接收準(zhǔn)備的幀;
(5)幀間隔:用于將數(shù)據(jù)幀及遙控幀與前面的幀分離開來的幀。
評論