房 穎
(福州大學物理與信息工程學院,福建福州 350108)
近年來,隨著網絡通信技術、電子技術和計算機技術的迅猛發展,智能家居逐步走進人們的生活,家庭安防成為智能家居的重要組成部分,備受人們的關注。目前市場上常見的居家智能安防產品從功能上講基本上是被動單向報警,家中報警器識別到異常情況后或發聲報警,或通過電話向主人報警,或向小區的接警值班中心報警,然后系統處于等待狀態,不能進行遠程布控,不能進行報警實時處理以減少生命和財產損失,功能上存在明顯的不足。為解決傳統安防系統的缺點和不足,滿足人們對智能家居的需要,筆者采用嵌入式系統與以太網網絡通信技術相結合,開發了一種基于PIC單片機的智能家居安防監控報警系統,該系統以PIC單片機為核心,用以太網控制芯片ENC28J60,同時可監視多個重要點(如門、窗等),發現盜情及時就地報警,并通過電信寬帶網絡平臺進行遠程報警及全面的聯動處警,性能穩定可靠,實用性與適用性強,這種方法采用的是單MCU的方式,硬件接口電路相對簡單,體積小,而且成本低。
智能家居安防報警系統主要由探測器報警輸入、控制單元、以太網通信、報警輸出等部分組成,其工作原理如圖1所示。該系統通過無線/有線模塊實現與安防探測器的信號交互,當探測到有非法人員入侵、發生火災等情況時,通過專門接口與聲光報警器相連,現場立即發出報警信號。單片機控制器會判斷何處發生報警,并且將報警信息通過以太網傳到接警中心平臺,接警中心平臺收到信息后可選擇以短信或電話報警形式通知業主或公安人員。該系統還能保證戶主在外時通過以太網網絡隨時了解家里的情況,并能對系統進行實時設防、撤防等設置以實現遠程控制功能。

圖1 智能家居安防報警系統工作原理
系統硬件結構如圖2所示,主要包括探測器報警輸入接口、微控制器、以太網控制芯片、外部EEPROM存儲器、報警輸出、32字符液晶屏、4個發光二極管、電源電路、復位電路、鍵盤等部分。本文主要介紹微控制器、以太網控制芯片、EEPROM、報警輸入輸出單元的設計方法。

圖2 報警系統結構示意圖
系統中微控制器的主要作用是對報警輸入輸出I/O口和其他部分進行控制,同時實現接收和傳送相關數據、處理以太網通信等功能,因此要選用具有較多的通用I/O口和外圍資源豐富、便于構建外圍電路的芯片。本系統微控制器選用的是高性能 PIC單片 PIC24FJ256GA106,PIC24FJ256GA106是Microchip公司開發的16位通用閃存單片機,具有成本低、設計靈活、可靠性高等特點。PIC24FJ256 MCU模塊采用16位(數據)改良的哈佛架構,并帶有增強型指令集,工作速度達到16MIPS,滿足運行多種網絡協議的要求,而且具有豐富的外設接口,其SPI接口允許與外設進行高速的同步數據傳輸,這些外設包括串行EEPROM、移位寄存器、顯示驅動器等[1]。
以太網控制芯片選用ENC28J60。目前在嵌入式系統的開發中,比較常用的獨立以太網控制器采用的封裝均超過80腳,如RTL8019AS、CS8900A均為100腳,這些器件不僅結構復雜、體積大,而且價格相對昂貴,系統開銷也較大。而Microchip推出28引腳獨立以太網控制器ENC28J60,可為嵌入式系統提供低引腳數、低成本、精簡的遠程通信解決方案。
ENC28J60只支持SPI模式O。其SPI端口要求SCK在空閑狀態時為低電平,并且不支持時鐘極性選擇。在SCK的每個上升沿移入數據,命令和數據通過SI引腳送入器件;在SCK的下降沿從SO引腳輸出數據。當執行操作時,CS引腳必須保持低電平,當操作完成時返回高電平。由于LEDA和LEDB引腳支持復位時的自動極性檢測,可以在這兩個引腳上以拉電流或灌電流點亮LED的兩種方式連接LED。系統復位時,ENC28J60將檢測LED的連接方式,并將LED驅動為PHLCON寄存器配置的默認狀態。本設計采用拉電流的方式點亮LED,則復位時此位清零且PHY默認為在半雙工模式下運行[2]。其與單片機PIC24FJ256GA106的接口電路原理如圖3所示。

圖3 基于ENC28J60的嵌入式網絡接口的硬件電路原理圖
由于EEPROM具有結構簡單、高密度、可靠性好、功耗省、可重復擦寫10萬次以上,數據可靠保持超過100年等優點,能快速多次重復寫入或擦除,而且具有可選擇的軟件數據保護機制用于預防誤寫入[3]。外部EEPROM存儲器選用25LC256,該芯片支持2線串行接口,可以存儲最大32K數據,存儲量大。主要用于存放本地網頁代碼和重要數據,如用戶名、密碼、接警平臺服務器名、收到的探測器編碼等,即使掉電,程序和數據也不會丟失。
本系統通過無線/有線模塊實現與安防探測器的信號交互,完成報警輸入輸出的功能。
信號輸入接口電路由接收模塊TDL208及外圍電路構成,其電路原理如圖4所示。TDL208高頻接收模塊是采用進口SMD器件,6.5G高頻三極管,高Q值電感生產,用于防盜系統,性能穩定可靠,靈敏度高,功耗低,接收電路自身輻射極小,加上電路模塊背面網狀接地銅箔的屏蔽作用,可以減少自身振蕩的泄漏和外界干擾信號的侵入[4]。其接收帶寬約500KHz,中心頻率調整在315MHz,接收芯片上的微調電感約有5MHz頻率的可調范圍,但使用時盡量不要輕易變動,以免影響性能。
信號輸出接口電路由發送模塊TDL9912與周邊電路組成,其電路原理如圖5所示。TDL9912發射模塊采用進口SMD器件,采用聲表諧振器穩頻,頻率穩定度很高,工作電壓范圍極寬(3V-12V)[5],發射功率大,功耗低,體積小,適合用于防盜報警場合。但這兩個芯片無自帶編碼,因此采用軟解碼方式。

圖4 輸入接口電路

圖5 輸出接口電路
智能家居安防監控報警系統主要包括本地主機設置處理模塊、本地網頁設置模塊、網絡連接模塊、網絡遠程監控處理模塊,具體結構如圖6所示。限于篇幅,本文主要介紹該系統的主程序、以太網驅動及通信程序、網絡處理模塊中的DHCP處理程序、網絡遠程監控處理程序、本地網頁設置程序。

圖6 智能家居安防監控報警系統
本系統采用C語言編寫程序,軟件可讀性強,便于調試與維護升級,并且有利于較復雜控制算法的實現。根據系統的控制功能,程序主要包括初始化、網絡遠程監控處理、主機設置、本地網頁設置等。其主程序流程如圖7所示。
本系統以太網主要是使處理器接收來自接警中心平臺的數據和將數據傳輸到接警中心平臺,同時處理來自以太網的信息。該部分的核心是以太網中數據的發送與接收。以太網的驅動程序主要是初始化芯片、單片機的控制程序和網絡數據傳輸程序。

圖7 系統主程序流程
初始化設置工作包括對接收緩沖器、接收過濾器、等待振蕩器起振定時器(OST)、MAC寄存器、PHY寄存器進行初始化。進行初始化設置之前首先關閉單片機的中斷輸入,對RESET引腳給定一個持續的低電平復位信號,設置完成所有需要的寄存器后,判斷以太網狀態中的時鐘啟動標志位是否置位,最后開中斷。
網絡數據傳輸主要包括對要發送的數據按照以太網數據幀格式進行封裝并發送以及對接收的數據幀進行解包兩個方面,其流程如圖8所示。
系統網絡連接處理模塊可采用手動配置IP地址或是引用DHCP機制自動獲取IP地址,并引入DHCP Option 60參數機制。

圖8 網絡數據發送及接收流程圖
為解決前端設備私網穿透的問題,需要前端工程施工人員手動在用戶NAT網絡設備上進行NAT端口靜態映射配置。但這種數據配置方式對業務開展與后期維護均帶來不便。因此,需要引入一種技術手段來簡化業務安裝,變手動配置為自動配置。由于智能安防系統針對家庭用戶,而客戶基礎絕大部分均為ADSL寬帶接入,因此,通過與智能家居中的家庭網關配合,引入DHCP Option 60參數機制可完成在家庭網關上自動配置NAT端口靜態映射。其與普通DHCP不同之處在于,告警主機第一次登錄尋找家庭網關時附上DHCP DISCOVER外還加上Option 60的信息,向網絡進行廣播。而家庭網關收到DHCP REQUEST封包后,將依據Option 60的信息及DHCP Client的MAC地址等信息給予相應的DHCP ACK響應報文,其中包括完成自動配置的DHCP Option 43信息。
家庭網關使用下列映射原則自動添加NAT端口公私網靜態映射:
公網映射端口=(Last Internal IP Address Segment)&&31+(Internal IP Port);
智能家居安防監控報警系統需要具備注冊和心跳功能。系統啟動和運行的過程中,需要發送注冊消息給接警中心的注冊服務器;運行過程中也需要周期性的發送心跳消息給接警中心的注冊服務器,以表明其正在運行。
智能家居安防監控報警系統中,用戶可以在家里或通過遠程登錄方式對告警主機的防區及整體進行布防或撤防設置;告警主機會上報自身和探頭布防/撤防狀態變化的信息給告警服務器,同時還要上傳探頭的告警狀態及自身的告警,如電源掉電等。其流程如圖9所示。

圖9 網絡遠程監控流程圖
在本系統中嵌入TCP/IP協議,就可以實現以太網的接入,再輔以相應的應用層協議就可以實現遠程控制功能。本地網頁設置采用HTTP協議。本系統采用靜態網頁訪問的形式,使用HTML語言來編寫網頁,運用Microchip提供的MPFS.exe工具上傳網頁,網頁代碼存儲在EEPROM中。嵌入式系統把要傳輸的數據、參數等存入EEPROM中,當有客戶端請求連接時,這些數據信息通過HTTP協議發送至瀏覽器,這樣就可以在遠端PC機的瀏覽器中訪問存儲在系統中的網頁,從而實現遠程訪問及控制,如圖10所示。
基于PIC單片機的智能家居安防監控報警系統已在高校實驗中心及部分家庭、商戶中試用,實現了本地報警、通過電信寬帶網絡平臺進行報警及全面的聯動處警,結果表明,該系統運行穩定、可靠性高、誤報警率低、使用簡單、成本低廉,能夠滿足用戶的需求。該系統充分利用嵌入式網絡通信上的優勢,實現了報警迅速、遠程監控等功能,還能對該系統進行軟硬件的升級和整合新的功能模塊,滿足智能家居安防未來發展的需求。該系統還可應用在銀行、圖書館和博物館等需要安防和遠程監控的地方,應用廣泛,具有可開發性及可拓展性。

圖10 存儲于系統中的網頁
[1]PIC24FJ256GA110系列數據手冊·具有外設引腳選擇功能的64/80/100引腳16位通用閃存單片機[EB/OL].[2009-10-2].http://www.microchip.com/.
[2]ENC28J60數據手冊·帶SPI接口的獨立以太網控制器[EB/OL].[2009-10-2].http://www.microchip.com/.
[3]杜支華,陶宇峰,王曉玲,陳芳.64kB電可擦除只讀存儲器研究與設計[J].電子與封裝,2009(3).
[4]TDL-208使用說明[EB/OL].[2009-10-2].http://www.k6271.com/product/product4/TDL208.pdf.
[5]TDL-9912 使用說明 [EB/OL].[2009-10-2].http://www.k6271.com/product/product4/TDL9912.pdf.