摘 要本課題研究的內(nèi)容是在現(xiàn)場(chǎng)可編程邏輯器件(FPGA)平臺(tái)中,基于32位軟核處理器 NIOS II,通過(guò)CMOS攝像頭采集數(shù)據(jù),呈現(xiàn)在VGA顯示終端上實(shí)現(xiàn)圖像實(shí)時(shí)采集、顯示、變換、拍照存儲(chǔ)等功能。利用FPGA的高速數(shù)據(jù)處理能力,對(duì)拍照的圖片實(shí)時(shí)的采集、處理、變換;NIOS II作為微控制器,對(duì)于采集的數(shù)據(jù)以bmp格式保存到具有FAT32文件系統(tǒng)的SD卡上。本設(shè)計(jì)中NIOS II軟核處理器是以軟核的形式嵌入到FPGA中,實(shí)現(xiàn)了SOPC技術(shù)(片上可編程系統(tǒng)),在單片F(xiàn)PGA上實(shí)現(xiàn)了整個(gè)硬件算法和微控制器的控制過(guò)程。
【關(guān)鍵詞】SOPC技術(shù) 數(shù)字圖像處理
本課題是MCU與FPGA的有效的結(jié)合。本系統(tǒng)的是在一片F(xiàn)PGA芯片上,集成了軟核NIOS II微控制器模塊,集成了高速數(shù)據(jù)采集顯示模塊,高速的圖像處理模塊,是一個(gè)不折不扣的片上可編程系統(tǒng)(SOPC)。利用FPGA的高速數(shù)據(jù)處理能力來(lái)處理攝像頭數(shù)據(jù)采集、圖像的變換,利用嵌入式MCU(即軟核NIOS II)實(shí)現(xiàn)整個(gè)系統(tǒng)的控制以及外設(shè)的驅(qū)動(dòng),充分發(fā)揮各自的優(yōu)勢(shì)。
1 總體方案設(shè)計(jì)
系統(tǒng)的總體框圖如圖1所示。
在Altera公司的FPGA芯片中嵌入NIOS II軟核,作為系統(tǒng)的控制中樞。NIOS II是著名半導(dǎo)體廠商Altera公司設(shè)計(jì)的以硬件描述語(yǔ)言HDL形式提供的32位微處理器IP核,可以自由定制內(nèi)核、外設(shè)控制器,可以和HDL語(yǔ)言編寫(xiě)的數(shù)字模塊一起,燒錄在一片F(xiàn)PGA芯片上,實(shí)現(xiàn)片上系統(tǒng)(SoC)。攝像頭信號(hào)的采集、圖像的分析處理直接通過(guò)VerilogHDL編寫(xiě)的硬件模塊實(shí)現(xiàn),充分利用了FPGA芯片高速的并行處理能力。
2 系統(tǒng)的設(shè)計(jì)
2.1 NIOS II CPU模塊設(shè)計(jì)
NIOS II CPU模塊是在Quartus II中利用SOPC Builder設(shè)計(jì)工具來(lái)設(shè)計(jì),主要是添加了NIOS II軟核處理器的內(nèi)核,數(shù)據(jù)讀取IP核以及一些外設(shè)控制器。
2.2 CMOS攝像頭捕獲模塊設(shè)計(jì)
CMOS攝像頭捕獲模塊是通過(guò)VerilogHDL語(yǔ)言編寫(xiě),主要完成行、場(chǎng)同步以及水平和垂直的計(jì)數(shù)。模塊的輸入接口是對(duì)應(yīng)的攝像頭的硬件接口,輸出接口是對(duì)應(yīng)到圖像變換模塊的輸入接口。因?yàn)楸驹O(shè)計(jì)中,CMOS的圖像數(shù)據(jù)是要經(jīng)過(guò)變換之后,才存儲(chǔ)到SDRAM之中的,也是本設(shè)計(jì)的一大亮點(diǎn)。
2.3 圖像變換模塊
由于時(shí)間限制和項(xiàng)目規(guī)劃,本項(xiàng)目只設(shè)計(jì)了灰度變換和去色變換,執(zhí)行效果明顯,變換后的圖像實(shí)時(shí)顯示在VGA顯示器上,沒(méi)有任何延遲和卡頓。此模塊的適當(dāng)開(kāi)發(fā),有助于提升項(xiàng)目的應(yīng)用價(jià)值和擴(kuò)展功能。iswitch端口為變換模式切換信號(hào),可以實(shí)時(shí)改變變換的模式。
2.4 四端口SDRAM控制器模塊
本模塊設(shè)計(jì)了2個(gè)數(shù)據(jù)寫(xiě)入端和2個(gè)數(shù)據(jù)讀取端,采用VerilogHDL語(yǔ)言編寫(xiě),實(shí)現(xiàn)的功能是將外部SDRAM作為硬件FIFO存儲(chǔ)數(shù)據(jù)。
2.5 NIOS II控制部分軟件設(shè)計(jì)
NIOS II作為32位CPU內(nèi)核,在本設(shè)計(jì)中是控制整個(gè)系統(tǒng)運(yùn)行的核心部分。軟件設(shè)計(jì)是在NIOS II Software Build Tools for Eclipse中設(shè)計(jì)完成的
3 系統(tǒng)的實(shí)物圖和功能測(cè)試
如圖2所示。
4 總結(jié)
FPGA平臺(tái)下,SOPC的設(shè)計(jì)方法在推廣上,還有不少的難度,還有不少的工作要做。希望我們的工作僅僅是一個(gè)開(kāi)端,起到拋磚引玉的作用,希望有越來(lái)越多的好的設(shè)計(jì)出現(xiàn)。
參考文獻(xiàn)
[1]郝建國(guó),倪德克,鄭燕.基于NIOSII內(nèi)核的FPGA電路系統(tǒng)設(shè)計(jì)[M].北京:電子工業(yè)出版社, 2010.
[2]夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程(第2版)[M].北京:北京航空航天大學(xué)出版社,2008(6).
[3]潘宗樹(shù).基于NIOSII的SOPC系統(tǒng)設(shè)計(jì)與研究[D].武漢科技大學(xué),2007.
作者簡(jiǎn)介
李寶平(1984-),男,安徽省蕪湖市人。現(xiàn)為南京航空航天大學(xué)金城學(xué)院講師,主要從事SOCP嵌入式系統(tǒng)研究。
作者單位
南京航空航天大學(xué)金城學(xué)院 江蘇省南京市 211100