《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的線陣CCD圖像采集與顯示系統設計
基于FPGA的線陣CCD圖像采集與顯示系統設計
2016年電子技術應用第6期
周敬東,沈飄海,王 雷
湖北工業大學 農機工程研究設計院,湖北 武漢430068
摘要: 色選機廣泛應用于工農業產品檢測中,其設計技術涉及圖像采集、處理與顯示,常見的設計方案為FPGA+DSP/ARM+PC。該方案結構復雜,成本高昂。設計了一種在FPGA中實現線陣CCD圖像信號采集并顯示的系統。添加圖像處理算法后,色選機的主要設計技術將被集成在一片FPGA芯片中。詳細闡述了圖像采集與顯示的邏輯設計,并通過軟硬件調試驗證了設計的正確性。該系統結構簡單、成本低廉,經過適當移植,可應用于安檢、醫療影像等領域。
中圖分類號: TP752
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.06.017
中文引用格式: 周敬東,沈飄海,王雷. 基于FPGA的線陣CCD圖像采集與顯示系統設計[J].電子技術應用,2016,42(6):63-66.
英文引用格式: Zhou Jingdong,Shen Piaohai,Wang Lei. Design of linear CCD image acquisition and display system based on FPGA[J].Application of Electronic Technique,2016,42(6):63-66.
Design of linear CCD image acquisition and display system based on FPGA
Zhou Jingdong,Shen Piaohai,Wang Lei
Research and Design Institute of Agricultural Mechanical Engineering,Hubei University of Technology,Wuhan 430068,China
Abstract: Color separator which utilized image acquisition , processing and display techniques was widely used in industrial and agricultural product testing. The common solution consisted of the FPGA, DSP/ARM and PC was complicated and expensive. This paper designed a system in which CCD image acquisition and display were implemented in one single FPGA chip. With FPGA-based image processing algorithms, image processing could also be integrated into this FPGA chip. Logic design of image acquisition and display was elaborated and it′s correctness was verified by both software and hardware testing. Above all,this system was simple and economical. After a proper transplant, this system could also be adopted in security checks and medical imaging.
Key words : FPGA;linear CCD;image acquisition;image display

0 引言

    伴隨著半導體制造工藝的進步,現場可編程門陣列(Field Programmable Gate Array,FPGA)器件的設計技術也取得飛躍性的發展[1]。憑借日益豐富的片內資源以及固有的并行處理能力,FPGA的應用范圍已經超出通信行業,逐漸擴大到數字信號處理、硬件加速[2-4]、汽車電子等領域。色選機通過對被測物體的圖像進行處理,判斷被測物體是否符合要求,實現篩選[5],其電子系統涉及圖像采集、信號處理、圖像顯示、串口通信等。FPGA可實現上述功能。與常見的FPGA+ARM/DSP+PC方案相比,在FPGA內實現圖像采集、處理與顯示可簡化色選機系統結構,提高經濟性。本設計搭建了實現圖像采集、圖像處理與圖像顯示的完整的硬件平臺,完成了圖像采集與圖像顯示的邏輯設計,并預留了充裕的FPGA片內資源,留作圖像處理模塊使用,具有較高的實用性。

1 系統設計

    如圖1所示,本系統由圖像采集子系統與圖像顯示子系統組成。圖1中大虛線框內的各模塊均為FPGA內部邏輯設計模塊,細箭頭表示控制信號流向,空心粗箭頭表示圖像信號流向。采集子系統包括RS232通信芯片、總線緩沖器、線陣電荷耦合器件(Charge Coupled Device,CCD)傳感器、CCD緩沖放大器、CCD模數轉換器、雙口隨機存取存儲器(Random-Access Memory,RAM)模塊和圖像采集模塊。顯示子系統包括同步動態隨機存儲器(Synchronous Dynamic Random Access Memory,SDRAM)、視頻解碼芯片、視頻圖形陣列(Video Graphics Array,VGA)監視器、圖像緩存模塊和圖像顯示模塊。頂層控制模塊統一控制圖像信號的采集、緩存與顯示。下文分別就兩個子系統進行闡述。

qrs3-t1.gif

1.1 圖像采集子系統設計

    圖1中,CCD采用東芝公司生產的TCD2566BFG彩色線陣圖像傳感器。該型傳感器靈敏度高,暗電流小,采用兩相5 V時鐘脈沖驅動,含有3行彩色光電二極管陣列與1行黑白光電二極管陣列,每行陣列中光電二極管數量為5 340個[6]。FPGA采用Altera公司生產的Cyclone III型EP3C5E144C8芯片。該芯片內含5 136個LE、46個M9K Block、23個乘法器,以及414K片內RAM[7]。串口通信芯片為MAXIM公司生產的MAX3232。

    圖像采集模塊完成采集子系統的核心功能——驅動CCD傳感器。該模塊接收外界指令,配置CCD行頻及每英寸點數(Dots Per Inch,DPI),產生CCD時鐘脈沖與控制信號。模塊由驅動子模塊、單口RAM子模塊以及RS232子模塊構成。驅動CCD傳感器前,應先在驅動子模塊內設置好CCD的行頻與DPI。設置過程如下:單口RAM加載.mif文件進行初始化,在不同的地址預存不同的配置信息。用戶根據實際需要,通過RS232子模塊,向單口RAM子模塊發送不同的讀取地址。讀取出的不同配置信息傳輸至驅動子模塊,驅動子模塊據此向CCD傳感器發送不同頻率的時鐘脈沖,達到改變行頻與DPI的目的。參照CCD技術手冊,驅動子模塊還產生CCD傳感器所需的控制信號,經過總線緩沖器傳輸給CCD傳感器,實現驅動。驅動TCD2566BFG需要10路信號,如圖2所示。 

qrs3-t2.gif

    圖2中,SW1為彩色模式與黑白模式選擇信號;SW2為時間延遲積分(Time Delay Integration,TDI)功能選擇信號;SCG為存儲清除柵(Storage Clear Gate)脈沖信號;SH為轉移柵(Shift Gate)脈沖信號,其為高電平時,轉移柵下勢阱允許MOS電容中的信號電荷包轉移到模擬移位寄存器中,為低電平時,二極管進入光積分狀態[8]。時鐘Φ1A與Φ2A為三行彩色光電二極管陣列的驅動時鐘,頻率均為35 MHz,相位差為180°。時鐘Φ1B與Φ2B為一行黑白光電二極管陣列的驅動時鐘,CCD工作在彩色模式時維持低電平。Φ1A、SCG、SH、RS、CP可利用計數器產生其波形。對Φ1A取反可得Φ2A。復位信號RS與電平鉗制信號CP的占空比為1:8。關鍵源代碼如下(pixel_counter為140 MHz時鐘下的18位計數器):

always @ ( posedge clk_140m) 

begin if (pixel_counter == 18’d0) scg <= 1'b1;

    else if (pixel_counter == 18’d424) scg <= 1'b0;//scg高電平維持約3020ns(典型值)

    if (pixel_counter == 18’d571) sh <= 1'b1;

    else if (pixel_counter == 18’d1000) sh <= 1'b0;

end //sh高電平維持約3 020 ns,落后scg 1 050 ns

always @ ( posedge clk_140m)

begin if (pixel_counter[2:0] == 3'b111)  rs <= 1'b1;

    else rs <= 1'b0; //rs信號占空比1:8

    if (pixel_counter[2:0]==3'b000) cp <= 1'b1;

    else cp <=1'b0;

end //cp信號占空比1:8,落后rs約8 ns

assign fai1A = !pixel_counter[1];//Φ1A時鐘頻率35 MHz

assign fai2A = pixel_counter[1];//與Φ1A時鐘反相

assign fai1B = 1’b0; assign fai2B = 1’b0;//在彩色模式下,Φ1B、Φ2B維持低電平

assign sw1=1’b0; assign sw2=1’b0;//關閉TDI,打開彩色模式

    CCD被正常驅動后,產生的模擬圖像信號,經過緩沖放大器傳輸至CCD專用模數轉換器AD9945。AD9945完成圖像信號的模數轉換,并將采集到的一行數字圖像信號寫入片內雙口RAM中。至此,采集子系統完成CCD圖像信號的采集。

1.2 圖像顯示子系統設計

    顯示子系統中,圖像緩存模塊與圖像顯示模塊完成顯示子系統的核心功能,即緩存圖像與顯示圖像。圖1中,SDRAM采用Hynix公司生產的HY57V64820HG芯片,位寬8 bit,內含4 個Bank,總存儲空間為64 MB,用于緩存雙口RAM輸出的圖像信號[9]。視頻解碼芯片采用Analog Devices公司生產的ADV7123KSTZ140,最高數據吞吐率為330 MS/s[10],可將數字圖像信號轉換為VGA標準時序的模擬圖像信號。

1.2.1 圖像緩存模塊邏輯設計

    當CCD傳感器工作在300DPI模式下且行頻為3 500 Hz時,其每秒鐘產生的數據量為9.345 MB,小于VGA(1366×768@60Hz)每秒鐘顯示的數據量73.764 MB,因此有必要對CCD圖像數據進行緩存,當緩存的圖像數據達到VGA一幀的數據量時,再將數據發送至視頻解碼芯片進行顯示。顯然,FPGA片內RAM無法提供足夠的存儲空間,使用片外SDRAM很有必要。

    圖像緩存模塊內含圖像裁剪、片內FIFO以及SDRAM控制器3個子模塊。

    在緩存圖像之前,需要對圖像信號進行裁剪,使其符合VGA標準時序。TCD2566BFG傳感器工作在300DPI模式下,輸出圖像一行像素點數量為2 670,工作在600DPI模式下,一行像素點數量則為5 340。對于1 366×768分辨率的監視器,每行能夠顯示的最大像素點數量為1 366點。為此,對雙口RAM輸出的圖像數據進行了裁剪:即300DPI模式下,每讀取雙口RAM數據一次,讀取地址遞增2;600DPI模式下,每讀取一次數據,讀取地址遞增4。經過裁剪后,實際顯示的圖像每行為1 335像素,在首尾各添加15點空白像素后,圖像信號符合VGA顯示標準時序。采用多監視器或高分辨率監視器顯示,也可以解決CCD圖像與監視器每行像素點數量不同的問題。

    圖像信號從雙口RAM輸出的時鐘頻率是40 MHz,而SDRAM讀寫數據的時鐘頻率為100 MHz。因此,在SDRAM控制器兩端各例化一片異步先進先出(First In First Out,FIFO)存儲器,實現圖像數據的異步讀寫。SDRAM工作在頁讀寫模式,突發長度512 B。讀寫FIFO位寬8 bit,深度1 024 word,利用其先入先出與可同時讀寫的特性,可實現一幀圖像的持續寫入與讀出。圖像緩存模塊的工作流程如圖3所示。  

qrs3-t3.gif

    圖像經過裁剪后,即可傳輸進SDRAM內。SDRAM正常讀寫數據前必須進行初始化,以設置突發長度、列地址控制器(Column Address Strobe,CAS)潛伏期和操作模式。SDRAM初始化完畢后,即拉高wrfifo的寫使能。圖像數據以40 MHz的頻率從雙口RAM向wrfifo寫入,直到寫完一幀VGA圖像后才拉低wrfifo寫使能。當wrfifo內部數據大于512 word(半滿)時,則拉高wrfifo的讀使能,讀出圖像數據,以100 MHz的頻率寫入SDRAM。SDRAM完成一頁(512 B)數據的寫入后,暫時關閉wrfifo的讀使能以及SDRAM的寫使能,當wrfifo內部數據量再次大于512 word時,則再一次讀取數據,寫入SDRAM。重復該過程,持續向SDRAM寫入圖像數據。SDRAM內部寫滿一幀圖像后,開始讀SDRAM過程。檢測rdfifo內部數據量,小于512 word時,拉高SDRAM讀使能,以100 MHz頻率向rdfifo寫入圖像數據。讀完SDRAM內一頁數據時,暫時關閉SDRAM讀使能以及rdfifo寫使能,等待VGA顯示請求。收到VGA模塊的顯示請求后,拉高rdfifo的讀使能,數據以85.5 MHz的頻率傳輸至顯示模塊。憑借FPGA的并行特性,緩存模塊在每一個時鐘上升沿都可檢測rdfifo的內部數據量。在rdfifo讀出數據到VGA過程中,一旦檢測到rdfifo內部數據量小于512 word,即拉高rdfifo的寫使能,在讀取數據的同時,寫入數據。上述過程可實現一幀圖像數據的連續寫入和讀出。由于系統采用的SDRAM無法同時進行寫和讀兩種操作,因此本文采用了兩片HY57V64820HG進行乒乓操作:SDRAM1進行讀出操作,向ADV7123KSTZ140輸出信號時,SDRAM2則從雙口RAM寫入數據;反之亦然。通過乒乓操作,實現了圖像幀與幀之間的連續傳輸。

1.2.2 圖像顯示模塊邏輯設計

    VGA是IBM公司于1987年提出的一個使用模擬信號的顯示標準。在1 366×768@60 Hz模式下,掃描一幀圖像需要16.7 ms,其中實際顯示圖像的時間為12.3 ms。圖像掃描過程從左往右,從上往下。設置一個計數器記錄掃描的位置。當掃描至一行圖像的左端點時,則開始將一行圖像信號傳輸至視頻解碼芯片,掃描至右端點時,則停止圖像信號的傳輸。縱向掃描的原理與此相似。圖像顯示模塊還生成視頻解碼芯片需要的時鐘脈沖、行場同步信號以及消隱信號。圖像顯示模塊關鍵源代碼如下:

always @ (posedge clk )//時鐘頻率為88.5 MHz

begin  if (hcnt < H_TOTAL - 1'b1)     hcnt <= hcnt + 1'b1; 

            else hcnt <= 11'd0;

end//H_TOTAL = 1792,hcnt循環計數0~1791

assign  lcd_hs = (hcnt <= H_SYNC - 1'b1) ? 1'b1 : 1'b0;//H_SYNC =143,lcd_hs為行同步信號

always @ (posedge  clk )

begin  if(hcnt == H_TOTAL - 1'b1)

    begin if(vcnt < V_TOTAL - 1'b1) vcnt <= vcnt + 1'b1;

        else vcnt <= 11'd0;  end

end// V_TOTAL = 798,vcnt循環計數0~797

assign lcd_vs = (vcnt <= V_SYNC - 1'b1) ? 1'b1 : 1'b0;//V_SYNC=3,lcd_vs為場同步號維持3 行像素時間的高電平

assign lcd_blank = lcd_hs & lcd_vs;//lcd_blank為消隱信號

assign lcd_en = (hcnt >= H_SYNC + H_BACK  

  && hcnt < H_SYNC + H_BACK + 11’d1366)

  && (vcnt >= V_SYNC + V_BACK&& vcnt < V_SYNC + V_BACK +11’d768 ) ? 1'b1 : 1'b0;//掃描至實際顯示區域

assign  lcd_rgb = lcd_en ? lcd_data : 8'h00;//掃描至實際顯示區域將圖像數據送出

2 軟硬件綜合調試

    利用FPGA集成開發環境QuartusII 11.0軟件自帶的Signal Tap工具,可以檢測FPGA內部信號的真實值。將邏輯設計的頂層模塊文件在QuartusII 11.0軟件中全編譯,生成.sof文件,利用JTAG接口將文件燒錄進FPGA在線調試。驅動模塊輸出的驅動信號以及雙口RAM輸入的數字圖像信號如圖4所示。對比技術手冊時序圖,Signal Tap抓取的信號表明,驅動線陣CCD所需的10路信號被正確地產生了。結果如圖4中的DATA_R、DATA_G、DATA_B信號所示,FPGA成功接收到了由線陣CCD產生的數字圖像信號。圖像采集子系統完成了設計目標。圖像在監視器上顯示結果如圖5所示。線陣CCD傳感器需以特定速度掃描被測物體才能得到二維圖像。測試中,被測物體油茶果勻速通過CCD傳感器下方,CCD傳感器保持固定。顯示設備為通用即插即用監視器,分辨率1 366×768。顯示畫面穩定,無失幀,無噪點。

qrs3-t4.gif

qrs3-t5.gif

3 結論

    Signal Tap抓取的信號波形和監視器顯示的畫面表明系統基本上實現了設計目標,即使用FPGA芯片完成CCD圖像信號的采集和顯示,證明了系統軟硬件設計的正確性。全編譯結果顯示,FPGA內部LE只使用了44%。利用剩余的資源,可以對圖像信號進行圖像處理,處理結果通過串口傳輸至篩選執行機構,執行篩選動作。配合不同的CCD傳感器,該系統可廣泛應用于安檢、醫療影像、遙感測繪等領域,具有較高的實用價值。

參考文獻

[1] 楊海鋼,孫嘉斌,王慰.FPGA器件設計技術發展綜述[J].電子與信息學報,2010,32(3):714-727.

[2] RUBIN G,OMIELJANOWICZ M,PETROVSKY A.Reconfigurable FPGA-based hardware accelerator for embedded DSP[C].14th International Conference on Mixed Design of Integrated Circuits and Systems,2007:147-151.

[3] POSSA P,SCHAILLIE D,VALDERRAMA C.FPGA-based hardware acceleration:A CPU/accelerator interface exploration[C].Electronics Circuits and Systems(ICECS),2011 18th IEEE International Conference on.IEEE,2011:374-377.

[4] ZARIFI T,MALEK M.FPGA implementation of image processing technique for blood samples characterization[J].Computers & Electrical Engineering,2014,40(5):1750-1757.

[5] 溫強,胡明明,桑楠.基于彩色線陣CDD的大米色選算法[J].農業機械學報,2008,39(10):105-108.

[6] TOSHIBA.TCD2566BFG[Z].2012.

[7] ALTERA.Cyclone III Device Handbook[Z].2011.

[8] 王慶有.CCD應用技術[M].天津:天津大學出版社,2000.

[9] HYNIX. HY57V64820HG[Z].2002.

[10] ANALOG DEVICES. ADV7123[Z].2010.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久乐国产精品| 亚洲一区日韩在线| 欧美日韩午夜视频在线观看| 一本色道久久88亚洲综合88| 91久久久精品| 欧美日韩调教| 欧美成人中文字幕在线| 亚洲天堂久久| 亚洲欧美久久久| 激情久久久久久久| 欧美精品久久久久久久久老牛影院| 一本在线高清不卡dvd| 亚洲一区二区三区乱码aⅴ| 国产欧美日韩精品专区| 久久裸体视频| 久久久精品999| 99视频热这里只有精品免费| 亚洲高清电影| 日韩亚洲一区在线播放| 国产伦精品一区二区三区视频孕妇| 久久免费高清| 久久久午夜视频| 久久视频在线免费观看| 中文av字幕一区| 欧美一区二区三区日韩| 91久久线看在观草草青青| 一区二区三区在线高清| 一区二区在线视频| 在线观看不卡| 国产精品欧美日韩一区二区| 久久久之久亚州精品露出| 久久久国产精品一区| 久久米奇亚洲| 欧美成人四级电影| 欧美日韩大陆在线| 久久国产精品久久久久久久久久| 99国产精品久久久久久久| 亚洲欧美国产精品va在线观看| 亚洲综合色自拍一区| 亚洲精品一级| 国产一区亚洲| 久久综合给合久久狠狠色| 亚洲视频在线播放| 亚洲永久免费视频| 欧美在线|欧美| 一本久道久久综合婷婷鲸鱼| 一区二区成人精品| 午夜欧美不卡精品aaaaa| 亚洲美女精品久久| 亚洲电影在线| 亚洲毛片在线| 亚洲欧美在线看| 在线视频亚洲| 欧美一区国产二区| 亚洲综合大片69999| 亚洲精选大片| 亚洲一区视频在线| 久久久91精品国产| 欧美激情中文不卡| 国产精品女主播| 尤物网精品视频| 一区二区三区精品久久久| 在线日韩精品视频| 国产日韩欧美黄色| 亚洲成人在线| 亚洲天堂成人| 亚洲先锋成人| 欧美在线高清视频| 一区二区三区www| 欧美在线看片| 欧美日韩精品系列| 国产亚洲综合精品| 99这里只有精品| 亚洲国产精品一区在线观看不卡| 黄色日韩网站| 狠狠干狠狠久久| 亚洲人成艺术| 欧美在线视频不卡| 亚洲在线第一页| 亚洲黄色天堂| 91久久精品国产| 亚洲精品国产视频| 亚洲精品国产日韩| 欧美一区二区高清在线观看| 欧美伦理91i| 亚洲天堂视频在线观看| 亚洲国产二区| 性色av一区二区怡红| 亚洲欧美日韩中文在线制服| 亚洲人成啪啪网站| 久久精品女人| 国产精品人人做人人爽人人添| 国产精品国产三级国产普通话三级 | 国产精品美女久久久久av超清| 亚洲第一区在线| 欧美一区二区精品| 亚洲视频导航| 欧美激情综合色| 一区二区三区中文在线观看| 欧美亚洲免费在线| 亚洲欧美在线视频观看| 欧美日韩一区二区在线| 亚洲国产毛片完整版 | 欧美三级电影一区| 欧美性大战xxxxx久久久| 国产精品v欧美精品v日韩| 在线看成人片| 性欧美大战久久久久久久免费观看| 亚洲男人的天堂在线| 欧美日韩一区二区欧美激情 | 亚洲欧美日韩精品久久亚洲区 | 最新成人在线| 亚洲欧洲视频| 欧美96在线丨欧| 欧美日韩国产综合久久| 亚洲二区在线视频| 久久精品五月婷婷| 一区二区三区鲁丝不卡| 欧美成人一区二区在线| 在线精品国产成人综合| 亚洲东热激情| 久久综合精品一区| 在线观看一区| 亚洲片在线资源| 美女视频网站黄色亚洲| 欧美视频你懂的| 日韩午夜在线视频| 亚洲午夜在线观看| 国产精品久久久久av免费| 亚洲一区二三| 欧美中文字幕在线观看| 国产偷久久久精品专区| 亚洲国产欧美日韩另类综合| 亚洲一级特黄| 午夜精品一区二区三区在线播放| 国产精品久久777777毛茸茸| 亚洲永久在线观看| 欧美一区二区三区日韩视频| 国产精品日产欧美久久久久| 性色av一区二区三区在线观看| 久久精品在线视频| 影音先锋一区| 99视频超级精品| 欧美性感一类影片在线播放| 亚洲欧美999| 裸体歌舞表演一区二区| 亚洲国产精品嫩草影院| 宅男66日本亚洲欧美视频| 国产精品久久久久久久久久尿 | 亚洲欧美日本精品| 国产日产高清欧美一区二区三区| 久久本道综合色狠狠五月| 久久一区亚洲| 亚洲人成人一区二区在线观看| 亚洲一级黄色| 国产日韩欧美在线观看| 亚洲激情小视频| 欧美亚洲成人免费| 欧美在线观看视频在线| 欧美精品福利| 亚洲欧美色一区| 欧美电影美腿模特1979在线看| 夜夜爽夜夜爽精品视频| 久久国产精品久久w女人spa| 亚洲福利视频一区| 亚洲中午字幕| 在线播放日韩| 亚洲一区二区三区涩| 国内精品久久久久久久影视麻豆 | av72成人在线| 欧美一区二视频| 91久久午夜| 久久国产欧美| 亚洲精品视频中文字幕| 久久国产免费| 日韩一级精品| 久久久99国产精品免费| 99re6这里只有精品| 久久精品国产免费| 99国产欧美久久久精品| 久久亚洲国产成人| 亚洲午夜在线视频| 欧美高清视频一区| 一区久久精品| 亚洲综合欧美日韩| 亚洲激情在线激情| 久久精品亚洲乱码伦伦中文| 99视频一区| 欧美freesex8一10精品| 先锋影院在线亚洲| 欧美深夜影院| 亚洲日本va午夜在线电影| 国产色产综合色产在线视频| 亚洲天堂成人在线观看| 亚洲二区在线| 久久九九热免费视频| 亚洲性图久久| 欧美日韩三级在线| 最新日韩精品| 国产综合色在线|