0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

采用FPGA器件和傳感器實現(xiàn)CCD圖像系統(tǒng)中的提取和輸出功能

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-04-29 08:22 ? 次閱讀

引言

工業(yè)生產(chǎn)自動化系統(tǒng)中,通過計算機視覺和圖像處理技術來實現(xiàn)產(chǎn)品的質量監(jiān)測和控制,已逐漸成為一種有效的應用技術。線陣CCD 圖像傳感器廣泛地應用于產(chǎn)品尺寸測量和分類、非接觸尺寸測量、條形碼、形態(tài)識別等眾多領域。在圖像檢測系統(tǒng)中,應具備一個高速的子圖像提取和輸出模塊,本文采用FPGA 器件EP3C25F256C8 和CCD 線陣圖像傳感器RL1024P,實現(xiàn)線陣CCD 圖像檢測系統(tǒng)中的子圖像提取和輸出功能。

1 子圖像提取模塊的設計

子圖像提取模塊的功能可描述為:采用FPGA 器件實現(xiàn),根據(jù)串行輸入的黑白圖像和同步信號,提取該圖像中設定尺寸大小的子圖像。假設輸入圖像大小為i * j,某一像素點的坐標位置為(X,Y),要取出子圖像的大小為m * n,則用c 代碼描述為:for(b=0;b

根據(jù)系統(tǒng)設計的要求,線陣CCD 圖像采集模塊采用串行的方式輸出1×1024 像素的一行圖像,子圖像提取模塊接收該圖像數(shù)據(jù)、緩沖、再輸出16×16 像素的子圖像。子圖像提取模塊的外部端口,如圖1 所示。主要信號有:像素同步時鐘信號CCD_CLK、像素數(shù)據(jù)CCD_DATA、當前輸入像素的坐標CCD_ADDR[90] ;另外,N_RST 和SYS_CLK 為系統(tǒng)提供的復位信號和處理時鐘信號。其中,每個CCD_CLK 的上升沿出現(xiàn)時CCD_DATA 像素有效,且該像素所在的位置為CCD_ADDR[90] 值。

采用FPGA器件和傳感器實現(xiàn)CCD圖像系統(tǒng)中的提取和輸出功能

為了實現(xiàn)每個CCD_CLK 周期內均輸出一個子圖像,SYS_CLK應該為CCD_CLK 的10 倍左右。

本文采用“圖像轉置緩沖區(qū)”的方法來實現(xiàn)子圖像提取模塊?!皥D像轉置緩沖區(qū)”是一個按行寫入(更新)、按列讀出的一個RAM 緩沖區(qū)。在FPGA 內部設置一個1024 個單元的RAM 緩沖區(qū),每個單元的位寬為16bits.線陣CCD 采集模塊輸出的線陣圖像與子圖像的關系,如圖2 所示。其中,第0 行表示圖像的當前行,第N 行為歷史行,每行有1024 個像素,按照p0 至p1023 的像素順序輸出。假設當前CCD_CLK 輸入的像素為第0行的p16 像素,則其對應的16X16 子圖像為圖中的陰影部分。

采用FPGA器件和傳感器實現(xiàn)CCD圖像系統(tǒng)中的提取和輸出功能

“圖像轉置緩沖區(qū)”RAM 塊存儲圖像的結構,如圖3 所示。

RAM 塊共有1024 個單元,每個單元為16 位的寬度,可存放最近的16 行圖像數(shù)據(jù)。對比圖2 和圖3,可以發(fā)現(xiàn),RAM 塊的地址編號相當于線陣CCD 圖像的某一行像素的位置,某個RAM單元的位D15 ~ D0 對應某一列的最近16 個像素,相當于對線陣圖像轉置后再存放到RAM 塊中。對RAM 緩沖區(qū)進行寫操作時,由于線陣CCD 圖像的數(shù)據(jù)是按行逐位輸入的,每個CCD_CLK 時鐘上升沿出現(xiàn)時,僅需更新RAM 緩沖區(qū)中當前像素對應的比特,因此在邏輯上是根據(jù)圖像按行寫入RAM 區(qū)的。在FPGA器件中,可設計一個狀態(tài)機來實現(xiàn)“圖像轉置緩沖區(qū)”的讀寫操作,如圖4 所示。

采用FPGA器件和傳感器實現(xiàn)CCD圖像系統(tǒng)中的提取和輸出功能

子圖像提取模塊輸出的子圖像有256 個像素,在FPGA 內部通過寄存器暫存上一個輸出的子圖像;當更新RAM 區(qū)的某個像素時,把16X16 的滑動窗口向右移動一列像素的位置,把滑動窗口內的數(shù)據(jù)作為輸出,就可以得到新的子圖像。

2 設計仿真

在本文的設計仿真中,由于用到圖像文件的解析和圖像顯示,因此借助MATLAB 和Modelsim 軟件,通過文件讀寫的方式實現(xiàn)的聯(lián)合仿真,可使仿真處理更加便捷和直觀。其中,MATLAB 用來把圖像文件轉換為輸入的像素,以及顯示輸出的子圖像;Modelsim 用來仿真和驗證FPGA 設計是否正確。

本文使用MATLAB 和Modelsim 進行聯(lián)合仿真,主要有以下三個步驟。第一步,在MATLAB 中編寫m 文件,讀取bmp 位圖文件并把像素數(shù)據(jù)寫入文件datain.txt 中,作為ModelSim仿真的輸入激勵信號。第二步,在ModelSim 中,用VHDL 編寫Testbench 測試文件,讀取datain.txt 文件,產(chǎn)生與CCD_CLK 同步的像素信號;編寫DO 文件進行自動化仿真,再把仿真輸出的子圖像數(shù)據(jù)保存在dataout.txt 文件中。第三步,在MATLAB 中編寫m 文件,解析dataout.txt 文件,依次顯示為16×16 的黑白圖片序列,確定仿真結果是否正確。本設計仿真輸入的圖像及輸出的子圖像序列,如圖5 所示。從仿真結果可知,設計方法是正確的,仿真結果符合設計功能的要求。

采用FPGA器件和傳感器實現(xiàn)CCD圖像系統(tǒng)中的提取和輸出功能

3 結束語

應用線陣CCD 圖像傳感器進行產(chǎn)品檢測時,連續(xù)、高速地輸出子圖像序列是必不可少的重要環(huán)節(jié),采用FPGA 實現(xiàn)子圖像序列的提取和輸出,有多種不同的設計方法。本文采用“圖像轉置緩沖區(qū)”和狀態(tài)機的方式,來實現(xiàn)系統(tǒng)所要求的子圖像提取和輸出的功能,并用MATLAB 和ModelSim 工具軟件對設計進行了聯(lián)合仿真,該方法具有FPGA 資源占用少、結構簡單、高速處理,以及便捷和直觀的特點,對其他類似的FPGA 設計項目有很好的參考作用。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2541

    文章

    49961

    瀏覽量

    747478
  • FPGA
    +關注

    關注

    1620

    文章

    21510

    瀏覽量

    598906
  • 測量
    +關注

    關注

    10

    文章

    4613

    瀏覽量

    110572
收藏 人收藏

    評論

    相關推薦

    CCD的應用(CCD固態(tài)圖像傳感器)?

    CCD的應用(CCD固態(tài)圖像傳感器)? ??????? 電荷耦合器件用于固態(tài)圖像
    發(fā)表于 08-02 08:59 ?3788次閱讀

    CCD圖像傳感器應用

    CCD圖像傳感器應用? ??????? CCD圖像傳感器在許多領域內獲得廣泛的應用。 前面介紹
    發(fā)表于 08-02 09:13 ?4985次閱讀
    <b class='flag-5'>CCD</b><b class='flag-5'>圖像</b><b class='flag-5'>傳感器</b>應用

    CCD圖像傳感器在微光電視系統(tǒng)的應用

    CCD圖像傳感器在微光電視系統(tǒng)的應用 摘要:在對CCD
    發(fā)表于 04-24 22:39 ?2399次閱讀
    <b class='flag-5'>CCD</b><b class='flag-5'>圖像</b><b class='flag-5'>傳感器</b>在微光電視<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>中</b>的應用

    基于FPGA的線陣CCD圖像提取模塊的設計與仿真

    根據(jù)線陣CCD圖像檢測和識別系統(tǒng)的要求,分析線陣CCD圖像與子圖像的位置關系,
    發(fā)表于 02-18 15:34 ?1442次閱讀
    基于<b class='flag-5'>FPGA</b>的線陣<b class='flag-5'>CCD</b>子<b class='flag-5'>圖像</b><b class='flag-5'>提取</b>模塊的設計與仿真

    FPGA圖像傳感器的優(yōu)勢

    的核心知識在于驅動和接口至CMOS圖像傳感器,動態(tài)擴展 和進行信號預處理到TFT的領域。使用Helion系統(tǒng)意味著決定圖像質量的很多功能可以
    發(fā)表于 08-11 11:27

    基于DSP和FPGACCD圖像采集系統(tǒng)設計與實現(xiàn)

    為了實現(xiàn)—是彈武器瞄準自動化,本文設計了基于DSP和FPGA的高速高精確度雙通道CCD圖像采集系統(tǒng)采用
    發(fā)表于 11-07 14:54

    TDI-CCD圖像傳感器

      TDI(Time Delayed and Integration)CCD(即時間延遲積分CCD)是近幾年發(fā)展起來的一種新型光電傳感器。TDI-CCD是基于對同一目標多次曝光,通過延
    發(fā)表于 11-15 15:07

    如何采用FPGA和CMOS數(shù)字傳感器實現(xiàn)圖像數(shù)據(jù)傳輸?shù)?b class='flag-5'>圖像監(jiān)測系統(tǒng)?

    本文提出一種采用FPGA和CMOS數(shù)字傳感器實現(xiàn)前端數(shù)據(jù)采集、利用單片機進行圖像鑒別和壓縮、通過以太網(wǎng)控制
    發(fā)表于 05-26 06:58

    什么是電荷藕合器件圖像傳感器CCD

    什么是電荷藕合器件圖像傳感器CCD
    發(fā)表于 04-25 17:18 ?1692次閱讀

    CCD圖像傳感器,CCD圖像傳感器原理什么?

    CCD圖像傳感器,CCD圖像傳感器原理什么? CCD
    發(fā)表于 03-27 10:41 ?5701次閱讀

    CCD圖像傳感器發(fā)展及市場

    ?摘要:隨著微電子技術的發(fā)展,CCD圖像傳感器的產(chǎn)量不斷增加,應用領域不斷擴展。本文對CCD圖像傳感器
    發(fā)表于 08-19 15:54 ?2334次閱讀
    <b class='flag-5'>CCD</b><b class='flag-5'>圖像</b><b class='flag-5'>傳感器</b>發(fā)展及市場

    CCD圖像傳感器成像器件的噪聲研究

    電荷耦合器件(charge coupled device,CCD)是目前攝像機常用的圖像傳感器。隨著CCD技術的不斷發(fā)展和應用,人們對
    發(fā)表于 01-20 22:23 ?2696次閱讀
    <b class='flag-5'>CCD</b>類<b class='flag-5'>圖像</b><b class='flag-5'>傳感器</b>成像<b class='flag-5'>器件</b>的噪聲研究

    基于DSP和FPGACCD圖像采集系統(tǒng)設計與實現(xiàn)

    捅要:為了實現(xiàn)是彈武器瞄準自動化,本文設計了基于DSP和FPGA的高速高精確度雙通道CCD圖像采集系統(tǒng)
    發(fā)表于 02-25 13:48 ?188次下載

    基于TDI-CCD的利用FPGA實現(xiàn)CCD圖像數(shù)據(jù)整合功能的硬件系統(tǒng)設計

    CCD是一種廣泛應用于成像系統(tǒng)的光學傳感器,TDI-CCD利用延時積分的方法,通過對同一物體多次曝光,
    發(fā)表于 03-13 09:29 ?1959次閱讀

    Interline CCD 圖像傳感器的大信號輸出優(yōu)化

    Interline CCD 圖像傳感器的大信號輸出優(yōu)化
    發(fā)表于 11-15 20:36 ?3次下載
    Interline <b class='flag-5'>CCD</b> <b class='flag-5'>圖像</b><b class='flag-5'>傳感器</b>的大信號<b class='flag-5'>輸出</b>優(yōu)化