<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于CAN 總線的智能家電遠程監(jiān)控系統(tǒng)

          基于CAN 總線的智能家電遠程監(jiān)控系統(tǒng)

          作者: 時間:2009-09-29 來源:網(wǎng)絡(luò) 收藏

          引言

          本文引用地址:http://www.ex-cimer.com/article/163546.htm

          隨著人類社會的進步和科學技術(shù)的迅猛發(fā)展,特別是4C技術(shù)(ComputerCommunication, ControlCRT 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ā)展的必然趨勢。

          是目前流行的現(xiàn)場技術(shù)之一,依靠可靠性高、價格低廉的優(yōu)勢,已得到了廣泛的應(yīng)用[1]采取了許多新技術(shù)及獨特的設(shè)計,與一般的通信總線相比,它的數(shù)據(jù)通信具有突出的可靠性、實時性和靈活性。總線上的節(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)控。智能如圖1所示。

          1 智能

          由圖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é)點模塊是由8MCU+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)主要完成以下功能:

          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]。具有232bit定時器、4CAN通道、2UART、高速IIC接口以及9個外部中斷,內(nèi)部嵌入256KB 高速Flash存儲器和16 KB靜態(tài)RAM, 112個通用I/O口。其內(nèi)部集成的4CAN控制器, 符合CAN 規(guī)范CAN2. 0B, ISO 1189821標準。

          2.1 外擴ROMRAM

          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ì)。

          2EEPROMLPC2294內(nèi)部沒有集成EEPROM,要將家電設(shè)備編號保存下來, 故外擴了容量為1024 Byte的顯存。

          3SDRAM:嵌入式操作系統(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顯示。為了充分利用LPC2294I2 C接口,以及減少電路的復(fù)雜性,采用了ZLG7290 I2C接口鍵盤及LED驅(qū)動器。ZLG7290I2 C接口傳輸速率可達32 kb / s,易與處理器接口,并提供鍵盤中斷信號,提高主處理器工作效率。

          按鍵使用了數(shù)字鍵( 09) ,用于輸入和修改數(shù)字,可連擊實現(xiàn)快速輸入和修改數(shù)字;移位鍵在修改模式下,用于選擇要修改的位;加1鍵在修改模式下將當前要修改的位進行加1操作(09之間循環(huán)) ;模式鍵實現(xiàn)進入/退出修改模式,不允許連擊;確認鍵在修改模式下將修改好的數(shù)據(jù)寫入EEPROM中。

          2.3 網(wǎng)絡(luò)接口

          RTL8019AS與以太網(wǎng)的連接由PM34 C 1006M濾波器芯片和RJ45完成[1]。其連接如圖2所示。這里采用PM34- 1006M是為了提高網(wǎng)絡(luò)通信能力。圖中TPIN+TPIN-、TPOUT+TPOUT-RTL8019AS芯片輸入/輸出信號的4個引腳,濾波器右邊是以太網(wǎng)RJ45接口,通過標準帶RJ45插頭的雙絞線接入以太網(wǎng)。

          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

          uClinuxLinux2.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)速度。進一步可以通過RTLinuxRTAI(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è)為次級高。

          3LED顯示任務(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)達到了集中控制與遠程控制的目的。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();