《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于FPGA的跳頻通信頻率合成器實現(xiàn)
基于FPGA的跳頻通信頻率合成器實現(xiàn)
山西電子技術(shù)
張成法,,楊 風(fēng) 中北大學(xué)
摘要: 摘要:介紹了一種基于ARM平臺,、以太網(wǎng)和GPRS無線通信技術(shù)的智能家居遠(yuǎn)程監(jiān)控系統(tǒng),給出了系統(tǒng)的組成及工作原理,,著重闡述了系統(tǒng)主要硬件和軟件的設(shè)計,。智能家居遠(yuǎn)程監(jiān)控系統(tǒng)的核心是嵌入式Web服務(wù)器,。通過該嵌入式We
Abstract:
Key words :

摘要:介紹了一種基于ARM平臺、以太網(wǎng)和GPRS無線通信技術(shù)的智能家居遠(yuǎn)程監(jiān)控系統(tǒng),,給出了系統(tǒng)的組成及工作原理,,著重闡述了系統(tǒng)主要硬件和軟件的設(shè)計,。智能家居遠(yuǎn)程監(jiān)控系統(tǒng)的核心是嵌入式Web服務(wù)器。通過該嵌入式Web服務(wù)器,。在用戶端只需要通過Web瀏覽器就可以對家用電器設(shè)備進行遠(yuǎn)程控制,。該智能家居遠(yuǎn)程監(jiān)控系統(tǒng)還實現(xiàn)了對家庭環(huán)境的實時監(jiān)視和自動報警的功能。
關(guān)鍵詞:ARM,;智能家居,;遠(yuǎn)程監(jiān)控;Web服務(wù)器

0 引言
    隨著國民經(jīng)濟的快速發(fā)展和人們生活水平的不斷提高,,人們對居住房子的舒適性及安全性要求也提升到了更高的檔次,,同時計算機技術(shù)、網(wǎng)絡(luò)和信息技術(shù)也在不斷發(fā)展,,這使得家庭智能系統(tǒng)的遠(yuǎn)程監(jiān)控成為一種現(xiàn)實,。本文設(shè)計的智能家居遠(yuǎn)程監(jiān)控系統(tǒng)實現(xiàn)了家用電器等的智能化管理,對家庭環(huán)境的實時監(jiān)視和自動報警功能,。

1 智能家居系統(tǒng)的總體結(jié)構(gòu)
    智能家居遠(yuǎn)程監(jiān)控系統(tǒng)的核心部分是一個嵌入式Web服務(wù)器,,系統(tǒng)集有線和無線Web服務(wù)器于一體,用戶可以利用辦公室的PC登錄家中的Web服務(wù)器,,在通過用戶名和密碼驗證后,,便可以查看并控制家用電器。系統(tǒng)結(jié)構(gòu)框圖如圖1所示,。

a.JPG

2 系統(tǒng)硬件設(shè)計
    本系統(tǒng)硬件電路框圖如圖2所示,,主要由ARM9控制器S3C2440,F(xiàn)LASH,,SDRAM,,電源及復(fù)位模塊,觸摸屏顯示模塊,,USB攝像頭,,以太網(wǎng)接口模塊,GPRS模塊,,家電控制,,安防控制等組成。

e.JPG
2.1 ARM9控制器S3C2440
    ARM9控制器S3C2440是基于ARM920T內(nèi)核的16/32位RISC處理器,,具有功能強大,、性價比高、功耗低的優(yōu)點,。
2.2 家電控制
    本系統(tǒng)針對家電設(shè)備的智能化程度不同,,提出了不同的解決方案。對于電燈開關(guān)等需要手工控制的傳統(tǒng)家庭設(shè)備。系統(tǒng)添加了輔助控制器(繼電器等),,用戶可通過以太網(wǎng)或手機短信的方式控制處理器GPIOn的狀態(tài),,間接控制家庭設(shè)備;對于電視,、空調(diào)等可通過紅外線控制的電器設(shè)備,,系統(tǒng)采用帶有以太網(wǎng)接口的通用控制器統(tǒng)一遙控;對于自身具備網(wǎng)絡(luò)接入功能,,支持遠(yuǎn)程平臺控制的智能電器設(shè)備,直接接入家庭以太網(wǎng)即可,。
2.3 安防控制
    系統(tǒng)使用的所有探測器(煙感傳感器,、煤氣傳感器、門磁傳感器等)和報警設(shè)備,,都是通過GPIO與控制器相連來完成報警輸入輸出的功能,。然而這些輸入輸出信號都有很強的電流,對系統(tǒng)的干擾較大,,因此采用TLP521光電隔離芯片和繼電器對報警輸入輸出信號分別進行隔離,,從而把外部信號對系統(tǒng)的影響降到最低。
2.4 GPRS模塊
    GPRS模塊采用西門子公司的MC35i GPRS MODEM,。當(dāng)S3C2440控制器收到報警信號時,,它通過UART控制MC35i,將預(yù)存的相應(yīng)報警信息通過GPRS網(wǎng)絡(luò)以短信的形式發(fā)送到用戶的手機上,,同時向小區(qū)物業(yè)中心發(fā)出報警,,使用戶和物業(yè)部門及時發(fā)現(xiàn)險情,并采取有效的處理措施減少
經(jīng)濟損失,。
2.5 以太網(wǎng)接口模塊
    由于S3C2440本身沒有集成以太網(wǎng)控制模塊,,所以需要一個與之相匹配的DM9000控制芯片來實現(xiàn)以太網(wǎng)擴展接口。在DM9000和RJ45接口之間通過網(wǎng)絡(luò)隔離變壓器HR601627來連接,,連接圖如圖3所示,,網(wǎng)絡(luò)隔離變壓器起信號傳輸、高電壓隔離等作用,,以保護系統(tǒng)的安全,。


2.6 USB攝像頭
    本系統(tǒng)所用的USB攝像頭是中星微公司的ZC2301P。攝像頭ZC301P采集的視頻信號經(jīng)壓縮后形成的視頻數(shù)據(jù)流會通過內(nèi)部總線傳送到嵌入式Web服務(wù)器上,,用戶可通過登陸網(wǎng)絡(luò)直接觀看Web服務(wù)器上的視頻圖像,,實時監(jiān)控家中的情況。

3 系統(tǒng)軟件設(shè)計
    本系統(tǒng)控制中心是ARM9控制器,,其軟件設(shè)計包括系統(tǒng)軟件(嵌入式操作系統(tǒng),、硬件設(shè)備驅(qū)動程序、嵌入式Web服務(wù)器)設(shè)計和應(yīng)用軟件(網(wǎng)頁設(shè)計及CGI應(yīng)用程序)設(shè)計。
3.1 嵌入式操作系統(tǒng)在S3C2440上移植過程
    (1)從網(wǎng)站上下載Linux的內(nèi)核源碼linux-2.6.31.tar.bz2和交叉編譯器arm920t-eabi.tgz,,這個交叉編譯器是4.1.2版本的,,支持EABI,可以提高編譯的效率,。
    (2)在宿主機上將內(nèi)核源碼解壓得到linux-2.6.31,,將交叉編譯器解壓到指定目錄。
    (3)修改Makefile文件及相關(guān)硬件文件,。由于內(nèi)核的編譯是根據(jù)Makefile文件的指示進行的,,Makefile文件來組織內(nèi)核的各模塊之間的關(guān)系,記錄了各個模塊之間的相互聯(lián)系和依賴關(guān)系,。所以,,修改Linux2.6.31根目錄下的Maldile文件來指定平臺和交叉編譯器。
    (4)通過命令# make menuconfig來配置內(nèi)核,。配置內(nèi)核時,,讓它支持EABI編譯。
    (5)在linux-2.6.31根目錄下執(zhí)行命令# make zImage來編譯內(nèi)核,,將生成的內(nèi)核鏡像文件zImage通過相應(yīng)的固化軟件固化到系統(tǒng)相應(yīng)的存儲器中,,完成linux-2.6.31內(nèi)核在ARM微處理器上的移植。
3.2 驅(qū)動程序的設(shè)計
    控制器需要多個設(shè)備驅(qū)動程序,。嵌入式Linux系統(tǒng)中設(shè)備驅(qū)動程序有一個標(biāo)準(zhǔn)的框架,,可以根據(jù)硬件結(jié)構(gòu)來填寫框架中的函數(shù)。主要的函數(shù)包括open(),,read(),,write(),ioctl(),,release(),,module_init()和module_exit()等。為了減小內(nèi)核的大小,,把編寫好的驅(qū)動程序編譯成模塊,。編寫Makefile、Kconfig文件,,分別執(zhí)行make menuconfig命令選擇驅(qū)動程序的加載方式,,利用makemodules命令生成目標(biāo)文件,最后利用insmod命令調(diào)用initial_module函數(shù)將編譯好的模塊調(diào)入內(nèi)存即可,。
3.3 Web服務(wù)器Boa移植
    Boa是一個嵌入式Web服務(wù)器,,能夠生成動態(tài)的頁面,支持CGI,,比較適合嵌入式系統(tǒng),。在硬件電路板上存放一個網(wǎng)頁,,在用戶端可以通過瀏覽器來訪問硬件電路板上這個網(wǎng)頁,然后通過網(wǎng)頁中的內(nèi)容就可以和硬件電路板上的硬件設(shè)備進行交互,。具體移植過程如下:
    (1)從網(wǎng)上下載Boa服務(wù)器源碼壓縮包boa-0.94.13.tar.gz,,將其解壓得到boa-0.94.13,在boa-0.94.13/src下編譯生成boa可執(zhí)行程序,。
    (2)把宿主機Linux操作系統(tǒng)下的/etc/mime.types復(fù)制到根文件系統(tǒng)的/etc目錄中,,在根文件系統(tǒng)的/etc中建立boa文件夾,根文件系統(tǒng)的/etc/boa目錄下建立www,、cgi-bin目錄,,www中存放HTML文件,cgi-bin中存放CGI腳本,,把網(wǎng)頁文件index.files和index.html復(fù)制到根文件系統(tǒng)的/etc/boa/www目錄下,,在根文件系統(tǒng)的/var目錄下建立日志目錄log/boa。
    (3)對Boa作配置和修改,。主要通過對defines.h,boa.conf和mime.types文件進行修改來實現(xiàn),。修改defines.h指定Web服務(wù)器的根目錄路徑(SERVER_ROOT),。boa.conf文件由一些規(guī)則組成,用于配置Boa服務(wù)器,,指定相應(yīng)端口,,服務(wù)器名稱,一些相關(guān)文件的路徑等,。Boa服務(wù)器要想正確運行,,必須保證該文件是正確配置的,而且該文件和某些靜態(tài)網(wǎng)頁,,CGI可執(zhí)行程序等都放于某特定目錄下,。
    (4)把boa-0.94.13/sre下編譯出的boa可執(zhí)行程序復(fù)制到根文件系統(tǒng)的/usr/bin目錄下,把修改過的配置文件boa.conf復(fù)制到開發(fā)板的/etc/boa目錄下,,并將一些靜態(tài)頁面放在由boa.conf指定的目錄下,。
    (5)重新編譯根文件系統(tǒng)。把根文件系統(tǒng)下載到硬件電路板上,。
    在硬件電路板上運行嵌入式Web服務(wù)器Boa,,通過瀏覽器就能訪問系統(tǒng)所設(shè)計的網(wǎng)頁。
3.4 應(yīng)用軟件設(shè)計
    本系統(tǒng)的核心是一個嵌入式Web服務(wù)器,,其應(yīng)用軟件的設(shè)計包括網(wǎng)頁設(shè)計和CGI應(yīng)用程序設(shè)計兩部分,。
    (1)網(wǎng)頁設(shè)計:網(wǎng)頁設(shè)計采用設(shè)計工具Dreamweaver,F(xiàn)rongtPage等來實現(xiàn),。
    (2)CGI應(yīng)用程序設(shè)計:采用C語言來編寫CGI應(yīng)用程序,,實現(xiàn)外部實時數(shù)據(jù)采樣、與家電設(shè)備的通信與控制等。CGI技術(shù)可以實現(xiàn)瀏覽器與嵌入式Web服務(wù)器的動態(tài)數(shù)據(jù)交互,。CGI程序保存在嵌入式Web服務(wù)器端,。在用戶端打開HTML頁面,點擊HTML頁面上設(shè)備的控制按鈕,,就會通過Internet把用戶請求送到嵌入式Web服務(wù)器中,,服務(wù)器接收用戶請求并交給CGI程序處理,實現(xiàn)用戶的功能需求,,這就做到了通過對HTML頁面上相應(yīng)設(shè)備的點擊實現(xiàn)家庭網(wǎng)絡(luò)中設(shè)備的遠(yuǎn)程控制,。

4 結(jié)束語
    該系統(tǒng)硬件采用ARM9 S3C2440 微處理器作為控制核心,軟件采用linux-2.6.31內(nèi)核作為系統(tǒng)的嵌入式操作系統(tǒng),,采用Boa作為嵌入式Web服務(wù)器,,結(jié)合以太網(wǎng)通信技術(shù)和GPRS無線通信技術(shù)實現(xiàn)了對家庭環(huán)境的遠(yuǎn)程實時監(jiān)控、安防自動報警和對家電設(shè)備遠(yuǎn)程控制的功能,。本監(jiān)控系統(tǒng)具有較大的實用價值,,未來的發(fā)展空間非常大,能夠使人們生活得更加舒適安全,。
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。