摘要:本文介紹了以高速線陣CCD和高性能FPGA作為核心構建的高速貼片機圖像采集處理系統,它較好的滿足了貼片機圖像處理系統中數據量大,實時性強的要求。同時,在FPGA中用硬件描述語言實現了圖像的預處理算法,相對于軟件實現的預處理算法具有極大的速度優(yōu)勢,簡化了后續(xù)處理軟件的工作量,大大提高整個圖像處理系統的速度和效率。 關鍵詞: CCD;FPGA;灰度拉伸轉換;FIFO Line Scan CCD Image processing System Applied to SMD Placer Chen An Hu Yue Ming Du Lian Ping (Engineering Research Centre for Precision Electronic Manufacturing Equipments of Ministry of Education, South China University of Technology, Guangzhou, China) Abstract: This image processing system is based on line scan CCD and FPGA , it meets the requirements of large amount of data and hard real time. FPGA is adopted to realize primary image processing, this leads to high efficiency in the following process. Key Words: CCD; FPGA; Gray Degree Transfer; FIFO 引言: SMT貼片機是SMT生產線中的關鍵設備,其生產速度往往成為SMT生產線產能的瓶頸。在貼片機圖像處理系統中,為了能提高生產速度,演化出了貼片機的“飛行采圖”技術。該技術允許貼裝頭在拾取了元器件后直接運動到貼裝位置進行貼裝,而在貼裝頭高速運動的同時,位于貼裝頭經過路徑上的線陣CCD圖像采集處理系統對貼裝頭拾取的元器件進行圖像采集處理和矯正。該技術簡化了貼片機圖像采集系統的采圖方式,減少了貼裝頭加減速的次數,提高了生產速度。 本文描述的就是在國產貼片機中采用的具有自主知識產權的線陣CCD圖像采集處理系統。該系統采用高速線陣CCD和高性能FPGA為核心,構建了具有大數據吞吐,強實時處理特性的貼片機圖像采集/處理系統,能夠滿足貼片機的“飛行采圖”技術要求。圖1為該系統的結構框圖。

1 高速線陣CCD 為了能夠在貼裝頭高速運動的同時采集圖像,該系統采用了Dalsa公司的IL-P1系列高速線陣CCD。該系列線陣CCD最高數據率雖然只有25M,但是由于采用了單雙通道同時輸出的技術,因此其最高線掃描頻率可以達到87kHz。以該掃描頻率,在貼片機圖像采集處理系統中可以采集到線速度達到3米/秒的元器件而擁有足夠的采集精度。 2 圖像處理模塊 該處理系統可以實現多種圖像預處理,例如:圖像增強、灰度變換、去除噪聲、灰度拉伸等。為了說明問題且結合實際需要,這里只對圖像的灰度拉伸作一詳細介紹。由于拍攝對象的灰度值一般都比較集中,要對它們實現準確定位,就需要清晰地分辨出元件的輪廓以及管腳位置。這就要求把窄的灰度范圍拉寬,使得元件的輪廓更加清晰。由于不同元件的灰度值有所不同,因此設置了8個不同的灰度值區(qū)間,可以通過選擇信號,選擇合適的拉伸范圍。拉伸模型見圖2。

為了方便計算并結合現場應用,設置了s0(0~64)、s1(25~89)、s2(50~114)、s3(75~139)、s4(100~164)、s5(125~189)、s6(150~214)、s7(175~239)八個拉伸區(qū)間,通過狀態(tài)機實現不同狀態(tài)的輪轉。假如選擇了s0(0~64),將對位于該區(qū)間內的灰度值映射到(0~255)的范圍內,大大拉伸了灰度范圍,使得元件的輪廓更加清晰突出。這些范圍可以根據具體需要,靈活設置。下面的程序通過一個狀態(tài)機實現了八個選擇區(qū)間的轉換。圖3是通過set信號轉換拉伸區(qū)間已經在s0和s1內實現拉伸的效果。從圖3可以看出,拉伸后比拉伸前僅有很小的延遲,基本實現了實時處理,可見硬件處理速度之高。

下面是對一個TQFT貼片元件在s5(125,189)區(qū)間上做上述處理的試驗結果。從圖4可以看出,圖像采集部分采集的圖像背景和管腳周圍存在很多亮點,這對于后續(xù)處理和元件管腳的定位都是非常不利的。利用灰度拉伸除去了這些亮點,得到了一幅更加清晰的圖像,見圖5。

在算法速度上,用軟件對圖4實現同樣的操作得到圖5,所需時間大約100ms,而由硬件幾乎可以做到實時處理。可見,用硬件實現圖像處理的速度是軟件無法相比的。由于CYCLONE系列FPGA功能非常強大,用戶還可以根據需要嵌入Altera公司的軟核處理器NiosII,在這個處理器上可以直接運行由C/C++編寫的復雜的圖像處理程序,也可以在內置IDE編譯環(huán)境下編譯C/C++程序,做后續(xù)處理,這將極大提高整個系統的處理速度。 3 圖像存儲傳輸模塊 該系統使用了兩個FIFO模塊做為數據緩沖:myfifo1、myfifo2。myfifo1用來做SDRAM的輸入緩沖器,myfifo2用來做SDRAM的輸出緩沖器。它們可以通過Altera公司免費提供的基本宏功能來實現。為了提高SDRAM的存取速度,將其設置為頁猝發(fā)讀寫方式,也就是一次性讀出或寫入SDRAM一整行數據,對于本卡采用的K4S60832H存儲器來說,每次讀寫512個字節(jié)。用QuartusII中的MegaWizard Plug-In Manager工具可以根據需要進行定制,定制完成后生成的FIFO模塊如圖6所示,直接調用該模塊就可以實現FIFO功能。

高速圖像采集處理系統由于采集速度快,數據量非常大,要系統在短時間內把數據都傳輸出去是很困難的,這就要用到數據存儲。小規(guī)模數據存儲可以用SRAM存儲,操作簡單,實現起來很方便,但價格昂貴,且容量小。由于本系統數據處理量大,而且速度快,綜合考慮,采用了三星公司的SDRAM存儲器K4S60832H,2M x 8bit x 4Bank。實現對SDRAM的控制,有兩種方法:一是使用專用的接口芯片,這種方法容易操作但這種控制器接口固定,訪問容量有限。二是基于FPGA的SDRAM控制器,目前FPGA的技術比較成熟,編程方便,設計靈活,便于構造大容量的SDRAM存儲器。本系統采用的是第二種方法。為了實現SDRAM的控制,使用了圖7所示的狀態(tài)機,經過仿真,可以滿足SDRAM的時序要求。SDRAM控制的復雜之處在于,每次上電之后都要經過圖8所示的初始化階段,分別對應于狀態(tài)機中的s0~s3。初始化完成后,進入空閑狀態(tài),為了保持已經存儲的數據,SDRAM必須定時刷新所有存儲單元,對于K4S60832H來說,必須每64ms至少刷新所有的4k行一次。刷新完成后,返回到空閑狀態(tài)s4,如果讀或者寫信號有效,則進入s6狀態(tài)激活將要進行讀、寫的行,也就是確定要讀、寫的行地址,然后進入s7實施寫操作或者s8實施讀操作。每一次讀寫完成后,都要進入s9進行一次預充電,然后返回空閑狀態(tài),等待下一次讀、寫信號的到來,重復上面的循環(huán)。

4 USB控制模塊 為了快速的將圖像處理內容和處理結果傳遞到貼片機控制系統的其他部分,該系統采用Cypress公司的CY7C68001芯片USB2.0接口。該芯片集成了USB2.0收發(fā)器(物理層)、USB2.0串行接口引擎SIE(鏈路層,實現底層通信協議)。USB的應用協議層由FPGA內部編程實現,CY7C68001芯片采用并行異步存儲器接口與FPGA相連,FPGA可以配置USB,主機也可以配置USB。
5 結束語 該圖像處理系統雖然是針對貼片機系統設計的,但它應用廣泛,可以用在很多圖像采集和處理領域。它以FPGA作為核心控制芯片,實現了初級處理、數據緩沖和圖像存儲的功能。圖像的處理功能不限于灰度拉伸,也可以進一步實現去噪、濾波等功能。隨著FPGA性能的不斷提高,加上其靈活的可編程性,設計者可以擺脫傳統的FPGA+DSP進行圖像處理的思路,直接用FPGA來實現,不但可以減小PCB尺寸,也能夠降低元件之間相互連線帶來的信號失真,增加了系統可靠性和穩(wěn)定性。
參考文獻: 1. 王慶有 編著.CCD應用技術.天津:天津大學出版社,2002.7 2. Rafael C.Gonzalez Richard E. Woods 著,阮秋琦 阮宇智等譯. 數字圖像處理(第二版).北京:電子工業(yè)出版社,2005.3 3. 王誠 吳繼華等 編著.Altera FPGA/CPLD設計.北京:人民郵電出版社,2005.7 4. 陳榮 陳華 編著.VHDL芯片設計.北京:機械工業(yè)出版社,2006.1 5. 劉韜 樓興華 編著.FPGA數字電子系統設計與開發(fā)實例導航.北京:人民郵電出版社,2005.6
|