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