基于ARM和FPGA的線陣CCD測徑系統(tǒng)的設計
2.3 A/D轉(zhuǎn)換電路設計
CCD圖像傳感器完成光電信號的轉(zhuǎn)換后,為了存儲和處理所采集的信號,需要將它們變成相應的數(shù)字信號,這就需要對CCD的輸出信號進行A/D轉(zhuǎn)換。由于TCD1501D的視頻信號的輸出頻率為1 MHz,一般的A/D轉(zhuǎn)換器的速度達不到此要求,必須采用高速A/D轉(zhuǎn)換器。AD9243是美國ADI公司生產(chǎn)的完全14位高性能模數(shù)轉(zhuǎn)換器。在單一+5 V電源下,它的功耗僅有110 mW,信噪比為±79 dB。且具有信號溢出指示位,并可直接以二進制形式輸出數(shù)據(jù),它的數(shù)據(jù)輸出端口可以配置為3 V或者5 V CMOS電平,方便和各種處理器接口[4]。
AD9243的作用是將線陣CCD傳感器采集到的模擬視頻信號轉(zhuǎn)換成數(shù)字信號送到ARM微處理器進行線纜直徑的計算和存儲。在A/D轉(zhuǎn)換電路的設計中需要特別注意的是AD9243可以在內(nèi)部參考與外部參考方式下采用不同的電路設計來獲取靈活的模擬輸入范圍[4]。本設計采用了外部2.5 V參考輸入方式,如圖4所示。
本系統(tǒng)采用高精度2.5 V基準源作為穩(wěn)定的外部參考源。當使用外部參考方式時,還應當在CAPT與CAPB之間加一個電容去耦網(wǎng)絡。
2.4 人機界面模塊
為了便于用戶管理和操作,增加了一個線纜直徑測量控制的參數(shù)顯示和設定模塊,ARM微處理器LPC2214通過并口連接到液晶顯示模塊LM057QC1T01上,通過LPC2214自帶的SPI串行接口與觸摸屏模塊(控制器為ADS7843)進行通信。通過觸摸屏可以設置的參數(shù)包括:直徑的標稱值、上公差、下公差、PID參數(shù)等。按工藝要求正確設置好線纜直徑的標稱值可以實現(xiàn)對線纜直徑的自動反饋控制和超差報警,當系統(tǒng)出現(xiàn)故障時,液晶顯示器上可及時顯示系統(tǒng)的故障,方便用戶及時排除,提高了對生產(chǎn)設備的管理和操作的效率。
3 軟件設計
微處理器LPC2214中的數(shù)據(jù)采集和數(shù)據(jù)處理程序是整個系統(tǒng)的關(guān)鍵部分。系統(tǒng)的初始化工作完成之后,CPU開始進行運算處理。設計中以幀為單位進行數(shù)據(jù)采集和處理。單幀讀入識別過程如下:
(1) LPC2214發(fā)送幀啟動脈沖ena給FPGA。
(2) FPGA接收到ena信號,產(chǎn)生CCD驅(qū)動信號和A/D轉(zhuǎn)換器的采樣信號,使CCD與A/D轉(zhuǎn)換器開始工作。
(3) 將采樣得到的數(shù)字信號存入SRAM中。
(4) 一幀數(shù)據(jù)采集完畢時,發(fā)送INT信號給ARM LPC2214,ARM讀取SRAM,處理數(shù)據(jù)。一幀數(shù)據(jù)的采集和處理過程完畢,若有新的數(shù)據(jù)繼續(xù)處理。圖5是數(shù)據(jù)處理軟件流程圖。
在數(shù)據(jù)處理的程序中,當A/D轉(zhuǎn)換結(jié)束后,LPC2214從SRAM中讀取圖像數(shù)據(jù)存儲在片內(nèi)數(shù)據(jù)存儲空間。首先對數(shù)據(jù)進行預處理,也就是濾掉波形中的毛刺,剔除實際應用中不可能出現(xiàn)的數(shù)值。然后對預處理過的數(shù)據(jù)與事先確定好的閾值進行比較,若高于閾值則高位寄存器內(nèi)的值加1,否則低位寄存器內(nèi)的值加1。將5 000個數(shù)值都比較完畢,然后對低位寄存器內(nèi)的數(shù)值采用直線擬合[5]的方法計算出精確的線陣CCD被遮擋而未能感光的像敏單元數(shù),根據(jù)公式(1)即可求出被測線纜直徑的實際尺寸。
本系統(tǒng)以高速ARM微處理器代替?zhèn)鹘y(tǒng)的單片機,且充分發(fā)揮FPGA的時序優(yōu)勢,使得系統(tǒng)硬件結(jié)構(gòu)更為簡單、可靠,軟件調(diào)試更為方便。與以往的采集系統(tǒng)相比,在速度和精度上有了大幅的提高,完全滿足系統(tǒng)設計的要求。本系統(tǒng)是在線測量線纜的直徑,但同樣適用于測量工件的長度、測距等很多方面,有很廣闊的應用前景。
評論