TMS570處理器NHET功能的直流無(wú)刷電機(jī)測(cè)速設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
在直流無(wú)刷電機(jī)(BLDC)控制系統(tǒng)中,對(duì)電機(jī)轉(zhuǎn)速的測(cè)量是一項(xiàng)重要且關(guān)鍵的問(wèn)題。目前存在多種測(cè)速手段:利用編碼器測(cè)速、利用霍爾(HALL)信號(hào)測(cè)速、利用電機(jī)反向電動(dòng)勢(shì)測(cè)速等等。其中,利用編碼器測(cè)速方法的優(yōu)點(diǎn)可以達(dá)到高分辨率的要求,但需增加成本和體積;利用電機(jī)反向電動(dòng)勢(shì)測(cè)速的優(yōu)點(diǎn)是無(wú)需提供額外硬件接口,缺點(diǎn)是測(cè)速軟件算法復(fù)雜。本文介紹了一種利用HALL信號(hào)、基于TMS570處理器NHET功能的BLDC測(cè)速軟件設(shè)計(jì)方案,此方案可實(shí)現(xiàn)速度測(cè)量精度和軟硬件復(fù)雜程度之間的平衡,同時(shí)在軟件設(shè)計(jì)過(guò)程中采用提高可靠性的算法確保速度測(cè)量的可靠和準(zhǔn)確。
1 TMS570處理器及NHET功能簡(jiǎn)介
TMS570系列處理器是TI公司推出的一種面向高性能交通運(yùn)輸領(lǐng)域的安全MCU,該系列MCU基于ARMCortex—R4F內(nèi)核架構(gòu),具有較高的性能并滿足IEC61508SIL-3的安全要求,主要應(yīng)用于汽車工業(yè),如剎車防抱死系統(tǒng)(ABS)、電助力轉(zhuǎn)向(EPS)、HEV/EV逆變器系統(tǒng)。
TMS570系列處理器集成了第4代高端定時(shí)器(NHET),NHET使用高分辨率硬件通道并提供針對(duì)實(shí)時(shí)環(huán)境下的精確周期、脈沖測(cè)量功能、輸出比較功能、PWM功能。NHET采用獨(dú)立的指令結(jié)構(gòu)和“時(shí)序決議循環(huán)”機(jī)制使時(shí)間分辨率達(dá)到ns級(jí)別,完全滿足各種高精度時(shí)間測(cè)量應(yīng)用需要,其內(nèi)部集成可編程的抑制濾波器,確保測(cè)量數(shù)據(jù)的可靠性要求。
2 BLDC測(cè)速硬件接口設(shè)計(jì)
測(cè)速硬件結(jié)構(gòu)示意圖如圖1所示。BLDC硬件測(cè)速接口設(shè)計(jì)較為簡(jiǎn)單,將HALL信號(hào)進(jìn)行數(shù)字隔離后,直接接入TMS570的NHET引腳即可,將3個(gè)HALL信號(hào)同時(shí)引入NHET進(jìn)行測(cè)速是一種硬件冗余設(shè)計(jì),其目的是提高BLDC速度測(cè)量的可靠性,防止由于單通道HALL輸入信號(hào)失效導(dǎo)致整個(gè)測(cè)速功能無(wú)法完成的情況發(fā)生。
HALL信號(hào)輸入采用DC 12 V電平,經(jīng)數(shù)字隔離后輸出DC 3.3 V電平,直接作為MCU輸入。當(dāng)BLDC轉(zhuǎn)動(dòng)時(shí),HALL信號(hào)的時(shí)序與相位關(guān)系如圖2所示。
由圖2可知:BLDC轉(zhuǎn)速可通過(guò)測(cè)量單個(gè)HALL信號(hào)的頻率計(jì)算得出,BLDC轉(zhuǎn)速(RPM,轉(zhuǎn)/分鐘)與HALL信號(hào)頻率(fFO,Hz)、BLDC磁極對(duì)數(shù)(Poles)之間的關(guān)系式為:
3 NHET測(cè)速軟件設(shè)計(jì)
NHET測(cè)速軟件的核心測(cè)速代碼采用獨(dú)立的指令結(jié)構(gòu)和時(shí)序決議機(jī)制實(shí)現(xiàn),NHET采用精簡(jiǎn)指令集(RISC)結(jié)構(gòu),包含22條指令,使用NHET匯編器將指令代碼生成C語(yǔ)言結(jié)構(gòu)的代碼,需在運(yùn)行之前由應(yīng)用程序拷貝到NHET RAM中,NHET匯編器同時(shí)生成.h文件,由應(yīng)用程序?qū)y(cè)量數(shù)據(jù)進(jìn)行訪問(wèn),時(shí)序機(jī)制如圖3所示。
NHET時(shí)鐘由VCLK2驅(qū)動(dòng),每個(gè)VCLK2周期稱為一個(gè)“時(shí)隙”(Time slot),將VCLK2進(jìn)行高分辨率分頻(High Res.clock)和循環(huán)分頻(Loop Res.clock)后得到高分頻時(shí)鐘、循環(huán)分頻時(shí)鐘,這兩個(gè)時(shí)鐘的周期為:
在此程序循環(huán)中包含1~N條NHET指令。由于不同的指令代碼執(zhí)行時(shí)間不同,在設(shè)計(jì)時(shí)應(yīng)注意程序循環(huán)內(nèi)所有代碼執(zhí)行時(shí)間的和不能超過(guò)一個(gè)循環(huán)分頻時(shí)鐘周期。由上文所述,利用BLDC的霍爾信號(hào)測(cè)量轉(zhuǎn)速,即測(cè)量霍爾信號(hào)的周期,使用NHET指令集中的PCNT指令實(shí)現(xiàn),PCNT指令捕捉NHET輸入引腳信號(hào)的邊沿并使用高分辨率時(shí)鐘進(jìn)行周期計(jì)數(shù),將周期時(shí)間數(shù)據(jù)存儲(chǔ)在內(nèi)部寄存器中供應(yīng)用程序讀取,以PCNT指令捕獲輸入脈沖信號(hào)時(shí)間為例,指令執(zhí)行邏輯及時(shí)序如圖4所示。
圖4中①~③含義如下:
①當(dāng)檢測(cè)到輸入引腳的上升沿后,HR計(jì)數(shù)器開(kāi)始由零進(jìn)行加計(jì)數(shù),當(dāng)計(jì)數(shù)器滿后,向指令數(shù)據(jù)區(qū)加1,并從0重新開(kāi)始計(jì)數(shù);
②當(dāng)檢測(cè)到輸入引腳的下降沿后,將HR計(jì)數(shù)器內(nèi)的數(shù)據(jù)存入捕獲寄存器(HR capt.reg);
③PCNT指令在同步輸入信號(hào)(Input pin sync’d)由低變高后開(kāi)始執(zhí)行,在該信號(hào)由高變低后,得到數(shù)據(jù)區(qū)數(shù)據(jù)(lr_data)和捕獲寄存器內(nèi)的數(shù)據(jù)(hr_data)之和即為脈沖時(shí)間。
HALL信號(hào)的周期為HALL輸入信號(hào)的上升沿到下降沿或下降沿到上升沿的時(shí)間,編寫(xiě)PCNT指令參數(shù)如下:
其中每一條指令對(duì)應(yīng)一個(gè)通道的HALL輸入信號(hào),當(dāng)指定引腳(pin)測(cè)量到一個(gè)完整的HALL周期后,產(chǎn)生一個(gè)NHET指令中斷(irq=ON),信號(hào)觸發(fā)的類型(type)包括上升沿到上升沿(RISE2 RISE)和下降沿到下降沿(FALL2FALL)兩種,使用不同的信號(hào)觸發(fā)類型測(cè)量HALL信號(hào)周期的目的是通過(guò)簡(jiǎn)單的軟件代碼異構(gòu)保證測(cè)量結(jié)果的可靠性。
當(dāng)VCLK2時(shí)鐘為70 MHz時(shí),選取高分頻為7,循環(huán)分頻為8,可得
為防止HALL信號(hào)因外界干擾產(chǎn)生的測(cè)量結(jié)果誤差,除了使用NHET自身帶有的硬件抑制濾波器外,在軟件的設(shè)計(jì)過(guò)程中也應(yīng)加入適當(dāng)?shù)臑V波處理,保證測(cè)量結(jié)果的準(zhǔn)確、可靠,使用一個(gè)系數(shù)為0.75的單極性I2R低通濾波器的C語(yǔ)言代碼如下:
new_speed=((old_speed*3U)+new_speed)>>2U;
//新測(cè)得的速度占測(cè)量結(jié)果的1/4
為提高測(cè)速軟件的可靠性,軟件采用結(jié)構(gòu)容錯(cuò)的設(shè)計(jì)思路進(jìn)行設(shè)計(jì),由于測(cè)速硬件采用3通道冗余采集HALL輸入信號(hào),軟件采用N版本程序設(shè)計(jì)方案。N版本程序設(shè)計(jì)是指對(duì)于一個(gè)給定的功能,由N(N>2)個(gè)不同的設(shè)計(jì)組獨(dú)立編制出N個(gè)不同的程序,然后通過(guò)運(yùn)行N個(gè)不同的程序得出結(jié)果并進(jìn)行比較,輸出正確的數(shù)據(jù)?;赥MS570 NHET功能測(cè)速軟件N版本程序設(shè)計(jì)基本結(jié)構(gòu)如圖5所示。
結(jié)語(yǔ)
本文提出了一種基于TMS570系列處理器NHET功能的直流無(wú)刷電機(jī)測(cè)速軟件設(shè)計(jì)方案,其中包括NHET測(cè)速原理介紹和代碼實(shí)現(xiàn)、對(duì)測(cè)量結(jié)果的軟件濾波算法設(shè)計(jì)、基于N版本軟件容錯(cuò)設(shè)計(jì)方法提高軟件可靠性。該測(cè)速方案已應(yīng)用在采用TMS570LS20216處理器的自動(dòng)門控制單元硬件之上,實(shí)際測(cè)試和應(yīng)用的結(jié)果表明該方案切實(shí)可行。