亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA的動(dòng)態(tài)家居安防系統(tǒng)的設(shè)計(jì)

        2014-08-06 01:12:16王芳芳
        關(guān)鍵詞:線程串口數(shù)據(jù)包

        汪 紅,王芳芳,占 桑

        (中南民族大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,武漢 430074)

        隨著計(jì)算機(jī)技術(shù)、信息技術(shù)、控制技術(shù)的發(fā)展,以及人們物質(zhì)生活水平的不斷提高,傳統(tǒng)的住宅已經(jīng)不能滿足人們的需求,智能家居便應(yīng)運(yùn)而生.智能家居傳感器網(wǎng)絡(luò)能把所有物品通過(guò)射頻識(shí)別等信息傳感設(shè)備與3G互聯(lián)網(wǎng)連接起來(lái),實(shí)現(xiàn)智能化識(shí)別和管理.本文設(shè)計(jì)的動(dòng)態(tài)智能家居安防系統(tǒng)除了能實(shí)現(xiàn)傳統(tǒng)的家居系統(tǒng)傳感器數(shù)據(jù)采集、分析及安防報(bào)警、手機(jī)短信遠(yuǎn)程控制家用電器開(kāi)關(guān)的功能之外,通過(guò)加入小車這個(gè)移動(dòng)智能網(wǎng)關(guān),可以實(shí)時(shí)獲取家里的信息.通過(guò)短信以及Internet與智能家居網(wǎng)關(guān)進(jìn)行通信,實(shí)現(xiàn)對(duì)智能家居系統(tǒng)的遠(yuǎn)程控制.

        1 基于FPGA平臺(tái)的動(dòng)態(tài)家居安防系統(tǒng)

        1.1 系統(tǒng)研究背景

        當(dāng)前嵌入式設(shè)計(jì)發(fā)展迅速,在包含大量數(shù)據(jù)處理模塊(比如智能視頻監(jiān)控、先進(jìn)的工業(yè)控制等應(yīng)用)的場(chǎng)景中,對(duì)高性能、低功耗、靈活性高的處理器的要求很高,現(xiàn)有的微處理器缺乏足夠的信號(hào)處理能力,而Zynq-7000是一款高性能和低功耗的處理器平臺(tái)[1],具有ARM+FPGA的體系結(jié)構(gòu),能夠提供靈活和可擴(kuò)展的解決方案.

        傳統(tǒng)的智能家居系統(tǒng)主控CPU一般采取ARM+Zigbee的解決方案[2],我們?cè)O(shè)計(jì)的系統(tǒng)創(chuàng)新性地使用Zedboard FPGA(現(xiàn)場(chǎng)可編程邏輯門陣列)作為主控CPU,Zigbee模塊采用CC2530 Soc解決方案[3],GPRS模塊采用sim300模塊,使用AT指令與用戶手機(jī)進(jìn)行交互,與Internet的交互通過(guò)BOA,CGI實(shí)現(xiàn).FPGA實(shí)現(xiàn)PWM信號(hào)產(chǎn)生邏輯控制電機(jī).

        1.2 系統(tǒng)實(shí)現(xiàn)架構(gòu)

        如圖1所示,主控模塊完成的功能主要包括與Zigbee協(xié)調(diào)器,GSM/GPRS,Internet的互聯(lián),攝像頭視頻采集與電機(jī)驅(qū)動(dòng)小車控制.該模塊包含兩個(gè)進(jìn)程,進(jìn)程一負(fù)責(zé)取Zigbee網(wǎng)絡(luò)數(shù)據(jù),并且將處理后的數(shù)據(jù)分發(fā)給GSM/GPRS模塊,以及Internet WebServer模塊.

        圖1 系統(tǒng)硬件結(jié)構(gòu)框架 Fig.1 Framework map of hardware system

        進(jìn)程一又包括3個(gè)獨(dú)立的線程,分別與各個(gè)模塊進(jìn)行交互.流程如下:

        pthread_t tid[3]; //創(chuàng)建線程號(hào)

        pthread_attr_t attr[3]; //為線程分配空間

        pthread_attr_init(&attr[0]);

        pthread_attr_setscope(&attr[0], PTHREAD_SCOPE_SYSTEM);

        …… //線程空間初始化

        pthread_create(&tid[0],&attr[0],thread_serial_ttyPS1,NULL);//創(chuàng)建線程1:用于ZedBoard獲取ZigBee網(wǎng)絡(luò)數(shù)據(jù)

        pthread_create(&tid[1],&attr[1],thread_serial_uartlite_debug,NULL);//創(chuàng)建線程2:用于ZedBoard向GSM發(fā)送數(shù)據(jù)包

        pthread_create(&tid[2],&attr[2],thread_serial_ttyPS1toWeb,NULL);//創(chuàng)建線程3:用于ZedBoard向Internet發(fā)送數(shù)據(jù)包

        pthread_join(tid[0],NULL);

        …… //在主函數(shù)中加入線程

        pthread_rwlock_destroy(&GPacketBuf_rwmutex); //釋放線程

        進(jìn)程二是CGI模塊,由WebServer調(diào)用,其功能包括解析數(shù)據(jù)包,并將ZigBee信息以網(wǎng)頁(yè)的形式呈現(xiàn)給用戶.流程如下:第一步,創(chuàng)建數(shù)據(jù)包格式;第二步,運(yùn)用HTML語(yǔ)言將從Zigbee自組網(wǎng)搜集的溫度傳感器、電池供電電壓、火災(zāi)警告、防盜報(bào)警、風(fēng)扇、電燈開(kāi)關(guān)狀況[4]通過(guò)網(wǎng)頁(yè)告知用戶,用戶可以通過(guò)在遠(yuǎn)端登陸Internet查看家居狀況的完整信息.數(shù)據(jù)包的具體格式將會(huì)在后面的ZigBee模塊處給出.

        2 ZigBee自組網(wǎng)絡(luò)

        在ZigBee網(wǎng)絡(luò)中有3種設(shè)備:(1)協(xié)調(diào)器.負(fù)責(zé)啟動(dòng)整個(gè)網(wǎng)絡(luò),它也是網(wǎng)絡(luò)的第一個(gè)設(shè)備.(2)路由器.其主要功能是:允許其他設(shè)備加入網(wǎng)絡(luò),并協(xié)助自身同時(shí)作為終端設(shè)備的通訊.(3)終端設(shè)備.沒(méi)有維持網(wǎng)絡(luò)結(jié)構(gòu)的責(zé)任,它可以處于睡眠狀態(tài)或者被喚醒[5].

        2.1 ZigBee 網(wǎng)絡(luò)節(jié)點(diǎn)配置

        在我們的設(shè)計(jì)中,存在兩類節(jié)點(diǎn),一類是協(xié)調(diào)器節(jié)點(diǎn),具備路由功能.另一類是終端設(shè)備節(jié)點(diǎn),負(fù)責(zé)采集家居信息.終端節(jié)點(diǎn)的信息匯集到協(xié)調(diào)器節(jié)點(diǎn),然后由協(xié)調(diào)器節(jié)點(diǎn)交給主控制器,對(duì)Zigbee網(wǎng)絡(luò)的數(shù)據(jù)進(jìn)行統(tǒng)一處理.

        2.2 串口通信數(shù)據(jù)包格式

        ZedBoard主控與Zigebee協(xié)調(diào)器通信數(shù)據(jù)包格式[6]如下:

        StartByte->1B (代表數(shù)據(jù)包起始字節(jié) 0x47)

        PropertyId->1B (代表屬性ID)

        NodeId->1B (代表Zigbee終端設(shè)備節(jié)點(diǎn)ID)

        PacketLength->2B (代表整個(gè)包的長(zhǎng)度)

        PrivateData->XB (代表屬性ID對(duì)應(yīng)的負(fù)載內(nèi)容 X = PacketLength -6 )

        EndByte->1B (代表數(shù)據(jù)包結(jié)束字節(jié)0x48)

        該數(shù)據(jù)包的統(tǒng)一格式不僅用于ZigBee協(xié)調(diào)器節(jié)點(diǎn)與ZedBoard的通信,也適用于ZedBoard FPGA開(kāi)發(fā)板向GSM模塊之間串口通信發(fā)送的數(shù)據(jù)包以及ZedBoard向Internet CGI模塊傳送的數(shù)據(jù)包,即這三個(gè)數(shù)據(jù)包相統(tǒng)一.各子模塊通過(guò)判斷串口接收數(shù)據(jù)的起始位和結(jié)束位打包接收數(shù)據(jù).然后接收模塊再根據(jù)數(shù)據(jù)包協(xié)議對(duì)接收到的消息進(jìn)行解析.GSM模塊會(huì)通過(guò)解析判斷是否有警告情況出現(xiàn),進(jìn)而向用戶發(fā)短信以警告,Internet模塊則將各個(gè)傳感器收集到的數(shù)據(jù)以文本形式顯示在網(wǎng)頁(yè)上.

        2.3 電機(jī)驅(qū)動(dòng)與智能小車的實(shí)現(xiàn)

        該模塊由L298N雙H橋直流電機(jī)驅(qū)動(dòng)模塊實(shí)現(xiàn),驅(qū)動(dòng)部分端子供電范圍Vs為+5~+30V,驅(qū)動(dòng)部分峰值電流為2A,原理圖如圖2所示,圖中IN1,IN2,IN3,IN4為控制信號(hào),當(dāng)IN1為0,IN2為1時(shí),電機(jī)a正轉(zhuǎn),IN1為1,IN2為0時(shí),電機(jī)a反轉(zhuǎn).當(dāng)IN1,IN2同時(shí)為0或同時(shí)為1時(shí),電機(jī)停止轉(zhuǎn)動(dòng).PWM-a,PWM-b為使能端,接FPGA PWM輸出信號(hào).L298N-a,L298N-b為電機(jī)a輸出端.電機(jī)b原理同上.

        圖2 直流電機(jī)驅(qū)動(dòng)原理圖Fig.2 Principle map of DC motor's driver

        該直流電機(jī)驅(qū)動(dòng)主要用于驅(qū)動(dòng)智能小車[1],以實(shí)現(xiàn)小車在房間移動(dòng),并用攝像頭來(lái)采集房間實(shí)時(shí)信息,并及時(shí)通過(guò)互聯(lián)網(wǎng)返回給用戶;另外,智能小車上也帶有一個(gè)ZigBee模塊,裝有熱釋電人體紅外傳感器以檢測(cè)房間內(nèi)是否有陌生人出入,可燃?xì)怏w傳感器以檢測(cè)廚房是否出現(xiàn)可燃?xì)怏w泄露,煙霧傳感器以檢測(cè)是否有火災(zāi)發(fā)生.

        2.4 GPRS/GSM模塊

        在GPRS模塊中,我們采用Simcom提供的SIM300開(kāi)發(fā)模塊,主要是利用8051單片機(jī)來(lái)實(shí)現(xiàn)數(shù)據(jù)解析,以判斷是否有警告消息出現(xiàn),進(jìn)而向用戶發(fā)送警告短信,向用戶發(fā)送短信是通過(guò)單片機(jī)串口向SIM300串口傳送一連串的AT指令[7]來(lái)實(shí)現(xiàn)的.

        在發(fā)送AT指令的過(guò)程中,通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),發(fā)送AT指令的頻率太高會(huì)導(dǎo)致SIM300反應(yīng)不過(guò)來(lái)而導(dǎo)致操作失敗,發(fā)送頻率太低則會(huì)使信息的實(shí)時(shí)性缺失,用戶不能及時(shí)了解到警告信息并通過(guò)發(fā)送短息加以控制,GPRS作為一個(gè)媒介實(shí)現(xiàn)用戶與智能家居系統(tǒng)的互通.同理,Internet 端也作為一個(gè)中間介質(zhì)以實(shí)現(xiàn)用戶對(duì)智能小車的控制.實(shí)現(xiàn)動(dòng)態(tài)瀏覽的目標(biāo).具體通信的流程圖如圖3所示.

        圖3 系統(tǒng)各模塊間信息傳輸流程圖Fig.3 Transmission of Information between each modules of the System flow chart

        3 實(shí)驗(yàn)結(jié)果與分析

        在Zynq芯片的配置上,如圖4所示,主控制器ARM Cortex-A9芯片基本保持了digilent原廠提供的配置,如圖4左邊兩列所示,串口UART0在出廠時(shí)已經(jīng)配置好,用于啟動(dòng)操作系統(tǒng);我們?cè)谑褂脮r(shí),把UART1也開(kāi)辟出來(lái),供FPGA與ZigBee協(xié)調(diào)器模塊串口通信時(shí)使用;另外為了將超過(guò)警報(bào)閾值的數(shù)據(jù)轉(zhuǎn)發(fā)到GSM模塊,需要在可編程邏輯(Programmable Logic,PL)單元開(kāi)辟一個(gè)串口axi_uartlite_0,該串口是用FPGA提供的AXI總線接口擴(kuò)展的,充分利用了FPGA在I/O方面可以充分自定義的優(yōu)點(diǎn),硬件上彌補(bǔ)了Zynq上ARM芯片串口不夠用的缺陷.相關(guān)的地址映射如圖5所示.

        圖4 ARM及FPGA的相關(guān)配置Fig.4 Associated configuration on ARM and FPGA

        圖5 相關(guān)地址映射Fig.5 Associated Address Map

        先用串口調(diào)試工具軟件測(cè)試智能安防報(bào)警模塊[7]短信收發(fā)功能.圖6所示的是短信讀取功能.讀短信時(shí)輸入AT+CMGR=5 再按enter鍵,選擇“手動(dòng)發(fā)送”,其功能讀取指定“5”里的內(nèi)容,返回短信報(bào)文.

        圖6 GSM短信讀取功能測(cè)試Fig.6 GSM SMS read function test

        圖7所示的是短信發(fā)送功能.先輸入AT+CMGF=1 再按enter后選擇“手動(dòng)發(fā)送”,表示用英文方式發(fā)送,回復(fù)OK.然后輸入AT+CMGS=“13632389015”按Enter鍵點(diǎn)“手動(dòng)發(fā)送”,功能:向輸入的號(hào)碼發(fā)送短信,回復(fù)>,收到>后才可輸入發(fā)送內(nèi)容abc,再點(diǎn)手動(dòng)發(fā)送.最后用十六進(jìn)制方式發(fā)送1A短信結(jié)束符,等待返回,如果收到:+CMGS:11,表示發(fā)送成功.然后編寫(xiě)程序,固化芯片.SIM300在實(shí)際數(shù)據(jù)收發(fā)時(shí),必須要有足夠的等待時(shí)間,否則工作時(shí)會(huì)有丟失短消息的現(xiàn)象.

        圖7 GSM短信發(fā)送功能測(cè)試Fig.7 GSM SMS send function test

        4 結(jié)語(yǔ)

        (1)采用嵌入式高性能處理器ZedBoard 作為主控CPU,利用Linux軟件平臺(tái)實(shí)現(xiàn)復(fù)雜的應(yīng)用邏輯:例如定義通信協(xié)議、對(duì)信息進(jìn)行收集和分發(fā)、定義Uart IP 核,不僅提高了開(kāi)發(fā)周期,易于后期擴(kuò)展,而且系統(tǒng)整體功能也比較穩(wěn)定.

        (2)串口通信方面,實(shí)驗(yàn)發(fā)現(xiàn):在高波特率下會(huì)出現(xiàn)丟包現(xiàn)象比較嚴(yán)重,低波特率下會(huì)導(dǎo)致信息反

        饋不及時(shí),致使系統(tǒng)的實(shí)時(shí)性降低.最后通過(guò)測(cè)試統(tǒng)一將波特率設(shè)定為9600.

        (3)通過(guò)引入智能小車,能夠?qū)⒁苿?dòng)小車采集的視頻信息及時(shí)傳送至互聯(lián)網(wǎng).下一步將分析串口數(shù)據(jù)速率對(duì)彩信傳輸有效性之間的關(guān)系,研究?jī)?yōu)化彩信發(fā)送策略,力求在實(shí)現(xiàn)互聯(lián)網(wǎng)實(shí)時(shí)監(jiān)控[8]的基礎(chǔ)上,能夠在短信發(fā)送報(bào)警信號(hào)的同時(shí),GPRS模塊能及時(shí)將圖片以彩信形式反饋給用戶.

        參 考 文 獻(xiàn)

        [1] 陸佳華,江 舟,馬 岷.嵌入式系統(tǒng)軟硬件協(xié)同設(shè)計(jì)實(shí)戰(zhàn)指南[M].北京:機(jī)械工業(yè)出版社,2012:12-14, 272-287.

        [2] 馮承金.基于Zigbee和ARM9的智能家居系統(tǒng)的研究與設(shè)計(jì)[D].武漢:武漢理工大學(xué),2010:5-8.

        [3] 吳文忠,李萬(wàn)磊.基于ARM和ZigBee的智能家居系統(tǒng)[J].計(jì)算機(jī)工程與設(shè)計(jì),2011(06):1987-1990.

        [4] 袁 源,王紫婷,劉洋帆.基于FPGA和ZigBee技術(shù)的智能家居系統(tǒng)[J].信息通信,2011(06):42-43.

        [5] 高守?zé)?吳燦陽(yáng).Zigbee技術(shù)實(shí)踐教程[M].北京:北京航空航天大學(xué)出版社,2009:19-24.

        [6] Antorweep Chakravorty, Tomasz Wlodarczyk, Chunming Rong. Privacy Preserving Data Analytics for Smart Homes [J]. IEEE Security and Privacy Workshops,2013:23-27.

        [7] 楊 堤.基于物聯(lián)網(wǎng)的智能家居控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電子世界,2012(11):16-17.

        [8] Jesus Roberto Millan-Almaraz.FPGA-based wireless smart sensor for real-time photosynthesis monitoring[J]. Computers and Electronics in Agriculture,2013,95(1):58-61.

        猜你喜歡
        線程串口數(shù)據(jù)包
        淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
        SmartSniff
        淺談linux多線程協(xié)作
        USB接口的多串口數(shù)據(jù)并行接收方法探索
        基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無(wú)線通信
        基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
        基于并行控制的FPGA多串口拓展實(shí)現(xiàn)
        視覺(jué)注意的數(shù)據(jù)包優(yōu)先級(jí)排序策略研究
        Linux線程實(shí)現(xiàn)技術(shù)研究
        移動(dòng)IPV6在改進(jìn)數(shù)據(jù)包發(fā)送路徑模型下性能分析
        丰满少妇又爽又紧又丰满动态视频| 欧美成人精品一区二区综合| 精品久久久久一区二区国产| 和少妇人妻邻居做爰完整版| 91日韩东京热中文字幕| 亚洲av成人噜噜无码网站| 精品午夜福利1000在线观看| 国产高清女人对白av在在线| 亚洲在线精品一区二区三区| 免费人成年激情视频在线观看| 国产综合精品久久99之一| 私人毛片免费高清影视院| 五月天婷婷综合网| 中文少妇一区二区三区| 亚洲精品国产av成人精品| 天天夜碰日日摸日日澡| 人妻无码一区二区在线影院| 黄色大片国产精品久久| 久久不见久久见免费视频6| 欧美性开放bbw| 99RE6在线观看国产精品| 蜜桃视频第一区免费观看| 国产精品久久久国产盗摄| 国产特级全黄一级毛片不卡| 亚洲av精品一区二区| 在线精品亚洲一区二区动态图| 欧产日产国产精品精品| 日本韩国三级aⅴ在线观看 | 久久久久88色偷偷| 99久久免费精品高清特色大片| 日本熟妇中文字幕三级| 亚洲日本人妻少妇中文字幕| 午夜毛片不卡免费观看视频 | 久久久国产乱子伦精品作者| 欧美日韩国产一区二区三区地区| 日本人妻系列一区二区| 亚洲国产精品日本无码网站 | 亚洲一区二区三区尿失禁| 青青青国产精品一区二区| 国产精品女同一区二区久| 激情综合五月开心婷婷|