• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA的線陣CCD子圖像提取模塊的設(shè)計(jì)與仿真

      2013-11-14 11:06:34李壽強(qiáng)
      電子測(cè)試 2013年14期
      關(guān)鍵詞:狀態(tài)機(jī)緩沖區(qū)像素

      李壽強(qiáng)

      (成都工業(yè)學(xué)院,四川成都,610081)

      0 引言

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

      1 子圖像提取模塊的設(shè)計(jì)

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

      根據(jù)系統(tǒng)設(shè)計(jì)的要求,線陣CCD圖像采集模塊采用串行的方式輸出1x1024像素的一行圖像,子圖像提取模塊接收該圖像數(shù)據(jù)、緩沖、再輸出16x16像素的子圖像。子圖像提取模塊的外部端口,如圖1所示。主要信號(hào)有:像素同步時(shí)鐘信號(hào)CCD_CLK、像素?cái)?shù)據(jù)CCD_DATA、當(dāng)前輸入像素的坐標(biāo)CCD_ADDR[9..0];另外,N_RST和SYS_CLK為系統(tǒng)提供的復(fù)位信號(hào)和處理時(shí)鐘信號(hào)。其中,每個(gè)CCD_CLK的上升沿出現(xiàn)時(shí)CCD_DATA像素有效,且該像素所在的位置為CCD_ADDR[9..0]值。為了實(shí)現(xiàn)每個(gè)CCD_CLK周期內(nèi)均輸出一個(gè)子圖像,SYS_CLK應(yīng)該為CCD_CLK的10倍左右。

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

      圖1 子圖像提取模塊的外部端口

      圖2 線陣圖像與子圖像的關(guān)系沖區(qū)”的存儲(chǔ)結(jié)構(gòu)

      圖3 “圖像轉(zhuǎn)置緩

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

      圖4 圖像轉(zhuǎn)置RAM讀寫(xiě)狀態(tài)機(jī)

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

      2 設(shè)計(jì)仿真

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

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

      圖5 仿真輸入的圖像和輸出的子圖像序列

      3 結(jié)束語(yǔ)

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

      [1]楊富超,吳媛,炎云.基于圖像處理技術(shù)的SMT焊點(diǎn)質(zhì)量檢測(cè)方法[J].計(jì)算機(jī)測(cè)量與控制,2012, 20(7)

      [2]李明偉,譙洋.基于FPGA技術(shù)的線陣CCD檢測(cè)系統(tǒng)的設(shè)計(jì)[J].中南大學(xué)學(xué)報(bào)(自然科學(xué)版),2007,38(1):1123-1127.

      [3]辛鳳艷,孫曉曄.基于FPGA和線陣CCD的高速圖像采集系統(tǒng)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012,22(8):205-207

      [4]石美紅,房超,張衛(wèi)軍,仇涵.基于FPGA的線陣CCD圖像采集控制的實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2009,25(5-2):177-178

      [5]范靜,陳文藝.基于Modelsim與Matlab/Simulink聯(lián)合仿真技術(shù)的接口與應(yīng)用研究[J].西安.郵電學(xué)院學(xué)報(bào),2010,15(3):72-75

      猜你喜歡
      狀態(tài)機(jī)緩沖區(qū)像素
      嵌入式系統(tǒng)環(huán)形緩沖區(qū)快速讀寫(xiě)方法的設(shè)計(jì)與實(shí)現(xiàn)
      趙運(yùn)哲作品
      藝術(shù)家(2023年8期)2023-11-02 02:05:28
      像素前線之“幻影”2000
      基于有限狀態(tài)機(jī)的交會(huì)對(duì)接飛行任務(wù)規(guī)劃方法
      “像素”仙人掌
      高像素不是全部
      CHIP新電腦(2016年3期)2016-03-10 14:22:03
      關(guān)鍵鏈技術(shù)緩沖區(qū)的確定方法研究
      地理信息系統(tǒng)繪圖緩沖區(qū)技術(shù)設(shè)計(jì)與實(shí)現(xiàn)
      電視技術(shù)(2012年1期)2012-06-06 08:13:58
      FPGA設(shè)計(jì)中狀態(tài)機(jī)安全性研究
      长顺县| 固原市| 郧西县| 巴林左旗| 金昌市| 北票市| 甘南县| 绩溪县| 咸丰县| 宕昌县| 广昌县| 丰顺县| 阿合奇县| 江源县| 喀喇沁旗| 隆德县| 惠州市| 大渡口区| 布拖县| 永康市| 平陆县| 南丰县| 抚顺市| 特克斯县| 江西省| 天祝| 延津县| 福建省| 山东省| 思南县| 高唐县| 陈巴尔虎旗| 商河县| 罗定市| 宁城县| 定安县| 荆门市| 视频| 江油市| 遂宁市| 泰安市|