摘 要: 設(shè)計(jì)、研發(fā)了一套基于CAN總線的酒店客房智能化系統(tǒng),介紹了該系統(tǒng)實(shí)現(xiàn)的功能、網(wǎng)絡(luò)架構(gòu)、硬件和軟件設(shè)計(jì)方案,并對(duì)其硬件成本進(jìn)行可行性分析,研發(fā)的客戶終端在實(shí)際應(yīng)用中取得了良好的效果。
關(guān)鍵詞: CAN總線;酒店客房;智能化系統(tǒng)
隨著社會(huì)的進(jìn)步和人們生活品質(zhì)的提高,酒店客房以及家居逐步實(shí)現(xiàn)智能化控制。房間的燈光控制(諸如臺(tái)燈、地?zé)簟⒗葻?、夜燈、頂燈、吧燈)、家電控制(諸如空調(diào)、電視、排風(fēng)扇)及服務(wù)控制(諸如呼叫、請(qǐng)勿打擾、清理衛(wèi)生)等都實(shí)現(xiàn)了在客人的床頭位置自動(dòng)控制,也可以通過(guò)遙控器控制,并實(shí)時(shí)把房間里面的狀態(tài)通過(guò)總線上傳到酒店的服務(wù)臺(tái)。如果酒店或家庭配有藝術(shù)化色調(diào)的燈具,就可以達(dá)到更人性化的燈光效果,例如:讀書時(shí)一鍵選擇“閱讀燈光背景模式”;用餐時(shí)一鍵選擇“餐廳燈光背景模式”;睡覺前半小時(shí)一鍵選擇“暖色調(diào)燈光背景模式”等。
酒店的服務(wù)臺(tái)也可以在計(jì)算機(jī)上面的“酒店客房管理系統(tǒng)軟件”上實(shí)時(shí)掌握客房?jī)?nèi)狀態(tài),操作控制客房?jī)?nèi)的家電、燈光、應(yīng)答客人服務(wù)。如果計(jì)算機(jī)連接互聯(lián)網(wǎng),進(jìn)而還可以實(shí)現(xiàn)遠(yuǎn)程控制,實(shí)現(xiàn)智能家居。
相對(duì)于485總線,CAN總線以其具有“成本低廉、數(shù)據(jù)傳輸距離遠(yuǎn)(最遠(yuǎn)長(zhǎng)達(dá)10 km)、數(shù)據(jù)傳輸速率高(最高達(dá)1 Mb/s)、無(wú)破壞性的基于優(yōu)先權(quán)的逐位仲裁、借助驗(yàn)收濾波器的多地址幀傳遞、遠(yuǎn)程數(shù)據(jù)請(qǐng)求、可靠的錯(cuò)誤檢測(cè)和出錯(cuò)處理功能、發(fā)送的信息遭到破壞后自動(dòng)重發(fā)、暫時(shí)錯(cuò)誤和永久性故障節(jié)點(diǎn)的判別以及故障節(jié)點(diǎn)的自動(dòng)脫離、脫離總線的節(jié)點(diǎn)不影響總線的正常工作”等優(yōu)點(diǎn),將逐步取代基于485總線構(gòu)建的酒店客房智能化管理系統(tǒng)。
1 CAN總線酒店客房智能化系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)分析
圖1是酒店客房智能化系統(tǒng)網(wǎng)絡(luò)連接結(jié)構(gòu)示意圖,系統(tǒng)主要包括酒店服務(wù)臺(tái)、CAN轉(zhuǎn)以太網(wǎng)、客房終端。
客房終端把房間內(nèi)的各種燈具、家電、服務(wù)需求按鍵綜合到一塊控制板(客戶終端),各種燈具、家電、服務(wù)需求的控制信息通過(guò)CAN總線發(fā)送至CAN轉(zhuǎn)以太網(wǎng)轉(zhuǎn)換器CANET-200,實(shí)現(xiàn)開關(guān)、按鈕、傳感器、照明設(shè)備、其他執(zhí)行器和多控制系統(tǒng)之間的數(shù)據(jù)交換,以及各操作單元之間的協(xié)作,并對(duì)各單元不斷變化的狀態(tài)實(shí)時(shí)控制。
如果酒店一個(gè)樓層內(nèi)房間較多(例如多于80個(gè),小于110個(gè)),每一個(gè)樓層內(nèi)的所有房間通過(guò)CAN總線連接組網(wǎng),然后連接一臺(tái)CAN轉(zhuǎn)以太網(wǎng)轉(zhuǎn)換器。如果一個(gè)樓層內(nèi)房間較少,可以相鄰樓層內(nèi)的房間通過(guò)CAN總線組網(wǎng),再連接到CAN轉(zhuǎn)以太網(wǎng)轉(zhuǎn)換器。但是房間總數(shù)不要超過(guò)110個(gè),因?yàn)橐粭lCAN總線上最多接110個(gè)節(jié)點(diǎn)。
不同樓層之間通過(guò)以太網(wǎng)和酒店服務(wù)臺(tái)的計(jì)算機(jī)連接組網(wǎng),服務(wù)臺(tái)處的計(jì)算機(jī)是可以直接控制客房終端,以及實(shí)時(shí)讀取客房終端狀態(tài)的前臺(tái)設(shè)備。
CAN總線在較低的通信波特率下,例如5 kb/s,通信距離可以達(dá)到10 km。圖1中可以用CAN中繼器代替CAN轉(zhuǎn)以太網(wǎng)轉(zhuǎn)換器,以實(shí)現(xiàn)低成本組網(wǎng)連接。之所以選擇使用CAN轉(zhuǎn)以太網(wǎng)轉(zhuǎn)換器,是考慮到通過(guò)網(wǎng)絡(luò)遠(yuǎn)程控制客房終端,或者將來(lái)適用于網(wǎng)絡(luò)控制家庭用戶內(nèi)的設(shè)備,實(shí)現(xiàn)遠(yuǎn)程智能化家居控制。
2 酒店智能化系統(tǒng)通信協(xié)議及CAN地址分配
Basiccan和Pelican都是CAN總線通信協(xié)議,CAN控制器SJA1000支持兩種協(xié)議的通信。Basiccan具有11位標(biāo)識(shí)符,占有2 B,支持標(biāo)準(zhǔn)幀格式;Pelican具有29位標(biāo)識(shí)符,占有4 B,支持標(biāo)準(zhǔn)幀和擴(kuò)展幀。
考慮到Pelican通信協(xié)議在組網(wǎng)的靈活方便和可擴(kuò)充性方面的優(yōu)勢(shì),酒店客房智能化系統(tǒng)客戶終端的CAN總線通信協(xié)議選用Pelican。但是Pelican通信協(xié)議也有其弊端:其標(biāo)識(shí)符相對(duì)于標(biāo)準(zhǔn)幀格式下多占用兩個(gè)字節(jié),在通信時(shí)間上相對(duì)較長(zhǎng)。酒店客房智能化系統(tǒng)客戶終端的CAN總線通信波特率為400 b/s。多占用的兩個(gè)字節(jié),16 bit,通信占用的時(shí)間僅有16 bit/(400 b/s*1 024 bit/K)=39 μs。因此,這對(duì)通信速率的影響微不足道。
CAN總線酒店智能化系統(tǒng)地址分配表如表1所示。CAN地址分配在寄存器方面涉及到ACR和AMR;在地址識(shí)別方面涉及到Pelican模式下29位標(biāo)識(shí)符的分配使用問題。使用ID28~ID21高8位作為樓層ID識(shí)別,共可以識(shí)別256個(gè)樓層;使用ID20~ID0作為樓層內(nèi)的客房終端ID識(shí)別;CAN轉(zhuǎn)以太網(wǎng)轉(zhuǎn)換器CANET-200也可以設(shè)置不同的TCP/IP地址,用于一臺(tái)CAN轉(zhuǎn)以太網(wǎng)轉(zhuǎn)換器連接的多個(gè)客戶終端群的地址識(shí)別。分層式的CAN地址配置,以及CAN轉(zhuǎn)以太網(wǎng)轉(zhuǎn)換器的TCP/IP地址,可以實(shí)現(xiàn)故障終端的快速定位,方便售后的維護(hù)使用。
3 客戶終端硬件電路設(shè)計(jì)
3.1 客戶終端硬件電路
酒店客房智能化系統(tǒng)客戶終端采用STC89C58單片機(jī)作為節(jié)點(diǎn)的微處理器,主要涉及到6大部分硬件電路:多控制按鍵、多繼電器驅(qū)動(dòng)、CAN總線傳輸、燈具調(diào)光、多電源電路、ADC采集設(shè)計(jì)。客戶端的硬件構(gòu)成示意圖如圖2所示。
多按鍵中斷設(shè)計(jì)采用兩片74LS48和一片74HC08搭建編碼電路,實(shí)現(xiàn)16路按鍵(SW0~SW15)輸入,4位BCD編碼(74HC08_A0~74HC08_A3)輸出和一個(gè)中斷(74HC08_INT)輸出,在中斷程序中識(shí)別具體按鍵狀態(tài)。
多繼電器驅(qū)動(dòng)電路設(shè)計(jì)通過(guò)串聯(lián)3片74HC595實(shí)現(xiàn)24路輸出,其中的16路輸出通過(guò)驅(qū)動(dòng)芯片UN2003驅(qū)動(dòng)16個(gè)繼電器;8路輸出用于控制服務(wù)狀態(tài)指示燈。
CAN總線傳輸電路設(shè)計(jì)中采用PHILIPS公司的“獨(dú)立CAN總線通信控制器SJA1000”芯片、CAN總線收發(fā)器選用TJA1040芯片;為了增加抗干擾特性,采用6N137高速光耦及DC-DC隔離模塊構(gòu)成光電隔離電路。
客戶終端需要3種電源:直流5 V、直流9 V、CAN電路隔離直流5 V。為此,選用市電交流220 V輸入,兩路交流輸出8 V、9 V的電源模塊。8 V交流輸出經(jīng)過(guò)整流、濾波、穩(wěn)壓后,調(diào)理輸出5 V直流電源,用于單片機(jī)等芯片的供電;經(jīng)過(guò)DC-DC隔離模塊B0505_25W后,輸出的隔離5 V電源,用于CAN總線部分電路的供電;9 V交流輸出經(jīng)過(guò)調(diào)理后,用于驅(qū)動(dòng)控制16路繼電器。
3.2 客戶終端硬件成本分析
項(xiàng)目的開發(fā)一般分為需求分析、解決方案、項(xiàng)目的實(shí)現(xiàn)、項(xiàng)目的總結(jié)和改進(jìn)。其中在解決方案階段中的“開發(fā)成本分析”是影響企業(yè)利潤(rùn)的關(guān)鍵。
16路按鍵、16路繼電器、CAN總線芯片SJA1000數(shù)據(jù)/地址和控制總線占用13個(gè)I/O,另外還有主副開關(guān)、ADC0832芯片等占用多個(gè)I/O。如果選用引腳I/O豐富的MCU,諸如LPC2100、LPC2292等,則可以使硬件設(shè)計(jì)變得簡(jiǎn)單。但是考慮到芯片的價(jià)格,以及與之對(duì)應(yīng)的利潤(rùn)、售后換件維修成本因素等,決定選用STC89C58單片機(jī),其價(jià)格只有6~8元人民幣。
STC89C58單片機(jī)只有40個(gè)引腳,怎樣解決I/O不夠用的問題呢?
16路按鍵設(shè)計(jì),采用74LS148和74HC08搭建“16轉(zhuǎn)4”帶有中斷的按鍵設(shè)計(jì),配合中斷只需讀出4個(gè)I/O的編碼,即可識(shí)別出按鍵狀態(tài);
16路繼電器和LED指示燈設(shè)計(jì),采用8位串行輸入-移位輸出寄存器74HC595和驅(qū)動(dòng)芯片UN2003設(shè)計(jì),只需占用3個(gè)I/O即可實(shí)現(xiàn)要求的控制功能。選用74HC595的弊端是串行驅(qū)動(dòng)繼電器速度相對(duì)較慢,但是足以滿足酒店客房智能化系統(tǒng)的需求。
STC89C58單片機(jī)的其他I/O資源供芯片SJA1000、主副開關(guān)、ADC0832芯片等使用。
4 CAN總線酒店客房智能化系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)的軟件設(shè)計(jì)包括“上位機(jī)管理軟件設(shè)計(jì)”、“CAN總線通信軟件設(shè)計(jì)”、“客戶終端數(shù)據(jù)的采集、控制與信息處理軟件設(shè)計(jì)”。CAN總線通信程序流程圖如圖3所示。
上位機(jī)管理軟件設(shè)計(jì)采用C#編寫,主要完成酒店客房?jī)?nèi)的門鎖、燈具、家電、溫度傳感器、服務(wù)需求等信息的管理,以及顯示實(shí)時(shí)的動(dòng)態(tài)數(shù)據(jù);向客戶終端下發(fā)控制狀態(tài)字;存儲(chǔ)歷史數(shù)據(jù)和打印報(bào)表。
CAN總線通信軟件設(shè)計(jì)采用C語(yǔ)言編寫,主要實(shí)現(xiàn)CAN總線通信協(xié)議、與上位機(jī)的握手協(xié)議的制定。在CAN總線通信軟件設(shè)計(jì)中,SJA1000的初始化程序至關(guān)重要,其流程圖如圖4所示。
客戶終端數(shù)據(jù)的采集、控制、信息處理軟件用C語(yǔ)言編寫,主要實(shí)現(xiàn)3種功能:一是采集客房?jī)?nèi)的門鎖、燈具、家電、溫度傳感器、服務(wù)需求的實(shí)時(shí)狀態(tài);二是接收上位機(jī)的控制狀態(tài)字,控制客房?jī)?nèi)的燈具、家電的開關(guān)狀態(tài);三是對(duì)采集的狀態(tài)信息進(jìn)行編碼信息處理,以及對(duì)接收到的控制狀態(tài)字進(jìn)行解碼信息處理。
CAN總線作為一種技術(shù)先進(jìn)、可靠性高、功能完善、成本較低的網(wǎng)絡(luò)通信控制方式,將在智能家居、樓宇自動(dòng)化領(lǐng)域得到越來(lái)越廣泛應(yīng)用。本系統(tǒng)經(jīng)過(guò)研發(fā)、試驗(yàn)、調(diào)試,已經(jīng)在酒店客房智能化系統(tǒng)中得到應(yīng)用,系統(tǒng)工作穩(wěn)定、高效,滿足實(shí)用要求。
參考文獻(xiàn)
[1] Philips Semiconductors. CAN Specification Version 2.0, Parts A and B. 1992.
[2] Philips Semiconductors. Data Sheet SJA1000, Stand-alone CAN Controller.
[3] Philips Semiconductors. Preliminary Data Sheet TJA1040, High speed CAN transceiver. 2001 Nov 12.
[4] 宏晶科技.STC89C51RC/RD+系列單片機(jī)器件手冊(cè).2007.
[5] 廣州致遠(yuǎn)電子有限公司,群星系列CAN接口應(yīng)用.2009.