RM新时代官网

您好,歡迎來到安徽省安全技術(shù)防范行業(yè)協(xié)會!
0551- 62818875 64280445
網(wǎng)站首頁>政策法規(guī)>行業(yè)資訊
行業(yè)動態(tài)

行業(yè)資訊

無線自動跟蹤攝像頭的警用車輛支持系統(tǒng)

來源:互聯(lián)網(wǎng) 發(fā)布時間:2008/11/13
 

    隨著科學(xué)技術(shù)的不斷發(fā)展,在視頻監(jiān)控的各個細(xì)節(jié)都著很大的突破,針對移動視頻監(jiān)控的特點(diǎn),無線自動跟蹤攝像頭的警用車輛支持系統(tǒng)孕育而生。

    uClinux上C2H加速的JPEG壓縮

    按JPEG標(biāo)準(zhǔn)進(jìn)行的圖像壓縮大小為640x400。libjpeg的前向式DCT函數(shù)被加速器取代;該加速器使用C2H編譯器開發(fā)而成,可以在uClinux環(huán)境中進(jìn)行訪問。將C2H加速器與uClinux結(jié)合非常重要,因?yàn)樗c其它任務(wù)同時運(yùn)行。對libjpeg(標(biāo)準(zhǔn)庫)進(jìn)行加速使我們可以無需增加額外的DSP芯片或任何常見的軟件就能獲得性能的提升。使用libjpeg的應(yīng)用程序可以通過重新編譯提高壓縮性能,而不必修改任何代碼。

    自定義的OBD-II接口

    車輛都有一個用于進(jìn)行系統(tǒng)管理的發(fā)動機(jī)控制單元(ECU)。警用車輛上也有這樣的設(shè)備。對于新近制造的車輛來說,ECU是一個非常重要的組件,其作用是將發(fā)動機(jī)與各種電子控制部件結(jié)合起來。OBD-II是一個接口,可以將計算機(jī)或診斷工具連接到ECU以便進(jìn)行車輛維護(hù),它可以實(shí)現(xiàn)設(shè)備間的通信。

    OBD標(biāo)準(zhǔn)有很多種,具體取決于車輛的制造商。本項目采用的是ISO9141-2國際標(biāo)準(zhǔn)。通過OBD-II,可以了解車輛的行駛速度、燃油狀態(tài)和車輛的故障情況。其初始化過程為5波特,通信速度為10.4k波特。對于接收到的信息部分字節(jié),必須進(jìn)行補(bǔ)充并將其發(fā)送到ECU進(jìn)行通信。在SoPC平臺上使用的是UART組件,因?yàn)樗c串行通信類似。

    性能參數(shù)

    表1列出了在圖像處理模塊上發(fā)送控制信號,到步進(jìn)馬達(dá)上接收初始操作信號之間的時間間隔。該時間間隔是通過示波器測量得出的。通過GPIO接口啟動步進(jìn)馬達(dá)后,在軟件程序控制器中,Nios處理器會接收中斷信號,并生成操作信號。

    汽車跟蹤攝像頭的速度主要取決于圖像處理性能。表2顯示了基于不同平臺的每種跟蹤算法的測試幀速率。實(shí)際上,DE2的幀速率接近60幀/秒,因?yàn)閳D像處理模塊以隔行掃描模式運(yùn)行;但是,我們根據(jù)有效幀的數(shù)量將其標(biāo)記為29幀/秒。

    另一個結(jié)果是,C2H加速的libjpeg的DCT函數(shù)可以實(shí)現(xiàn)JPEG的快速壓縮。640x400的24位位圖經(jīng)過了20倍強(qiáng)壓縮以實(shí)現(xiàn)精確的測量。使用C2H編譯所顯示出來的性能比這種沒有加速器設(shè)計的性能要差。要解決此問題,我們更改了緩沖區(qū)管理方法。在修改了DCT函數(shù)后,性能提升了4倍。

點(diǎn)此在新窗口瀏覽圖片

數(shù)據(jù)表

    我們在設(shè)計該系統(tǒng)時,考慮了在uClinux系統(tǒng)上使用USB調(diào)制解調(diào)器時的性能下降問題。然而事實(shí)顯示,網(wǎng)絡(luò)性能與在PC環(huán)境中運(yùn)行的性能幾乎相同。

    設(shè)計的體系結(jié)構(gòu)

    整個系統(tǒng)由uClinux操作系統(tǒng)控制。包括圖像處理模塊在內(nèi)的攝像頭控制系統(tǒng)和子系統(tǒng)由完整的FPGA組成。

    標(biāo)準(zhǔn)JPEG庫libjpeg的DCT函數(shù)被更改為C2H加速器。圖像處理模塊、VGA控制器和步進(jìn)馬達(dá)控制器被組合成一個單獨(dú)的SoPC組件。總共消耗了31000LE。

    設(shè)計描述

    組合uClinux和C2H

    使用操作系統(tǒng)可以靈活地在復(fù)雜的多設(shè)備環(huán)境系統(tǒng)中進(jìn)行開發(fā)。uClinux內(nèi)核是適合于非MMU處理器的操作系統(tǒng)內(nèi)核。由于uClinux系統(tǒng)中沒有內(nèi)存管理單元,因此可以極大地簡化基于Nios處理器對定制的硬件加速器進(jìn)行訪問的應(yīng)用程序的使用。

    在NiosIDE環(huán)境中編寫的代碼經(jīng)過很少的更改或無需更改即可在uClinux下的多任務(wù)環(huán)境中運(yùn)行,因?yàn)樵趗Clinux中對內(nèi)存映射地址的寫操作沒有限制。

    我們可以通過常用的技術(shù)在uClinux上使用C2H加速器。將C2H加速器從NiosIDE移到uClinux上所需

1 2 下一頁
[!--empirenews.page--]步驟如下:

    第一步是生成一個臨時項目。然后,在NiosIDE中編譯并生成加速器?,F(xiàn)在,我們可以在Debug目錄中看到加速器的打包函數(shù)。將這些頭文件(Headerfile)和打包函數(shù)復(fù)制到uClinux開發(fā)目錄中。如果您尚未對FPGA編程,則進(jìn)行該項編程。

    下一步是使用Nios的gcc工具和elf2flt選項編譯經(jīng)過加速的應(yīng)用程序。確保必需的頭文件(如system.h或io.h)存在。在完成此步驟后,將生成的執(zhí)行文件復(fù)制到單片機(jī)上。在大多數(shù)情況下,它的速度會比僅使用軟件的系統(tǒng)要快。

    可惜的是,我們在將libjpegDCT函數(shù)轉(zhuǎn)換成加速器時面臨著性能方面的問題。我們將在接下來的部分介紹針對性能問題的解決方案。

    優(yōu)化C2H編譯器的JPEG庫

    一般情況下,開發(fā)人員會考慮使用DSP進(jìn)行JPEG壓縮,但DSP需要有自己的軟件程序來提供支持。選擇可以加速libjpeg的C2H編譯器是一個正確的決定,因?yàn)樵S多現(xiàn)有應(yīng)用程序都使用作為JPEG標(biāo)準(zhǔn)庫的libjpeg。

    但是,在使用C2H編譯器轉(zhuǎn)換原始的DCT函數(shù)時,它所顯示的性能比僅使用軟件設(shè)計的性能低。從結(jié)構(gòu)上來說,對數(shù)據(jù)高速緩存的刷新是一個問題,它的數(shù)據(jù)處理工作是以64個字節(jié)為單位進(jìn)行的。我們設(shè)計了適合于C2H編譯器的經(jīng)過優(yōu)化的緩沖區(qū)管理系統(tǒng)。這個管理器實(shí)現(xiàn)了4倍的性能提升。

    創(chuàng)建自定義的SoPC組件

    每個部件都由VerilogHDL單獨(dú)設(shè)計,并作為一個組件添加到SoPC中。圖像處理模塊、VGA控制器和步進(jìn)馬達(dá)控制器被組合成一個單獨(dú)的SoPC組件,因?yàn)檫@些部件相互之間都有密切的關(guān)聯(lián)。這些組件作為AvalonMaster的組件在SRAM上寫入圖像數(shù)據(jù)。

    使用自定義指令對MPEG音頻進(jìn)行解碼

    在使用NiosII處理器和uClinux的環(huán)境中播放MPEG音頻存在三個主要問題:處理器性能、FIFO的大小以及在uClinux中用于輸出的設(shè)備驅(qū)動程序。

    我們發(fā)現(xiàn),100MHzNiosII處理器在CycloneII芯片上對立體聲128Kbps44.1KHzMP3音頻進(jìn)行解碼時會有性能損失。如果FIFO足夠大,則可以在該系統(tǒng)中播放單聲道音頻,但CPU會一直分配用于播放音頻的性能。

    我們在Nios處理器上添加了使用自定義指令的64位乘法器以實(shí)現(xiàn)64位乘法計算;這種運(yùn)算方法在Libmad庫中經(jīng)常用到。播放的性能提升了大約2.5倍,用于計算的時鐘使用率有所降低。

    還有其它一些原因使音頻播放質(zhì)量不佳。首先是采樣率不好,其次是緩沖區(qū)大小不足,最后是多任務(wù)處理環(huán)境。音頻將參考使用17MHz的時鐘。

上一頁 1 2
RM新时代官网