基于CAN 總線的智能家電遠(yuǎn)程監(jiān)控系統(tǒng)
引言
本文引用地址:http://butianyuan.cn/article/163546.htm隨著人類社會(huì)的進(jìn)步和科學(xué)技術(shù)的迅猛發(fā)展,特別是4C技術(shù)(Computer,Communication, Control和CRT Technology)的發(fā)展,人類開始邁入數(shù)字化和網(wǎng)絡(luò)化為平臺(tái)的智能化社會(huì)。信息化社會(huì)在改變我們生活方式與工作習(xí)慣的同時(shí),也向傳統(tǒng)的住宅提出了挑戰(zhàn)。智能家居網(wǎng)絡(luò)系統(tǒng)以4C技術(shù)為基礎(chǔ),采用先進(jìn)、成熟的設(shè)備和產(chǎn)品以及先進(jìn)的管理軟件,對(duì)整個(gè)家居的信息通信、安全防范、報(bào)警求助集中于統(tǒng)一的平臺(tái)上進(jìn)行管理。它不僅已經(jīng)成為一個(gè)國(guó)家經(jīng)濟(jì)實(shí)力和科學(xué)技術(shù)的綜合標(biāo)志之一,而且也是人類社會(huì)住宅發(fā)展的必然趨勢(shì)。
CAN總線是目前流行的現(xiàn)場(chǎng)總線技術(shù)之一,依靠可靠性高、價(jià)格低廉的優(yōu)勢(shì),已得到了廣泛的應(yīng)用[1]。CAN總線采取了許多新技術(shù)及獨(dú)特的設(shè)計(jì),與一般的通信總線相比,它的數(shù)據(jù)通信具有突出的可靠性、實(shí)時(shí)性和靈活性。CAN總線上的節(jié)點(diǎn)數(shù)主要取決于總線驅(qū)動(dòng)電路,目前可達(dá)110個(gè)。這個(gè)特點(diǎn)正好解決了家庭領(lǐng)域中家用電器種類繁多,分布零散的問題。CAN總線采用節(jié)點(diǎn)ID標(biāo)示每個(gè)節(jié)點(diǎn),而不需要專門為每個(gè)節(jié)點(diǎn)設(shè)置地址,這就可以任意添加或刪除節(jié)點(diǎn)而不用對(duì)總線上的其他節(jié)點(diǎn)進(jìn)行任何修改。
1 系統(tǒng)總體設(shè)計(jì)
本系統(tǒng)在CAN網(wǎng)絡(luò)的基礎(chǔ)上添加智能控制器與Internet的網(wǎng)絡(luò)接口,從而實(shí)現(xiàn)智能家居的遠(yuǎn)程監(jiān)控。智能家電遠(yuǎn)程監(jiān)控系統(tǒng)如圖1所示。
圖1 智能家電遠(yuǎn)程監(jiān)控系統(tǒng)
由圖1可知系統(tǒng)由三部分組成:CAN網(wǎng)絡(luò),智能控制器和Internet。CAN網(wǎng)絡(luò)就是通過CAN總線把家庭安防、遠(yuǎn)程抄表、環(huán)境調(diào)節(jié)、娛樂功能和家電控制等節(jié)點(diǎn)模塊組成家庭局域網(wǎng),以實(shí)現(xiàn)數(shù)據(jù)和控制信息的快速傳輸,各個(gè)節(jié)點(diǎn)模塊是由8位MCU+CAN控制器+CAN收發(fā)器+相應(yīng)的傳感器/控制器組成,我們把各個(gè)節(jié)點(diǎn)模塊稱之為智能節(jié)點(diǎn);智能控制器選用的是Philips公司的內(nèi)部集成CAN控制器的32位微處理器LPC2294,只需連接CAN收發(fā)器即可成為CAN網(wǎng)絡(luò)的一個(gè)節(jié)點(diǎn),這樣再通過擴(kuò)展網(wǎng)絡(luò)接口就實(shí)現(xiàn)了CAN網(wǎng)絡(luò)與Internet的信息交換,達(dá)到遠(yuǎn)程監(jiān)控的目的;Internet的發(fā)展極大的加快了信息的傳遞,任何接入互聯(lián)網(wǎng)的電腦都可以用來監(jiān)控我們的系統(tǒng),當(dāng)然安全性也是我們必須考慮的。
1.1 監(jiān)控系統(tǒng)的主要功能
監(jiān)控系統(tǒng)主要完成以下功能:
(1)家庭安防:安全是居民對(duì)日常生活的首要要求,安防因此成為遠(yuǎn)程家庭信息監(jiān)控系統(tǒng)的首要組成部分,例如:紅外報(bào)警、門窗磁報(bào)警、緊急求助報(bào)警、燃?xì)庑孤﹫?bào)警、火災(zāi)報(bào)警等。當(dāng)紅外報(bào)警裝置工作時(shí),如果家中有人走動(dòng),系統(tǒng)就會(huì)自動(dòng)通過蜂鳴器和語(yǔ)音實(shí)現(xiàn)本地報(bào)警;同時(shí),報(bào)警信息會(huì)被及時(shí)地傳到物業(yè)中心或110報(bào)警中心,還可以自動(dòng)撥號(hào)到指定的手機(jī)或電話上。
(2)遠(yuǎn)程抄表:水、電、氣表的遠(yuǎn)程自動(dòng)抄收計(jì)費(fèi)是物業(yè)管理的重要部分,實(shí)現(xiàn)三表的自動(dòng)抄表計(jì)費(fèi),解決了入戶抄表的低效率、不安全和對(duì)住戶造成干擾等因素。
(3)家電控制:通過統(tǒng)一的家電聯(lián)網(wǎng)接口,將網(wǎng)絡(luò)家電和遠(yuǎn)程家庭信息監(jiān)控系統(tǒng)相連,組成網(wǎng)絡(luò)家電系統(tǒng),實(shí)現(xiàn)家用電器的遠(yuǎn)程監(jiān)控和故障診斷等功能。
(4)環(huán)境調(diào)節(jié):室內(nèi)的環(huán)境是人們居住首先考慮的因素。環(huán)境調(diào)節(jié)是智能家居的主要組成部分,例如:溫度設(shè)定,用戶可任意設(shè)定并寫該室內(nèi)的溫度;溫度控制,監(jiān)測(cè)當(dāng)前室內(nèi)溫度值。該值被送給空調(diào)機(jī)組,其與設(shè)定值的差值送給自己的空調(diào)末端設(shè)備控制節(jié)點(diǎn)。
(5)娛樂功能:包括視聽娛樂和游戲等,視聽娛樂包括州V播放、家庭影院、投影機(jī)、電視自動(dòng)錄像等。
2 智能控制器的硬件設(shè)計(jì)
系統(tǒng)選用功能強(qiáng)大的帶有CAN接口的32 位微處理器LPC2294,運(yùn)行基于特定應(yīng)用的嵌入式實(shí)時(shí)操作系統(tǒng),實(shí)現(xiàn)合理的任務(wù)調(diào)度,滿足控制系統(tǒng)對(duì)實(shí)時(shí)性和可靠性的要求。
LPC2294是一款功能強(qiáng)大、超低功耗的具有ARM7TDMI-S 內(nèi)核的32 bit微處理器[2]。具有2個(gè)32bit定時(shí)器、4路CAN通道、2個(gè)UART、高速IIC接口以及9個(gè)外部中斷,內(nèi)部嵌入256KB 高速Flash存儲(chǔ)器和16 KB靜態(tài)RAM, 112個(gè)通用I/O口。其內(nèi)部集成的4路CAN控制器, 符合CAN 規(guī)范CAN2. 0B, ISO 1189821標(biāo)準(zhǔn)。
2.1 外擴(kuò)ROM和RAM
1)Flash ROM:雖然LPC2294內(nèi)部嵌入256KB 高速Flash存儲(chǔ)器和16 KB靜態(tài)RAM,可以滿足一般的控制要求。但是我們需要外擴(kuò)一個(gè)容量相對(duì)大的FlashROM來保存監(jiān)測(cè)到的歷史數(shù)據(jù),以便查看和打印。為了滿足操作系統(tǒng)及其文件系統(tǒng)的存儲(chǔ)要求,系統(tǒng)選用了2M Flash ROM器件SST39V160作為存儲(chǔ)介質(zhì)。
2)EEPROM:LPC2294內(nèi)部沒有集成EEPROM,要將家電設(shè)備編號(hào)保存下來, 故外擴(kuò)了容量為1024 Byte的顯存。
3)SDRAM:嵌入式操作系統(tǒng)的運(yùn)行需要?jiǎng)討B(tài)ARM,而芯片LPC2294內(nèi)部提供的16K靜態(tài)RAM主要用來為7種工作模式分配堆棧和臨時(shí)變量分配空間,需要在外部總線上擴(kuò)充SDRAM(HY57v641620H)芯片,解壓縮后的操作系統(tǒng)將駐留在其內(nèi)。
2.2 鍵盤和液晶顯示
為便于控制新掛接在CAN總線上的家電設(shè)備,實(shí)時(shí)顯示家電設(shè)備的運(yùn)行情況,設(shè)計(jì)了鍵盤輸入與LED顯示。為了充分利用LPC2294的I2 C接口,以及減少電路的復(fù)雜性,采用了ZLG7290 I2C接口鍵盤及LED驅(qū)動(dòng)器。ZLG7290的I2 C接口傳輸速率可達(dá)32 kb / s,易與處理器接口,并提供鍵盤中斷信號(hào),提高主處理器工作效率。
按鍵使用了數(shù)字鍵( 0~9) ,用于輸入和修改數(shù)字,可連擊實(shí)現(xiàn)快速輸入和修改數(shù)字;移位鍵在修改模式下,用于選擇要修改的位;加1鍵在修改模式下將當(dāng)前要修改的位進(jìn)行加1操作(在0~9之間循環(huán)) ;模式鍵實(shí)現(xiàn)進(jìn)入/退出修改模式,不允許連擊;確認(rèn)鍵在修改模式下將修改好的數(shù)據(jù)寫入EEPROM中。
2.3 網(wǎng)絡(luò)接口
RTL8019AS與以太網(wǎng)的連接由PM34 C
圖2 RTL8019AS與網(wǎng)絡(luò)介質(zhì)之間的連接
3 智能控制器的軟件設(shè)計(jì)
為了便于系統(tǒng)的擴(kuò)展和升級(jí),同時(shí)更好地協(xié)調(diào)控制系統(tǒng)的穩(wěn)定性及實(shí)時(shí)性,系統(tǒng)采用了嵌入式操作系統(tǒng)uClinux進(jìn)行設(shè)計(jì)開發(fā)。
3.1 嵌入式操作系統(tǒng)uClinux
uClinux是Linux2.0的一個(gè)分支,它被設(shè)計(jì)用于沒有MMU的微控制器領(lǐng)域。uClinux的最大特征就是沒有MMU(內(nèi)存管理單元模塊),它很適合那些沒有MMU的處理器,如ARM7TDMI。uClinux具有完全的TCP/IP協(xié)議棧,同時(shí)對(duì)其他許多的網(wǎng)絡(luò)協(xié)議都提供支持。這些網(wǎng)絡(luò)協(xié)議都在uClinux上得到了很好的實(shí)現(xiàn)。
通過使用嵌入式uClinux,它既保存了原先Linux操作系統(tǒng)穩(wěn)定性、功能強(qiáng)大等優(yōu)點(diǎn),又對(duì)內(nèi)核的代碼重新編寫,減少了內(nèi)核容量,提高了效率[4]。實(shí)時(shí)性方面,可以使用進(jìn)程間通信如管道、消息隊(duì)列、共享內(nèi)存等方法將CAN總線的接收中斷與應(yīng)用程序直接關(guān)聯(lián),加快系統(tǒng)對(duì)CAN總線事件的響應(yīng)速度。進(jìn)一步可以通過RTLinux和RTAI(Real Time Application Interface)這兩種方案增強(qiáng)uClinux的實(shí)時(shí)性。主要包括:下載uClinux源代碼,實(shí)現(xiàn)在LPC2294上的移植、編寫驅(qū)動(dòng)程序、在uClinux系統(tǒng)下編寫應(yīng)用軟件。
3.2 系統(tǒng)軟件設(shè)計(jì)
為了充分利用LPC2294有限的內(nèi)存資源,應(yīng)盡量減少任務(wù)個(gè)數(shù)及任務(wù)之間的頻繁切換,可以將優(yōu)先級(jí)相近且運(yùn)行周期相近的功能整合到同一任務(wù)中。通過實(shí)時(shí)性分析,結(jié)合各功能運(yùn)行周期的要求,系統(tǒng)分為以下3個(gè)任務(wù):
(1)系統(tǒng)監(jiān)控與報(bào)警。此任務(wù)保證控制器與CAN總線上的智能家電設(shè)備進(jìn)行實(shí)時(shí)通信,及時(shí)了解總線上家電的運(yùn)行情況并作相應(yīng)處理。此任務(wù)運(yùn)行周期為100ms,優(yōu)先級(jí)最高。確保系統(tǒng)運(yùn)行的可靠性和響應(yīng)的及時(shí)性。
(2)遠(yuǎn)程通信任務(wù)。主要是實(shí)現(xiàn)系統(tǒng)信息與TCP/IP數(shù)據(jù)的轉(zhuǎn)換,以實(shí)現(xiàn)家電的遠(yuǎn)程檢測(cè)和控制。任務(wù)的實(shí)時(shí)性較高,把其優(yōu)先級(jí)設(shè)為次級(jí)高。
(3)LED顯示任務(wù)。主要是顯示實(shí)時(shí)的溫度,濕度等室內(nèi)環(huán)境參數(shù)和電器設(shè)備狀態(tài)。無實(shí)時(shí)要求,優(yōu)先級(jí)最低。
4 結(jié)論
本系統(tǒng)通過擴(kuò)展LPC2294芯片,組成了智能控制器,實(shí)現(xiàn)了家用電器的集中監(jiān)測(cè)和控制。通過移植嵌入式系統(tǒng)使得系統(tǒng)更加穩(wěn)定和靈活,與互聯(lián)網(wǎng)的連接則實(shí)現(xiàn)了家庭安防和家電的遠(yuǎn)程監(jiān)控。系統(tǒng)達(dá)到了集中控制與遠(yuǎn)程控制的目的。
評(píng)論