《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 基于PCI總線的印品質(zhì)量檢測系統(tǒng)設(shè)計[圖]
基于PCI總線的印品質(zhì)量檢測系統(tǒng)設(shè)計[圖]
摘要: 印品質(zhì)量檢測系統(tǒng)是一種基于視覺在線的檢測系統(tǒng),,通過攝像機在線掃描印品圖像,然后送至內(nèi)存通過圖像處理軟件處理,,結(jié)果與標準數(shù)據(jù)比較,,找出兩者之間的差異并分析產(chǎn)生誤差原因,進而重新設(shè)計參數(shù),。實際中,,通常需要對大面積印品進行高精度的檢測,而單個攝像頭只適于攝取小范圍的圖像,,為了保證精度,、同步測量、協(xié)作狀態(tài)檢測,,本文使用了多個CCD攝像頭同步獲取不同位置信息,,利用CPLD的邏輯控制功能配合PCI總線以DMA方式同步傳輸數(shù)據(jù)供上層的應(yīng)用軟件對采集到的數(shù)據(jù)進行實時處理,。從而很好地滿足尺寸、精度和實時性的要求,。
Abstract:
Key words :
 

1 概述   

印品質(zhì)量檢測系統(tǒng)是一種基于視覺在線的檢測系統(tǒng),,通過攝像機在線掃描印品圖像,然后送至內(nèi)存通過圖像處理軟件處理,,結(jié)果與標準數(shù)據(jù)比較,,找出兩者之間的差異并分析產(chǎn)生誤差原因,進而重新設(shè)計參數(shù),。實際中,通常需要對大面積印品進行高精度的檢測,,而單個攝像頭只適于攝取小范圍的圖像,,為了保證精度、同步測量,、協(xié)作狀態(tài)檢測,,本文使用了多個CCD攝像頭同步獲取不同位置信息,利用CPLD的邏輯控制功能配合PCI總線以DMA方式同步傳輸數(shù)據(jù)供上層的應(yīng)用軟件對采集到的數(shù)據(jù)進行實時處理,。從而很好地滿足尺寸,、精度和實時性的要求。

2 系統(tǒng)硬件結(jié)構(gòu)與工作原理

基于PCI總線的印品質(zhì)量檢測系統(tǒng)設(shè)計

系統(tǒng)框圖如圖1所示,,該圖像采集系統(tǒng)由四路CCD相機,、PCI圖像采集卡和計算機組成。其中,,四路高速CCD攝相機同步獲取大面積被檢測印紙圖像信息,;PCI多路采集卡由PCI接口芯片、配置EEPROM,、CPLD邏輯控制芯片,、高速緩存(FIFO)、視頻解碼芯片等構(gòu)成,,主要實現(xiàn)CCD圖像的采集,、緩存和傳輸;PC機完成采集工作的控制,、圖像數(shù)據(jù)的傳輸控制,、圖像處理、存儲及在顯示器上顯示的功能,。

其工作原理如下:PC機應(yīng)用程序通過PCI總線向CPLD控制邏輯電路發(fā)出“采集開始”命令,,CPLD控制邏輯收到開始采集指令后通過虛擬I2C總線控制方式來控制四路視頻解碼器開始解碼,解碼后同步輸出的高速圖像數(shù)據(jù)及同步信號到FIFO數(shù)據(jù)輸入端緩存,,當存儲空間將要滿時,,向PCI總線控制器發(fā)出中斷請求信號,,PCI總線控制器將中斷信號轉(zhuǎn)發(fā)到PCI圖像采集卡,PC機響應(yīng)此中斷信號,,通過PCI總線控制器讀取FIFO中的數(shù)據(jù),,直至讀取FIFO空為止,數(shù)據(jù)經(jīng)由PCI總線,,以DMA方式將圖像數(shù)據(jù)快速送入計算機的內(nèi)存緩沖區(qū),,由應(yīng)用程序根據(jù)需要提供對其進行數(shù)據(jù)圖像處理,及在屏幕上顯示處理后的結(jié)果,。

系統(tǒng)由硬件部分和軟件部分構(gòu)成,。硬件部分設(shè)計主要指四路CCD攝像機圖像采集卡的電路設(shè)計、CPLD的邏輯控制功能設(shè)計,;軟件部分設(shè)計包括底層的設(shè)備驅(qū)動程序設(shè)計和上層的應(yīng)用程序設(shè)計,,其功能是控制硬件電路實現(xiàn)對四路CCD圖像數(shù)據(jù)的采集、圖像處理,、存儲和顯示,。

3 系統(tǒng)各功能模塊介紹

3.1 CCD選型

CCD器件采用加拿大DALSA公司的IL-E2線陣2048像素的TDICCD,它以3500行/s速度對印品逐行掃描,。四路CCD相機通道同步采樣,,采樣信號數(shù)據(jù)塊大小默認為:20484150=1.17Mb。這里150為掃描行數(shù)(根據(jù)五號字體計算得出),,行數(shù)程序可調(diào),,即掃描塊面積可調(diào)。掃描這樣一幅圖像所需要的時間為150/3500=42.85ms,。

3.2 PCI接口設(shè)計   

PCI接口是外部總線與PCI總線的通信接口,,完成PCI總線與外部總線間的通信,PCI總線協(xié)議復雜,,接口電路實現(xiàn)比較困難,。目前實現(xiàn)PCI接口的方案一般分為兩種:一種是全部用可編程邏輯器件完成;另一種是用PCI接口芯片與邏輯電路配合實現(xiàn),。相對而言,,后者設(shè)計簡單,開發(fā)周期短,,兼容性好,。本系統(tǒng)采用AMCC公司專用的PCI接口芯片AMCCS5933,其復雜的PCI接口規(guī)范完全由S5933實現(xiàn),,只需將其PCI接口信號與PCI總線相連,,不需要額外的驅(qū)動電路,從而加快了設(shè)計進程,。

采集卡利用S5933通過DMA實現(xiàn)采集數(shù)據(jù)的實時傳輸,。S5933支持3個物理總線接口,,PCI總線、ADD-ON總線及一個可選的非易失性存儲器總線接口,,其中PCI接口完全符合PCI總線規(guī)范,,它的引腳和PCI總線信號一一對應(yīng),用戶可以根據(jù)自己的需要選擇其中部分管腳和總線相連,。用戶真正所需要做的就是設(shè)計S5933與ADD-ON總線接口相連接的邏輯電路和配置空間的初始化,,而不用去考慮PCI總線規(guī)范上面眾多的協(xié)議。

3.3 視頻解碼器   

采用Philps公司提供的可編程數(shù)字圖像視頻解碼芯片SAA7110對視頻圖像信號進行采集,,它應(yīng)用I2C總線的配置方式,。內(nèi)部包括6通道的模擬輸入,能實現(xiàn)視頻源的選擇,、模數(shù)變換,、自動嵌位、自動增益控制,、抗混疊濾波、多制式(PAL,、PALN,、PALM、NTSCM,、NTSC-Japan,、NTSC4.43和SECAM)解碼、放大或縮小數(shù)字圖像以及亮度,、飽和度和對比度的控制等,。為視頻采集系統(tǒng)的設(shè)計與實現(xiàn)提供了極大的方便。

3.4 高速緩存(FIFO)   

高速緩存FIFO,,在CCD輸出信號和S5933之間作為數(shù)據(jù)緩沖,,防止數(shù)據(jù)的丟失。采用IDT公司的雙端口異步FIFO IDT7207作為外接FIFO,,其容量為32k×9bit(其中8bit是數(shù)據(jù),,1bit是做奇偶校驗)。該FIFO具有很高的存取速度(12ns),;標準的滿標志位(FF),、空標志位(EF),可禁止數(shù)據(jù)繼續(xù)寫入或讀出,。同時,,還有可編程快滿標志(PAF)以及可編程快空標志(PAE)。

3.5 CPLD邏輯控制電路設(shè)計   

采用Altera公司的MAX7000A系列的復雜可編程邏輯器件(CPLD)EPM7128A芯片實現(xiàn)數(shù)據(jù)傳輸通道的邏輯控制,,完成對四路CCD攝像機控制,、FIFO控制以及S5933的控制,。利用QuartusII6.0軟件進行設(shè)計、調(diào)試,、和仿真,,實現(xiàn)各種復雜的組合邏輯和時序邏輯,大大提高了控制電路的集成度,。

3.5.1 CPLD對四路視頻解碼器的控制   

對四路SAA7110,,我們設(shè)計了利用CPLD虛擬I2C總線技術(shù)來實現(xiàn)SAA7110的初始化控制。首先根據(jù)I2C總線的原理寫出啟動,、結(jié)束,、發(fā)送應(yīng)答信號及讀、寫一個字節(jié)的程序,,然后根據(jù)SAA7110的寄存器操作格式寫出讀,、寫寄存器的程序,最后根據(jù)以上子程序?qū)懗龀跏蓟绦騿T段,。系統(tǒng)復位完成CPLD程序加載,,先由CPLD的I2C總線模塊對SA7110初始化,然后等待采集圖像的命令,。初始化成功后,,SAA7110實時處理模擬視頻信號,輸出亮度和色度信號,,同時輸出像素時鐘信號,,行、場同步信號和參考信號等,。本系統(tǒng)只需要灰度圖像,,不用色度信號,所以數(shù)據(jù)線為8位,。

3.5.2 CPLD對FIFO的控制   

對FIFO的控制主要是涉及到讀取數(shù)據(jù)的時序匹配和FIFO存儲器滿或空后的電路控制問題,。從SAA7110來的數(shù)據(jù),當幀同步信號VSYNC由低變高時,,表示一個有效的數(shù)據(jù)幀開始,,在每幀數(shù)據(jù)的開頭,CPLD都要置FIFO復位,,同時設(shè)置偏移量,。然后等待行同步信號HSYNC由低變高(表示輸出一行有效數(shù)據(jù)),忽略開頭和末尾幾十個時鐘周期內(nèi)的無效數(shù)據(jù),,取中間2048個有效像元,,在每個像元時鐘PIXCLX的下降沿采集像元數(shù)據(jù)。

CPLD對采集到的四路有效像元數(shù)據(jù)具體操作為:CPLD將像元數(shù)據(jù)放到FIFO輸入數(shù)據(jù)線上,同時設(shè)定FIFO的寫允許信號W#有效,,并給出WCLK信號,,在WCLK信號的上升沿把FIFO輸入數(shù)據(jù)線上的數(shù)據(jù)存入FIFO。當本行的數(shù)據(jù)傳輸完畢,,HSYNC就變低,,等HSYNC再次變高,即下一行數(shù)據(jù)到來時再開始對下一行的像元數(shù)據(jù)進行同樣的操作,。這里置W#信號有效與否要受FIFO滿信號(FF#)控制,,如果FIFO已滿則W#信號無效,即只有在FIFO不滿的情況下才能將數(shù)據(jù)寫入,。當VSYNC和HSYNC都變低時,,表示一幀數(shù)據(jù)輸出完畢。當VSYNC再次變高,,就可以開始下一幀圖像的采集了,。

3.5.3 CPLD對S5933的控制   

由于SAA7110來的數(shù)據(jù)位為8位,我們把S5933的32位數(shù)據(jù)線分四路分別與四路8位數(shù)據(jù)線相接,。當S5933發(fā)起一次DMA讀FIFO數(shù)據(jù)到計算機時,,則CPLD置FIFO讀允許(REN)、輸出允許(OE)有效,,同時給出讀時鐘(RCLK),,在RCLK的每一個上升沿,F(xiàn)IFO會把內(nèi)部存儲中的圖像數(shù)據(jù)輸出到S5933的數(shù)據(jù)線上,,這里RCLK信號的給出與否受FIFO空信號(FE#)的控制,如果FIFO已經(jīng)為空,,則RCLK信號不應(yīng)該給出,,即只有在FIFO非空的情況下才能將其中數(shù)據(jù)讀出。此后的處理由S5933來實現(xiàn),。

3.6 串行EEPROM的配置   

系統(tǒng)上電后,,PCI總線的RST#信號有效,同時,,S5933輸出局部復位信號DEVSET#,,并且檢查EEPROM是否存在,若存在,,則S5933根據(jù)預先燒入EEPROM的內(nèi)容設(shè)置內(nèi)部寄存器,,否則設(shè)為缺省值,PCI配置寄存器只能通過EEPROM或PCI主機CPU進行設(shè)置,,因此有必要要對寄存器進行說明,。要注意各屬性寄存器和控制寄存器的設(shè)置不要前后矛盾,地址范圍和基址寄存器的設(shè)置要符合要求。EEPROM的內(nèi)容很重要,,它直接關(guān)系到PCI圖像采集卡能否正常工作,。

系統(tǒng)選用2K的ST93CS56串行EEPROM作為S5933的配置芯片,其中存儲的是廠家標識,、設(shè)備標識以及局部總線的基地址空間,、I/O空間、中斷控制信號等信息,。

4 系統(tǒng)軟件設(shè)計   

系統(tǒng)的軟件設(shè)計包括兩部分:底層的設(shè)備驅(qū)動程序和上層的應(yīng)用程序設(shè)計,。

編寫驅(qū)動程序需要開發(fā)環(huán)境的支持,現(xiàn)在流行的開發(fā)環(huán)境有:Device Driver Kit,,DDK系列,、DriverStudio系列和WinDriver系列,由于開發(fā)套件對底層函數(shù)的封裝要引入額外的延時,,所以對于這種實時性強,、高質(zhì)量的設(shè)備,我們選擇Microsoft提供的DDK,。

底層的設(shè)備驅(qū)動軟件編程主要對PCI接口芯片S5933進行相關(guān)的底層操作,,如:向系統(tǒng)申請物理地址連續(xù)的內(nèi)存塊;為采集卡申請板上中斷,;設(shè)備的初始化,;端口的讀寫操作;內(nèi)存的直接讀寫以及中斷的設(shè)置,、響應(yīng)和調(diào)用,;啟動DMA向內(nèi)存送數(shù)據(jù),DMA完成后響應(yīng)DMA中斷,,并通知應(yīng)用程序數(shù)據(jù)準備好等,。如圖2驅(qū)動程序流程圖。  

基于PCI總線的印品質(zhì)量檢測系統(tǒng)設(shè)計

上層的應(yīng)用程序主要對采集到的四路CCD圖像數(shù)據(jù)轉(zhuǎn)換成標準Windows位圖文件格式(本文采用了非壓縮格式的BMP文件格式),,然后對位圖文件數(shù)據(jù)進行圖像處理及顯示,。具體過程是:首先將由DMA通道從FIFO送到送到內(nèi)存數(shù)據(jù)送入圖像處理模塊,經(jīng)二值化,,傾斜校正,,行字切分等圖像頂處理操作后,得到待識文字的點陣,,漢字識別模塊從點陣中提取識別特征,,通過分類,精確匹配得出識別結(jié)果,,然后送人編輯模塊進行識別后的人工校對,。

5 結(jié)束語   

本文作者創(chuàng)新點是提出了一種基于PCI總線的印品質(zhì)量檢測系統(tǒng)能實時采集和處理,、分析多通道數(shù)據(jù),實現(xiàn)大容量數(shù)據(jù)的傳送,。采集卡已制作完成,,經(jīng)測試性能完全達到設(shè)計要求,由于采用了專用的PCI接口控制芯片,,簡化了設(shè)計工作,,縮短了設(shè)計周期。而且現(xiàn)場可編程器件CPLD,,實現(xiàn)了對PCI,、FIFO、虛擬I2C,、SA7110的控制,,使這一設(shè)計方案集成度和自動化程度高、檢測控制周期短,、人為因素干擾少等優(yōu)點,,在印品工業(yè)自動化中會起到很重要的作用,有著很好的發(fā)展前景,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。