<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 設計應用 > 裝備無(wú)線(xiàn)自動(dòng)跟蹤攝像頭的警用車(chē)輛支持系統*(下)

裝備無(wú)線(xiàn)自動(dòng)跟蹤攝像頭的警用車(chē)輛支持系統*(下)

作者:■ Joo Sunwoong、Suh Hoseong、Moon Youngje 韓國仁荷大學(xué)、韓國航空航天大學(xué)、弘益大學(xué) 時(shí)間:2008-04-08 來(lái)源:電子產(chǎn)品世界 收藏

  uClinux 上 C2H 加速的 JPEG 壓縮

本文引用地址:http://dyxdggzs.com/article/81346.htm

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

  自定義的OBD-II接口

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

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

  性能參數

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

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

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

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

  設計的體系結構

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

  標準 JPEG 庫 libjpeg 的 DCT 函數被更改為 C2H 加速器。圖像處理模塊、VGA 控制器和步進(jìn)馬達控制器被組合成一個(gè)單獨的 SoPC 組件??偣蚕牧?31000 LE。

  設計描述

  組合uClinux和C2H

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

  在 Nios IDE 環(huán)境中編寫(xiě)的代碼經(jīng)過(guò)很少的更改或無(wú)需更改即可在 uClinux 下的多任務(wù)環(huán)境中運行,因為在 uClinux 中對內存映射地址的寫(xiě)操作沒(méi)有限制。

  我們可以通過(guò)常用的技術(shù)在uClinux上使用C2H加速器。將 C2H 加速器從 Nios IDE 移到 uClinux 上所需步驟如下:

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

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

  可惜的是,我們在將 libjpeg DCT 函數轉換成加速器時(shí)面臨著(zhù)性能方面的問(wèn)題。我們將在接下來(lái)的部分介紹針對性能問(wèn)題的解決方案。

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

  一般情況下,開(kāi)發(fā)人員會(huì )考慮使用DSP進(jìn)行JPEG壓縮,但 DSP 需要有自己的軟件程序來(lái)提供支持。選擇可以加速libjpeg的C2H編譯器是一個(gè)正確的決定,因為許多現有應用程序都使用作為JPEG標準庫的libjpeg。

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

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

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

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

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

  我們發(fā)現,100 MHz Nios II處理器在Cyclone II芯片上對立體聲128Kbps 44.1KHz MP3音頻進(jìn)行解碼時(shí)會(huì )有性能損失。如果FIFO足夠大,則可以在該系統中播放單聲道音頻,但CPU會(huì )一直分配用于播放音頻的性能。

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

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



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>