色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于ARM的智能綜合監(jiān)控基站方案設(shè)計

          基于ARM的智能綜合監(jiān)控基站方案設(shè)計

          作者: 時間:2016-10-22 來源:網(wǎng)絡(luò) 收藏

          引言

          本文引用地址:http://cafeforensic.com/article/201610/309137.htm

          傳統(tǒng)的監(jiān)控系統(tǒng)類似大體可以分為四種:防盜放火報警監(jiān)控系統(tǒng),門禁系統(tǒng)、考勤或巡更系統(tǒng),環(huán)境檢測系統(tǒng),視頻監(jiān)視系統(tǒng)。

          目前市場上通常對某個區(qū)域(例如倉庫)的全面監(jiān)控管理是由以上四種類型的監(jiān)控系統(tǒng)的簡單相加,各分系統(tǒng)之間相對獨(dú)立,到上層監(jiān)控中心才進(jìn)行綜合,這樣作勢必會造成布線煩瑣、維護(hù)力度大、升級困難、成本增加,而且系統(tǒng)的聯(lián)網(wǎng)方式單一也可能造成系統(tǒng)的魯棒性不高,處理突發(fā)事件的能力不強(qiáng),針對這樣一種現(xiàn)狀,文中提高了一種基于32位高性能處理器AT91RM9200的智能方案。

          1 系統(tǒng)結(jié)構(gòu)

          最大的特點(diǎn)在于將各個子系統(tǒng)在底層進(jìn)行綜合集成,并且采用PSTN、GPRS和TCP/IC三種聯(lián)網(wǎng)方式。無論從成本、智能化程度,還是從安裝使用便利程度上看都是絕對的優(yōu)勢。系統(tǒng)結(jié)構(gòu)如圖1所示。

          11.jpg

          整個系統(tǒng)可分為兩個部分:上層的監(jiān)控中心和下層的監(jiān)控。監(jiān)控基站和監(jiān)控中心通過以太網(wǎng)或者電話網(wǎng)連接起

          來,此外管理人員也可以通過GPRS訪問監(jiān)控基站。監(jiān)控基站由RS485總線連接前端溫濕度變送器等環(huán)境數(shù)據(jù)測量設(shè)備和門禁讀卡器,根據(jù)實(shí)際需求可以掛載多個設(shè)備。煙霧感應(yīng)器和紅外報警器一般是干接點(diǎn)的輸出形式,可以掛載到基站的開關(guān)量接口;門磁電鎖通過專用的門禁電源也可以掛載到基站的開關(guān)量接口上,為了減少視頻傳輸數(shù)據(jù)量,攝像頭的數(shù)據(jù)線經(jīng)過MEPG4視頻壓縮編碼設(shè)備進(jìn)行壓縮,再通過基站的USB主口將壓縮數(shù)據(jù)流讀到基站緩存,再通過網(wǎng)絡(luò)送到上層監(jiān)控中心,由上層監(jiān)控中心解碼讀取。

          這種體系結(jié)構(gòu)具有很好的擴(kuò)展性,可以方便地根據(jù)實(shí)際情況增加或減少監(jiān)控基站的數(shù)量,且對上層監(jiān)控中心的影響不大,另外,系統(tǒng)具有靈活的網(wǎng)絡(luò)控制管理功能,只要給定權(quán)限,網(wǎng)絡(luò)上任何一臺計算機(jī)都可作為監(jiān)控中心進(jìn)行遠(yuǎn)程監(jiān)控,實(shí)現(xiàn)了監(jiān)控管理的層次化、網(wǎng)絡(luò)化和分布化。

          2 硬件組成及設(shè)計

          為了盡快實(shí)現(xiàn)這一方案,快速搭建一個原型,在硬件的設(shè)計上采用了模塊化的設(shè)計思想,硬件結(jié)構(gòu)圖如圖2所示。

          22.jpg

          2.1 最小系統(tǒng)

          最小系統(tǒng)即基站的處理中心,主芯片選用Atmel公司的基于920T內(nèi)核的高性能嵌入式芯片AT91RM9200,運(yùn)算速度高達(dá)200MIPS。AT91RM9200集成了豐富的外圍部件,包括系統(tǒng)外圍和應(yīng)用(用戶)外圍。系統(tǒng)外圍包括電源管理控制器(PMC)、系統(tǒng)定時器(ST)、實(shí)時時鐘(RTC)、高級中斷控制器(AIC)、并行I/0(PIO)控制器、調(diào)試單元(DU);應(yīng)用外圍包括USB主端口、USB設(shè)備端口、以太網(wǎng)10/100BaseT MAC控制器、多媒體閃存(MMC)卡接口、同步串行控制(SSC)、USART、串行外圍接口(SPI)、TWO-wire兩線接口、定時器/計數(shù)器。AT91RM9200集成了高速片上SRAM和低延遲的外部總線接口(EBI),EBI對外部存儲器或映射于存儲器的外設(shè)提供了無縫的連接。EBI中內(nèi)置了控制器,用于控制同步DRAM、突發(fā)訪問模式的Flash存儲器和靜態(tài)存儲器;EBI還提供了與SmartMedia、CompactFlash和NAND Flash的接口??蓴U(kuò)展的Flash接口為整個系統(tǒng)的升級和擴(kuò)展提供了方便。

          主芯片外接1片16 MB Flash和2片16 MB SDRAM來擴(kuò)展存儲空間和內(nèi)存。存儲空間和內(nèi)存大小,視實(shí)際應(yīng)用的需要可進(jìn)一步擴(kuò)展。

          2.2 外圍接口

          外圍接口包括1個USB主口、2個RS485串行接口、2個RS232串行接口、1個以太網(wǎng)口、1個RS232調(diào)試串口、1個JTAG口、3路干接點(diǎn)輸入接口、3路數(shù)字量輸出接口、5 V電源輸入接口。

          USB主口用于視頻壓縮模塊數(shù)據(jù)流的傳輸;為了軟件設(shè)計上的方便,考慮到RS485設(shè)備協(xié)議的不同,設(shè)計兩個RS485接口,一個用于連接大連北方測控集團(tuán)的溫濕度變送器,一個用于連接廣州微動力公司的RS485讀卡器;兩個RS232串行接口,一個用于連接深圳百億公司的GPRS M0DEM,一個用于連接北京天石公司的嵌入式調(diào)制解調(diào)器,以實(shí)現(xiàn)GPRS訪問和接入電話網(wǎng)絡(luò)的功能;一個以太網(wǎng)口實(shí)現(xiàn)接入以太網(wǎng)的功能;3路干接點(diǎn)輸入接口用于連接深圳迪萊克公司的煙霧感應(yīng)器和被動式紅外探測器;3路數(shù)字量輸出接口通過電磁繼電器可以根據(jù)實(shí)際需求來控制門磁電鎖、空調(diào)、消防噴頭、聲光報警器等。

          AT91RM9200集成了豐富的外圍部件,所以在外圍接口的設(shè)計上只需要少量的芯片就可以實(shí)現(xiàn)。

          2.3視頻壓縮模塊

          視頻壓縮模塊原本和基站是集成在一起的??紤]到實(shí)際應(yīng)用時,某些場合沒有以太網(wǎng),只能通過電話網(wǎng)絡(luò)和監(jiān)控中心連接,在這種情況下視頻傳輸是沒有意義的,所以把視頻壓縮模塊獨(dú)立出來,能夠應(yīng)用并且需要應(yīng)用視頻監(jiān)控的場合,就將視頻壓縮模塊掛載到基站的USB主口上。

          為了縮短開發(fā)周期,視頻壓縮模塊采用美國WIS公司的支持多格式的MPEG24視頻編碼芯片GO7007SB。GO7007SB采用多種WIS專利技術(shù),可方便地實(shí)現(xiàn)多種格式、多種標(biāo)準(zhǔn)的音/視頻壓縮及報警、動態(tài)檢測、OSD(On Screen Display)、內(nèi)嵌web服務(wù)器等功能。通過適當(dāng)?shù)呐渲?,視頻流的輸出格式可以是MPEG一1、MPEG一2、MPEG一4、H.263、MJPEG格式。GO7007SB可以無須膠合地與CMOS/CCD圖像感光芯片相連,同時,提供了EEPROM、SDRAM、USB等控制通道以及HPI等豐富的外圍接口。

          GO7007SB只支持?jǐn)?shù)字視頻接口,而模擬攝像頭成本較低,可以采用Philips公司的視頻解碼芯片SAA711A將模擬攝像頭傳過來的模擬視頻數(shù)據(jù)轉(zhuǎn)換成數(shù)字視頻數(shù)據(jù)流送給GO7007SB進(jìn)行壓縮編碼。

          3 基站軟件組成及設(shè)計

          基站的軟件設(shè)計有幾個版本。這里以加入視頻監(jiān)控,從以太網(wǎng)傳輸數(shù)據(jù)的版本為例來加以說明。

          3.1 軟件主要功能

          軟件的主要功能如下:

          ①實(shí)時檢測和處理前端傳感器發(fā)送的數(shù)據(jù),并且通過判斷來確定前端的被監(jiān)控場所的情況是否正常。若出現(xiàn)緊急情

          況,則自動啟動滅火、警報等裝置工作,并且將有關(guān)的情況和數(shù)據(jù)通過網(wǎng)絡(luò)和短信的形式發(fā)送給主控中心的管理者。

          ②能夠?qū)崟r接收網(wǎng)絡(luò)發(fā)來的命令,在對命令的類型進(jìn)行自動處理和判斷后實(shí)現(xiàn)相應(yīng)的功能(例如對傳感器的查詢和短信模塊的控制);同時主控中心能夠通過網(wǎng)絡(luò)接收前端傳感器的有關(guān)數(shù)據(jù)。

          ③能夠通過視頻編碼模塊將視頻數(shù)據(jù)進(jìn)行壓縮處理,并且將壓縮好的視頻數(shù)據(jù)通過網(wǎng)絡(luò)實(shí)時地發(fā)送到監(jiān)控中心。

          ④用戶能夠通過短信的方式查詢智能控制終端前方的傳感器狀態(tài),并且可以控制門禁系統(tǒng)。當(dāng)有緊急情況出現(xiàn)時,智能控制終端能夠通過短信的方式進(jìn)行報警。

          5)基站能夠自動識別和處理門禁系統(tǒng)的數(shù)據(jù),自動判斷用戶的權(quán)限,將用戶的進(jìn)出進(jìn)行記錄,并且將最新記錄傳給主控中心作記錄的備份。

          3.2 軟件架構(gòu)

          整個軟件采用嵌入式操作系統(tǒng)Linux作為基站功能實(shí)現(xiàn)上的主要載體。Linux是多任務(wù)操作系統(tǒng),在軟件整體劃分上主要分五個線程,系統(tǒng)上電起動后五個線程并行工作。五個線程之間的關(guān)系如圖3所示。

          33.jpg

          這五個線程分別是:

          視頻傳輸線程,負(fù)責(zé)將壓縮好的數(shù)據(jù)通過網(wǎng)絡(luò)傳給主控制中心。

          網(wǎng)口接收線程,負(fù)責(zé)接收和處理主控中心通過網(wǎng)口下發(fā)的指令和數(shù)據(jù)。

          傳感器檢測線程,負(fù)責(zé)檢測前端傳感器的狀態(tài),并對相應(yīng)的數(shù)據(jù)進(jìn)行處理。

          門禁檢測線程,負(fù)責(zé)對門禁系統(tǒng)進(jìn)行控制。

          GSM短信檢測線程,負(fù)責(zé)對短信命令的接收,并根據(jù)命令作相應(yīng)的處理。

          下面以網(wǎng)口接收線程為例,詳細(xì)介紹此線程模塊的設(shè)計,網(wǎng)絡(luò)接收線程流程如圖4所示。

          44.jpg

          網(wǎng)絡(luò)接收線程起始處于接收狀態(tài),當(dāng)它接收到信息時,根據(jù)所定義的信息標(biāo)識來確定接收到的是數(shù)據(jù)還是命令,如果判定是命令,則根據(jù)命令的定義來區(qū)分命令的種類并作相應(yīng)的處理,在網(wǎng)絡(luò)接收線程的設(shè)計中使用了select函數(shù)作為接收和處理函數(shù)。select()機(jī)制中提供fd_set的數(shù)據(jù)結(jié)構(gòu),實(shí)際上是一個long類型的數(shù)組,每一個數(shù)組元素都能與一個打開的文件句柄(不管是Socket句柄,還是其他文件或者命名管道或者設(shè)備句柄)建立聯(lián)系。建立聯(lián)系的工作由程序員完成,當(dāng)調(diào)用Select()時,由內(nèi)核根據(jù)I/O狀態(tài)修改fd_set的內(nèi)容,由此來通知執(zhí)行了select()進(jìn)程的哪一個Socket或文件可讀。具體解釋為:

          44x.jpg

          ndfs:select需要監(jiān)視的文件句柄數(shù),視進(jìn)程中打開的文件數(shù)而定,一般設(shè)為需要監(jiān)視各文件中的最大文件號加1。

          readfds:select()監(jiān)視的可讀文件句柄集合。

          writefds:select()監(jiān)視的可寫文件句柄集合。

          exceptfds:select()監(jiān)視的異常文件句柄集合。

          timeout:本次select()的超時結(jié)束時間。(見/usr/sys/select.h,可精確至百萬分之一秒。)

          當(dāng)readfds或writefds中映象的文件可讀或可寫或超時,本次select()就結(jié)束返回。程序員利用一組系統(tǒng)提供的宏在select()結(jié)束時便可判斷哪一文件可讀或可寫。對Socket編程特別有用的就是readfds。

          幾個相關(guān)的宏解釋如下:

          FD_ZERO(fd_set*fdset):清空fdset與所有文件句柄的聯(lián)系。

          FD_SET(int fd,fd_set*fdset):建立文件句柄fd與fdset的聯(lián)系。

          FD_CLR(int fd,fd_set*fdset):清除文件句柄fd與fdset的聯(lián)系。

          FD_ISSET(int fd,fdset*fdset):檢查fdset聯(lián)系的文件句柄fd是否可讀寫,>0表示可讀寫。(關(guān)于fd_set及相關(guān)宏的定義見/usr/include/sys/types.h)

          這樣,socket只需在有數(shù)據(jù)讀的時間才讀入,大致如下:

          44xx.jpg

          所以一個FD_ISSET(sockfd)就相當(dāng)于通知了sockfd可讀。

          結(jié)語

          基于AT91RM9200的智能基站具有性能穩(wěn)定可靠,集成化智能化程度高,無需專人看管,可擴(kuò)展性好,資源利用率高等明顯優(yōu)點(diǎn)。因此,開發(fā)基于AT91RM9200的智能基站具有較高的技術(shù)先進(jìn)性和廣闊的市場前景,是一件非常有意義的事情。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉