基于異構(gòu)多核體系的汽車遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:本文提出了基于異構(gòu)多核體系的汽車遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)方法,利用雙Nios II處理器實(shí)現(xiàn)系統(tǒng)的控制和圖像處理,同時(shí)設(shè)計(jì)了硬件協(xié)處理器模塊實(shí)現(xiàn)圖像預(yù)處理和壓縮工作,采用GPRS無線網(wǎng)絡(luò)發(fā)送監(jiān)控信息。有效提高了系統(tǒng)的采集、處理、壓縮和傳送速度,實(shí)現(xiàn)了對(duì)遠(yuǎn)程汽車的實(shí)時(shí)監(jiān)控。
關(guān)鍵詞:異構(gòu)多核;Nios II;Sobel;運(yùn)動(dòng)目標(biāo)檢測(cè);JPEG;通用無線分組業(yè)務(wù)
0 引言
隨著汽車日益家庭化,汽車被盜事件屢屢發(fā)生,據(jù)不完全統(tǒng)計(jì),我國(guó)每年汽車被盜數(shù)目達(dá)十萬之多。針對(duì)現(xiàn)有汽車監(jiān)控防盜系統(tǒng)存在的噪聲污染、誤報(bào)率高、不穩(wěn)定、功耗高等缺點(diǎn),本設(shè)計(jì)提出一種基于異構(gòu)多核體系的汽車遠(yuǎn)程監(jiān)控系統(tǒng),采用兩塊Nios II軟核作為主處理器構(gòu)成雙核系統(tǒng),將硬件DSP處理IP作為雙核系統(tǒng)的協(xié)處理器,構(gòu)成異構(gòu)多核的嵌入式系統(tǒng)。采用高精度CMOS攝像頭采集被監(jiān)控區(qū)域的視頻圖像,通過VGA實(shí)時(shí)進(jìn)行輸出監(jiān)控,同時(shí)對(duì)圖像數(shù)據(jù)進(jìn)行一系列處理,判斷監(jiān)控區(qū)域是否有異物闖入。從而降低誤報(bào)率的同時(shí),進(jìn)一步提高了監(jiān)控系統(tǒng)的穩(wěn)定性和實(shí)時(shí)性。
1 設(shè)計(jì)方案
系統(tǒng)采用Altera公司提供的DEl開發(fā)平臺(tái),檢測(cè)傳感器組包括:震動(dòng)、加速度傾角傳感器,完成對(duì)汽車監(jiān)控系統(tǒng)中的加速度、傾角、震動(dòng)能量參數(shù)的測(cè)量。CMOS圖像傳感器完圖像的采集工作,經(jīng)FPGA圖像預(yù)處理后于VGA口實(shí)時(shí)監(jiān)控,經(jīng)JPEG編碼器將圖像進(jìn)行壓縮。采用雙核Nios II進(jìn)行系統(tǒng)控制和圖像處理運(yùn)動(dòng)目標(biāo)檢測(cè)。射頻模塊完成GPRS無線通信,將圖像數(shù)據(jù)以及監(jiān)控信息通過GPRS網(wǎng)絡(luò)發(fā)送到監(jiān)控中心和用戶手機(jī)。其系統(tǒng)硬件框圖如圖l所示。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 異構(gòu)多核體系
在設(shè)計(jì)中,由于有大量的實(shí)時(shí)圖像數(shù)據(jù)運(yùn)算,一塊CPU的計(jì)算速度無法滿足要求,甚至出現(xiàn)錯(cuò)誤結(jié)果,這里采用兩塊NIOS II構(gòu)成雙核系統(tǒng),同時(shí)設(shè)計(jì)硬件DSP處理IP作為雙核系統(tǒng)的協(xié)處理器,共同完成任務(wù)。[!--empirenews.page--]
Nios II Corel作為主控核,運(yùn)行UCOS II操作系統(tǒng),管理所有任務(wù)的調(diào)度工作,完成汽車傳感器的采集、加速度傾角震動(dòng)的計(jì)算、短信彩信的發(fā)送等。Nios II Core2作為輔助核,完成采集連續(xù)兩幀的視頻圖像,并進(jìn)行實(shí)時(shí)運(yùn)動(dòng)目標(biāo)檢測(cè)算法。雙核之間的通信通過Mailbox IP核共享On Chip Memory實(shí)現(xiàn)。同時(shí)設(shè)計(jì)Sobel算子邊界檢測(cè)硬件圖像預(yù)處理模塊和JPEG圖像壓縮IP作為雙核系統(tǒng)的協(xié)處理器,構(gòu)成異構(gòu)多核的嵌入式系統(tǒng)。結(jié)構(gòu)框圖如圖2所示。由于SDRAM作為視頻圖像的緩存,這里將Corel運(yùn)行于SRAM。Core2運(yùn)行于Flash,讀寫數(shù)據(jù)和堆棧存儲(chǔ)于SRAM中。
2.2 汽車傳感器采集板設(shè)計(jì)
汽車傳感器信號(hào)采集板采用AD公司的加速度傳感器ADXL202AQC,用于對(duì)汽車的X/Y方向加速度、傾角以及震動(dòng)值進(jìn)行測(cè)量,傳感器采集系統(tǒng)框圖如圖3所示。ADXL202AQC采用MEMS工藝制作,是一種低價(jià)格、低功耗、單芯片集成雙軸加速度傳感器,3~5.25V單電源供電,工作電流小于6mA,可以測(cè)量0~5kHz、±2g范圍內(nèi)的動(dòng)態(tài)或靜態(tài)加速度,60Hz時(shí)分辨率為2mg,可以數(shù)字、模擬信號(hào)形式輸出。
ADXL202AQC采集雙軸加速度值,通過Xout、Yout輸出數(shù)字量,以和加速度值對(duì)應(yīng)的不同占空比方波輸出,將這兩路數(shù)字信號(hào)通過PIO口采集入SOPC系統(tǒng),通過Timer X、Timer Y定時(shí)器計(jì)算出精確的加速度值,NiosII Corel對(duì)兩個(gè)加速度值和重力加速度值確定三維空間的加速度傾角值。
同時(shí)通過Xfilt、Yfilt輸出加速度的模擬信號(hào)量,通過帶通濾波器將信號(hào)范圍控制在10~200Hz,微小的震動(dòng)量可以通過,經(jīng)放大、ADC轉(zhuǎn)換通過PIO口采集入SOPC系統(tǒng),處理器對(duì)這些值進(jìn)行計(jì)算,得到震動(dòng)幅值。
2.3 圖像的采集、處理與壓縮
系統(tǒng)的圖像采集用Terasic公司的TRDB-D5M攝像頭,實(shí)際像素2592H×1944V,顏色陣列為RGB(紅綠藍(lán))模式,最大數(shù)據(jù)傳送速度為96MHz時(shí)鐘下96Mb/s,VGA(640×480)輸出幀率可達(dá)70f/s,內(nèi)置12位ADC轉(zhuǎn)換器,3.3V單電源供電,I/O口電壓范圍1.7~3.1v。完全滿足系統(tǒng)要求,系統(tǒng)將攝像頭采集的信號(hào)經(jīng)過Soble算子邊緣檢測(cè)預(yù)處理,同時(shí)通過VGA口實(shí)時(shí)監(jiān)控,然后將圖像數(shù)據(jù)送Nios IICore2進(jìn)行運(yùn)動(dòng)目標(biāo)檢測(cè),當(dāng)監(jiān)控區(qū)域內(nèi)檢測(cè)到運(yùn)動(dòng)目標(biāo)后,對(duì)圖像進(jìn)行JPEG壓縮便于GPRS的數(shù)據(jù)發(fā)送。下面對(duì)各模塊加以介紹。
2.3.1 Sobel算子邊緣檢測(cè)預(yù)處理
圖像邊緣往往攜帶一幅圖像的大部分信息,是圖像最基本的特征之一。圖像邊緣檢測(cè)是圖像處理、圖像分析、模式識(shí)別以及計(jì)算機(jī)視覺的基本步驟,其結(jié)果的正確性和可靠性將直接影響到機(jī)器視覺系統(tǒng)對(duì)客觀事物的理解。本系統(tǒng)采用經(jīng)典的Sobel算子邊緣檢測(cè)算法,將圖像像素的左右、上下領(lǐng)域的灰度加權(quán),根據(jù)在邊緣點(diǎn)處達(dá)到極值這一原理進(jìn)行邊緣檢測(cè)。該算法處理的數(shù)據(jù)量大,通過軟件程序?qū)崿F(xiàn)將比較慢,無法滿足實(shí)時(shí)性要求,本系統(tǒng)用Verilog設(shè)計(jì)硬件模塊實(shí)現(xiàn)該功能。將CMOS攝像頭采集的圖像進(jìn)行預(yù)處理,其邊緣檢測(cè)結(jié)果送VGA實(shí)時(shí)監(jiān)控(如圖4所示),同時(shí)圖像數(shù)據(jù)交NiosⅡCore2進(jìn)行計(jì)算。設(shè)計(jì)中需要3×3的像素塊和大量乘加運(yùn)算,這里用到Altem公司的Megafuncation)庫(kù),如ALTSHIFT_TABS移位寄存器對(duì)三行像素進(jìn)行緩沖,然后將各條緩沖線送入ALTMULT ADD乘加塊。
[!--empirenews.page--]
2.3.2 運(yùn)動(dòng)目標(biāo)檢測(cè)模塊
視頻圖像是三維圖像的二維投影,當(dāng)三維圖像發(fā)生變化時(shí)二維圖像也會(huì)發(fā)生相應(yīng)的變化,通過對(duì)連續(xù)幀間的變化進(jìn)行實(shí)時(shí)計(jì)算,當(dāng)有運(yùn)動(dòng)目標(biāo)時(shí)會(huì)引起幀差。系統(tǒng)中采用10級(jí)幀差法,可以根據(jù)對(duì)檢測(cè)靈敏度的要求設(shè)置報(bào)警級(jí)別,同時(shí)對(duì)監(jiān)控區(qū)的不同范圍采用不同的權(quán)值,以提高運(yùn)動(dòng)目標(biāo)的判斷準(zhǔn)確度。由于實(shí)行幀差算法要求很高的實(shí)時(shí)性,對(duì)連續(xù)采集的大量圖像信號(hào)要即時(shí)處理,否則影響測(cè)試結(jié)果,系統(tǒng)中用處理器NIOS II Core2單獨(dú)完成這份工作。用SDRAM作為攝像頭采集的圖像信號(hào)緩存,這里采用Teraisc公司提供的4 PortsSDRAM Controller-IP核,將CMOS攝像頭采集經(jīng)轉(zhuǎn)換的RGB信號(hào)以16位存儲(chǔ)于SDRAM中。在SDRAM中存儲(chǔ)連續(xù)的兩幀圖像信號(hào),通過4 Ports SDRAM Controller IP的兩個(gè)輸出Port(端口)同時(shí)傳輸給NIOS II Core2處理。其中的一個(gè)輸出Port再接VGA口。圖像存儲(chǔ)關(guān)系如圖5所示。
2.3.3 JPE6圖像壓縮IP核設(shè)計(jì)
為了便于GPRS的圖像傳輸,需要對(duì)圖像進(jìn)行壓縮,這里采用JPEG壓縮標(biāo)準(zhǔn)對(duì)圖像進(jìn)行壓縮,用Verflog設(shè)計(jì)JPEG圖像壓縮DSP模塊作為系統(tǒng)的協(xié)處理器,并掛接于系統(tǒng)Avalon總線。JPEG標(biāo)準(zhǔn)中壓縮算法的步驟包括二維DCT、量化、熵編碼等。其編碼過程框圖如圖6所示。
在設(shè)計(jì)編碼器時(shí)先對(duì)圖像進(jìn)行分塊,對(duì)RGB信號(hào)進(jìn)行YCbCr轉(zhuǎn)換,YCbCr信號(hào)進(jìn)行2D-DCT轉(zhuǎn)換并同時(shí)進(jìn)行ZigZag掃描將二維數(shù)據(jù)轉(zhuǎn)換為系數(shù)連續(xù)相關(guān)的一維數(shù)據(jù),根據(jù)JPEG組織提供的量化表對(duì)數(shù)據(jù)進(jìn)行量化壓縮,最后對(duì)量化結(jié)果進(jìn)行VLC編碼和Haffman編碼得到壓縮結(jié)果。其中核心的部分是2D-DCT轉(zhuǎn)換,這里介紹其設(shè)計(jì)過程:離散余弦變換是一種正交變換,2D-DCT的變換公式如下:
系統(tǒng)采用矩陣乘法,查找系數(shù)表和矩陣轉(zhuǎn)置的方法實(shí)現(xiàn)2D-DCT。在設(shè)計(jì)過程中多次用到Altera提供的Megafuncation庫(kù):ALTMULT_ADD乘加運(yùn)算、LPM_ADD_SUB交替加減運(yùn)算、ALTSHIFT_TABS移位寄存器等加速設(shè)計(jì)。這里以《Image and Video CompressionStandard))中給出的測(cè)試矩陣RAW作為輸入,MATLAB的計(jì)算結(jié)果和Modelsim的時(shí)序仿真結(jié)果如圖7所示,結(jié)果表明誤差在l左右,完全滿足系統(tǒng)要求。
圖7 2D-DCT_Z的MATLAB計(jì)算結(jié)果和Modelsim時(shí)序仿真結(jié)果比較
2.4 GPRS無線通信模塊
GPRS是一種基于GSM的新型移動(dòng)分組數(shù)據(jù)承載業(yè)務(wù),其最高速率可達(dá)到170kb/s。GPRS允許業(yè)務(wù)用戶在端到端分組轉(zhuǎn)移模式下發(fā)送和接收數(shù)據(jù),而不需要利用電路交換模式的網(wǎng)絡(luò)資源,能夠確保分組模式數(shù)據(jù)應(yīng)用的成本效益和網(wǎng)絡(luò)資源的有效利用。系統(tǒng)通過GPRS無線通信模塊發(fā)送中文短信和彩信,采用SIMCOM公司的SIM300Z芯片。當(dāng)系統(tǒng)檢測(cè)的加速度傾角或震動(dòng)能量超過所設(shè)定的閾值時(shí),將計(jì)算值以短信發(fā)送給用戶。當(dāng)系統(tǒng)檢測(cè)到運(yùn)動(dòng)目標(biāo)時(shí),先發(fā)送短信提示,隨后將壓縮的JPG圖片以彩信發(fā)送到客戶端。[!--empirenews.page--]
3 系統(tǒng)軟件設(shè)計(jì)
3.1 系統(tǒng)的軟件層
系統(tǒng)的驅(qū)動(dòng)程序都是基于HAL層的方式編寫,包括:GPRS通信模塊的驅(qū)動(dòng)、檢測(cè)傳感器驅(qū)動(dòng)、DMA驅(qū)動(dòng)、JPEG編碼器驅(qū)動(dòng)、CCD控制器驅(qū)動(dòng)。主核NlOS II Corel上運(yùn)行UC/OS II完成多任務(wù)的調(diào)度,PPP協(xié)議棧完成網(wǎng)絡(luò)傳輸功能。所有應(yīng)用程序在操作系統(tǒng)的管理下工作,包括對(duì)檢測(cè)傳感器信號(hào)的采集應(yīng)用程序、GPRS通信功能、圖像傳感器配置與采集、圖像數(shù)據(jù)處理分析存儲(chǔ)等。其軟件層圖如圖8所示。
3.2 UC/OS ll操作系統(tǒng)的多任務(wù)設(shè)計(jì)
為保證系統(tǒng)軟件的實(shí)時(shí)性,在Nios II Corel上運(yùn)行UCOSⅡ?qū)崟r(shí)操作系統(tǒng),同時(shí)方便地管理系統(tǒng)多任務(wù)運(yùn)行。這里設(shè)計(jì)7個(gè)任務(wù)和兩個(gè)中斷,任務(wù)以及中斷間的通信通過信號(hào)量、郵箱、全局變量等實(shí)現(xiàn)。任務(wù)及中斷間的關(guān)系如圖9所示。
Taskl:X/Y方向加速度、傾角信號(hào)采集計(jì)算及判斷;
Task2:震動(dòng)能量信號(hào)的采集計(jì)算及判斷:
Fask3:運(yùn)動(dòng)目標(biāo)檢測(cè)結(jié)果采集;
Task4:X/Y方向加速度、傾角提示短信發(fā)送:
Task5:震動(dòng)能量提示短信發(fā)送;
Task6:運(yùn)動(dòng)目標(biāo)檢測(cè)結(jié)果短信發(fā)送;
Task7:JPG彩信發(fā)送:
ISR1:Nios II Core2發(fā)送來檢測(cè)到運(yùn)動(dòng)目標(biāo)消息;
ISR2:JPEG編碼完成:
4 結(jié)束語
本方案通過汽車傳感器采集板采集信號(hào),計(jì)算出X/Y方向加速度、傾角、震動(dòng)能量,當(dāng)超過所設(shè)定閾值時(shí)通過GPRS無線模塊發(fā)送信息給客戶端。CMOS攝像頭D5M完成視頻圖像的采集,做Sobel算子邊緣檢測(cè)圖像預(yù)處理,通過VGA實(shí)時(shí)輸出監(jiān)控。對(duì)連續(xù)兩幀的信號(hào)做運(yùn)動(dòng)目標(biāo)檢測(cè),當(dāng)檢測(cè)到運(yùn)動(dòng)異物時(shí)以短信提示用戶,同時(shí)拍攝下此時(shí)的照片,對(duì)照片進(jìn)行JPEG圖像壓縮,進(jìn)行GPRS彩信發(fā)送與客戶端。其設(shè)計(jì)特點(diǎn)為實(shí)時(shí)性強(qiáng)、誤報(bào)率低、傳輸速度快、穩(wěn)定性好等,具有很好的實(shí)用性。