新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于Nios Ⅱ軟核的運動目標跟蹤系統設計

        基于Nios Ⅱ軟核的運動目標跟蹤系統設計

        ——
        作者:孫瑩濤 李玉山 西安電子科技大學電路CAD研究所376信箱 時間:2007-01-26 來源:《電子元器件應用》 收藏

        引言

        近年來,隨著現場可編程邏輯陣列(fpga)的發展,采用niosⅱ軟核處理器在fpga上設計一種運動目標檢測跟蹤的片上系統成為可能。事實上,采用niosⅱ處理器的自定義指令,并用硬件實現部分算法,可以大大提高數據的處理速度,保證較好的實時性。同時,在外圍電路不變的情況下,通過改變fpga內部的電路設計,能使系統功能升級和增強。下面介紹一種基于niosⅱ軟核處理器的運動目標檢測跟蹤系統的設計方法。

        本文引用地址:http://www.104case.com/article/21375.htm

        系統組成及工作原理

        運動目標檢測跟蹤系統可根據應用場合定制為不同的功能,而且不同的功能只需要在nios中寫入相應的c語言程序即可,不需要再做硬件板,非常方便。下面介紹一種比較通用的運動目標檢測跟蹤系統。該系統的結構框圖如圖1所示。

        本文設計的運動檢測跟蹤系統主要包括三個模塊:圖象采集模塊、運動目標檢測跟蹤模塊以及數據通信模塊。

        (1)圖像采集模塊

        該模塊主要包括攝像頭和外擴sram。本系統采用的圖像傳感器是hv7131r,hv7131r是韓國現代公司采用0.3μm工藝生產的cmos傳感器,其有效像素大于30萬個,功率損耗低于90 mw。hv7131r配置方便,可通過標準的i2c接口設置芯片內部的控制寄存器,控制圖像的曝光時間、分辨率、幀率、rgb增益、水平/垂直鏡像等。hv7131r輸出10位的rgb原始數據,一般采用高8位。

        (2)運動目標檢測跟蹤模塊

        該模塊采用的fpga選擇altera公司stratix系列的ep1s25。該芯片的片上資源比較豐富,有25660個邏輯單元(le),1944576 bits的ram,10個dsp模塊,6個數字鎖相環(dpll),用戶可用的i/o最多達到702個。我們在ep1s25中嵌入nios軟核,控制連接在外部總線上的sram和flash,用它的以太網模塊單元控制以太網接口芯片lan9lc11。

        其中fpga是主芯片。從圖1可以看到,在1片fpga中包含了nios處理器、sram控制器、sdram控制器、flash控制器、uart以及攝像頭和外擴sram控制器的用戶邏輯模塊。這正體現了nios的優勢。實際上將很多資源集中在fpga中為設計pcb帶來了很大便利,而且系統的更改也變得非常容易,只要重新在fpga中添加不同的模塊就可以了。例如在sram中存儲嵌入式系統所用的向量表、數據和程序等。而flash則用于在系統掉電的情況下存儲程序和數據。

        (3)數據通信模塊

        根據實際情況選擇用以太網或gprs把運動目標檢測跟蹤后的結果發送到主控制站。在有以太網連接的條件下優先選用以太網連接,可以提供相對較高的傳輸速率和可靠性,在沒有以太網的條件下選用gprs連接進行通信。同時,如果用戶需要,也可以直接在lcd上顯示。

        運動目標跟蹤算法的實現

        在圖像處理和機器視覺領域,運動目標檢測跟蹤算法的研究比較熱門,近年來出現了許多新的算法,但可以歸結為以下四大類:光流場分析算法、主動輪廓算法、統計模型算法以及圖像差分算法。前三種方法與第四種方法相比,具有精度高,定位準的優點。但算法的復雜性較高,目前難以在硬件平臺上實現實時處理,因此,本系統采用了差分算法。我們主要針對背景和攝像機都靜止這一特定應用場合,選用了背景消減的運動檢測和跟蹤算法。這種算法的關鍵在于背景重建,在此我們應用幀間平均的背景重建方法,為了克服背景消減算法噪聲較大的先天不足,我們采用了形態學濾波方法去除噪聲。整個算法的實現過程如圖2所示。

        幀間平均算法使用當前幀之前各幀的象素平均值作為當前背景的估計值,如式(1)所示:

        式中:bay,n(x,y)為第n幀估計背景中(x,y)點的像素值,in(x,y)為第n幀原始圖象中(x,y)點的像素值。其中,背景是隨著n增加逐漸恢復的,所以背景恢復過程并不影響圖象處理結果的實時傳輸。顯然,n越大,背景恢復越真實,我們可以控制n的大小來調整處理時間和處理效果之間的平衡。實驗證明:n等于64時足可以得到比較好的效果。

        我們使用nios ⅱ的定制指令,可以將一個復雜的標準指令序列簡化為一個用硬件實現的單一指令,從而簡化系統軟件設計并加快系統運行速度。在運動目標檢測跟蹤算法中,對運動圖像的處理數據運算量大,循環數目多,而nios ⅱ的定制指令個數已增加到256個,可以使用定制指令完成許多循環內的數據處理,從而加速數據處理的速度。定制指令邏輯和nios ⅱ的連接在sopc builder。中完成。nios ⅱ cpu配置向導提供了一個可添加256條定制指令的圖形用戶界面,在該界面中導入設計文件,設置定制指令名,并分配定制指令所需的cpu時鐘周期數目。系統生成時,nios ⅱ ide為每條用戶指令產生一個在系統頭文件中定義的宏,可以在c或c++應用程序代碼中直接調用這個宏。

        結束語

        本文的運動目標檢測跟蹤系統利用32位niosⅱ軟核處理器在fpga上來完成設計,大大減小了系統的體積,而且在pc機上開發的程序可移植到niosⅱ處理器上來實現片上系統。從而方便地把用戶需要的接口和自定義邏輯加入到系統中去。本文介紹的方法體現了sopc嵌入式系統的靈活性。因此,這種方法能夠有效地縮短開發周期,同時能夠延長產品的生命周期,還可以不斷地在原有產品的基礎上進行升級設計.



        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 赤峰市| 惠来县| 福贡县| 易门县| 安泽县| 镇沅| 闸北区| 治多县| 周宁县| 深水埗区| 大渡口区| 潞西市| 澎湖县| 德惠市| 响水县| 太和县| 洞口县| 璧山县| 香格里拉县| 淄博市| 西乌珠穆沁旗| 易门县| 兖州市| 新巴尔虎左旗| 乾安县| 延川县| 平潭县| 定日县| 无锡市| 鄯善县| 内黄县| 凤冈县| 嘉兴市| 平利县| 磴口县| 鹤壁市| 云安县| 潼南县| 麻栗坡县| 临潭县| 乌拉特中旗|