基于S3C2440和RFID技術的智能監(jiān)控系統(tǒng)
摘要:為了實現(xiàn)實時監(jiān)控,設計了一種以ARM9芯片S3C2440為核心的智能監(jiān)控系統(tǒng)。Nordic公司的nRF24L01芯片解決主控模塊和電子標簽的互相通信,實現(xiàn)遠距離射頻識別,工作于2.45 G。在房間內(nèi)有東西被移出后,OV9650攝像頭能夠實時采集房間內(nèi)的視頻信息,并及時顯示在群創(chuàng)3.7英寸TFT LCD屏上。實驗結果表明,該設計運行穩(wěn)定,是智能監(jiān)控的一種有效解決方案。
本文引用地址:http://www.ex-cimer.com/article/201610/306472.htm視頻監(jiān)控是安防系統(tǒng)中的重要環(huán)節(jié)。它的應用無處不在,無論是居民小區(qū)、校園,還是公司、企業(yè),它能及時將現(xiàn)場情況反映給監(jiān)控中心,有效的防止了犯罪的發(fā)生。但是,目前的監(jiān)控系統(tǒng)都有它的局限性。由于監(jiān)控中心監(jiān)控畫的顯示面的數(shù)量限制,不能夠同時顯示監(jiān)控網(wǎng)絡中所有的攝像頭所傳送的畫面。目前主要采用的措施是增加監(jiān)控中心的監(jiān)視器,要么定時輪流切換畫面。這些方案不夠智能且增加了運營成本。文中提出一種基于S3C2440的智能監(jiān)控系統(tǒng),以MSP430F2121、nRF24L01等為硬件基礎,結合射頻識別技術,實現(xiàn)對房間內(nèi)物品的實時智能監(jiān)控即房間內(nèi)有物品被移出時,將房間的圖像信息在監(jiān)控端實時顯示出來。
射頻識別技術是利用射頻信號通過空間耦合實現(xiàn)信息的傳遞并通過所傳遞的信息達到識別的目的的技術。本文采用的射頻通信模塊nRF24 L01能工作于2.45 G,讀寫距離遠,識別精度高,完全滿足實際要求。
1 系統(tǒng)整體架構
本文主要模擬實際監(jiān)控環(huán)境,設計出一套硬件系統(tǒng)和與之相應的軟件系統(tǒng),對房間內(nèi)的各種物件實現(xiàn)實時監(jiān)控,具體思想:給監(jiān)控房間內(nèi)每一件重要物品都貼上一張2.45 G射頻標簽,標簽每隔一定時間發(fā)送自己的信息(標簽號)給房間內(nèi)的2.45 G讀卡器(主控模塊),以證明所代表的物品還在房間。如果在規(guī)定時間內(nèi),讀卡器沒有讀到某張標簽,證明相應的物品已經(jīng)不在監(jiān)控區(qū)域,監(jiān)控模塊立即打開房間內(nèi)的攝像頭,采集現(xiàn)場視頻數(shù)據(jù),并將數(shù)據(jù)顯示在LCD顯示屏上。系統(tǒng)整體架構圖如圖1所示。
2 智能監(jiān)控系統(tǒng)硬件平臺
2.1 2.45G電子標簽
電子標簽是本系統(tǒng)的重要組成部分。采用3.7 V鋰電池供電,所以要求功耗盡可能低。MSP430F212是TI公司的一款典型低功耗混合信號處理芯片,它有一種正常工作模式(AM),和五種低功耗模式(LPM0、LPM1、LPM2、LPM3和LMP4)。MSP430系列單片機各個模塊相互獨立。系統(tǒng)進入低功耗模式,讓CPU睡眠,而其它模塊(如定時器、A/D轉換和看門狗等)正常運行。需要CPU時,可以利用中斷將其喚醒,進入正常工作模式。喚醒時間約為1μs。本設計采用MSP430F2121作為電子標簽主控芯片,完全滿足低功耗要求。
目前,2.45G電子標簽的射頻通信部分有如下解決方案:WIFI、Bluetooth、Nordic公司的nRF24101和Cypress公司的wireless USB。本設計綜合考慮電路性能、功耗、成本、系統(tǒng)復雜性等各方面因素,選擇了Nordic公司的nRF24L01芯片作為射頻收發(fā)解決方案。nRF24L01是一款工作于2.4 G頻段的無線通信芯片,采用GFSK調(diào)制,支持跳頻,支持點對點和1對6的無線通信。在其內(nèi)部,集成了Enhanced Short Burst協(xié)議,所以nRF24L01能夠自動處理幀頭和CRC校驗碼。并且其發(fā)射功率可以自動調(diào)節(jié)。
標簽主控芯片MSP430F2121與nRF24L01通過SH總線進行通信,SPI有SCLK、MOSI、MISO 3根線,加上使能CE、片選CS和IRQ信號線,總共6根線。在本設計中,標簽的主要任務是每隔一段實際發(fā)送自己的信息給讀卡器,所以可以省略MISO和IRQ兩個線。結構圖如圖2所示。
2.2 主控制模塊
主控制模塊的主要功能是讀取周圍的標簽信息,完成后,與內(nèi)存中的標簽表進行比較,如果某些標簽沒有被讀到,證明與標簽所綁定的物品不在所讀范圍內(nèi),此時打開攝像頭,在LCD上實時顯示房間內(nèi)的情況。
主控制模塊的主控芯片采用三星公司的S3C2440。該SOC是ARM9核,主頻高達400MHz,有獨立的指令cache和數(shù)據(jù)cache,有MMU控制器。并且集成了豐富的硬件資源,如PWM定時器、UART控制器、存儲器控制器、Nand Flash控制器、LCD控制器和攝像頭接口等等。完全滿足本設計對主控芯片的要求。
2.2.1 主控模塊的讀卡器部分
在電子標簽設計時,標簽一直發(fā)送模式。因此在主控制模塊端,配置nRF24L01處于接收模式,讓其一直讀取周圍標簽的信息。S3C2440有SPI控制器,所以配置nRF24L01比較方便,具體配置過程與電子標簽nRF24L01配置過程類似。需要注意的是相對于標簽端,主控制段用到了MISO和IRQ信號信,MISO接收標簽發(fā)來的信息,IRQ信號線與外部中斷0口相接。
2.2.2 主控模塊的視頻采集及顯示部分
S3C2440集成有SDRAM控制器,方便外接SDRAM。本設計采用三星公司的K4S561632N作為系統(tǒng)的SDRAM。K4S561632N組織形式為16M*16bit其線寬為16位,經(jīng)兩塊K4S561632N并聯(lián),得到32位的線寬,總容量為64MByte。之所以需要大內(nèi)存,是因為經(jīng)過攝像頭采集來的數(shù)據(jù),需要存儲于內(nèi)存中,以便于在LCD上顯示。查看數(shù)據(jù)手冊,K4S561632N有13根行地址線(RA0-RA12)、9根列地址線(CA0-CA8)、2根BANK選擇線(BA0-BA1)。SDRAM的行地址線和列地址線是分時復用的,先送行地址,然后送列地址,分別被鎖存于行地址鎖存器和列地址鎖存器中。
根據(jù)設計要求,當周圍環(huán)境中有物品被移出,主控制器讀不到某標簽時,需要實時采集房間的圖像數(shù)據(jù)。S3C2440集成了攝像頭控制接口,有13根信號線:CAMDATA[7:0](攝像頭輸入數(shù)據(jù))、CAMPCLK(輸入像素時鐘)、CAMVSYNC(輸入幀同步時鐘)、CAMHRER(輸入水平同步時鐘)CAMCLKOUT(提供給攝像頭的時鐘)和CAMRESET(攝像頭復位)。S3C2440攝像頭接口支持ITU—R BT601/656數(shù)據(jù)輸入,并且支持的2個通道的攝像頭DMA,Preview通道和Codec通道,Preview通道將數(shù)據(jù)存放于Preview DMA分配的內(nèi)存中,主要用于本地視頻顯示,本設計采用該通道。本系統(tǒng)中,攝像頭采用的是OmniVision公司的COMS攝像頭OV9650,它集成了SCCB總線接口,該總線包含兩根信號線,SIO_C時鐘線和SIO_D數(shù)據(jù)線。SCCB總線兼容IIC總線,所以,可以用S3C2440的IIC總線配置OV9650的寄存器,完成攝像頭的初始化。
S3C2440中集成了LCD控制器。支持單色灰色彩色LCD屏。對于LCD控制器的操作,需要注意3個時序信號,VSYNC(幀同步信號)、HSYNC(行同步信號)和VCLK(像素同步信號)。LCD顯示另外一個要注意的地方是顯示緩沖區(qū),可以在內(nèi)存中定義一個與屏幕尺寸大小相同的二維數(shù)組最為顯示緩沖區(qū)。本文使用的屏幕大小為320x240的LCD顯示屏,所以定義二維數(shù)組為LCD_BUFFER[240][320]。然后,將設置好的二維數(shù)組地址賦于LCDSADDR1和LCDSADDR2寄存器,初始化后的LCD顯示屏就能夠顯示緩沖區(qū)所存的數(shù)據(jù)。LCD控制有一個專用的DMA控制器,使用該DMA通道,能夠不需CPU的干預下,將視頻數(shù)據(jù)從幀緩沖區(qū)中傳送到LCD驅動。本設計顯示單元采用群創(chuàng)3.7英寸TFT LCD屏。
由OV9650采集的視頻數(shù)據(jù)通過DMA將數(shù)據(jù)存放到Preview DMA分配的內(nèi)存中,使這段內(nèi)存與LCD顯示緩存重合,就能夠實現(xiàn)攝像頭采集到的數(shù)據(jù)在LCD上實時顯示。視頻信息采集及顯示模塊如圖4所示。
2.3 主控制模塊程序的下載與運行
本設計的存儲系統(tǒng)為NAND FLASH,通過JTAG接口將程序下載到NAND FLASH,系統(tǒng)啟動時,NAND FLASH中不能夠運行程序,但是,S3C24 40自動將程序的前4K內(nèi)容從NAND FLASH搬移到處理器內(nèi)部的Stepping stone區(qū)域,這個區(qū)域成為Boot Internal SRAM,然后在其中運行程序,前4K程序中的搬移函數(shù)將整個程序從NAND FLASH中復制到SDRAM中,并從SDRAM中運行程序。至此整個系統(tǒng)正常啟動。之所以采用NAND FLASH作為存儲系統(tǒng),是因為相對于NOR FLASH,NAND FLASH有存儲密度高,可擦寫次數(shù)高,價格低等優(yōu)點,所以,是一種常見數(shù)據(jù)存儲設備。本設計采用NAND FLASH的型號是K9F2G08UOB,其容量為256M字節(jié)。通過S3C2440的NAND FLASH控制器可以很方便的控制NAND FLASH。
3 智能監(jiān)控系統(tǒng)軟件設計
3.1 電子標簽上的軟件設計
MSP430F2121完成初始化:設置時鐘頻率、選擇工作模式、通過SPI總線配置nRF24L01。然而MSP430F2121不含SPI總線接口,就需要根據(jù)SPI協(xié)議用I/O口模擬SPI總線來配置nRF24L01。
在本設計中,電子標簽只要發(fā)送自己的信息,不要接收任何信息。通過SPI的MOSI接口,配置閱讀器地址寄存器TX_ADDR,自動重發(fā)寄存器SETUP_RETR,通信頻率寄存器RF_CH和發(fā)射參數(shù)配置寄存器RF_SETUP等。具體參數(shù):通信頻率為2.45 G,不自動重發(fā),1MHz發(fā)送速率和0 dBm發(fā)射功率等參數(shù)。
MSP430F2121配置完nRF24L01后,用定時器定時1s,打開定時器,并進入低功耗模式LPM3。當定時器時間到時,產(chǎn)生中斷,喚醒CPU,在中斷處理函數(shù)中,向TX FIFO里寫數(shù)據(jù)(標簽編號),CE=1,保持10μs以上,nRF24L01由Standby-I模式進入Tx Mode,數(shù)據(jù)發(fā)完后,不檢測ACK自動回到Standbyr-I模式。中斷返回后,CPU再次休眠,定時器繼續(xù)計數(shù)如此往復。圖5為程序流程圖。
3.2 主控制模塊軟件設計
總控制模塊是本設計的核心,其軟件也是整個設計的重點。S3C2440主頻頻率高,硬件資源十分豐富。這使得對于外接設備的初始化和控制變得比較容易。
首先,在S3C2440啟動代碼中要設置工作頻率、建立好異常中斷向量表、初始化堆棧、初始化內(nèi)存、初始化應用程序執(zhí)行環(huán)境。
然后跳轉的主應用程序。在主應用程序中,初始化攝像頭和LCD控制器.通話SPI控制器配置nRF24L01,設置接收端地址RX_ADDR,選擇通信頻率,無線速率等參數(shù)。切換工作模式,nRF24L01從Standby-I模式進入RX Mode,在此模式下接收標簽發(fā)來的信息。
接著建立一個標簽是否存在的整型數(shù)組,如tag[n],n為數(shù)組元素的個數(shù),數(shù)組中每個元素的每位代表一個標簽的存在狀況,0表示存在,1表示不存在。數(shù)組tag[0]有32位可以表示32個標簽的存在狀況,本設計只有5個電子標簽,所以用tag[0]的低5位表示標簽的存在狀況,初始值各位全為1,即tag[0]=0x1f,當收到標簽發(fā)來的信息時,外部EINT0產(chǎn)生中斷,在中斷處理函數(shù)中,讀取標簽發(fā)來的信息,跳出中斷處理函數(shù),將tag[0]中相應標簽的表示位清零,如此循環(huán)。若定時器溢出并產(chǎn)生中斷(本設計定為5 s),判斷tag[0]是否等于0,若不等于0,表示有標簽沒有讀到,此時可能標簽所表示的物品已經(jīng)不在房間,主控制器打開攝像頭,打開LCD顯示器,將房間內(nèi)實時畫面顯示出來。管理人員清查現(xiàn)場,并手動重啟系統(tǒng)。軟件流程圖如下:
4 結論
經(jīng)過測試,標簽發(fā)送功率設置在0 dBm時,在空曠場地里,主控制模塊的識別范圍在半徑15 m圓的范圍內(nèi)。在空曠的操場上,主控模塊周圍15 m內(nèi)的圓形范圍內(nèi)隨機放置5件物品,每件物品上貼一個電子標簽。當拿上一件物品,走出識別距離時,主控模塊會在5 s內(nèi)打開攝像頭,將現(xiàn)場畫面顯示在LCD上,實現(xiàn)了實時視頻監(jiān)控功能。實驗結果基本符合預期。
評論