摘要:本文提出了一種基于CAN總線的分布式停車場燈光智能控制系統(tǒng)的設(shè)計(jì)方案,介紹了該智能控制系統(tǒng)的軟件、硬件設(shè)計(jì)方法。該系統(tǒng)具有結(jié)構(gòu)簡單、高可靠性、高性能價(jià)格比等特點(diǎn),具有廣闊的應(yīng)用前景。
關(guān)鍵詞:CAN總線 停車場照明智能控制 組態(tài)技術(shù)
CAN(Controller Area Network——控制器局域網(wǎng))是一種有效支持分布式控制和實(shí)時(shí)控制的串行通信網(wǎng)絡(luò),具有可靠性高、成本低、配置靈活、數(shù)據(jù)傳輸距離遠(yuǎn)、數(shù)據(jù)傳輸速率快等優(yōu)點(diǎn),已經(jīng)成為國際上應(yīng)用最廣泛的現(xiàn)場總線之一。
目前大部分的地下停車場都需要大量的照明設(shè)備進(jìn)行長期照明,采用傳統(tǒng)的連續(xù)照明方式或聲控照明方式很難實(shí)現(xiàn)照明的自動控制,且會造成巨大的能源浪費(fèi)和設(shè)備損耗。國外雖然有類似的燈光智能控制系統(tǒng),但價(jià)格很高,限制了它的廣泛應(yīng)用。本文提出了一種基于CAN總線技術(shù)開發(fā)的分布式停車場燈光智能控制系統(tǒng),能夠解決停車場內(nèi)照明智能控制問題,降低停車場內(nèi)的布線復(fù)雜度,減少安裝費(fèi)用并大大延長停車場內(nèi)照明設(shè)備的使用壽命,具有良好的應(yīng)用前景。
1 分布式停車場燈光智能控制系統(tǒng)的基本原理
該智能控制系統(tǒng)的結(jié)構(gòu)如圖1所示。系統(tǒng)主要由上位機(jī)、CAN適配器、控制節(jié)點(diǎn)(包括出入口控制節(jié)點(diǎn)和現(xiàn)場控制節(jié)點(diǎn))等部分構(gòu)成,各節(jié)點(diǎn)間通過CAN總線進(jìn)行通信。
當(dāng)有車輛進(jìn)入停車場時(shí),可以根據(jù)車牌號決定該車入庫時(shí)的行車路線及車位,根據(jù)預(yù)定的行車路線,選擇相應(yīng)的照明控制方案。
各現(xiàn)場控制節(jié)點(diǎn)檢測各通道入口是否有車輛經(jīng)過,當(dāng)檢測到過往車輛時(shí),控制器打開車輛附近相關(guān)的照明回路,同時(shí)通過CAN總線向網(wǎng)絡(luò)上的其他節(jié)點(diǎn)發(fā)布消息;其他節(jié)點(diǎn)根據(jù)接收到的消息以及事先預(yù)定的控制方案打開有關(guān)的照明回路。
在出入口的控制節(jié)點(diǎn)可以實(shí)時(shí)監(jiān)測并顯示各個(gè)照明回路的開關(guān)狀態(tài)。同時(shí)出入口節(jié)點(diǎn)也可根據(jù)需要進(jìn)行手工控制,實(shí)現(xiàn)對停車場內(nèi)每一個(gè)回路的開關(guān)控制,以應(yīng)付一些緊急事件。
為了讓系統(tǒng)能夠適應(yīng)不同的使用環(huán)境,同時(shí)能夠根據(jù)用戶的需要隨時(shí)改變照明方案,該系統(tǒng)采用現(xiàn)場可編程技術(shù),可由上位機(jī)通過CAN總線,將各個(gè)節(jié)點(diǎn)的控制方案下載到各控制節(jié)點(diǎn),實(shí)現(xiàn)照明方案的現(xiàn)場編輯、現(xiàn)場修改及現(xiàn)場下載。
系統(tǒng)中CAN適配器的作用是將CAN總線上的命令通過串口或USB口傳給上位機(jī),也可以將上位機(jī)的命令轉(zhuǎn)換成CAN命令發(fā)送給系統(tǒng)中的其它節(jié)點(diǎn)。
2 系統(tǒng)硬件設(shè)計(jì)
控制節(jié)點(diǎn)按功能可以劃分為不同的類型,但是其基本的結(jié)構(gòu)相同。控制節(jié)點(diǎn)的電路結(jié)構(gòu)如圖2所示。主要由微控制器、CAN總線驅(qū)動器、外部存儲器、串行接口、電源部分等組成。
微控制器采用PHILIPS公司的P87C591,P87C591 是一個(gè)單片8 位高性能微控制器,具有片內(nèi)CAN 控制器,它采用了 80C51 指令集并成功的包括了Philips 半導(dǎo)體SJA1000 CAN 控制器的Pelican 功能(該模式支持具有很多新特性的 CAN2.0B協(xié)議),同時(shí)該微控制器具有內(nèi)置看門狗,內(nèi)部程序存儲器為16K字節(jié)。采用該控制器可以大大簡化電路設(shè)計(jì)并節(jié)省應(yīng)用空間。
外部存儲器的作用是存儲從上位機(jī)下載下來的控制方案。外部存儲器采用RAMTRON公司的FM25640。該芯片采用鐵電存儲技術(shù),具有高速非易失的特性,采用SPI接口連接,容量是64K位。該芯片用于存儲節(jié)點(diǎn)間的控制方案,同時(shí)也可以當(dāng)作系統(tǒng)的緩沖區(qū)。
繼電器接口用于連接控制節(jié)點(diǎn)與照明回路,通過該接口控制節(jié)點(diǎn)可以控制照明設(shè)備的開關(guān)。
串行接口電路采用標(biāo)準(zhǔn)RS-232接口芯片——MAX202,使用該接口可以使節(jié)點(diǎn)在無需連接網(wǎng)絡(luò)的情況下也可以進(jìn)行節(jié)點(diǎn)間互連關(guān)系的上傳和下載,同時(shí)也可以當(dāng)作調(diào)試的接口。8位撥碼開關(guān)用于設(shè)定節(jié)點(diǎn)的邏輯地址,各個(gè)節(jié)點(diǎn)根據(jù)這個(gè)邏輯地址進(jìn)行相互識別。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 上位機(jī)管理軟件設(shè)計(jì)
上位機(jī)管理軟件實(shí)現(xiàn)的主要功能如下:
1) 系統(tǒng)控制方案的新建、修改、保存:用戶可以通過管理軟件建立并修改控制方案,或者將控制方案以文件形式保存,以備以后使用。
2) 系統(tǒng)控制方案的上傳、下載:管理軟件可以將網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)的所存儲的控制方案上傳到上位機(jī),也可以將控制方案通過CAN總線下載到各個(gè)節(jié)點(diǎn)中去。
3) 實(shí)時(shí)監(jiān)測系統(tǒng)各個(gè)回路的狀態(tài):系統(tǒng)通過CAN接口卡可以實(shí)時(shí)監(jiān)測CAN總線上傳送的各種命令,并可以在上位機(jī)上顯示出各個(gè)回路的開關(guān)狀態(tài)。
4) 控制系統(tǒng)各回路的開關(guān)狀態(tài):用戶可以通過管理軟件向系統(tǒng)中其它節(jié)點(diǎn)發(fā)送控制命令,控制系統(tǒng)中任意回路的開關(guān)。
上位機(jī)管理軟件采用組態(tài)技術(shù)和圖形化編輯界面,用戶可以通過組態(tài)方式或者通過表格方式建立、修改控制方案。管理軟件也通過圖形方式實(shí)時(shí)顯示系統(tǒng)中各個(gè)回路的狀態(tài)的。
3.2 控制節(jié)點(diǎn)的軟件設(shè)計(jì)
3.2.1 控制節(jié)點(diǎn)軟件實(shí)現(xiàn)功能
控制節(jié)點(diǎn)軟件實(shí)現(xiàn)的主要功能如下:
1) 系統(tǒng)的初始化:包括串口的初始化、CAN控制器的初始化、定時(shí)器的初始化以及系統(tǒng)主要變量的初始化。
2) 外部存儲器資源的分配、管理:包括對FM25640讀寫的基本操作,以及建立在這些操作上的對節(jié)點(diǎn)控制方案的管理。
3) CAN命令的發(fā)送、接收及解釋:包括對其它節(jié)點(diǎn)發(fā)送的CAN命令的接收、識別、解釋,以及相應(yīng)的應(yīng)答命令的發(fā)送。
4) 串口命令的發(fā)送、接收及解釋:包括串口命令的接收、識別、解釋,以及相應(yīng)的應(yīng)答命令的發(fā)送。
5) 傳感器信號的檢測:包括傳感器組的連續(xù)檢測,以及檢測到信號時(shí)所進(jìn)行的相應(yīng)處理。
6) 照明回路的控制。
7) 定時(shí)器的管理。
3.2.2 控制節(jié)點(diǎn)軟件工作流程
控制節(jié)點(diǎn)的程序采用C51設(shè)計(jì),這樣可以大大簡化程序設(shè)計(jì)的復(fù)雜度??刂乒?jié)點(diǎn)的主程序框圖如圖3所示。
在系統(tǒng)初始化后,程序循環(huán)查詢傳感器接口、串口和CAN接口。當(dāng)檢測到傳感器有信號輸出時(shí),程序在打開附近的照明回路的同時(shí)也通過CAN總線向其他節(jié)點(diǎn)發(fā)送該傳感器的信息。其余的控制節(jié)點(diǎn)一旦接收到該信息,便會查詢存儲在外部存儲器中的控制方案信息,然后打開與該傳感器相關(guān)聯(lián)的照明回路,從而實(shí)現(xiàn)控制方案指定的照明方式。
控制節(jié)點(diǎn)的CAN中斷程序的框圖如圖4所示。當(dāng)節(jié)點(diǎn)接收到一條CAN幀,中斷處理程序讀出該命令,并置CAN命令接收標(biāo)志,等待命令處理子程序的處理。
為了方便控制節(jié)點(diǎn)的安裝與調(diào)試,在主程序中特別加入了串口處理程序。使用者可以通過發(fā)送串口命令測試控制節(jié)點(diǎn)的各項(xiàng)功能,也可以通過串口上傳、下載控制方案。
3.2.3 現(xiàn)場可編程功能的實(shí)現(xiàn)
為了實(shí)現(xiàn)該系統(tǒng)的現(xiàn)場可編程功能,每一個(gè)控制節(jié)點(diǎn)都應(yīng)該存儲本節(jié)點(diǎn)的照明回路與網(wǎng)絡(luò)中其他節(jié)點(diǎn)的傳感器的邏輯關(guān)系表。邏輯關(guān)系表的結(jié)構(gòu)如下:
上表表示節(jié)點(diǎn)的各個(gè)照明回路與系統(tǒng)中某一節(jié)點(diǎn)的的傳感器(包括本節(jié)點(diǎn))的互連關(guān)系。如果表項(xiàng)中對應(yīng)值為1,則表示對應(yīng)的照明回路與傳感器相關(guān)聯(lián),一旦傳感器有信號,相關(guān)的照明回路就會被打開。關(guān)系表中的各項(xiàng)的值可以隨時(shí)改變,并通過上位機(jī)或串口重新下載到存儲器中。
假設(shè)網(wǎng)絡(luò)中有N個(gè)控制節(jié)點(diǎn),每一個(gè)節(jié)點(diǎn)中將會存儲N-1張關(guān)系表,對應(yīng)于網(wǎng)絡(luò)中的其余N-1個(gè)節(jié)點(diǎn)。一旦某一節(jié)點(diǎn)在CAN上發(fā)送傳感器消息,其余的節(jié)點(diǎn)接收到該消息后就會從對應(yīng)于發(fā)出消息的節(jié)點(diǎn)的關(guān)系表中查找與該傳感器關(guān)聯(lián)的照明回路并打開這些回路。這樣一旦有車輛進(jìn)入停車場,該控制系統(tǒng)就會打開控制方案規(guī)定的所有的照明回路,實(shí)現(xiàn)照明的智能化。
4 結(jié)束語
通過對系統(tǒng)軟件、硬件的反復(fù)調(diào)試,該分布式燈光智能控制系統(tǒng)顯示出了傳統(tǒng)的停車場燈光控制系統(tǒng)無法比擬的優(yōu)越性,可以有效減少小區(qū)地下停車場照明系統(tǒng)的安裝和維護(hù)費(fèi)用,具有良好的應(yīng)用前景和推廣價(jià)值。