利用無線傳感器節(jié)點(diǎn)技術(shù),結(jié)合FPGA 嵌入式平臺(tái),本文設(shè)計(jì)一種智能家居控制器。該系統(tǒng)可以根據(jù)需要進(jìn)行現(xiàn)場(chǎng)編程,利用硬件描述語言實(shí)現(xiàn)。完成數(shù)據(jù)驗(yàn)證、分析、處理、發(fā)送和保存,并通過接口傳送至終端處理設(shè)備或通過INTERNET 查看現(xiàn)場(chǎng)信息,從而提高家居控制器的覆蓋面和靈活性。在某小區(qū)經(jīng)試用系統(tǒng)工作正常,完全能夠達(dá)到用戶需要,具有較好的應(yīng)用價(jià)值。
1 引言
智能家居通常定義為利用嵌入式技術(shù)、網(wǎng)絡(luò)技術(shù)和綜合布線技術(shù), 通過家居控制器將與生活有關(guān)的各種子系統(tǒng)有機(jī)結(jié)合的系統(tǒng)。智能家居一般要求有三大功能單元: 兼容性強(qiáng)的智能家居控制器; 家庭布線系統(tǒng)設(shè)計(jì); 家居網(wǎng)絡(luò)構(gòu)建; 在智能家居控制器的控制下,具有網(wǎng)絡(luò)信息終端主動(dòng)發(fā)布、獲取和處理信息等功能, 通過相應(yīng)的控制單元和執(zhí)行機(jī)構(gòu), 實(shí)現(xiàn)對(duì)家居網(wǎng)絡(luò)上家庭設(shè)備的控制和監(jiān)測(cè), 實(shí)現(xiàn)家居系統(tǒng)的網(wǎng)絡(luò)化、智能化和遠(yuǎn)程控制。
智能家居控制器可以運(yùn)行于服務(wù)器, 也可以運(yùn)行在基于FPGA 的嵌入式系統(tǒng)上?;诋?dāng)前發(fā)達(dá)的網(wǎng)絡(luò)資源、覆蓋范圍大的無線信號(hào)及終端設(shè)備功能的拓展,可以迅速的根據(jù)終端設(shè)備反饋的信息作出判斷, 同時(shí)通過控制器分析數(shù)據(jù), 并根據(jù)預(yù)設(shè)條件執(zhí)行報(bào)警、記錄、分析等動(dòng)作。本文構(gòu)建了一種實(shí)時(shí)并行的嵌入式智能家居控制器, 該系統(tǒng)可以根據(jù)需要進(jìn)行現(xiàn)場(chǎng)編程,利用硬件描述語言實(shí)現(xiàn)。完成數(shù)據(jù)驗(yàn)證、分析、處理、發(fā)送和保存, 并通過接口傳送至終端處理設(shè)備或通過INTERNET 查看現(xiàn)場(chǎng)信息,從而提高家居控制器的覆蓋面和靈活性。
2 嵌入式智能家居控制器系統(tǒng)原理
嵌入式智能家居控制器主要由Spartan-3A DSPFPGA 處理器、TMS320DM365 數(shù)字媒體處理器、無線傳感器節(jié)點(diǎn)、檢測(cè)傳感器、接口模塊、終端設(shè)備以及客戶端構(gòu)成。由傳感器采集并檢測(cè)區(qū)域內(nèi)數(shù)據(jù)信息,交由AC / DC 進(jìn)行數(shù)據(jù)轉(zhuǎn)換;控制器負(fù)責(zé)傳感器節(jié)點(diǎn)的總體操作, 處理本身采集的數(shù)據(jù)以及由其他節(jié)點(diǎn)發(fā)來的數(shù)據(jù)或控制信息; 射頻模塊負(fù)責(zé)該節(jié)點(diǎn)與其他節(jié)點(diǎn)之間的無線通信, 相互交換由匯聚節(jié)點(diǎn)或其他上層發(fā)來的控制信息和收發(fā)所采集的數(shù)據(jù); 外掛電源模塊供電。客戶端包括固定監(jiān)控端、移動(dòng)監(jiān)控端,可提供Web 服務(wù)和手機(jī)短信提示模式。
圖1 智能家居控制器系統(tǒng)結(jié)構(gòu)框圖
3 硬件電路設(shè)計(jì)
3.1 視頻信號(hào)采集電路設(shè)計(jì)
采用Spartan-3A DSP FPGA處理器、TMS320DM365數(shù)字媒體處理器配合構(gòu)建可以同時(shí)進(jìn)行4 路H.264 編碼的嵌入式設(shè)計(jì)。Spartan-3A DSP FPGA作為主處理器,除負(fù)責(zé)完成音頻編碼、遠(yuǎn)程控制以及用戶交互控制等一些基本的管理與控制外,還負(fù)責(zé)嵌入式操作系統(tǒng)的運(yùn)行, 可以完成安防、人體行為、等多項(xiàng)智能視頻分析。TMS320DM365 數(shù)字媒體處理器作為協(xié)處理器負(fù)責(zé)視頻編碼算法, 兩個(gè)處理器之間通過高速同步串行接口通訊, 視頻信號(hào)首先進(jìn)入數(shù)字媒體處理器, 采集編碼后的碼流發(fā)送到Spartan-3A DSP FPGA 處理器,然后通過軟體處理器分析和解碼后送至客戶端, 并提供可編程的, 更為復(fù)雜的符合客戶需要的實(shí)時(shí)報(bào)警處理邏輯。通過節(jié)點(diǎn)的動(dòng)態(tài)選擇數(shù)據(jù)發(fā)送節(jié)點(diǎn), 并在數(shù)據(jù)發(fā)送節(jié)點(diǎn)間合理分配數(shù)據(jù), 實(shí)現(xiàn)高質(zhì)量的媒體數(shù)據(jù)傳輸。
3.2 接口電路設(shè)計(jì)
EXP 是專門針對(duì)FPGA 平臺(tái)而開發(fā)的開放接口,主要使用High-Speed DAC EXP接口和High-Speed ADC EXP接口,Spartan-3A DSP 中的增強(qiáng)型DSP48A Slice使其成為實(shí)現(xiàn)數(shù)字化前端處理的理想方案。數(shù)字上變頻器(DUC)由兩個(gè)多相插值FIR 濾波器、一個(gè)CIC濾波器和一個(gè)峰均比衰減塊組成,可以在Spartan-3A DSP FPGA中實(shí)現(xiàn)。輸出側(cè)驅(qū)動(dòng)EXP 模塊上的高速內(nèi)插 DAC,進(jìn)而驅(qū)動(dòng)RF 功率放大器進(jìn)行傳輸。在接收側(cè), 可用500 MSPS 的ADC 對(duì)IF 信號(hào)直接取樣,并將該信號(hào)傳送到FPGA 進(jìn)行數(shù)字下變頻(DDC)支持千兆速率的數(shù)據(jù)傳輸, 在本次設(shè)計(jì)中結(jié)合控制器需要器接口電路設(shè)計(jì)主要是:
⑴ 提供84 個(gè)用戶I/O,接收來自紅外入侵探測(cè)器、門磁窗磁、門鈴門禁和多種檢測(cè)傳感器的安防警示系統(tǒng)的信號(hào), 為系統(tǒng)報(bào)警提供依據(jù); 輸出控制信號(hào), 實(shí)現(xiàn)聲光控制和報(bào)警控制;也可接受DVI、VGA、S-Video、組合視頻、數(shù)碼相機(jī)攝像頭和音頻輸入, 并產(chǎn)生D V I 、VGA、LCD 面板和音頻輸出。
⑵ 通過RS232 總線接口接入多功能集中/ 遠(yuǎn)傳自動(dòng)抄表系統(tǒng), 可直接與數(shù)據(jù)采集器相連接, 實(shí)現(xiàn)對(duì)4 路基表輸出的脈沖信號(hào)實(shí)時(shí)采集、自動(dòng)處理和數(shù)據(jù)保存。
⑶ 通過USB 接口接入優(yōu)盤, 提供數(shù)據(jù)存儲(chǔ)功能、功能擴(kuò)展預(yù)留;以ISPll61A1 為核心,提供2 路下行端口,1 路上行端口,遵循USBv2.O 規(guī)范。
⑷ 設(shè)置面板20 鍵鍵盤接口,用戶通過鍵盤或遙控器操作選擇相應(yīng)功能;
⑸ 市話接口: 串接在外線和普通電話之間, 接入市話網(wǎng), 接收電話控制指令, 可自動(dòng)撥打預(yù)設(shè)電話報(bào)警, 亦可直接與110 聯(lián)網(wǎng)報(bào)警。
3.3 無線傳感器節(jié)點(diǎn)Imote2
Imote2 是一款先進(jìn)的無線傳感器節(jié)點(diǎn)平臺(tái)。它集成低功耗的PXA271 XScale CPU 和兼容IEEE 802.15.4 的射頻芯片。該處理器可工作于低電壓(0.85V)低頻率(13MHz)模式,可進(jìn)行低功耗操作。Imote2 使用動(dòng)態(tài)電壓調(diào)節(jié)技術(shù),頻率范圍可從13MHz 達(dá)到416MHz。處理器支持幾種不同的低功耗模式, 如睡眠和深度睡眠模式。提供多種I/O,能夠靈活的支持不同種類的傳感器、A/Ds、射頻器等。I/O 設(shè)備包括:I2C,2 個(gè)同步串口(SPI)其中一個(gè)連至射頻器,3 個(gè)高速UARTs,GPIOs,SDIO,USB Client 和USB Host,AC97 和I2S 音頻編碼接口,1 個(gè)紅外接口,PWM,1 個(gè)攝像頭接口和1 個(gè)高速總線(Mobile Scaleable Link)。處理器還包括多個(gè)定時(shí)器和1 個(gè)時(shí)鐘。PXA271 包括1 個(gè)幫助提高處理多媒體能力的無線MMX 協(xié)處理器。此外,Imote2 還增加了30條新(DSP)媒體處理器指令,支持隊(duì)列及視頻操作,并兼容Intel MMX 和SSE integer 指令。
3.4 客戶端組成
家庭客戶端分為有線模塊和無線模塊, 無線模塊可以通過不同傳感器檢測(cè)信號(hào)的變化, 有線傳感器輸人可與TTL、集電極開路、開關(guān)型電路的前端探測(cè)器相連,與CPU 通過光耦隔離,增加抗干擾性和保護(hù)FPGA 輸入端口。探測(cè)感應(yīng)信號(hào)通過Imote2 I/O 端口送至無線傳感器節(jié)點(diǎn)平臺(tái)。收發(fā)出的編碼信號(hào)經(jīng)無線接收模塊解碼后傳送給Spartan-3A DSP FPGA 軟體處理器核心,信息處理后報(bào)送數(shù)據(jù), 可通過有線接口電路輸出到固定監(jiān)控端,與PC 機(jī)連接,提供Web 服務(wù),并可觸發(fā)室內(nèi)報(bào)警電路; 或通過接口將數(shù)據(jù)傳送到移動(dòng)監(jiān)控端提供手機(jī)監(jiān)控播放模式。
3.5 節(jié)點(diǎn)程序設(shè)計(jì)
圖2 節(jié)點(diǎn)為主程序框圖。它描述了通用模塊設(shè)計(jì)的基本流程, 根據(jù)讀入跳線的狀態(tài)和讀入存儲(chǔ)器中設(shè)定的狀態(tài), 決定本模塊的作用及本模塊的工作方式。選定了工作方式以后,重新進(jìn)行各自的初始化,主要包括I/O端口的配置、RS232 中斷的設(shè)置、驗(yàn)收濾波器的設(shè)置、總線工作方式設(shè)置、定時(shí)器方式設(shè)置、波特率設(shè)置以及相關(guān)設(shè)置。在完成初始化設(shè)置后, 就可以回到工作狀態(tài), 進(jìn)入各自的主循環(huán)。
圖2 節(jié)點(diǎn)主程序框圖
利用底層覆蓋網(wǎng)提供的拓?fù)渚S護(hù)、資源定位等通信服務(wù)的基礎(chǔ)上, 動(dòng)態(tài)選擇數(shù)據(jù)發(fā)送節(jié)點(diǎn), 并在數(shù)據(jù)發(fā)送節(jié)點(diǎn)間合理分配數(shù)據(jù), 實(shí)現(xiàn)高質(zhì)量數(shù)據(jù)傳輸。
3.6 系統(tǒng)總體框圖設(shè)計(jì)
圖3 智能家居控制系統(tǒng)總圖
4 軟件系統(tǒng)設(shè)計(jì)
4.1 程序結(jié)構(gòu)圖
家庭控制器終端軟件采用面向?qū)ο蟮亩噙M(jìn)程、多線程的程序結(jié)構(gòu)以及并行設(shè)計(jì)模式。本系統(tǒng)對(duì)智能家居的控制、監(jiān)測(cè)可通過遠(yuǎn)程或本地兩種操作方式, 在遠(yuǎn)程控制方式中, 不需使用本地操作界面, 為了提高系統(tǒng)運(yùn)行效率, 將程序分為用戶應(yīng)用程序和系統(tǒng)應(yīng)用程序。
圖4 家具控制器程序結(jié)構(gòu)圖
4.2 設(shè)計(jì)方法
采用自頂向下的設(shè)計(jì)流程, 從系統(tǒng)級(jí)設(shè)計(jì)開始, 劃分為若干個(gè)二級(jí)單元, 然后再把各個(gè)二級(jí)單元?jiǎng)澐譃橄乱粚哟蔚幕締卧?一直下去, 直到能夠使用基本模塊或者IP 核[4]直接實(shí)現(xiàn)為止,如圖5 所示??梢杂行У厥崂碓O(shè)計(jì)層次, 方便地查看某一層次模塊的源代碼以修改錯(cuò)誤。
圖5 自頂向下的FPGA 設(shè)計(jì)開發(fā)流程
4.3 軟件流程
從數(shù)據(jù)節(jié)點(diǎn)采集的數(shù)據(jù)通過EXP 接口送至Spartan-3A DSP FPGA 軟體處理器分析、處理、分離和發(fā)送數(shù)據(jù), 實(shí)現(xiàn)數(shù)據(jù)的及時(shí)轉(zhuǎn)換與存儲(chǔ), 建立高速數(shù)據(jù)轉(zhuǎn)換模式, 其主控流程圖和數(shù)據(jù)線程處理分別為圖6和圖7 :
圖6 主線程控制流程圖
5 結(jié)束語
利用FPGA 的并行結(jié)構(gòu),結(jié)合無線傳感器節(jié)點(diǎn)的空間構(gòu)建,建立基于Spartan-3A DSP 的智能家居控制器系統(tǒng)可以高速實(shí)時(shí)處理、分析、顯示監(jiān)控對(duì)象, 設(shè)備結(jié)構(gòu)簡(jiǎn)單、節(jié)點(diǎn)動(dòng)態(tài)分布、傳輸信號(hào)穩(wěn)定。通過EXP端口和無線傳感器節(jié)點(diǎn)平臺(tái)定義可以設(shè)置不同的IO 點(diǎn)滿足最大范圍的家居控制要求。在某小區(qū)經(jīng)試用系統(tǒng)工作正常, 完全能夠達(dá)到用戶需要。
圖7 數(shù)據(jù)線程處理流程圖
評(píng)論