用於電機控製電流測量的∑-∆調製優化
發布時間:2020-01-14 來源:Jens Sorensen, Shane O’Meara, 和 Dara O’Sullivan 責任編輯:wenwei
【導讀】本文是兩篇係列文章的第2部分。 第1部分 介紹了在電機控製 應用中,使用sinc濾波器對∑-∆編碼數據進行解調。雖然文中說明了同步sinc濾波器的脈衝響應對脈衝寬度調製(PWM)的重要性,並提出了同步策略,但是,同步方案會導致難以正確配置係統。
作為本係列的第2部分,本文提出一種針對同步優化的新型sinc濾波器結構。該濾波器可在需要嚴格控製反饋鏈時序的應用中提高測量性能。接著,第2部分還將討論采用HDL代碼實現sinc濾波器的方法,以及如何在FPGA實現上優化濾波器。最後,給出在一個基於FPGA的3相伺服驅動器上執行的測量結果。
針對同步優化的sinc濾波器
如第1部分所述,通過正確對齊sinc濾波器對PWM的脈衝響應,可以實現無混疊的∑-∆測量。盡管該方法很簡單,但是很難(在很多情況下不可能)找到一個理想的係統配置。為了說明這一點,假設sinc濾波器和PWM模塊共用同一個以 fsys運行的係統時鍾源。調製器時鍾 fmclk則由公式1確定。

其中 Dmclk 是調製器時鍾的時鍾分頻數。同樣,PWM頻率 fpwm由公式2確定。

其中 DPWM 是確定PWM頻率的時鍾分頻數。最後,sinc濾波器的抽取率(數據速率)由公式3確定。

其中 Ddec 是抽取後時鍾的時鍾分頻數。為了避免脈衝響應和PWM周期之間的漂移,一個PWM周期內包含的抽取周期數量必須為整數:

其中N為整數。合並公式2、公式3和公式4可得:
顯然,隻有有限選擇的時鍾縮放比例 Dx可滿足公式5。此外,時鍾縮放比例的選擇方法往往也受到嚴格限製。例如,係統可能需要以一定的PWM頻率(例如10 kHz)運行或使用一定的調製器 時鍾(例如20 MHz)。另一個麻煩是進行調製器時鍾選擇時,可選數值有限。例如,如果 fsys 為100 MHz,則 Dmclk僅有的合理選 擇應為5到10之間有限範圍內的整數(從20 MHz低至10 MHz)。
考慮到所有這些限製,很難(即便有可能)找到可在脈衝響應和PWM之間實現所需對齊的時鍾縮放比例。通常會發生的情況是,用戶被迫選擇滿足公式5的時鍾縮放比例,而非選擇可產生所需PWM頻率、調製器時鍾和信噪比(SNR)的時鍾縮放比例。而且,如果其中一個頻率隨時間發生變化,則無法找到有效的配 置。這種情況在多軸係統中非常普遍,在這些係統中,單個運動控製器會對網絡中的多個電機控製器進行同步。
雖然對齊方案可提供出色的測量性能,但事實證明它不切實際。以下章節將介紹一種新型sinc濾波器。該濾波器可提供出色的測量性能,同時允許用戶獨立選擇所有時鍾分頻數。
刷新式sinc濾波器
傳統的三階sinc濾波器如圖1所示。濾波器通過按比例縮放係統時鍾來生成ADC的調製器時鍾,而ADC則向濾波器返回一個1位數據流。濾波器功能本身包括三階級聯積分器 1/(1 – z–1)(時鍾速率與調製器速率相同)和三階級聯微分器 1 – z–1(時鍾速率為抽取時鍾)。

圖1. 傳統的三階sinc濾波器。
sinc濾波器和ADC通(tong)過(guo)施(shi)加(jia)於(yu)其(qi)上(shang)的(de)同(tong)一(yi)個(ge)時(shi)鍾(zhong)連(lian)續(xu)工(gong)作(zuo)。因(yin)此(ci),濾(lv)波(bo)器(qi)以(yi)由(you)抽(chou)取(qu)時(shi)鍾(zhong)確(que)定(ding)的(de)固(gu)定(ding)速(su)率(lv)連(lian)續(xu)輸(shu)出(chu)數(shu)據(ju)。來(lai)自(zi)濾(lv)波(bo)器(qi)的(de)數(shu)據(ju)速(su)率(lv)通(tong)常(chang)高(gao)於(yu)電(dian)機(ji)控(kong)製(zhi)算(suan)法(fa)的(de)更(geng)新(xin)速(su)率(lv),因(yin)此(ci)許(xu)多(duo)濾(lv)波(bo)器(qi)輸(shu)出(chu)被(bei)拒(ju)絕(jue)。隻(zhi)有(you)當(dang)脈(mai)衝(chong)響(xiang)應(ying)以(yi)理(li)想(xiang)測(ce)量(liang)值(zhi)為(wei)中(zhong)心(xin)時(shi),輸(shu)出(chu)才(cai)會(hui)被(bei)捕(bu)獲(huo)並(bing)用(yong)作(zuo)反(fan)饋(kui)。
采用空間矢量調製,在每個PWM周期內僅取兩次相電流平均值。據此,每個PWM周期僅有可能輸出兩個無混疊的sinc數(shu)據(ju),因(yin)此(ci)沒(mei)有(you)必(bi)要(yao)讓(rang)濾(lv)波(bo)器(qi)連(lian)續(xu)運(yun)行(xing)。實(shi)際(ji)上(shang)僅(jin)在(zai)需(xu)要(yao)反(fan)饋(kui)時(shi)啟(qi)用(yong)測(ce)量(liang),然(ran)後(hou)在(zai)所(suo)有(you)其(qi)他(ta)時(shi)間(jian)禁(jin)用(yong)測(ce)量(liang)就(jiu)足(zu)夠(gou)了(le)。換(huan)句(ju)話(hua)說(shuo),測(ce)量(liang)以(yi)開(kai)關(guan)模(mo)式(shi)運(yun)行(xing),與(yu)傳(chuan)統(tong)的(de)ADC不同。
開關模式運行的問題在於,調製器和濾波器時鍾來源於相同的係統時鍾。這意味著濾波器和ADC均以開關模式運行,我們不建議這樣做,因為這會導致性能下降。其原因是ADC中的調製器是具有一定建立時間和阻尼的高階係統。因此,當將時鍾首次施加於ADC時,需要先建立調製器,然後才能信任其輸出位流。為了解決這些問題,我們提出一種新型濾波器結構(參見圖2)。

圖2. sinc濾波器設計為開關工作模式並對所有狀態進行刷新。
作為標準的sinclvboqi,qihexinyousanjiejilianjifenqihesanjiejilianweifenqizucheng。danshi,cilvboqijuyouyixietexing,keyiyunxuxindegongzuomoshi。shouxian,lvboqijuyouxindeshizhongfashengqigongneng,kejiangtiaozhiqishizhongyujifenqishizhongfenli。zheyangjiukeyilianxuweiADC提供時鍾,但隻在獲取測量值時才啟用積分器時鍾。其次,此濾波器具有新 delvboqikongzhigongneng。yitongbumaichongweijizhun,kongzhikuaichulilvboqigongzuosuoxudesuoyoushixuhechufa。lvboqikongzhiqidezhuyaogongnengshishuaxinlvboqi,baokuochushihuasuoyoulvboqizhuangtai、在開始新測量之前的計時器濾波,以及在適當的情形下啟用/禁用積分器時鍾。最後,濾波器具有一個新的緩衝和中斷控製單元,該單元對所有輸出數 據進行排序並捕獲正確的測量值。當新的測量值準備就緒時,緩衝和中斷單元還會通過中斷來通知電機控製應用。圖3的時序圖顯示了此濾波器的工作方式。

圖3. sinc濾波器在開關模式下的時序圖。
為了開始測量,將同步脈衝(sync pulse)施加於濾波器控製器。通常,此脈衝表示一個新的PWM周期的開始。同步脈衝啟動一個計時器,該計時器被配置為恰好在所需測量點之前1.5個抽取周 期處失效。積分器時鍾和抽取時鍾在這一點啟用,濾波過程開始。經過3個抽取周期(三階sinc濾波器的建立時間)後,緩衝和中斷控製器捕獲數據輸出並置位中斷。請注意在圖3中測量值如何以同步脈衝為中心。該序列在下一個同步脈衝處重複,但是調製器時鍾在濾波器開始工作後就一直保持開啟狀態。
上述sinc濾波器解決了常規sinc濾波器的同步問題。該濾波器及其工作模式無需對PWM頻率、調製器時鍾或抽取率做出任何假設。即使PWM頻率隨時間變化,它也可以與所有係統配置同樣配合良好。由於每次測量都會有效重置濾波器,因此它對時鍾之間的漂移也不敏感。
sinc濾波器的HDL實現
作者發現,一些公開可用的sinc濾波器HDL示例具有一些缺點,會對濾波器的性能產生負麵影響或導致意外行為。本章節將討論一些實現問題以及如何設計HDL代碼以在FPGA上獲得最佳性能。
積分器
最純正的sinc3濾波器由三階級聯積分器和三階級聯微分器組成(參見圖1)。首先,考慮z-domain2中的純積分器:
其中u是輸入,y是輸出。積分器的差分方程為:
這個一階方程等於一個累加器,非常適合在FPGA等時鍾邏輯中實現。一種常見的實現方法是D型觸發器累加器,如圖4所示。

圖4. 采用D型觸發器的累加器實現。
該電路在FPGA上隻需幾個邏輯門即可實現。於是,當三個純積分器級聯時,z域中的轉換函數由公式8確定。

公式9顯示了該三階級聯積分器的差分方程:
請注意樣本 n 的輸入如何影響樣本 n 的輸出。
如果使用圖4所示的D型觸發器累加器來實現該三階積分器,則結果如圖5所示。

圖5. 采用D型觸發器實現的三階級聯累加器。
由於這是時鍾電路,因此輸入變化需要經過幾個時鍾周期才會影響到輸出。這一點在查看級聯累加器的差分方程(參見公式10)時會變得更加清晰。

此差分方程與純積分器的差分方程完全不同(參見公式9)。對於累加器,輸入需要兩個時鍾周期才會影響輸出,而對於純積分器,輸入會立即影響輸出。為了說明這一點,圖6分別顯示了在5號樣本處施加單位階躍時公式9和公式10的階躍響應。正如預期的那樣,累加器相較於積分器延遲了兩個樣本。

圖6. 三階級聯積分器和三階級聯累加器的階躍響應。
大多數公開可用的sinc濾波器示例建議使用D型(xing)觸(chu)發(fa)器(qi)累(lei)加(jia)器(qi)實(shi)現(xian)積(ji)分(fen)器(qi)。這(zhe)樣(yang)做(zuo)的(de)主(zhu)要(yao)理(li)由(you)是(shi)其(qi)所(suo)需(xu)門(men)數(shu)較(jiao)少(shao),但(dan)是(shi)這(zhe)種(zhong)簡(jian)單(dan)的(de)做(zuo)法(fa)也(ye)需(xu)要(yao)付(fu)出(chu)一(yi)定(ding)的(de)代(dai)價(jia)。與(yu)濾(lv)波(bo)器(qi)的(de)群(qun)延(yan)遲(chi)相(xiang)比(bi),兩(liang)個(ge)調(tiao)製(zhi)器(qi)時(shi)鍾(zhong)的(de)額(e)外(wai)延(yan)遲(chi)看(kan)似(si)微(wei)不(bu)足(zu)道(dao),但(dan)該(gai)延(yan)遲(chi)影(ying)響(xiang)了(le)濾(lv)波(bo)器(qi)高(gao)頻(pin)衰(shuai)減(jian)能(neng)力(li),因(yin)此(ci),累(lei)加(jia)器(qi)實(shi)現(xian)相(xiang)較(jiao)於(yu)純(chun)積(ji)分(fen)器(qi)可(ke)提(ti)供(gong)的(de) 有效位數更少。此外,上述刷新式sinc濾波器需要理想的轉換函數才能正常工作。鑒於這些原因,任何sinc濾波器實現都不應該依賴累加器來實現積分器級。
為了獲得理想的sinc3響應,建議按照公式9直接實現差分。結果如圖7所示。請注意功能框圖包含兩個組成部分:時鍾邏輯部分(觸發器)和組合部分(求和)。此實現需要更多門數,但是它可以提供所需的濾波器性能和延遲。

圖7. 三階級聯積分器的實現。
微分器
與積分器類似,許多公開可用的sinc濾波器示例以錯誤的方式實現微分器級,從而導致濾波器性能下降和意外延遲。本章節討論了微分器級,並就如何通過FPGA實現獲得最佳性能提出了建議。首先,考慮公式11中z域的純微分器以及公式12中相應的差分。2
要在FPGA上實現微分器,最常用的方法是采用D型觸發器(參見圖8)。

圖8. 采用D型觸發器實現的微分器。
下述HDL代碼片段說明了實現三階D型觸發器微分器的常見方法。這裏使用的是Verilog偽碼,但其原理也適用於其他語言。

圖9. 以時鍾邏輯方式實現的三階微分器。
與任何時鍾賦值一樣,先計算所有右邊的語句,並將其賦值給左邊的語句。3為所有語句提供時鍾,並對所有賦值進行並行更新。這會產生一個問題,因為輸出項 (yx[n])依賴於延遲項(u[n-1] 和 yx[n-1]),後者需要率先更新。因此,上述Verilog代 碼片段的邏輯實現如圖10所示。

圖10. 通過時鍾賦值實現的微分器。
由於采用時鍾賦值,微分器的延遲為6個時鍾周期,而不是預期的3geshizhongzhouqi。youyuweifenqiyouchouqushizhongtigongshizhong,yincilvboqidequnyanchihejianlishijianshijidouzengjialeyibei。danshi,zheyehuiyingxianglvboqideshuaijian,erqiepinlvxiangyingbushilixiangdesanjiesinc。在已發布的sinc濾波器示例中經常可以看到圖10所示的實現方式,但是我們強烈建議選擇一種模擬理想微分器級的方法。
上述Verilog代碼片段可分為兩部分:計算電流輸出的組合部分和更新延遲狀態的時鍾邏輯部分。這種分離使得組合部分可被移至始終受時鍾控製的功能塊之外,如圖11代碼片段所示。

圖11. 以時鍾邏輯與組合邏輯混合方式實現的三階微分器。
使用組合賦值時,沒有與yx計算相關的額外延遲,總延遲從6個時鍾周期降低到理想的3個時鍾周期。推薦的微分器實現功能框圖如圖12所示。

圖12. 采用時鍾邏輯和組合邏輯混合實現的三階級聯微分器。
將上述級聯積分器與微分器實現結合在一起,可使sinc濾波器在衰減和延遲方麵獲得理想特性。所有基於∑-∆的測量都將受益於這種優化濾波器的實現,尤其是需要知道濾波器確切延遲的刷新式sinc。
測量
T本文提出的∑-∆測量係統已經結合基於Xilinx ® Zynq®-7020 SoCC的伺服電機控製器進行了實施和測試。4該係統由60 V 3相永磁伺服電機(Kinco SMH40S5)和3相開關電壓源逆變器組成。SoC運行磁場 定向電機控製算法和用來實時捕獲測量數據的軟件。
對於相電流測量,該係統采用兩個隔離式∑-∆ ADC (ADuM7701) 跟 隨兩個三階sinc濾波器。該sinc濾波器的實現采用了本文所討論的設計建議,包括刷新式sinc工作模式。為了進行對比,將顯示傳統的連續工作模式濾波器和刷新式濾波器的兩種測量結果。
雖(sui)然(ran)控(kong)製(zhi)係(xi)統(tong)具(ju)有(you)閉(bi)環(huan)磁(ci)場(chang)定(ding)向(xiang)控(kong)製(zhi),所(suo)有(you)測(ce)量(liang)均(jun)通(tong)過(guo)開(kai)環(huan)控(kong)製(zhi)進(jin)行(xing)。閉(bi)合(he)電(dian)流(liu)環(huan)路(lu)對(dui)測(ce)量(liang)噪(zao)聲(sheng)很(hen)敏(min)感(gan),並(bing)且(qie)噪(zao)聲(sheng)會(hui)通(tong)過(guo)電(dian)流(liu)環(huan)路(lu)發(fa)生(sheng)耦(ou)合(he)。通(tong)過(guo)開(kai)環(huan)工(gong)作(zuo),可(ke)以(yi)消(xiao)除(chu)電(dian)流(liu)控(kong)製(zhi)器(qi)產(chan)生(sheng)的(de)任(ren)何(he)影(ying)響(xiang),從(cong)而(er)可(ke)以(yi)對(dui)結(jie)果(guo)進(jin)行(xing)直(zhi)接(jie)比(bi)較(jiao)。
除模式配置和PWM對齊外,均使用相同的配置(包括抽取率均設置為125)進行測量。因此,測量結果的任何差異都會是影響sinc3脈衝響應能否與PWM正確對齊的因素。控製算法的執行頻率為10 kHz,調製器時鍾為12.5 MHz。
采用連續工作模式sinc濾波器,未對齊脈衝響應
在第一個示例中(參見圖13a),脈衝響應與PWM波形不相關。圖13b顯示了電機停止但功率逆變器在所有相上以50%的占空比切換時兩相電流的測量結果。在此工作模式下,測量顯示了測量結果的噪聲水平。圖13b顯示了電機以600 rpm開環運行時的相電流。電機有四個極點對,因此電氣周期為25 ms。這兩個圖都 顯xian示shi出chu明ming顯xian的de噪zao聲sheng,它ta將jiang嚴yan重zhong影ying響xiang任ren何he閉bi環huan電dian流liu控kong製zhi器qi的de性xing能neng。噪zao聲sheng電dian平ping與yu基ji波bo相xiang電dian流liu的de幅fu度du無wu關guan,因yin此ci在zai輕qing負fu載zai時shi噪zao聲sheng性xing能neng相xiang對dui更geng差cha。在zai此ci示shi例li中zhong,噪zao聲sheng是shi由yousinc濾波器脈衝響應未對齊引起的,因此對sinc濾波器的抽取率(衰減)幾乎沒有或完全沒有任何增加。

圖13. sinc濾波器脈衝響應與PWM未對齊的連續工作模式。
采用連續工作模式sinc濾波器,對齊脈衝響應
圖14顯示了當每個PWM周期中的抽取周期數量為整數,並且脈衝響應與理想測量點對齊時的測量結果。將圖14中的結果直接與圖13中的結果進行比較。
比較圖13和圖14可知,雖然濾波器使用的抽取率相同,但噪聲水平已大大降低。這些示例說明係統配置和同步對於充分利用基於∑-∆的信號鏈性能的重要性。

圖14. sinc濾波器脈衝響應與PWM對齊的連續工作模式。
刷新式sinc濾波器
盡管圖14所示的連續工作模式sinc濾波器的結果令人滿意,但該濾波器的挑戰仍然在於如何找到可實現同步的配置。雖然有可能實現連續工作模式sinc濾波器與PWM同步,但這通常並不切實際。采用刷新式sinc濾波器可以解決該問題。
圖15顯示了刷新式sinc濾波器的測量結果。該濾波器配置為在理想測量點附近僅運行3個抽取周期。正如預期的那樣,其性能類似於圖14中的連續工作模式濾波器。
為(wei)方(fang)便(bian)對(dui)比(bi),刷(shua)新(xin)式(shi)濾(lv)波(bo)器(qi)使(shi)用(yong)的(de)配(pei)置(zhi)與(yu)連(lian)續(xu)工(gong)作(zuo)模(mo)式(shi)濾(lv)波(bo)器(qi)完(wan)全(quan)相(xiang)同(tong)。不(bu)同(tong)之(zhi)處(chu)在(zai)於(yu),連(lian)續(xu)工(gong)作(zuo)模(mo)式(shi)濾(lv)波(bo)器(qi)必(bi)須(xu)使(shi)用(yong)此(ci)配(pei)置(zhi),否(fou)則(ze)性(xing)能(neng)會(hui)降(jiang)低(di),如(ru)圖(tu)13結果所示。與之相反,刷新式濾波器可以在任何係統配置下保持最佳性能。

圖15. sinc濾波器脈衝響應與PWM對齊的刷新式sinc濾波器。
采用未對齊的連續工作模式sinc濾波器(圖13a),其噪聲大小約為一個16位信號中120 LSBs。這相當於噪聲導致近低7位信號的丟 失。刷新式sinc濾波器(圖15a)的噪聲電平大約是一個16位信號中5 LSBs,相當於噪聲導致的信號丟失少於3位。
小結
基於∑-∆dexiangdianliuceliangyiguangfanyongyudianjiqudongzhong,danshiyaohuodezuijiaxingneng,haixuzhengquepeizhizhenggexitong。benwentaolunlekenenghuidaozhixingnengbujiadeyuanyinyijiruhezhengqueshezhixitong。
配置係統以獲得最佳電流反饋性能往往極具挑戰性,在某些情況下甚至是不可能的。為了解決這個問題,本文提出了一種新型sinc濾波器。該濾波器以開關模式工作,並保證在任何係統配置下均具有出色的性能。
在FPGA上實現sinc濾波器需要進行HDL代碼開發。本文討論了降低濾波器延遲並增加衰減的幾種實現技術。
最後,本文展示了幾種測量結果,這些結果說明了刷新式sinc濾波器同步的重要性及其性能。
參考電路
1作者: Dara O’Sullivan, Jens Sorensen 和 Aengus Murray, AN-1265: 使用ADSP-CM402F/ADSP-CM403F/ADSP-CM407F/ADSP-CM408F sinc 濾波器和AD7403實現隔離式電機控製反饋, ADI公司,2015年4月。
2作者:Alan Oppernheim和Ronald Schafer, 離散時間信號處理, 第3版,Prentice Hall Inc.,2010年。
3 Rajeev Madhavan. ““Verilog HDL快速參考手冊”,Automata Publishing Company,1995年。
4 “Zynq-7000 SoC數據手冊:概述”, Xilinx, Inc.,2018年7月
5 ““KNC-SRV-SMH40S伺服”, Anaheim Automation, Inc.,2019年4月。
推薦閱讀:
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 解鎖算力芯片的“速度密碼”:SmartDV全棧IP方案深度解析
- 1200餘家企業齊聚深圳,CITE2026打造電子信息產業創新盛宴
- 掌握 Gemini 3.1 Pro 參數調優的藝術
- 築牢安全防線:電池擠壓試驗機如何為新能源產業護航?
- Grok 4.1 API 實戰:構建 X 平台實時輿情監控 Agent
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
光電顯示
光繼電器
光控可控矽
光敏電阻
光敏器件
光敏三極管
光收發器
光通訊器件
光纖連接器
軌道交通
國防航空
過流保護器
過熱保護
過壓保護
焊接設備
焊錫焊膏
恒溫振蕩器
恒壓變壓器
恒壓穩壓器
紅外收發器
紅外線加熱
厚膜電阻
互連技術
滑動分壓器
滑動開關
輝曄
混合保護器
混合動力汽車
混頻器
霍爾傳感器



