用於電機控製電流測量的∑-∆調製優化
發布時間: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周期僅有可能輸出兩個無混疊的sincshuju,yincimeiyoubiyaoranglvboqilianxuyunxing。shijishangjinzaixuyaofankuishiqiyongceliang,ranhouzaisuoyouqitashijianjinyongceliangjiuzugoule。huanjuhuashuo,celiangyikaiguanmoshiyunxing,yuchuantongdeADC不同。
開關模式運行的問題在於,調製器和濾波器時鍾來源於相同的係統時鍾。這意味著濾波器和ADC均以開關模式運行,我們不建議這樣做,因為這會導致性能下降。其原因是ADC中的調製器是具有一定建立時間和阻尼的高階係統。因此,當將時鍾首次施加於ADC時,需要先建立調製器,然後才能信任其輸出位流。為了解決這些問題,我們提出一種新型濾波器結構(參見圖2)。

圖2. sinc濾波器設計為開關工作模式並對所有狀態進行刷新。
作為標準的sinc濾(lv)波(bo)器(qi),其(qi)核(he)心(xin)由(you)三(san)階(jie)級(ji)聯(lian)積(ji)分(fen)器(qi)和(he)三(san)階(jie)級(ji)聯(lian)微(wei)分(fen)器(qi)組(zu)成(cheng)。但(dan)是(shi),此(ci)濾(lv)波(bo)器(qi)具(ju)有(you)一(yi)些(xie)特(te)性(xing),可(ke)以(yi)允(yun)許(xu)新(xin)的(de)工(gong)作(zuo)模(mo)式(shi)。首(shou)先(xian),濾(lv)波(bo)器(qi)具(ju)有(you)新(xin)的(de)時(shi)鍾(zhong)發(fa)生(sheng)器(qi)功(gong)能(neng),可(ke)將(jiang)調(tiao)製(zhi)器(qi)時(shi)鍾(zhong)與(yu)積(ji)分(fen)器(qi)時(shi)鍾(zhong)分(fen)離(li)。這(zhe)樣(yang)就(jiu)可(ke)以(yi)連(lian)續(xu)為(wei)ADC提供時鍾,但隻在獲取測量值時才啟用積分器時鍾。其次,此濾波器具有新 的(de)濾(lv)波(bo)器(qi)控(kong)製(zhi)功(gong)能(neng)。以(yi)同(tong)步(bu)脈(mai)衝(chong)為(wei)基(ji)準(zhun),控(kong)製(zhi)塊(kuai)處(chu)理(li)濾(lv)波(bo)器(qi)工(gong)作(zuo)所(suo)需(xu)的(de)所(suo)有(you)時(shi)序(xu)和(he)觸(chu)發(fa)。濾(lv)波(bo)器(qi)控(kong)製(zhi)器(qi)的(de)主(zhu)要(yao)功(gong)能(neng)是(shi)刷(shua)新(xin)濾(lv)波(bo)器(qi),包(bao)括(kuo)初(chu)始(shi)化(hua)所(suo)有(you)濾(lv)波(bo)器(qi)狀(zhuang)態(tai)、在開始新測量之前的計時器濾波,以及在適當的情形下啟用/禁用積分器時鍾。最後,濾波器具有一個新的緩衝和中斷控製單元,該單元對所有輸出數 據進行排序並捕獲正確的測量值。當新的測量值準備就緒時,緩衝和中斷單元還會通過中斷來通知電機控製應用。圖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濾波器示例建議使用Dxingchufaqileijiaqishixianjifenqi。zheyangzuodezhuyaoliyoushiqisuoxumenshujiaoshao,danshizhezhongjiandandezuofayexuyaofuchuyidingdedaijia。yulvboqidequnyanchixiangbi,lianggetiaozhiqishizhongdeewaiyanchikansiweibuzudao,dangaiyanchiyingxianglelvboqigaopinshuaijiannengli,yinci,leijiaqishixianxiangjiaoyuchunjifenqiketigongde 有效位數更少。此外,上述刷新式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個時鍾周期,而不是預期的3個ge時shi鍾zhong周zhou期qi。由you於yu微wei分fen器qi由you抽chou取qu時shi鍾zhong提ti供gong時shi鍾zhong,因yin此ci濾lv波bo器qi的de群qun延yan遲chi和he建jian立li時shi間jian實shi際ji都dou增zeng加jia了le一yi倍bei。但dan是shi,這zhe也ye會hui影ying響xiang濾lv波bo器qi的de衰shuai減jian,而er且qie頻pin率lv響xiang應ying不bu是shi理li想xiang的de三san階jiesinc。在已發布的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工作模式。為了進行對比,將顯示傳統的連續工作模式濾波器和刷新式濾波器的兩種測量結果。
suirankongzhixitongjuyoubihuancichangdingxiangkongzhi,suoyouceliangjuntongguokaihuankongzhijinxing。bihedianliuhuanluduiceliangzaoshenghenmingan,bingqiezaoshenghuitongguodianliuhuanlufashengouhe。tongguokaihuangongzuo,keyixiaochudianliukongzhiqichanshengderenheyingxiang,congerkeyiduijieguojinxingzhijiebijiao。
除模式配置和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中的連續工作模式濾波器。
weifangbianduibi,shuaxinshilvboqishiyongdepeizhiyulianxugongzuomoshilvboqiwanquanxiangtong。butongzhichuzaiyu,lianxugongzuomoshilvboqibixushiyongcipeizhi,fouzexingnenghuijiangdi,rutu13結果所示。與之相反,刷新式濾波器可以在任何係統配置下保持最佳性能。

圖15. sinc濾波器脈衝響應與PWM對齊的刷新式sinc濾波器。
采用未對齊的連續工作模式sinc濾波器(圖13a),其噪聲大小約為一個16位信號中120 LSBs。這相當於噪聲導致近低7位信號的丟 失。刷新式sinc濾波器(圖15a)的噪聲電平大約是一個16位信號中5 LSBs,相當於噪聲導致的信號丟失少於3位。
小結
基於∑-∆的de相xiang電dian流liu測ce量liang已yi廣guang泛fan用yong於yu電dian機ji驅qu動dong中zhong,但dan是shi要yao獲huo得de最zui佳jia性xing能neng,還hai需xu正zheng確que配pei置zhi整zheng個ge係xi統tong。本ben文wen討tao論lun了le可ke能neng會hui導dao致zhi性xing能neng不bu佳jia的de原yuan因yin以yi及ji如ru何he正zheng確que設she置zhi係xi統tong。
配置係統以獲得最佳電流反饋性能往往極具挑戰性,在某些情況下甚至是不可能的。為了解決這個問題,本文提出了一種新型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可編程電源,賦能高端裝備製造
技術文章更多>>
- 貿澤EIT係列新一期,探索AI如何重塑日常科技與用戶體驗
- 算力爆發遇上電源革新,大聯大世平集團攜手晶豐明源線上研討會解鎖應用落地
- 創新不止,創芯不已:第六屆ICDIA創芯展8月南京盛大啟幕!
- AI時代,為什麼存儲基礎設施的可靠性決定數據中心的經濟效益
- 築基AI4S:摩爾線程全功能GPU加速中國生命科學自主生態
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索




