陳倫瓊,范力旻
(常州工學院 電子信息與電氣工程學院,常州 213002)
紡織產(chǎn)品的整緯是非常重要的,緯彎或緯斜的存在會給產(chǎn)品質(zhì)量帶來極大的不利,利用光電式整緯裝置進行檢測和校正緯紗變形(即整緯)的方法是目前較為先進的整緯手段。我國從上世紀八十年代引進國外光電整緯裝置,廣泛用于紡織行業(yè)。但大多數(shù)的整緯裝置的光電檢測探頭采用的是硅光電池作為感光傳感器,硅光電池作為可見光及近紅外光的光電探測器件,由于價格低、電流輸出大、工作時不需外加電源而得到廣泛使用。然而其工作特性容易受溫度的影響而降低檢測精度。而CCD器件是一種固體化器件,體積小,質(zhì)量輕,功耗低,可靠性高,壽命長;圖像畸變小,尺寸重現(xiàn)性好;光敏元件間距的幾何尺寸準確性高,可獲得較高的定位準確度和測量準確度。當然,CCD器件的外圍驅(qū)動電路要求較高,產(chǎn)生嚴格的CCD芯片驅(qū)動時序,是應(yīng)用CCD器件的先決條件。視頻信號處理電路的設(shè)計也是至關(guān)重要的。但是,隨著EDA技術(shù)的芯片設(shè)計技術(shù)的發(fā)展。CPLD可以將數(shù)字電路集成到一塊芯片上,極大減小電路板的體積的同時其電路的升級和修改也非常簡單和方便。將CPLD應(yīng)用于CCD的外圍電路并且結(jié)合A/D(模數(shù)轉(zhuǎn)換器)和FIFO(先入先出緩存器)來設(shè)計,就可解決CCD信號的采集和處理難題?;谝陨?,本文主要是在前人的工作上將緯紗變形檢測裝置的“探頭”中的光電傳感器采用CCD器件。采用硅光電池的裝置詳見參考文獻[1]。
緯紗變形檢測裝置可根據(jù)布幅寬度設(shè)定檢測頭2~4個, 檢測頭采用“旋轉(zhuǎn)光電探頭”透射式原理[1],原理如圖1所示,一定功率的可調(diào)光源經(jīng)凸透鏡后形成平行光,透過織物,經(jīng)圓柱鏡放大聚焦,在狹縫后的線陣CCD上成像,如果織物緯紗不斷運動,在CCD最后輸出的電信號就有變化。如圖2所示,(a)圖為狹縫與緯紗垂直時,CCD像素單元幾乎無感光時的輸出電平,(b)圖為狹縫旋轉(zhuǎn)至和緯紗重合時,CCD輸出的信號最大。
圖1 CCD檢測原理圖
圖2 狹縫與緯紗不同角度輸出示意圖
探頭中的傳感器采用的是CCD型號是TCD1205,而其驅(qū)動電路是以MAX7000(CPLD)為基礎(chǔ)進行設(shè)計的。如圖3所示,主要由CCD芯片、CCD時序產(chǎn)生和邏輯控制單元EPM7128、驅(qū)動電平轉(zhuǎn)換及偏置電壓單元、以及視頻信號輸出存儲單元等幾部分組成。
圖3 硬件框圖
其工作原理是,由于CCD感光成像,信號經(jīng)過調(diào)理,由模擬開關(guān)分時切換進行A/D轉(zhuǎn)換,數(shù)字化后在單片機的控制下數(shù)據(jù)送RAM存儲。采集電路的核心是時序邏輯設(shè)計,用1片CPLD(EPM7128S)完成所有時序邏輯功能,包括CCD驅(qū)動信號、模擬開關(guān)控制信號、A/D轉(zhuǎn)換的片選和轉(zhuǎn)換控制信號、存儲器操作所需的地址和控制信號。
1)模/數(shù)轉(zhuǎn)換
MAX153是一個八位的模擬量轉(zhuǎn)換為數(shù)字量的器件,最大轉(zhuǎn)換電流為8安培,8V到28V的電壓輸出,660ns的轉(zhuǎn)換時間。其作用是將來自CCD采集的模擬信號OS和DOS在通過多路開關(guān)的選擇后,將它們轉(zhuǎn)換為便于單片機和CPLD處理的數(shù)字信號,如圖4所示。
2)RAM存儲設(shè)計
圖4 模/數(shù)轉(zhuǎn)換
如圖5所示,單片機/CPLD利用單片機的地址線 A0到 A12(P0.0到 P0.7,P2.0到 P2.4)產(chǎn)生的16KB空間,通過P2.5/CCE對RAM的片選信號啟動(/CE),P3.7/CRD對RAM的讀信號(/RD),P3.6/CER對RAM的寫信號(/WR)的控制。這些控制信號,控制著CCD將采集來的信號通過多路開關(guān)和A/D轉(zhuǎn)換器件將采集的模擬量轉(zhuǎn)換為2048×2的數(shù)字信號存儲在RAM中以及單片機與CPLD對RAM內(nèi)的數(shù)據(jù)的讀取。
圖5 存儲設(shè)計
3)CCD時序處理
從EPM7128S輸出的脈沖波形RS、SH、φ、ICG和BT是由基本TTL電路產(chǎn)生的,正邏輯為5V,負邏輯為0V,而TCD1205要求上述信號高電平為4.5到5.5V,低電平為0V;此外,CCD為電容性負載,工作頻率高時有一定的功耗,因此用一片74HC04對RS、SH、φ、ICG和BT進行電平轉(zhuǎn)換和驅(qū)動放大以驅(qū)動CCD工作,如圖6所示。這樣,在CCD的輸出端將得到與入射光強相對應(yīng)的模擬視頻信號,并且視頻信號的輸出得到了相應(yīng)的補償。
1)CPLD時序的軟件設(shè)計
社區(qū)要搞一臺消夏晚會。開演臨近,一個小品還缺演員,居委會主任很著急。市人才交流中心的老王說,我來安排吧。他臨時拉了幾個人,沒怎么排練就上臺了。不料,演出大獲成功!慶功宴上老王多喝了幾杯,道出原委:他讓公交售票員演潑婦,讓大學教授演偽君子,讓城管演土匪,讓律師演騙子……
軟件設(shè)計采用硬件描述語言的輸入方式,如VHDL或Verilog,雖然不如原理圖輸入方式直觀簡單,但可移植性和可讀性都很好,鑒于本設(shè)計的邏輯設(shè)計規(guī)模不大,為了驅(qū)動時序的通用性,因此利用MAX—PLUSII開發(fā)系統(tǒng),采用的VHDL輸入方式進行邏輯設(shè)計。VHDL語言程序設(shè)計流程圖如圖7所示。
圖6 CCD時序驅(qū)動電路圖
用VHDL產(chǎn)生頻率大致相同的脈沖信號比較容易,比如CCD驅(qū)動信號中的RS、BT、φ1、φ2、以及A/D轉(zhuǎn)換信號等。而要產(chǎn)生信號頻率相差比較大的脈沖信號卻比較困難,如要產(chǎn)生的SH、ICG、RS以及RAM的地址寫信號等。有一個方式就是使用計數(shù)器來分頻系統(tǒng)的時鐘輸入信號。下面的程序就可以實現(xiàn)信號的分頻,多次分頻就可以得到想要的頻率信號。但是這樣非常消耗資源,且計數(shù)器用的越多,延遲越大。這里采用另一種解決方案,通過分支CASE語句,通過一個15位矢量信號實現(xiàn)了功能要求:
signal qd1: std_logic_vector(14 downto 0);
……
case qd1 is
when "000000000000000" =>
rsbtc<='0';
init <='1';
ccdsh<= '1';
ccdicg <= '0';
ramfrom0<='1';
圖7 時序設(shè)計流程圖
……
end case;
由于所有的時序要求都是通過EPM7128S產(chǎn)生,系統(tǒng)中只有一個晶振,各芯片之間的邏輯關(guān)系完全由編程控制,因此很容易實現(xiàn)A/D轉(zhuǎn)換和RAM控制之間的時序關(guān)系。最終仿真時序如圖8所示。
圖8 仿真時序圖
2)單片機控制軟件設(shè)計
單片機管理CCD數(shù)據(jù)的采集、接收、傳送。數(shù)據(jù)的采集通過外中斷實現(xiàn)。在初始化程序中設(shè)置與上位機的通信波特率、堆棧初始化以及寄存器初值,然后進入循環(huán),等待中斷的發(fā)生,調(diào)用中斷子程序,實現(xiàn)預定功能。當上位機有命令到來時,進入串行中斷子程序,在中斷中根據(jù)預先定好的協(xié)議,判斷計算機發(fā)來的不同命令,調(diào)用不同的處理子程序。其中的命令有:采集、停止采集、取數(shù)、停止取數(shù)。
由CCD作為整緯裝置的檢測傳感器,由于采用了CPLD芯片實現(xiàn)CCD的驅(qū)動電路,因此其開發(fā)方便、快捷,系統(tǒng)功耗更小,成本也更低;同時編程調(diào)試也更方便。系統(tǒng)的體積大大縮小,可靠性也大大提高。這些對于改善整緯裝置的整體性能有非常重大的意義。
[1] 郭建江. 新型單片機P89LPC935在光電整緯機中的應(yīng)用[J]. 機電工程技術(shù), 2006, (12): 97-99.