基于FPGA的全數(shù)字交流伺服系統(tǒng)信號(hào)處理
基于FPGA的全數(shù)字交流伺服系統(tǒng)信號(hào)處理系統(tǒng)電路如圖1所示,以DSP芯片作為伺服驅(qū)動(dòng)器的核心處理器,完成數(shù)據(jù)處理和控制算法;FPGA完成編碼信號(hào)的采集與鑒相、光柵尺信號(hào)處理、接收運(yùn)動(dòng)控制卡發(fā)出的脈沖信號(hào)與脈沖方向信號(hào)并返回給運(yùn)動(dòng)控制卡編碼器脈沖信號(hào)等。采用FPGA作為脈沖或模擬量輸出接口,對(duì)信號(hào)的每一位都用門電路進(jìn)行驅(qū)動(dòng),以高速匹配其他芯片進(jìn)行信息交換。由于FPGA內(nèi)部是硬件電路,能實(shí)現(xiàn)真正的并行處理,這種預(yù)處理或后處理操作可以使DSP專注于復(fù)雜算法的實(shí)現(xiàn),系統(tǒng)運(yùn)行在準(zhǔn)并行狀態(tài),加快了處理速度[1]。
1 光電脈沖編碼器、光柵尺信號(hào)及電路設(shè)計(jì)要求
永磁同步電機(jī)的速度閉環(huán)控制過程中,必須實(shí)時(shí)檢測(cè)電機(jī)轉(zhuǎn)子位置及轉(zhuǎn)速信息,其檢測(cè)精確性直接影響對(duì)電機(jī)的控制精度。永磁同步電動(dòng)機(jī)采用光電脈沖編碼器檢測(cè)電動(dòng)機(jī)轉(zhuǎn)子位置檢測(cè)。位置直接閉環(huán)控制時(shí)必須實(shí)時(shí)測(cè)量軸的進(jìn)給位置,進(jìn)給軸的位置采用光柵尺來檢測(cè)。
光電脈沖編碼器是一種把角位移量轉(zhuǎn)化為脈沖信號(hào)的檢測(cè)元件,被廣泛應(yīng)用于數(shù)字交流伺服電機(jī)中檢測(cè)轉(zhuǎn)子位置。光電編碼器分為增量式、絕對(duì)式以及混合式3類,增量式編碼器由于性價(jià)比高而應(yīng)用廣泛。脈沖編碼器與被測(cè)軸剛性連接,轉(zhuǎn)軸每旋轉(zhuǎn)一周,脈沖發(fā)生器輸出一定的脈沖數(shù),其輸出脈沖的頻率與轉(zhuǎn)速成正比,所以可以通過脈沖頻率來測(cè)量實(shí)現(xiàn)轉(zhuǎn)速。增量式編碼器輸出兩列正交的方波脈沖信號(hào)(A,B),計(jì)算A或B列脈沖的個(gè)數(shù)可以得到位置偏移量,利用其相位關(guān)系可以確定電機(jī)的旋轉(zhuǎn)方向。增量式編碼器還輸出一路每轉(zhuǎn)一周脈沖(Z)的信號(hào),Z脈沖可用于計(jì)算轉(zhuǎn)速,也可用于消除計(jì)算中所產(chǎn)生的積累誤差[2]。增量式脈沖編碼器輸出波形如圖2所示。
光柵尺是將光源、兩塊長(zhǎng)光柵(動(dòng)尺和定尺)、光電檢測(cè)器件等組合在一起構(gòu)成的光柵傳感器。光柵尺輸出的是電信號(hào),動(dòng)尺移動(dòng)一個(gè)柵距,輸出電信號(hào)便變化一個(gè)周期,它是通過對(duì)信號(hào)變化周期的測(cè)量來測(cè)出動(dòng)就與定就職相對(duì)位移。目前使用的光柵尺的輸出信號(hào)一般有兩種形式:相位角相差90°的2路方波信號(hào)和相位依次相差90°的4路正弦信號(hào)。這些信號(hào)的空間位置周期為W。本系統(tǒng)光柵尺輸出的信號(hào)為方波信號(hào),輸出同樣可以產(chǎn)生A相、B相和Z相3個(gè)電信號(hào),A相信號(hào)為主信號(hào),B相為副信號(hào),兩個(gè)信號(hào)周期相同,均為W相位差90°,Z信號(hào)可以作為較準(zhǔn)信號(hào)以消除累積誤差[3]。由于光電編碼器與光柵尺產(chǎn)生特性相同的信號(hào),因此本文只介紹光電編碼器信號(hào)的處理。
圖2給出了編碼器A、B、Z信號(hào)的變化情況。在A信號(hào)的下降沿采集B信號(hào),就可以判斷出運(yùn)動(dòng)方向。圖中前半部分為正向運(yùn)動(dòng),A信號(hào)的上升沿及下降沿均比B信號(hào)超前1/4周期,在A信號(hào)下降沿采集的B信號(hào)為“1”;后半部分為反向運(yùn)動(dòng),A信號(hào)的上升沿及下降沿均比B信號(hào)滯后1/4W,在A信號(hào)下降沿采集到的B信號(hào)為“0”。根據(jù)采集到的運(yùn)動(dòng)信號(hào)方向和A信號(hào)變化的周期數(shù)用計(jì)數(shù)器進(jìn)行計(jì)數(shù)(正向計(jì)數(shù)或逆向計(jì)數(shù)),就可以測(cè)算出位置偏移量。在本伺服系統(tǒng)中,用到的電機(jī)編碼器為6000線,為了得到更高精度的位置偏移量,A、B信號(hào)需要進(jìn)行細(xì)分。如果同時(shí)考慮A、B信號(hào)上升沿和下降沿的各種情況,就可以實(shí)現(xiàn)信號(hào)四細(xì)分,其主要電路有:細(xì)分辨向、計(jì)數(shù)電路等。以上功能可以由通用數(shù)字集成電路來完成,但這種設(shè)計(jì)方法所用芯片多,結(jié)構(gòu)復(fù)雜。也可以通過單片機(jī)以及一些外圍芯片來完成,只是這種方法通用性差,編程復(fù)雜,而且增大了單片機(jī)的負(fù)擔(dān),使單片機(jī)響應(yīng)其他事件的實(shí)時(shí)性變差。 隨著大規(guī)??删幊踢壿嬈骷?CPLD:復(fù)雜可編程邏輯器件;FPGA:現(xiàn)場(chǎng)可編程門陣列)的飛速發(fā)展,傳統(tǒng)的電路設(shè)計(jì)方法已大為改觀。許多傳統(tǒng)的邏輯電路完全可以用可編程邏輯器件來代替,并且可提高系統(tǒng)的可靠性,減小PCB的面積,使產(chǎn)品小型化,還有利于知識(shí)產(chǎn)權(quán)保護(hù)。利用EDA(電子設(shè)計(jì)自動(dòng)化)技術(shù)設(shè)計(jì)可編程邏輯器件已成為現(xiàn)代電子設(shè)計(jì)的一種必然趨勢(shì)。本文所介紹電路就是基于FPGA芯片完成的。 該電路設(shè)計(jì)有如下要求:利用FPGA芯片完成雙路編碼器信號(hào)處理、四細(xì)分及辨向功能、32位可逆計(jì)數(shù)器、與DSP的并行接口電路。編碼器A、B信號(hào)作為輸入信號(hào),經(jīng)四細(xì)分、辨向后,為32位可逆計(jì)數(shù)器提供計(jì)數(shù)脈沖和方向信號(hào)[4]。
2 FPGA器件的選擇
根據(jù)設(shè)計(jì)要求和綜合估算整個(gè)電路所需要的管腳個(gè)數(shù),本設(shè)計(jì)選用APA300。它是Actel公司PA系列產(chǎn)品之一,是一種嵌入式可編程邏輯器件。APA300采用CMOS SRAM制造工藝,使用SRAM來存儲(chǔ)編程數(shù)據(jù),具有高密度(可用邏輯門30萬(wàn),2個(gè)PLL)、高速度、低功耗等特點(diǎn),而且APA300的IO口有290個(gè),完全符合本伺服系統(tǒng)設(shè)計(jì)的需要。
3 電路設(shè)計(jì)
本電路采用Actel公司的Libero IDE 開發(fā)平臺(tái)進(jìn)行設(shè)計(jì)。Libero IDE 為Actel公司的專門開發(fā)平臺(tái),它包括設(shè)計(jì)輸入、編譯、仿真、器件編程等功能。該平臺(tái)使用方便,允許用戶用原理圖、VHDL語(yǔ)言、SmartDesign等多種輸入方法進(jìn)行設(shè)計(jì)。
3.1 細(xì)分辨向電路
編碼器信號(hào)的細(xì)分與辨向是提高編碼器測(cè)量精度的關(guān)鍵。細(xì)分辨向電路的原理圖如圖3所示。
編碼器輸出的相差為90°的方波信號(hào)PBA、PBB分別經(jīng)D觸發(fā)器處理后輸入到辨向電路。D觸發(fā)器作用是對(duì)信號(hào)進(jìn)行整形,從而消除了輸入信號(hào)中尖峰脈沖帶來的影響,提高了系統(tǒng)的抗干擾性能。由圖3可知細(xì)分辨向電路的輸入是編碼器經(jīng)整形濾波后的A、B信號(hào),時(shí)鐘clkh、clkl,復(fù)位信號(hào)reset,輸出有錯(cuò)誤信號(hào)error,方向信號(hào)updown,輸出的細(xì)分信號(hào)pulse。仿真波形如圖4所示。
3.2 計(jì)數(shù)電路
本系統(tǒng)中的32位計(jì)數(shù)器采用VHDL語(yǔ)言進(jìn)行設(shè)計(jì)。設(shè)計(jì)原理圖如圖5所示,輸入信號(hào)定義為時(shí)鐘clock、方向信號(hào)UPDOWN ,清零信號(hào)ACLR。輸出信號(hào)定義為32位的計(jì)數(shù)結(jié)果Q[31:0]。用VHDL語(yǔ)言來編寫實(shí)現(xiàn)32位可逆計(jì)數(shù)器功能。其仿真信號(hào)如圖6所示。
設(shè)計(jì)經(jīng)過仿真、編譯實(shí)現(xiàn)后,該模塊已成功應(yīng)用于開發(fā)的伺服系中,實(shí)現(xiàn)了對(duì)光電編碼器與光柵尺(運(yùn)動(dòng)控制系統(tǒng)中的位置反饋部件)信號(hào)的四細(xì)分處理功能,性能穩(wěn)定可靠。在此設(shè)計(jì)的基礎(chǔ)上再加上譯碼驅(qū)動(dòng)和顯示電路,就可作為位移測(cè)量和顯示電路獨(dú)立使用。
評(píng)論