基于CPLD的線陣CCD數(shù)據(jù)采集系統(tǒng)的開(kāi)發(fā)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
本文結(jié)合實(shí)際應(yīng)用需要,設(shè)計(jì)了基于復(fù)雜可編程邏輯器件(CPLD)的線陣CCD數(shù)據(jù)采集系統(tǒng)。著重介紹了數(shù)據(jù)采集的特點(diǎn)及該系統(tǒng)軟、硬件設(shè)計(jì)和最后的性能評(píng)價(jià)。
線陣CCD(Charge Coupled Device)越來(lái)越廣泛地被應(yīng)用到工業(yè)、軍事、民用行業(yè)。采用CCD數(shù)據(jù)采集卡和微機(jī)相結(jié)合,對(duì)被測(cè)圖像信息進(jìn)行快速采樣、存儲(chǔ)及數(shù)據(jù)處理,是線陣CCD數(shù)據(jù)采集發(fā)展的新方向。配以適當(dāng)?shù)墓鈱W(xué)系統(tǒng),可以實(shí)現(xiàn)光-機(jī)-電-算一體化設(shè)計(jì)。
時(shí)序發(fā)生器(用于產(chǎn)生CCD驅(qū)動(dòng)時(shí)序和視頻信號(hào)處理控制時(shí)序及I/O接口工作控制時(shí)序)的設(shè)計(jì),是CCD數(shù)據(jù)采集電路設(shè)計(jì)的關(guān)鍵,也是CCD應(yīng)用的關(guān)鍵。隨著CCD的飛速發(fā)展,傳統(tǒng)的時(shí)序發(fā)生器實(shí)現(xiàn)方法(如小規(guī)模集成電路實(shí)現(xiàn)、用EPROM實(shí)現(xiàn)、基于單片機(jī)實(shí)現(xiàn)等)已經(jīng)不能夠很好地滿足CCD應(yīng)用向高速、小型化、智能化發(fā)展的需要。同時(shí),簡(jiǎn)單的二值化數(shù)據(jù)處理
方法更無(wú)法滿足CCD數(shù)據(jù)采集系統(tǒng)所需要的高精度、高分辨率的要求。因此,結(jié)合實(shí)際應(yīng)用需要,設(shè)計(jì)了基于復(fù)雜可編程邏輯器件(CPLD)的線陣CCD數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)采用高速半閃速結(jié)構(gòu)A/D轉(zhuǎn)換器對(duì)視頻信號(hào)進(jìn)行硬件處理;在此基礎(chǔ)上,將數(shù)據(jù)采集卡與PC機(jī)相結(jié)合,把數(shù)據(jù)采集卡采集到的數(shù)據(jù)經(jīng)計(jì)算機(jī)并口送至PC機(jī);并采用直線擬合最小二乘法對(duì)采集到的圖像信息進(jìn)行高精度處理,實(shí)現(xiàn)最終的設(shè)計(jì)目的。本設(shè)計(jì)被用于卷煙煙支長(zhǎng)度、直徑智能在線檢測(cè)儀中。
1 數(shù)據(jù)采集系統(tǒng)的特點(diǎn)
本數(shù)據(jù)采集系統(tǒng)的特點(diǎn)主要有:
(1) 采用高集成度的EPM7064SLC44產(chǎn)生系統(tǒng)所需的驅(qū)動(dòng)和控制時(shí)序邏輯;
(2) 由外部PC機(jī)控制CCD積分時(shí)間的大小及數(shù)據(jù)采集卡的工作過(guò)程,實(shí)現(xiàn)智能化控制;
(3) 應(yīng)用了內(nèi)帶采樣保持的8位高速并行輸出A/D芯片(TLC5510);
(4) 通過(guò)計(jì)算機(jī)并口高速傳輸數(shù)據(jù)信息;
(5) 采用直線擬合最小二乘法高精度定位CCD圖像的邊緣點(diǎn)。
2 數(shù)據(jù)采集系統(tǒng)的硬件電路設(shè)計(jì)
在本系統(tǒng)中,選定TCD142D線陣CCD作為圖像傳感器。本系統(tǒng)硬件電路主要由四部分構(gòu)成:①時(shí)序發(fā)生器;②CCD驅(qū)動(dòng)電路;③CCD視頻信號(hào)處理;④I/O接口。在此設(shè)計(jì)中,TCD142D的工作頻率為1MHz。
2.1 系統(tǒng)時(shí)序發(fā)生器的設(shè)計(jì)1~2?
時(shí)序發(fā)生器主要產(chǎn)生驅(qū)動(dòng)CCD工作的各驅(qū)動(dòng)時(shí)序及CCD視頻信號(hào)處理所需的控制時(shí)序。TCD142D的工作時(shí)序如圖1所示。
圖1 TCD 142 D 工作時(shí)序圖
在本設(shè)計(jì)中,時(shí)序發(fā)生器產(chǎn)生的所有驅(qū)動(dòng)和控制時(shí)序信號(hào)都是在MAX+PLUSⅡ開(kāi)發(fā)環(huán)境下設(shè)計(jì)完成并經(jīng)編譯、校驗(yàn)后在線下載到CPLD器件內(nèi)部的。合適的CPLD是根據(jù)實(shí)際需要在實(shí)驗(yàn)過(guò)程中選定的。在該數(shù)據(jù)采集卡的設(shè)計(jì)中,選用一片MAX7000S系列芯片EPM7064SLC44來(lái)實(shí)現(xiàn)時(shí)序發(fā)生器的功能。該系列芯片是ALTERA公司典型的可通過(guò)JTAG在線編程的CPLD器件。基于EPM7064SLC44的時(shí)序發(fā)生器的工作原理框圖如圖2所示。外部時(shí)鐘信號(hào)作為CPLD時(shí)序發(fā)生器的基準(zhǔn)信號(hào),所有時(shí)序信號(hào)的產(chǎn)生都是以此為基礎(chǔ)的。EPM7064SLC44芯片內(nèi)部分為兩部分:一部分是視頻信號(hào)處理控制時(shí)序發(fā)生器,它為CCD視頻信號(hào)處理(如A/D轉(zhuǎn)換、數(shù)字信號(hào)存取等)提供各種同步控制時(shí)序;另一部分是CCD驅(qū)動(dòng)時(shí)序發(fā)生器,它根據(jù)TCD142D的具體驅(qū)動(dòng)時(shí)序邏輯的要求,產(chǎn)生CCD工作所需的四路驅(qū)動(dòng)信號(hào)(RS、SH、φ1、φ2),并通過(guò)積分控制信號(hào)設(shè)定不同的CCD積分周期(積分周期可變范圍為4ms~64ms,變化步長(zhǎng)為4ms;或2ms~32ms,變化步長(zhǎng)為2ms),同時(shí)它還為視頻信號(hào)處理控制時(shí)序的產(chǎn)生提供時(shí)鐘控制信號(hào)。圖中操作控制命令主要用來(lái)控制數(shù)據(jù)采集系統(tǒng)的工作過(guò)程,該數(shù)據(jù)采集系統(tǒng)有三種工作狀態(tài):①數(shù)據(jù)采集系統(tǒng)初始化;②數(shù)據(jù)采集過(guò)程;③PC機(jī)讀取視頻信號(hào)過(guò)程。
.
圖2 時(shí)序發(fā)生器電路原理框圖
由圖2可以看出,一片CPLD可以替代原來(lái)的幾十個(gè)分立元件來(lái)實(shí)現(xiàn)CCD數(shù)據(jù)采集系統(tǒng)中各種驅(qū)動(dòng)和控制時(shí)序邏輯,而且CPLD還允許設(shè)計(jì)編程保密位。采用CPLD有利于減小系統(tǒng)電路板的面積、提高系統(tǒng)的安全保密性、降低系統(tǒng)功耗和保證產(chǎn)品的質(zhì)量??傊瑫r(shí)序發(fā)生器的可編程特性使其能夠最大程度地滿足用戶的不同要求。
2.2 TCD142D驅(qū)動(dòng)電路的設(shè)計(jì)
從EPM7064SLC44輸出的脈沖波形RS、SH、φ1和φ2是由基本TTL電路產(chǎn)生的,正邏輯為5V,負(fù)邏輯為0V,而TCD142D要求上述信號(hào)高電平為10~12V,低電平為0V;此外,CCD為電容性負(fù)載,工作頻率高時(shí)有一定的功耗,因此需對(duì)RS、SH、φ1和φ2進(jìn)行電平轉(zhuǎn)換和驅(qū)動(dòng)放大。在從CPLD的輸出引腳獲得上述邏輯時(shí)序后,通過(guò)集成驅(qū)動(dòng)芯片DS0026將RS、SH、φ1、φ1這四路驅(qū)動(dòng)脈沖驅(qū)動(dòng)放大送至TCD142D的相應(yīng)輸入端以驅(qū)動(dòng)CCD工作。這樣,在CCD的輸出端將得到與入射光強(qiáng)相對(duì)應(yīng)的模擬視頻信號(hào),并且視頻信號(hào)的輸出得到了相應(yīng)的補(bǔ)償。
2.3 TCD142D視頻信號(hào)處理電路的設(shè)計(jì)
視頻信號(hào)處理電路的結(jié)構(gòu)框圖如圖3所示。
圖3 視頻信號(hào)處理框圖
由TCD142D輸出端OS輸出的視頻信號(hào)有以下特點(diǎn):
負(fù)極性信號(hào);
包含有周期性的復(fù)位脈沖串?dāng)_;
有效信號(hào)幅值較小,約為500 mV ;
CCD輸出視頻信號(hào)的上述特點(diǎn)決定了它不能夠直接送入PC機(jī)進(jìn)行軟件處理,必須先從硬件上對(duì)其進(jìn)行量化處理。模擬視頻信號(hào)在進(jìn)行A/D轉(zhuǎn)換之前先要進(jìn)行一系列的預(yù)處理,消除視頻信號(hào)中的驅(qū)動(dòng)脈沖(主要是復(fù)位脈沖)及噪聲等所造成的干擾,將微弱的負(fù)極性視頻信號(hào)反向、放大。在電路設(shè)計(jì)中,選用了一片AD8031運(yùn)算放大器,將視頻信號(hào)及其補(bǔ)償輸出分別送至差動(dòng)放大器的反相和同相輸出端,在進(jìn)行視頻信號(hào)放大的同時(shí)消除復(fù)位脈沖所造成的干擾,并將負(fù)極性視頻信號(hào)轉(zhuǎn)換成正極性。在AD8031的輸出端接一級(jí)RC濾波器,進(jìn)一步濾除噪聲。經(jīng)過(guò)上述處理后的視頻信號(hào)被送入A/D轉(zhuǎn)換器進(jìn)行量化。在該數(shù)據(jù)采集卡的設(shè)計(jì)中,選用8位、高速、并行、半閃速結(jié)構(gòu)ADC-TLC5510芯片完成A/D轉(zhuǎn)換工作,其內(nèi)部自帶采樣保持電路,這在一定程度上簡(jiǎn)化了外圍電路的設(shè)計(jì)。只要設(shè)計(jì)合理,TLC5510的轉(zhuǎn)換速率(最小為20 MHz)完全可以滿足CCD(1 MHz)的工作要求。利用A/D轉(zhuǎn)換技術(shù)將視頻信號(hào)轉(zhuǎn)換成與之對(duì)應(yīng)的、能夠反映圖像灰度變化的數(shù)字量,提高了測(cè)量精度和分辨率;當(dāng)TLC 5510的輸出使能有效時(shí),就可以將A/D轉(zhuǎn)換結(jié)果送至8位數(shù)據(jù)線上。在數(shù)據(jù)存儲(chǔ)器(CY 6264)寫(xiě)允許及地址有效的前提下,將8位A/D轉(zhuǎn)換結(jié)果實(shí)時(shí)地存入數(shù)據(jù)存儲(chǔ)器中。
2.4 I/O接口電路的設(shè)計(jì)
I/O接口電路的主要功能就是將數(shù)據(jù)采集卡與PC機(jī)有機(jī)地統(tǒng)一起來(lái)。在本系統(tǒng)中,采用16腳的插座作為兩者之間的接口。兩者的通訊主要包括:接收PC機(jī)發(fā)送的各種控制命令;發(fā)送數(shù)據(jù)采集卡的各種狀態(tài)信號(hào)給PC機(jī);接收PC機(jī)發(fā)送的數(shù)據(jù)采集卡積分時(shí)間設(shè)定命令;傳輸數(shù)據(jù)給PC機(jī)等。
3 數(shù)據(jù)采集系統(tǒng)軟件的設(shè)計(jì)
數(shù)據(jù)采集系統(tǒng)的軟件主要完成的功能有:①PC機(jī)與數(shù)據(jù)采集卡之間的通訊驅(qū)動(dòng);②CCD圖像處理,實(shí)現(xiàn)最終的設(shè)計(jì)目的。
3.1 通訊驅(qū)動(dòng)軟件的設(shè)計(jì)
數(shù)據(jù)采集卡的I/O接口與PC機(jī)的打印機(jī)并口相連接,通過(guò)通訊驅(qū)動(dòng)軟件的驅(qū)動(dòng),基于CPLD的線陣CCD數(shù)據(jù)采集卡可以直接接收來(lái)自PC機(jī)的控制命令,或?qū)?shù)據(jù)(或狀態(tài))經(jīng)并口傳入PC機(jī),不需外加其它輔助電路。
該數(shù)據(jù)采集系統(tǒng)的通訊驅(qū)動(dòng)軟件是用C語(yǔ)言設(shè)計(jì)完成的,調(diào)用基本的并行接口操作函數(shù)。用戶可以通過(guò)PC機(jī)并口完成如下工作:(1)將PC機(jī)發(fā)出的控制字寫(xiě)入可編程邏輯器件,控制CCD數(shù)據(jù)采集卡的工作狀態(tài);(2)將數(shù)據(jù)采集卡當(dāng)
前的狀態(tài)字讀入PC機(jī);(3)判斷數(shù)據(jù)采集卡工作狀態(tài)位,在允許PC機(jī)讀取數(shù)據(jù)的前提下讀取外部數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)。因采用標(biāo)準(zhǔn)并行打印機(jī)適配器,所以一個(gè)字節(jié)的數(shù)據(jù)要分兩次進(jìn)行讀取,先讀低4位,再讀高4位,然后將兩部分合并,所得結(jié)果存入數(shù)據(jù)文件。通過(guò)I/O驅(qū)動(dòng)軟件控制,PC機(jī)可以改變和設(shè)定CCD當(dāng)前的積分時(shí)間及CCD當(dāng)前所處狀態(tài)。
3.2 數(shù)據(jù)處理軟件的設(shè)計(jì)
數(shù)據(jù)處理軟件的主要目的就是設(shè)計(jì)恰當(dāng)?shù)乃惴?,?duì)圖像信息進(jìn)行處理,提取圖像的邊緣特征并以此為基礎(chǔ)進(jìn)行高層次的處理,如:特征描述、識(shí)別和理解。圖像的邊緣特征是圖像信息最重要的特征,在對(duì)CCD圖像進(jìn)行處理時(shí),首先要解決好圖像的邊緣問(wèn)題。邊緣定位精度將直接影響測(cè)量結(jié)果的精度。
傳統(tǒng)的邊緣檢測(cè)算法是考察圖像的每個(gè)象素在某個(gè)鄰域內(nèi)灰度的變化,利用邊緣鄰近一階或二階導(dǎo)數(shù)的變化規(guī)律來(lái)檢測(cè)邊緣。但利用這種方法進(jìn)行數(shù)據(jù)處理時(shí)?由于受到CCD自身的制造工藝和工作原理的影響?其分辨率只能達(dá)到一個(gè)光敏元大小。故為了進(jìn)一步提高CCD的測(cè)量精度和分辨率,選用了直線擬合最小二乘法來(lái)確定圖像的邊緣點(diǎn)。以圖像邊緣斜坡段梯度最大點(diǎn)為中心,對(duì)稱地選取斜坡段的2n+1個(gè)點(diǎn)進(jìn)行直線擬合,以此來(lái)提高整個(gè)CCD數(shù)據(jù)采集系統(tǒng)的測(cè)量精度。采用空間擬合法確定圖像邊緣點(diǎn)對(duì)于減小隨機(jī)性測(cè)量誤差是非常有利的。
4 數(shù)據(jù)采集系統(tǒng)的性能評(píng)價(jià)
在對(duì)數(shù)據(jù)采集系統(tǒng)軟硬件設(shè)計(jì)和測(cè)試成功后,將該數(shù)據(jù)采集系統(tǒng)配以合適的光學(xué)成像系統(tǒng),以直徑為8.00mm(由千分尺測(cè)得)的卷煙標(biāo)準(zhǔn)棒為被測(cè)物,調(diào)整合適的積分時(shí)間和光照強(qiáng)度,對(duì)卷煙標(biāo)準(zhǔn)棒的直徑進(jìn)行了驗(yàn)證性測(cè)量。在同一段時(shí)間內(nèi)對(duì)同一被測(cè)物進(jìn)行了10次測(cè)量,其實(shí)驗(yàn)結(jié)果如圖4所示。
圖4 實(shí)驗(yàn)測(cè)量結(jié)果
實(shí)驗(yàn)結(jié)果表明,該數(shù)據(jù)采集系統(tǒng)的測(cè)量精度在0.05mm之內(nèi),變異系數(shù)不超過(guò)1%,說(shuō)明該數(shù)據(jù)采集系統(tǒng)的測(cè)量精度高、重復(fù)性好。