于FPGA的跳頻通信頻率合成器設計
0 引言
隨著(zhù)國民經(jīng)濟的快速發(fā)展和人們生活水平的不斷提高,人們對居住房子的舒適性及安全性要求也提升到了更高的檔次,同時(shí)計算機技術(shù)、網(wǎng)絡(luò )和信息技術(shù)也在不斷發(fā)展,這使得家庭智能系統的遠程監控成為一種現實(shí)。本文設計的智能家居遠程監控系統實(shí)現了家用電器等的智能化管理,對家庭環(huán)境的實(shí)時(shí)監視和自動(dòng)報警功能。
1 智能家居系統的總體結構
智能家居遠程監控系統的核心部分是一個(gè)嵌入式Web服務(wù)器,系統集有線(xiàn)和無(wú)線(xiàn)Web服務(wù)器于一體,用戶(hù)可以利用辦公室的PC登錄家中的Web服務(wù)器,在通過(guò)用戶(hù)名和密碼驗證后,便可以查看并控制家用電器。系統結構框圖如圖1所示。
2 系統硬件設計
本系統硬件電路框圖如圖2所示,主要由ARM9控制器S3C2440,FLASH,SDRAM,電源及復位模塊,觸摸屏顯示模塊,USB攝像頭,以太網(wǎng)接口模塊,GPRS模塊,家電控制,安防控制等組成。
2.1 ARM9控制器S3C2440
ARM9控制器S3C2440是基于A(yíng)RM920T內核的16/32位RISC處理器,具有功能強大、性?xún)r(jià)比高、功耗低的優(yōu)點(diǎn)。
2.2 家電控制
本系統針對家電設備的智能化程度不同,提出了不同的解決方案。對于電燈開(kāi)關(guān)等需要手工控制的傳統家庭設備。系統添加了輔助控制器(繼電器等),用戶(hù)可通過(guò)以太網(wǎng)或手機短信的方式控制處理器GPIOn的狀態(tài),間接控制家庭設備;對于電視、空調等可通過(guò)紅外線(xiàn)控制的電器設備,系統采用帶有以太網(wǎng)接口的通用控制器統一遙控;對于自身具備網(wǎng)絡(luò )接入功能,支持遠程平臺控制的智能電器設備,直接接入家庭以太網(wǎng)即可。
2.3 安防控制
系統使用的所有探測器(煙感傳感器、煤氣傳感器、門(mén)磁傳感器等)和報警設備,都是通過(guò)GPIO與控制器相連來(lái)完成報警輸入輸出的功能。然而這些輸入輸出信號都有很強的電流,對系統的干擾較大,因此采用TLP521光電隔離芯片和繼電器對報警輸入輸出信號分別進(jìn)行隔離,從而把外部信號對系統的影響降到最低。
2.4 GPRS模塊
GPRS模塊采用西門(mén)子公司的MC35i GPRS MODEM。當S3C2440控制器收到報警信號時(shí),它通過(guò)UART控制MC35i,將預存的相應報警信息通過(guò)GPRS網(wǎng)絡(luò )以短信的形式發(fā)送到用戶(hù)的手機上,同時(shí)向小區物業(yè)中心發(fā)出報警,使用戶(hù)和物業(yè)部門(mén)及時(shí)發(fā)現險情,并采取有效的處理措施減少
經(jīng)濟損失。
2.5 以太網(wǎng)接口模塊
由于S3C2440本身沒(méi)有集成以太網(wǎng)控制模塊,所以需要一個(gè)與之相匹配的DM9000控制芯片來(lái)實(shí)現以太網(wǎng)擴展接口。在DM9000和RJ45接口之間通過(guò)網(wǎng)絡(luò )隔離變壓器HR601627來(lái)連接,連接圖如圖3所示,網(wǎng)絡(luò )隔離變壓器起信號傳輸、高電壓隔離等作用,以保護系統的安全。
2.6 USB攝像頭
本系統所用的USB攝像頭是中星微公司的ZC2301P。攝像頭ZC301P采集的視頻信號經(jīng)壓縮后形成的視頻數據流會(huì )通過(guò)內部總線(xiàn)傳送到嵌入式Web服務(wù)器上,用戶(hù)可通過(guò)登陸網(wǎng)絡(luò )直接觀(guān)看Web服務(wù)器上的視頻圖像,實(shí)時(shí)監控家中的情況。
3 系統軟件設計
本系統控制中心是ARM9控制器,其軟件設計包括系統軟件(嵌入式操作系統、硬件設備驅動(dòng)程序、嵌入式Web服務(wù)器)設計和應用軟件(網(wǎng)頁(yè)設計及CGI應用程序)設計。
3.1 嵌入式操作系統在S3C2440上移植過(guò)程
(1)從網(wǎng)站上下載Linux的內核源碼linux-2.6.31.tar.bz2和交叉編譯器arm920t-eabi.tgz,這個(gè)交叉編譯器是4.1.2版本的,支持EABI,可以提高編譯的效率。
(2)在宿主機上將內核源碼解壓得到linux-2.6.31,將交叉編譯器解壓到指定目錄。
(3)修改Makefile文件及相關(guān)硬件文件。由于內核的編譯是根據Makefile文件的指示進(jìn)行的,Makefile文件來(lái)組織內核的各模塊之間的關(guān)系,記錄了各個(gè)模塊之間的相互聯(lián)系和依賴(lài)關(guān)系。所以,修改Linux2.6.31根目錄下的Maldile文件來(lái)指定平臺和交叉編譯器。
(4)通過(guò)命令# make menuconfig來(lái)配置內核。配置內核時(shí),讓它支持EABI編譯。
(5)在linux-2.6.31根目錄下執行命令# make zImage來(lái)編譯內核,將生成的內核鏡像文件zImage通過(guò)相應的固化軟件固化到系統相應的存儲器中,完成linux-2.6.31內核在A(yíng)RM微處理器上的移植。
3.2 驅動(dòng)程序的設計
控制器需要多個(gè)設備驅動(dòng)程序。嵌入式Linux系統中設備驅動(dòng)程序有一個(gè)標準的框架,可以根據硬件結構來(lái)填寫(xiě)框架中的函數。主要的函數包括 open(),read(),write(),ioctl(),release(),module_init()和module_exit()等。為了減小內核的大小,把編寫(xiě)好的驅動(dòng)程序編譯成模塊。編寫(xiě)Makefile、Kconfig文件,分別執行make menuconfig命令選擇驅動(dòng)程序的加載方式,利用makemodules命令生成目標文件,最后利用insmod命令調用 initial_module函數將編譯好的模塊調入內存即可。
3.3 Web服務(wù)器Boa移植
Boa是一個(gè)嵌入式Web服務(wù)器,能夠生成動(dòng)態(tài)的頁(yè)面,支持CGI,比較適合嵌入式系統。在硬件電路板上存放一個(gè)網(wǎng)頁(yè),在用戶(hù)端可以通過(guò)瀏覽器來(lái)訪(fǎng)問(wèn)硬件電路板上這個(gè)網(wǎng)頁(yè),然后通過(guò)網(wǎng)頁(yè)中的內容就可以和硬件電路板上的硬件設備進(jìn)行交互。具體移植過(guò)程如下:
(1)從網(wǎng)上下載Boa服務(wù)器源碼壓縮包boa-0.94.13.tar.gz,將其解壓得到boa-0.94.13,在boa-0.94.13/src下編譯生成boa可執行程序。
(2)把宿主機Linux操作系統下的/etc/mime.types復制到根文件系統的/etc目錄中,在根文件系統的/etc中建立boa文件夾,根文件系統的/etc/boa目錄下建立www、cgi-bin目錄,www中存放HTML文件,cgi-bin中存放CGI腳本,把網(wǎng)頁(yè)文件 index.files和index.html復制到根文件系統的/etc/boa/www目錄下,在根文件系統的/var目錄下建立日志目錄 log/boa。
(3)對Boa作配置和修改。主要通過(guò)對defines.h,boa.conf和mime.types文件進(jìn)行修改來(lái)實(shí)現。修改defines.h指定 Web服務(wù)器的根目錄路徑(SERVER_ROOT)。boa.conf文件由一些規則組成,用于配置Boa服務(wù)器,指定相應端口,服務(wù)器名稱(chēng),一些相關(guān)文件的路徑等。Boa服務(wù)器要想正確運行,必須保證該文件是正確配置的,而且該文件和某些靜態(tài)網(wǎng)頁(yè),CGI可執行程序等都放于某特定目錄下。
(4)把boa-0.94.13/sre下編譯出的boa可執行程序復制到根文件系統的/usr/bin目錄下,把修改過(guò)的配置文件boa.conf復制到開(kāi)發(fā)板的/etc/boa目錄下,并將一些靜態(tài)頁(yè)面放在由boa.conf指定的目錄下。
(5)重新編譯根文件系統。把根文件系統下載到硬件電路板上。
在硬件電路板上運行嵌入式Web服務(wù)器Boa,通過(guò)瀏覽器就能訪(fǎng)問(wèn)系統所設計的網(wǎng)頁(yè)。
3.4 應用軟件設計
本系統的核心是一個(gè)嵌入式Web服務(wù)器,其應用軟件的設計包括網(wǎng)頁(yè)設計和CGI應用程序設計兩部分。
(1)網(wǎng)頁(yè)設計:網(wǎng)頁(yè)設計采用設計工具Dreamweaver,FrongtPage等來(lái)實(shí)現。
(2)CGI應用程序設計:采用C語(yǔ)言來(lái)編寫(xiě)CGI應用程序,實(shí)現外部實(shí)時(shí)數據采樣、與家電設備的通信與控制等。CGI技術(shù)可以實(shí)現瀏覽器與嵌入式Web 服務(wù)器的動(dòng)態(tài)數據交互。CGI程序保存在嵌入式Web服務(wù)器端。在用戶(hù)端打開(kāi)HTML頁(yè)面,點(diǎn)擊HTML頁(yè)面上設備的控制按鈕,就會(huì )通過(guò)Internet 把用戶(hù)請求送到嵌入式Web服務(wù)器中,服務(wù)器接收用戶(hù)請求并交給CGI程序處理,實(shí)現用戶(hù)的功能需求,這就做到了通過(guò)對HTML頁(yè)面上相應設備的點(diǎn)擊實(shí)現家庭網(wǎng)絡(luò )中設備的遠程控制。
4 結束語(yǔ)
該系統硬件采用ARM9 S3C2440 微處理器作為控制核心,軟件采用linux-2.6.31內核作為系統的嵌入式操作系統,采用Boa作為嵌入式Web服務(wù)器,結合以太網(wǎng)通信技術(shù)和 GPRS無(wú)線(xiàn)通信技術(shù)實(shí)現了對家庭環(huán)境的遠程實(shí)時(shí)監控、安防自動(dòng)報警和對家電設備遠程控制的功能。本監控系統具有較大的實(shí)用價(jià)值,未來(lái)的發(fā)展空間非常大,能夠使人們生活得更加舒適安全。
評論