作者:Jens Sorensen, Shane O’Meara, and Dara O’Sullivan
這是由兩部分組成的系列中的第 2 部分。第1部分討論了在電機(jī)控制應(yīng)用中使用sinc濾波器解調(diào)Σ-Δ編碼數(shù)據(jù)。闡述了同步sinc濾波器脈沖響應(yīng)對(duì)脈寬調(diào)制(PWM)的重要性,并提出了同步策略;但是,同步方案使得難以正確配置系統(tǒng)。
在本系列的第2部分中,提出了一種針對(duì)同步優(yōu)化的新型sinc濾波器結(jié)構(gòu)。該濾波器可提高需要對(duì)反饋鏈進(jìn)行嚴(yán)格定時(shí)控制的應(yīng)用中的測(cè)量性能。然后,第 2 部分繼續(xù)討論使用 HDL 代碼實(shí)現(xiàn) sinc濾波器,以及如何針對(duì) FPGA 實(shí)現(xiàn)優(yōu)化濾波器。最后,介紹了在基于FPGA的三相伺服驅(qū)動(dòng)器上進(jìn)行的測(cè)量。
針對(duì)同步優(yōu)化的 Sinc 濾波器
如第1部分所述,通過(guò)將sinc濾波器脈沖響應(yīng)與PWM正確對(duì)齊,可以實(shí)現(xiàn)無(wú)混疊Σ-Δ測(cè)量。雖然該方法很簡(jiǎn)單,但很難(在許多情況下甚至不可能)找到提供所需結(jié)果的系統(tǒng)配置。為了說(shuō)明這一點(diǎn),假設(shè)sinc濾波器和PWM模塊共享一個(gè)以f f運(yùn)行的公共系統(tǒng)時(shí)鐘源。.sys.調(diào)制器時(shí)鐘,f麥克利克,然后由公式1確定。
其中 D麥克利克是調(diào)制器時(shí)鐘的時(shí)鐘分頻器。類似地,PWM頻率f。普瓦姆,由公式 2 確定。
其中 D脈寬調(diào)制是確定PWM頻率的時(shí)鐘分頻器。最后,sinc濾波器的抽取率(數(shù)據(jù)速率)由公式3給出。
其中 D12 月是抽取時(shí)鐘的時(shí)鐘分頻器。為了避免脈沖響應(yīng)和PWM周期之間的漂移,PWM周期內(nèi)必須有一個(gè)整數(shù)個(gè)抽取周期:
其中 N 是整數(shù)。通過(guò)組合等式2、等式3和等式4:
顯然,只有有限的時(shí)鐘縮放器選擇,Dx,滿足公式 5。此外,大多數(shù)情況下,時(shí)鐘縮放器的選擇方式有嚴(yán)格的限制。例如,系統(tǒng)可能需要以特定的PWM頻率(例如,10 kHz)運(yùn)行或使用特定的調(diào)制器時(shí)鐘(例如,20 MHz)。另一個(gè)復(fù)雜因素是選擇調(diào)制器時(shí)鐘時(shí)的選項(xiàng)數(shù)量有限。例如,如果 f.sys為 100 MHz,是 D 唯一合理的選擇麥克利克落在 5 到 10 的有限整數(shù)范圍內(nèi)(20 MHz 低至 10 MHz)。
鑒于所有這些限制,很難(如果不是不可能的話)找到在脈沖響應(yīng)和PWM之間提供所需對(duì)齊的時(shí)鐘刻度。通常的情況是,用戶被迫選擇滿足公式5的時(shí)鐘縮放器,而不是選擇產(chǎn)生所需PWM頻率、調(diào)制器時(shí)鐘和信噪比(SNR)的時(shí)鐘刻度。此外,如果其中一個(gè)頻率隨時(shí)間變化,則無(wú)法找到有效的配置。這在多軸系統(tǒng)中很常見(jiàn),其中單個(gè)運(yùn)動(dòng)控制器同步網(wǎng)絡(luò)中的多個(gè)電機(jī)控制器。
雖然對(duì)準(zhǔn)方案提供了出色的測(cè)量性能,但它可能被證明是不切實(shí)際的。在下一節(jié)中,將介紹一種新型的sinc濾波器。該濾波器提供最佳的測(cè)量性能,同時(shí)允許用戶獨(dú)立選擇所有時(shí)鐘分頻器。
沖洗 Sinc 過(guò)濾器
傳統(tǒng)的三階sinc濾波器如圖1所示。濾波器通過(guò)調(diào)整系統(tǒng)時(shí)鐘來(lái)生成ADC的調(diào)制器時(shí)鐘,作為回報(bào),ADC產(chǎn)生到濾波器的1位數(shù)據(jù)流。濾波器功能本身由三個(gè)級(jí)聯(lián)積分器組成,1/(1 – z–1),時(shí)鐘速率與調(diào)制器和三個(gè)級(jí)聯(lián)微分器相同,1 – z–1,在抽取的時(shí)鐘上計(jì)時(shí)。
圖1.傳統(tǒng)的三階sinc濾波器。
sinc濾波器和ADC通過(guò)連續(xù)向兩者施加時(shí)鐘來(lái)工作。因此,濾波器以抽取時(shí)鐘確定的固定速率連續(xù)輸出數(shù)據(jù)。濾波器的數(shù)據(jù)速率通常高于電機(jī)控制算法的更新速率,因此許多濾波器輸出被抑制。只有當(dāng)脈沖響應(yīng)以理想測(cè)量為中心時(shí),輸出才會(huì)被捕獲并用作反饋。
使用空間矢量調(diào)制時(shí),相電流在每個(gè)PWM周期中僅取其平均值兩次。在此之后,每個(gè)PWM周期只有兩個(gè)可能的無(wú)混疊sinc數(shù)據(jù)輸出,因此無(wú)需讓濾波器連續(xù)運(yùn)行。實(shí)際上,僅在需要反饋時(shí)才啟用測(cè)量,然后在所有其他時(shí)間禁用測(cè)量就足夠了。換言之,測(cè)量工作在開(kāi)關(guān)模式下,與傳統(tǒng)ADC沒(méi)有什么不同。
開(kāi)關(guān)工作模式的一個(gè)問(wèn)題是調(diào)制器和濾波器時(shí)鐘來(lái)自同一系統(tǒng)時(shí)鐘。這意味著濾波器和ADC都以開(kāi)關(guān)模式工作,不建議這樣做,因?yàn)檫@會(huì)導(dǎo)致性能降低。原因是ADC中的調(diào)制器是具有一定建立時(shí)間和阻尼的高階系統(tǒng)。因此,當(dāng)首次向ADC施加時(shí)鐘時(shí),調(diào)制器需要建立,然后才能信任輸出比特流。為了解決這些問(wèn)題,提出了一種新的濾波器結(jié)構(gòu)(見(jiàn)圖2)。
圖2.Sinc濾波器設(shè)計(jì)用于開(kāi)關(guān)操作和所有狀態(tài)的沖洗。
作為標(biāo)準(zhǔn)sinc濾波器,該內(nèi)核由三個(gè)級(jí)聯(lián)積分器和三個(gè)級(jí)聯(lián)微分器組成。但是,該濾波器具有允許新操作模式的幾個(gè)功能。首先,濾波器具有新的時(shí)鐘發(fā)生器功能,可將調(diào)制器時(shí)鐘與積分器時(shí)鐘分開(kāi)。這樣就可以連續(xù)為ADC提供時(shí)鐘,但只能在獲得測(cè)量時(shí)啟用積分器時(shí)鐘。其次,過(guò)濾器具有新的過(guò)濾器控制功能。參照同步脈沖,控制模塊處理操作濾波器所需的所有時(shí)序和觸發(fā)。濾波器控制器的主要功能是刷新濾波器,這涉及初始化所有濾波器狀態(tài),定時(shí)器在開(kāi)始新測(cè)量之前進(jìn)行過(guò)濾,以及在正確的實(shí)例上啟用/禁用積分器時(shí)鐘。最后,濾波器具有新的緩沖器和中斷控制單元,該單元對(duì)輸出數(shù)據(jù)進(jìn)行分類并捕獲正確的測(cè)量值。緩沖器和中斷單元還通過(guò)中斷來(lái)通知電機(jī)控制應(yīng)用,當(dāng)新的測(cè)量準(zhǔn)備被使用時(shí)。圖3中的時(shí)序圖顯示了濾波器的工作原理。
圖3.sinc濾波器在開(kāi)關(guān)模式下工作的時(shí)序圖。
為了開(kāi)始測(cè)量,將同步脈沖(同步脈沖)施加到濾波器控制器。通常,該脈沖表示新的PWM周期的開(kāi)始。同步脈沖啟動(dòng)一個(gè)定時(shí)器,該定時(shí)器配置為在所需測(cè)量點(diǎn)之前正好 1.5 個(gè)抽取周期失效。此時(shí),積分器時(shí)鐘和抽取時(shí)鐘使能,濾波過(guò)程開(kāi)始。經(jīng)過(guò)3個(gè)抽取周期(三階sinc濾波器的建立時(shí)間)后,緩沖器和中斷控制器捕獲數(shù)據(jù)輸出并置位中斷。在圖3中,請(qǐng)注意測(cè)量如何以同步脈沖為中心。該序列在下一個(gè)同步脈沖處重復(fù),但一旦濾波器啟動(dòng),調(diào)制器時(shí)鐘保持導(dǎo)通。
所提出的sinc濾波器解決了傳統(tǒng)sinc濾波器的同步問(wèn)題。濾波器及其工作模式不對(duì)PWM頻率、調(diào)制器時(shí)鐘或抽取率做出任何假設(shè)。它適用于所有系統(tǒng)配置,即使PWM頻率隨時(shí)間變化也是如此。由于濾波器在每次測(cè)量時(shí)都會(huì)有效復(fù)位,因此它對(duì)時(shí)鐘之間的漂移也不敏感。
單弦濾波器的HDL實(shí)現(xiàn)
作者發(fā)現(xiàn),一些公開(kāi)的sinc濾波器HDL示例存在對(duì)濾波器性能產(chǎn)生負(fù)面影響或?qū)е乱馔庑袨榈娜秉c(diǎn)。本節(jié)將討論一些實(shí)現(xiàn)問(wèn)題,以及如何設(shè)計(jì)HDL代碼以在FPGA上獲得最佳性能。
集成商
在最純凈的形式中,sinc3濾波器由三個(gè)級(jí)聯(lián)積分器和三個(gè)級(jí)聯(lián)微分器組成,見(jiàn)圖1。首先,考慮 z 域中的純積分器2:
其中 u 是輸入,y 是輸出。積分器具有差分方程:
這個(gè)一階方程等效于累加器,非常適合在FPGA等時(shí)鐘邏輯中實(shí)現(xiàn)。一種常見(jiàn)的實(shí)現(xiàn)方法是D型觸發(fā)器累加器,如圖4所示。
圖4.實(shí)現(xiàn)帶有D型觸發(fā)器的蓄能器。
該電路可以在FPGA上實(shí)現(xiàn),只有很少的邏輯門?,F(xiàn)在,當(dāng)級(jí)聯(lián)三個(gè)純積分器時(shí),z域中的傳遞函數(shù)由公式8定義。
三個(gè)級(jí)聯(lián)積分器的差分方程如公式9所示:
請(qǐng)注意樣本 n 處的輸入如何影響樣本 n 處的輸出。
如果三個(gè)積分器使用圖4中的D型翻轉(zhuǎn)累加器實(shí)現(xiàn),則結(jié)果如圖5所示。
圖5.三個(gè)級(jí)聯(lián)累加器采用 D 型觸發(fā)器實(shí)現(xiàn)。
由于這是一個(gè)時(shí)鐘電路,輸入的變化需要幾個(gè)時(shí)鐘才能影響輸出。當(dāng)檢查級(jí)聯(lián)累加器的差分方程時(shí),這一點(diǎn)變得更加清晰(參見(jiàn)公式10)。
這個(gè)差分方程與純積分器的差分方程完全不同(參見(jiàn)公式9)。使用累加器時(shí),輸入需要兩個(gè)時(shí)鐘才能影響輸出,而對(duì)于純積分器,輸入會(huì)立即影響輸出。為了說(shuō)明這一點(diǎn),圖6分別顯示了在樣品編號(hào)5處應(yīng)用單位步進(jìn)時(shí)公式9和公式10的階躍響應(yīng)。正如所懷疑的那樣,與積分器相比,累加器延遲了兩個(gè)樣本。
圖6.三個(gè)級(jí)聯(lián)積分器和三個(gè)級(jí)聯(lián)累加器的階躍響應(yīng)。
在大多數(shù)公開(kāi)可用的sinc濾波器示例中,建議使用D型觸發(fā)器累加器實(shí)現(xiàn)積分器。這樣做的主要論點(diǎn)是門數(shù)少,但輕量級(jí)實(shí)現(xiàn)是有代價(jià)的。與濾波器的群延遲相比,兩個(gè)調(diào)制器時(shí)鐘的額外延遲似乎微不足道,但延遲會(huì)影響濾波器衰減更高頻率的能力,因此,累加器實(shí)現(xiàn)提供的有效位數(shù)比純積分器少。此外,所提出的沖洗sinc濾波器需要一個(gè)理想的傳遞函數(shù)才能正常工作。出于這些原因,任何sinc濾波器實(shí)現(xiàn)都不應(yīng)依賴于累加器來(lái)實(shí)現(xiàn)積分器級(jí)。
為了獲得理想的sinc3響應(yīng),提出了與公式9差值的直接實(shí)現(xiàn)。結(jié)果如圖 7 所示。請(qǐng)注意框圖如何由兩部分組成:時(shí)鐘邏輯部分(觸發(fā)器)和組合部分(求和)。這種實(shí)現(xiàn)需要更多的門,但它具有所需的濾波器性能和延遲。
圖7.實(shí)現(xiàn)三個(gè)級(jí)聯(lián)集成器。
差異化因素
與積分器類似,許多公開(kāi)提供的sinc濾波器示例錯(cuò)誤地實(shí)現(xiàn)了微分器級(jí),從而導(dǎo)致濾波器性能降低和意外延遲。本節(jié)討論差異化器階段,并就如何實(shí)現(xiàn)FPGA以獲得最佳性能提出建議。首先,考慮公式11中z域中的純微分器和公式12中的相應(yīng)差分。2
為了在FPGA上實(shí)現(xiàn)差異化,最常用的是D型觸發(fā)器,請(qǐng)參見(jiàn)圖8。
圖8.采用 D 型觸發(fā)器實(shí)現(xiàn)的差分器。
以下 HDL 代碼片段說(shuō)明了實(shí)現(xiàn)三個(gè) D 型觸發(fā)器微分器的常用方法。這里使用了偽Verilog,但這些原則也適用于其他語(yǔ)言。
圖9.三個(gè)微分器作為時(shí)鐘邏輯實(shí)現(xiàn)。
與任何時(shí)鐘分配一樣,首先計(jì)算所有右側(cè)語(yǔ)句并分配給左側(cè)語(yǔ)句。3一切都是計(jì)時(shí)的,所有作業(yè)都是并行更新的。這是一個(gè)問(wèn)題,因?yàn)檩敵鲰?xiàng)(yx[n]) 依賴于延遲項(xiàng) (u[n-1] 和 yx[n-1])首先更新。因此,前面的 Verilog 代碼段實(shí)現(xiàn)了邏輯,如圖 10 所示。
圖 10.通過(guò)時(shí)鐘分配實(shí)現(xiàn)的差異化因素。
由于時(shí)鐘分配,微分器的延遲是六個(gè)時(shí)鐘,而不是預(yù)期的三個(gè)時(shí)鐘。由于微分器與抽取時(shí)鐘一起計(jì)時(shí),這有效地使濾波器的群延遲和建立時(shí)間加倍。但是,它也會(huì)影響濾波器的衰減,并且頻率響應(yīng)不是理想的三階墳弦的頻率響應(yīng)。圖10中的實(shí)現(xiàn)常見(jiàn)于已發(fā)布的sinc濾波器示例中,但強(qiáng)烈建議選擇一種模擬理想微分器階段的方法。
前面的Verilog代碼片段可以分為兩部分:計(jì)算電流輸出的組合部分和更新延遲狀態(tài)的時(shí)鐘邏輯部分。這種分離使得將組合部分移動(dòng)到始終時(shí)鐘塊之外成為可能,如圖 11 所示的代碼片段所示。
圖 11.三個(gè)微分器作為時(shí)鐘邏輯和組合邏輯的混合實(shí)現(xiàn)。
使用組合賦值,沒(méi)有與 y 計(jì)算相關(guān)的額外延遲x總延遲從 6 個(gè)時(shí)鐘降低到理想的 3 個(gè)時(shí)鐘。推薦的微分器實(shí)現(xiàn)方案框圖如圖12所示。
圖 12.使用時(shí)鐘邏輯和組合邏輯混合實(shí)現(xiàn)三個(gè)級(jí)聯(lián)微分器。
通過(guò)結(jié)合所提出的級(jí)聯(lián)積分器和微分器的實(shí)現(xiàn)方案,sinc濾波器在衰減和延遲方面獲得了理想的特性。所有基于Σ-Δ的測(cè)量都將受益于優(yōu)化的濾波器實(shí)現(xiàn),尤其是依賴于了解確切濾波器延遲的刷新sinc。
測(cè)量
所提出的 Σ-Δ 測(cè)量系統(tǒng)已與基于 Xilinx Zynq-7020 SoC 的伺服電機(jī)控制器一起實(shí)施和測(cè)試。??4該系統(tǒng)由一個(gè) 60 V 三相永磁伺服電機(jī) (Kinco SMH40S5)和三相開(kāi)關(guān)電壓源逆變器。SoC 運(yùn)行磁場(chǎng)定向電機(jī)控制算法,以及用于實(shí)時(shí)捕獲測(cè)量數(shù)據(jù)的軟件。
對(duì)于相電流測(cè)量,該系統(tǒng)具有兩個(gè)隔離式Σ-Δ型ADC (ADuM7701),后接兩個(gè)三階sinc濾波器。sinc濾波器是使用本文中討論的設(shè)計(jì)建議實(shí)現(xiàn)的,包括刷新sinc工作模式。為了進(jìn)行比較,將介紹傳統(tǒng)的連續(xù)運(yùn)行過(guò)濾器和沖洗過(guò)濾器的測(cè)量結(jié)果。
雖然控制系統(tǒng)具有閉環(huán)磁場(chǎng)定向控制,但所有測(cè)量均使用開(kāi)環(huán)控制進(jìn)行。閉合電流環(huán)路對(duì)測(cè)量噪聲很敏感,噪聲將通過(guò)電流環(huán)路耦合。通過(guò)開(kāi)環(huán)操作,可以消除電流控制器的任何影響,從而可以直接比較結(jié)果。
除了模式配置和與PWM的對(duì)齊外,測(cè)量都是使用相同的配置完成的,包括抽取率,設(shè)置為125。因此,測(cè)量結(jié)果的任何差異都可能導(dǎo)致sinc3脈沖響應(yīng)是否與PWM正確對(duì)齊。控制算法以10 kHz執(zhí)行,調(diào)制器時(shí)鐘為12.5 MHz。
具有連續(xù)sinc濾波器操作的未對(duì)齊脈沖響應(yīng)
在第一個(gè)示例中(見(jiàn)圖13a),脈沖響應(yīng)與PWM波形無(wú)關(guān)。圖13b顯示了當(dāng)電機(jī)停止但電源逆變器在所有相位上以50%的占空比切換時(shí)的兩相電流測(cè)量結(jié)果。在這種操作模式下,測(cè)量顯示測(cè)量的噪聲水平。圖13b顯示了電機(jī)以600 rpm開(kāi)環(huán)運(yùn)行時(shí)的相電流。電機(jī)有四個(gè)極對(duì),因此電氣周期為 25 ms。兩張圖都顯示出顯著的噪聲,會(huì)嚴(yán)重影響任何閉環(huán)電流控制器的性能。噪聲電平與基波相電流的大小無(wú)關(guān),因此輕負(fù)載時(shí)的噪聲相對(duì)較差。本例中的噪聲是由未對(duì)齊的sinc濾波器脈沖響應(yīng)引起的,它對(duì)sinc濾波器的抽取率(衰減)幾乎沒(méi)有增加。
圖 13.sinc濾波器脈沖響應(yīng)與PWM不一致的連續(xù)工作模式。
通過(guò)連續(xù) Sinc 濾波器操作實(shí)現(xiàn)一致的脈沖響應(yīng)
圖14顯示了每個(gè)PWM周期的抽取周期為整數(shù)個(gè)且脈沖響應(yīng)與理想測(cè)量點(diǎn)對(duì)齊時(shí)的測(cè)量結(jié)果。圖 14 中的結(jié)果與圖 13 中的結(jié)果直接相當(dāng)。
比較圖13和圖14時(shí),濾波器使用相同的抽取率,但噪聲水平顯著降低。這些示例說(shuō)明了系統(tǒng)配置和同步對(duì)于充分利用基于Σ-Δ的信號(hào)鏈的性能是多么重要。
圖 14.連續(xù)工作模式,sinc濾波器脈沖響應(yīng)與PWM對(duì)齊。
沖洗 Sinc 過(guò)濾器
雖然圖14中連續(xù)工作的sinc濾波器的結(jié)果令人滿意,但濾波器仍然難以找到支持同步的配置。雖然可以將連續(xù)工作的sinc濾波器與PWM同步,但這通常不切實(shí)際。這個(gè)問(wèn)題可以通過(guò)沖洗sinc過(guò)濾器解決。
圖15顯示了沖洗sinc濾波器的測(cè)量結(jié)果。濾波器配置為僅圍繞理想測(cè)量點(diǎn)運(yùn)行 3 個(gè)抽取周期。正如預(yù)期的那樣,性能類似于圖14中的連續(xù)工作濾波器。
為了進(jìn)行比較,沖洗過(guò)濾器使用與連續(xù)運(yùn)行過(guò)濾器完全相同的配置。不同之處在于,連續(xù)工作的濾波器必須使用這種配置,否則性能會(huì)下降,如圖13中的結(jié)果所示。另一方面,沖洗過(guò)濾器將在任何可能的系統(tǒng)配置下保持其最佳性能。
圖 15.沖洗 sinc 濾波器,其 sinc 濾波器脈沖響應(yīng)與 PWM 對(duì)齊。
未對(duì)齊、連續(xù)工作的sinc濾波器(圖13a)的噪聲幅度約為16位信號(hào)中的120個(gè)計(jì)數(shù)。這相當(dāng)于噪聲引起的大約低7位的損失。沖洗sinc濾波器(圖15a)的噪聲電平約為16位信號(hào)中的5個(gè)計(jì)數(shù),對(duì)應(yīng)于噪聲損失不到3位。
總結(jié)
基于Σ-Δ的相電流測(cè)量廣泛用于電機(jī)驅(qū)動(dòng)器,但要獲得最佳性能,需要正確配置整個(gè)系統(tǒng)。本文討論了可能導(dǎo)致性能不佳的來(lái)源以及如何正確設(shè)置系統(tǒng)。
配置系統(tǒng)以實(shí)現(xiàn)最佳電流反饋性能可能具有挑戰(zhàn)性,在某些情況下甚至是不可能的。為了解決這個(gè)問(wèn)題,提出了一種新型的sinc濾波器。濾波器在開(kāi)關(guān)模式下工作,保證在任何系統(tǒng)配置下的最佳性能。
在FPGA上實(shí)現(xiàn)sinc濾波器需要開(kāi)發(fā)HDL代碼。本文討論了幾種降低濾波器延遲和增加衰減的實(shí)現(xiàn)技術(shù)。
最后,本文介紹了幾個(gè)測(cè)量結(jié)果,說(shuō)明了沖洗sinc濾波器同步和性能的重要性。
審核編輯:郭婷
-
驅(qū)動(dòng)器
+關(guān)注
關(guān)注
53文章
8264瀏覽量
146749 -
濾波器
+關(guān)注
關(guān)注
161文章
7855瀏覽量
178587 -
電機(jī)控制
+關(guān)注
關(guān)注
3539文章
1890瀏覽量
269060
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論