• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > SoPC技術在圖像采集和處理系統中的應用設計

    SoPC技術在圖像采集和處理系統中的應用設計

    作者: 時間:2010-05-04 來源:網絡 收藏
    隨著計算機和人工智能的快速發展,識別已成為人工智能的基礎技術,它涉及的技術領域越來越廣泛,越來越深入。隨著現代工業生產向高速化、自動化方向的發展,以形狀為特征的識別在現代生產中的日益增加,不論是材料、工業自動化、遙感技術,還是產品質檢都需要對形狀進行檢測。因此,開發集信號的于一體、具有高集成度、高保密性的圖像處統將成為行業的發展趨勢。此外,基于32 bit微器純嵌入式系統的圖像技術正處于方興未艾階段,發展前景廣闊,可廣泛于工業自動化生產、監護/防盜系統、機器人視覺等技術中。技術是Altera公司提出的一種靈活、高效的SoC解決方案,是一種新的軟硬件協同的系統技術。本系統就是在這種背景下提出的。其主要工作是一個實用的圖像和處理平臺,能完成目標圖像的采集輸入,并能對采集到的圖像進行處理和識別。
    1 系統整體方案及硬件設計
    系統要求在FPGA片內利用技術實現便攜式的圖像采集與處理。它通過對原始圖像的掃描,經數字圖像處理與識別后即可將得到的大容量的承載信息(包括文字、頭像、指紋等個人信息)在LCD上顯示,并可通過USB接口將信息拷貝,或通過RS-232接口將信息上傳給PC機,也可以通過GPRS將獲得的信息方便快捷地發往數據中心作驗證。
    整個系統的核心部分是內嵌Nios II軟核的FPGA,外圍設備和芯片包括圖像獲取設備、顯示器及片外SDRAM和FLASH存儲器、輸入設備等。系統結構框圖如圖1所示。

    本文引用地址:http://www.czjhyjcfj.com/article/151883.htm


    系統的工作過程是:系統配置完成后,視頻獲取設備獲取視頻圖像,每幀圖像經模數轉換生成圖像數據進入預處理模塊,經預處理后的圖像數據送入SDRAM存儲器,由Nios II處理器進行圖像的后續處理和控制。處理后的圖像經數模轉換在監視器上實時顯示。
    1.1 圖像采集接口電路設計
    本系統采用美國OmiVision公司的數字式彩色CMOS圖像傳感器OV7640。該芯片分辨率為640×480像素,成像速度為30幀/s,采取逐行掃描方式,輸出為。工作原理如圖2。

    圖像采集的程序流程是:首先Nios初始化OV7640的各個寄存器,主要包括狀態寄存器(STA)、數據和時鐘控制寄存器(CLKRC)、自動增益控制寄存器(AGC)的設置;然后查詢等待,條碼圖像被OV7640采集進入數據寄存器后,通過DMA方式存入SDRAM,Nios再從SDRAM中提取數據進行譯碼。
    1.2 基于Nios的系統硬件設計
    基于Nios軟核的SoPC系統設計是整個系統硬件設計的核心,包括Nios軟核處理器的設計、數據采集控制的設計、圖像信號FFT分析的實現、參數顯示以及RS232通信模塊的設計等。另外,使用Nios進行嵌入式設計在硬件上必需使用Altera公司的FPGA。
    Nios處理器核的硬件設計是根據系統的功能要求定制合適的CPU和外設,然后在SoPC和Quartus II中實現。在硬件設計流程中,可以靈活定制Nios CPU的許多特性甚至指令,可以使用Altera提供的IP Core來加快設計者開發Nios外設的速度并提高外設性能,也可以使用第三方的IP Core,或者使用VHDL、Verilog自行定制外設。
    系統Nios外設主要包括:
    (1)CMOS圖像傳感器接口模塊。由于Altera沒有提供CMOS圖像傳感器接口模塊,所以使用VHDL編程自行定制。通過VHDL編程設計一個CMOS圖像傳感器控制模塊,采用接入Avalon總線的方式自定制外設。
    (2)由于要對數字圖像信號進行FFT運算,所以采集的數據必須先進行存儲,然后再作FFT計算。因此,必須設計FIFO存儲器和FFT實現的硬件。
    (3)RS232通信電路模塊。RS232通信可以通過串行口UART加上一個轉換芯片來實現。所以,本系統利用SoPC中提供的UART組件來實現RS232通信接口的設計。
    (4)LCD液晶顯示模塊。LCD液晶顯示是通過配置Nios的PIO接口來控制的。
    除上面所述之外,根據系統要求,Nios處理器核應當配置以下組件及接口模塊:cpu、boot_rom(用于系統引導)、uart1(用于系統的仿真調試)、uart_rs232(用于串口通訊)、Timer1(系統內部時鐘)、lan_timer(以太網通信用時鐘)、button_pio(用于參數設置)、lcd_pio(用于參數顯示)、user_logic_ad_nv_ctl和user_logic_ad_power_ctl(自定義的AD轉換的接口模塊)、Ethernet(用于以太網通信)、ext_ram(外部SRAM)、dma(用于將采集的數據直接存入SRAM中)和ext_flash(外部flash)。
    本系統中數據的存儲是通過設計FIFO存儲器電路實現的。FIFO存儲器電路主要由一個雙口RAM模塊(Dual-Port RAM)和狀態機模塊(State Machine Table)組成,通過先進先出(FIFO)堆棧把數據存儲在雙口RAM中。其設計是在Matlab環境下利用Altera DSP Builder設計工具實現的。
    電路設計完成并仿真驗證成功后,應用DSP Builder中的signal Compiler進行編譯分析,經signal Compiler轉換后可以變成VHDL語言的程序。同時,在Quartus II中,可以將VHDL語言程序轉換成電路符號,便于應用原理圖的方法設計硬件系統。由FIFO存儲器的VHDL程序生成的電路符號如圖3所示。在設計過程中,需要用到Quartus II軟件和其內嵌的IP Toolbench。按照本系統的要求設置FFT的參數為:點數為1 024點,數據寬度為12 bit。最后設計生成FFT的MegaCore Function模塊,包含一些VHDL程序及其他相關的文件。由VHDL程序生成的FFT模塊電路符號如圖4所示。

    電氣符號相關文章:電氣符號大全


    存儲器相關文章:存儲器原理



    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 定兴县| 肇州县| 阳高县| 云林县| 华池县| 河池市| 新宁县| 蒙城县| 个旧市| 嫩江县| 广东省| 永定县| 和林格尔县| 老河口市| 龙游县| 河源市| 宁德市| 富平县| 旺苍县| 长海县| 永川市| 太仓市| 江门市| 西昌市| 石门县| 安岳县| 阳西县| 唐河县| 大石桥市| 财经| 江永县| 湟源县| 通江县| 偏关县| 贵南县| 中西区| 宜兰县| 大化| 营山县| 灵石县| 昌江|