《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于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亚洲国产精品_日韩亚洲一区二区
国产日本亚洲高清| 一区二区欧美国产| 国产精品人人爽人人做我的可爱| 欧美va亚洲va日韩∨a综合色| 久久精品国产综合| 亚欧美中日韩视频| 午夜在线电影亚洲一区| 午夜日韩福利| 欧美亚洲视频一区二区| 亚洲自拍偷拍色片视频| 亚洲影视在线| 亚洲一区二区三区在线看| 国产一区二区三区无遮挡| 亚洲欧美在线高清| 午夜一区在线| 欧美一区二区三区免费看| 欧美一区二区三区在线观看| 午夜综合激情| 久久精品国产亚洲精品| 久久国产高清| 久久女同精品一区二区| 噜噜噜在线观看免费视频日韩| 美女视频网站黄色亚洲| 免费在线看成人av| 欧美精品偷拍| 国产精品xvideos88| 国产精品免费一区豆花| 国产欧美日韩中文字幕在线| 国产一级精品aaaaa看| 在线不卡a资源高清| 亚洲国产第一| 一本大道av伊人久久综合| 一区二区三区国产在线观看| 亚洲免费影院| 欧美成人亚洲| 美女黄色成人网| 欧美黄色大片网站| 欧美日韩久久久久久| 国产精品久久久久久久电影| 国产日韩在线亚洲字幕中文| 黄色成人av| 亚洲人成网在线播放| 中文有码久久| 久久不射网站| 99re6这里只有精品视频在线观看| 亚洲香蕉伊综合在人在线视看| 亚洲欧美日韩精品| 久久久久久穴| 欧美另类在线播放| 国产精品久久久久久五月尺| 国产日韩在线一区| 亚洲电影有码| 一区二区三区视频在线播放| 亚洲欧美在线观看| 91久久精品一区| 亚洲午夜女主播在线直播| 欧美在线视频网站| 欧美高清hd18日本| 国产精品久久久久婷婷| 精品成人一区二区| 夜夜精品视频一区二区| 久久高清一区| 宅男噜噜噜66一区二区| 欧美怡红院视频| 欧美极品一区| 国产日韩在线看| 亚洲精品偷拍| 欧美一区在线直播| 一本色道久久综合亚洲精品高清 | 亚洲午夜免费福利视频| 亚洲福利国产| 欧美亚洲一级| 欧美日本三区| 亚洲第一网站| 午夜精品久久久久久久久久久久久 | 欧美福利小视频| 国语自产偷拍精品视频偷 | 欧美精品播放| 国产午夜亚洲精品不卡| 99riav1国产精品视频| 国内视频一区| 9l国产精品久久久久麻豆| 久久国产精品久久国产精品 | 亚洲自啪免费| 欧美激情精品久久久| 国产香蕉97碰碰久久人人| 一二三区精品福利视频| 亚洲国产一区二区三区a毛片| 欧美一区二区黄色| 欧美特黄a级高清免费大片a级| 影音先锋欧美精品| 午夜精品久久一牛影视| 亚洲一区二区三区在线播放| 欧美激情四色 | 欧美国产日韩视频| 国产一区二区三区奇米久涩| 一二三四社区欧美黄| 日韩一二三在线视频播| 久久综合九色99| 国产一区在线视频| 亚洲欧美另类久久久精品2019| 中文一区二区在线观看| 欧美精品播放| 亚洲人成网站777色婷婷| 亚洲精品美女久久7777777| 久久久人成影片一区二区三区观看 | 国产日韩欧美在线看| 亚洲一区二区三区精品动漫| 亚洲香蕉网站| 国产精品成人一区二区艾草| 亚洲精品一区在线观看| 亚洲美女一区| 欧美精品日韩一本| 亚洲经典在线看| 日韩亚洲欧美一区二区三区| 欧美高清在线精品一区| 亚洲精品1234| 99热在这里有精品免费| 欧美日韩1区2区| 亚洲日韩中文字幕在线播放| a4yy欧美一区二区三区| 欧美巨乳在线| 99精品国产福利在线观看免费| 亚洲精品乱码久久久久久黑人 | 欧美日韩亚洲一区二区三区在线| 亚洲黄色性网站| 99精品欧美一区二区三区综合在线 | 国产欧美在线| 欧美在线一区二区| 久久综合九色综合久99| 在线精品视频免费观看| 久久国产精品一区二区三区四区| 欧美一区二区视频网站| 国产欧美日韩综合一区在线播放| 亚洲五月六月| 久久精品亚洲国产奇米99| 狠狠色狠狠色综合日日tαg| 亚洲国产日韩在线| 欧美精品九九99久久| aaa亚洲精品一二三区| 亚洲自拍偷拍色片视频| 国产欧美视频一区二区三区| 久久se精品一区精品二区| 免费不卡在线观看| 亚洲美女黄网| 欧美伊人久久久久久午夜久久久久 | 亚洲黄色成人| 亚洲私人影吧| 国产欧美一区二区视频| 亚洲国产精选| 国产精品成人观看视频国产奇米| 午夜精品久久久久久| 美女视频黄a大片欧美| 99国产精品久久久久久久成人热| 午夜精彩视频在线观看不卡 | 国产日产欧产精品推荐色| 亚洲高清免费在线| 欧美日韩日本国产亚洲在线| 亚洲欧美日韩国产中文在线| 老鸭窝91久久精品色噜噜导演| 亚洲精品中文字幕在线| 欧美中文字幕久久| 最近中文字幕日韩精品| 欧美一区二区三区精品| 在线播放中文字幕一区| 亚洲免费中文字幕| 亚洲第一级黄色片| 亚洲欧美激情诱惑| 在线成人黄色| 亚洲欧美日韩在线不卡| 一区二区亚洲| 亚洲欧美视频在线| 亚洲成人在线观看视频| 亚洲欧美精品在线| 亚洲国产精品久久91精品| 午夜宅男久久久| 亚洲人成在线观看一区二区| 欧美专区日韩专区| 亚洲精品影视| 久久一区国产| 亚洲综合电影| 欧美激情一区二区三区在线视频观看| 亚洲图片欧美一区| 欧美国产三级| 欧美在线日韩| 欧美午夜宅男影院在线观看| 亚洲国产精品电影在线观看| 久久激情视频免费观看| 欧美亚洲网站| 亚洲美女av在线播放| 久久久亚洲一区| 亚洲调教视频在线观看| 欧美精品1区| 久久精品99久久香蕉国产色戒| 欧美亚洲成人精品| 亚洲精品国精品久久99热| 国产日韩欧美亚洲一区| 亚洲一区在线播放| 最新日韩在线视频| 看片网站欧美日韩|