《電子技術(shù)應用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 基于FPGA的步進電機驅(qū)動及自動聚焦的實現(xiàn)

基于FPGA的步進電機驅(qū)動及自動聚焦的實現(xiàn)

2008-11-18
作者:張文愛,李逢磊,程永強

    摘  要: 基于Xilinx公司的Spartan-IIE系列FPGA XC2S300E-6-PQ208C完成了一種聚焦馬達驅(qū)動及自動聚焦" title="自動聚焦" target="_blank">自動聚焦的完整設(shè)計。該設(shè)計接收CCD圖像傳感器套件輸出的圖像信號,采用一種改進的灰度差分" title="差分" target="_blank">差分法作為聚焦評價函數(shù),即將一場圖像的所有像素的亮度值與周圍像素的亮度值差的絕對值的和作為聚焦評價函數(shù),根據(jù)相鄰同場的聚焦評價函數(shù)的比較結(jié)果,配合相應的搜索策略來控制步進電機的轉(zhuǎn)動方向,實現(xiàn)圖像的自動聚焦。實際實現(xiàn)的聚焦效果優(yōu)于改進前的聚焦算法。 

    關(guān)鍵詞: FPGA;步進電機;自動聚焦;聚焦評價函數(shù)

 

    自動聚焦是現(xiàn)代光學成像系統(tǒng)必不可少的關(guān)鍵技術(shù)。隨著科技的迅速發(fā)展,數(shù)字成像系統(tǒng)的自動聚焦問題受到人們的普遍關(guān)注,已廣泛應用于數(shù)碼相機、高分辨率監(jiān)控攝像機和數(shù)字視頻展臺等產(chǎn)品,且其產(chǎn)品有著廣泛的應用領(lǐng)域,如教育、銀行、煤礦、交通、醫(yī)療等監(jiān)控領(lǐng)域[1]。 

    目前自動聚焦技術(shù)相對比較成熟,自動聚焦芯片種類也比較多,但其都是基于DSP實現(xiàn)的,基于FPGA的自動聚焦芯片還沒有出現(xiàn)。本文采用一種改進的灰度差分法作為焦距評價函數(shù),用FPGA實現(xiàn)自動聚焦功能。 

    目前市面上聚焦馬達步進電機的控制多是以單片機或DSP加步進電機驅(qū)動器的方式實現(xiàn)。本文采用FPGA直接輸出適用于步進電機的角位移信號驅(qū)動聚焦馬達,這樣可以在一片芯片上完成自動聚焦的全部控制。該方案有很強的價格優(yōu)勢,且利于系統(tǒng)的功能擴展,對于提高系統(tǒng)的集成度和穩(wěn)定性、減小產(chǎn)品的體積和成本很有意義。 

1 聚焦控制系統(tǒng) 

    聚焦控制系統(tǒng)硬件框圖如圖1所示。 

 

 

    圖像傳感器輸出像素時鐘、行場參考信號和圖像亮度信號到FPGA,F(xiàn)PGA在輸入像素時鐘的同步下,通過對輸入圖像亮度信號的處理,采用一種改進的灰度差分法作為聚焦評價函數(shù),判斷出相鄰兩場的聚焦評價函數(shù)值的比較結(jié)果,然后根據(jù)一定的搜索策略來控制步進電機轉(zhuǎn)動,從而實現(xiàn)自動聚焦。 

    系統(tǒng)設(shè)計采用模塊化設(shè)計原則,按照現(xiàn)代EDA工程常用的“自頂向下”的設(shè)計思想,進行功能分離并按層次設(shè)計,用VHDL語言實現(xiàn)每個模塊的功能[2]。該設(shè)計主要由自動聚焦算法模塊、搜索策略模塊、步進電機驅(qū)動模塊組成。 

2 自動聚焦算法 

2.1 一種改進的自動聚焦算法 

    判斷圖像是否聚焦與圖像的高頻成分有關(guān),當完全聚焦時,圖像清晰,包含邊緣信息的高頻分量最多。通常,判斷圖像聚焦與否是通過焦距評價函數(shù)衡量的。常用的焦距評價函數(shù)有以下幾種:高頻分量法、平滑法、閾值積分法、灰度差分法、拉普拉斯像能函數(shù)等[3]。 

    灰度差分法是利用圖像的相鄰像素(左側(cè)及上側(cè)像素)差的絕對值之和作為焦距評價函數(shù),即: 

     

其中,f(x,y)表示第x行、第y列像素的亮度值,像素的相對位置如圖2所示。實驗中對于亮度比較均勻的圖像,其聚焦效果不理想,為此本文提出一種改進的灰度差分法作為焦距評價函數(shù)。其算法描述如下: 

     

    式(2)中選取了鄰近的四個像素(左側(cè)、左上側(cè)、上側(cè)及右上側(cè)像素)作比較,增大了焦距評價函數(shù)的絕對值,搜索曲線尖銳,容易找到最佳位置。圖3是以簡單的文本圖像(一張白紙上有幾個字)為例,在聚焦點附近測得20組聚焦值繪制的聚焦評價函數(shù)曲線。 

 

 

 

    可以看出,改進算法后在聚焦點附近曲線尖銳,與相鄰兩個聚焦位置的亮度差更大。通過實驗,在同樣的搜索策略下,改進后的算法比改進前更能適用于多種畫面,尤其是亮度比較均勻的圖像,有著更高的精確性。 

2.2 搜索策略算法 

    聚焦評價函數(shù)F與鏡頭位置關(guān)系曲線如圖4所示。當聚焦評價函數(shù)值F最大時,圖像最清晰,所以通過相鄰兩場的聚焦評價函數(shù)值的比較,即可判斷聚焦馬達的驅(qū)動方向[4]

 

 

    系統(tǒng)的搜索策略算法設(shè)計中,電機驅(qū)動鏡頭從初始位置出發(fā)先正轉(zhuǎn)一步,并根據(jù)聚焦算法模塊的輸出OUT進行判決。當OUT=1,表示后一場圖像比前一場清楚,搜索策略模塊則驅(qū)動步進電機帶動鏡頭向前走一步,繼續(xù)比較下一個位置前后兩場圖像的清晰度;若OUT輸出仍為1,則繼續(xù)向前移動,直到OUT輸出為0,則搜索策略模塊驅(qū)動步進電機向反方向倒退一步,此時鏡頭所處的位置為圖像最清楚的地方,即完成自動聚焦。 

3 自動聚焦算法的硬件實現(xiàn) 

3.1 改進的聚焦算法的FPGA設(shè)計 

  該模塊的FPGA設(shè)計內(nèi)部結(jié)構(gòu)如圖5所示。

 

 

    RAM的大小為1 024×8bit,可以存放一行800個數(shù)據(jù)。讀寫選擇模塊將一幀圖像的第一行數(shù)據(jù)寫入RAM1,第二行數(shù)據(jù)寫入RAM2,第三行數(shù)據(jù)寫入RAM3,第四行數(shù)據(jù)寫入RAM4,同時將RAM1、RAM2、RAM3的數(shù)據(jù)讀出到聚焦算法計算模塊中;第五行數(shù)據(jù)則寫入RAM1,同時將RAM2、RAM3、RAM4的數(shù)據(jù)讀出。依此循環(huán)。聚焦算法計算模塊將每次接收的數(shù)據(jù)根據(jù)聚焦算法進行計算,當前這幀計算的結(jié)果與前一幀的計算值相比較,將比較結(jié)果輸出到搜索策略模塊。若當前圖像的聚焦函數(shù)值大于前相同場的聚焦函數(shù)值,可表明當前圖像比前面相同場清楚,則輸出結(jié)果OUT為1,反之相反。 

3.2 步進電機驅(qū)動的實現(xiàn) 

    系統(tǒng)選用兩相雙極性步進電機,其勵磁" title="勵磁" target="_blank">勵磁方式有全部勵磁和半步勵磁兩種方式。其中全步勵磁又分為一相勵磁和二相勵磁。半步勵磁又稱為一二相勵磁。本文中變焦電機采用的是二相勵磁方式,步距角18°,步長0.02mm。其勵磁方式如表1所示,其中A、-A分別代表A相繞組正端和負端功率橋控制信號,B、-B分別代表B相繞組正端和負端功率橋控制信號[5]。 

 

 

    表1中任意一個狀態(tài)間的變化,步進電機都會轉(zhuǎn)動一個步距角,即移動一步。所以可以通過發(fā)狀態(tài)間變化的個數(shù)來精確地控制步進電機移動的步數(shù)。而且按照如表1所示的脈沖順序從左向右變化實現(xiàn)步進電機的反轉(zhuǎn),反之實現(xiàn)正轉(zhuǎn)。 

    據(jù)此可以在FPGA內(nèi)部設(shè)計四個一步模塊,分別實現(xiàn)1-2、2-3、3-4、4-1四個狀態(tài)間的變化,即實現(xiàn)步進電機旋轉(zhuǎn)最基本的四步。通過使能模塊對四個一步模塊順序進行使能,即可實現(xiàn)步進電機的正轉(zhuǎn)和反轉(zhuǎn)。該模塊的內(nèi)部結(jié)構(gòu)如圖6所示。 

 

 

    此外由于FPGA輸出脈沖信號的驅(qū)動電平和電流與步進電機的驅(qū)動要求不匹配,因此FPGA輸出的脈沖信號需要先經(jīng)過放大再加載到步進電機上。 

    具體的放大電路設(shè)計如圖7所示。由NPN、PNP三極管組成推挽電路實現(xiàn)對輸入信號電流的放大。其中小寫字母為FPGA的輸出信號,大寫字母為經(jīng)過放大后輸出到步進電機的驅(qū)動信號。

 

 

    本文所述功能采用VHDL描述,并在Xilinx公司Spartan2E系列FPGA XC2S300E上實現(xiàn)。另外,通過示波器測得步進電機驅(qū)動模塊的驅(qū)動波形如圖8所示。由上至下輸出的四路信號分別對應表1中的A+、A-、B+、B-,其輸出勵磁方式也與表1相吻合。 

 

 

    本文實現(xiàn)的各功能模塊既可應用于本系統(tǒng)中,也可作為獨立的、擁有自主知識產(chǎn)權(quán)的IP Core應用于其他系統(tǒng)中。 

參考文獻 

[1] 任四剛,謝利利.自動聚焦自圖像測量中的應用[J].重慶郵電學院學報,2002,14(3). 

[2] 徐欣,于紅旗.基于FPGA的嵌入式系統(tǒng)設(shè)計[M].北京:機械工業(yè)出版社,2005. 

[3] 李奇,馮華君.數(shù)字圖像清晰度評價函數(shù)研究[J].光子學報,2002,31(6):736-738. 

[4] 劉義鵬.顯微鏡自動對焦系統(tǒng)設(shè)計與應用.杭州:浙江大學碩士學位論文,2005. 

[5] 劉寶廷,程樹康.步進電機及其驅(qū)動控制系統(tǒng)[M].哈爾濱:哈爾濱工業(yè)大學出版社,2003. 

[6] E-Ho Lee,Kum,Byung-Deok Nam,et al.Implementation of passive automatic focusing algorithm for digital still camera.IEEE Trans.On Consumer Electronics,2006. 

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。