新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > TMS570處理器NHET功能的直流無刷電機測速設計

        TMS570處理器NHET功能的直流無刷電機測速設計

        作者: 時間:2016-10-18 來源:網絡 收藏

        引言

        本文引用地址:http://www.104case.com/article/201610/308668.htm

        在直流無刷電機(BLDC)控制系統(tǒng)中,對電機轉速的測量是一項重要且關鍵的問題。目前存在多種測速手段:利用編碼器測速、利用霍爾(HALL)信號測速、利用電機反向電動勢測速等等。其中,利用編碼器測速方法的優(yōu)點可以達到高分辨率的要求,但需增加成本和體積;利用電機反向電動勢測速的優(yōu)點是無需提供額外硬件接口,缺點是測速軟件算法復雜。本文介紹了一種利用HALL信號、基于功能的BLDC測速軟件設計方案,此方案可實現(xiàn)速度測量精度和軟硬件復雜程度之間的平衡,同時在軟件設計過程中采用提高可靠性的算法確保速度測量的可靠和準確。

        1 功能簡介

        TMS570系列處理器是TI公司推出的一種面向高性能交通運輸領域的安全MCU,該系列MCU基于ARMCortex—R4F內核架構,具有較高的性能并滿足IEC61508SIL-3的安全要求,主要應用于汽車工業(yè),如剎車防抱死系統(tǒng)(ABS)、電助力轉向(EPS)、HEV/EV逆變器系統(tǒng)。

        TMS570系列處理器集成了第4代高端定時器(),NHET使用高分辨率硬件通道并提供針對實時環(huán)境下的精確周期、脈沖測量功能、輸出比較功能、PWM功能。NHET采用獨立的指令結構和“時序決議循環(huán)”機制使時間分辨率達到ns級別,完全滿足各種高精度時間測量應用需要,其內部集成可編程的抑制濾波器,確保測量數(shù)據(jù)的可靠性要求。

        2 BLDC測速硬件接口設計

        測速硬件結構示意圖如圖1所示。BLDC硬件測速接口設計較為簡單,將HALL信號進行數(shù)字隔離后,直接接入TMS570的NHET引腳即可,將3個HALL信號同時引入NHET進行測速是一種硬件冗余設計,其目的是提高BLDC速度測量的可靠性,防止由于單通道HALL輸入信號失效導致整個測速功能無法完成的情況發(fā)生。

        a.jpg

        HALL信號輸入采用DC 12 V電平,經數(shù)字隔離后輸出DC 3.3 V電平,直接作為MCU輸入。當BLDC轉動時,HALL信號的時序與相位關系如圖2所示。

        b.jpg

        由圖2可知:BLDC轉速可通過測量單個HALL信號的頻率計算得出,BLDC轉速(RPM,轉/分鐘)與HALL信號頻率(fFO,Hz)、BLDC磁極對數(shù)(Poles)之間的關系式為:

        c.jpg

        3 NHET測速軟件設計

        NHET測速軟件的核心測速代碼采用獨立的指令結構和時序決議機制實現(xiàn),NHET采用精簡指令集(RISC)結構,包含22條指令,使用NHET匯編器將指令代碼生成C語言結構的代碼,需在運行之前由應用程序拷貝到NHET RAM中,NHET匯編器同時生成.h文件,由應用程序對測量數(shù)據(jù)進行訪問,時序機制如圖3所示。

        d.jpg

        NHET時鐘由VCLK2驅動,每個VCLK2周期稱為一個“時隙”(Time slot),將VCLK2進行高分辨率分頻(High Res.clock)和循環(huán)分頻(Loop Res.clock)后得到高分頻時鐘、循環(huán)分頻時鐘,這兩個時鐘的周期為:

        e.jpg

        在此程序循環(huán)中包含1~N條NHET指令。由于不同的指令代碼執(zhí)行時間不同,在設計時應注意程序循環(huán)內所有代碼執(zhí)行時間的和不能超過一個循環(huán)分頻時鐘周期。由上文所述,利用BLDC的霍爾信號測量轉速,即測量霍爾信號的周期,使用NHET指令集中的PCNT指令實現(xiàn),PCNT指令捕捉NHET輸入引腳信號的邊沿并使用高分辨率時鐘進行周期計數(shù),將周期時間數(shù)據(jù)存儲在內部寄存器中供應用程序讀取,以PCNT指令捕獲輸入脈沖信號時間為例,指令執(zhí)行邏輯及時序如圖4所示。

        f.jpg

        圖4中①~③含義如下:

        ①當檢測到輸入引腳的上升沿后,HR計數(shù)器開始由零進行加計數(shù),當計數(shù)器滿后,向指令數(shù)據(jù)區(qū)加1,并從0重新開始計數(shù);

        ②當檢測到輸入引腳的下降沿后,將HR計數(shù)器內的數(shù)據(jù)存入捕獲寄存器(HR capt.reg);

        ③PCNT指令在同步輸入信號(Input pin sync’d)由低變高后開始執(zhí)行,在該信號由高變低后,得到數(shù)據(jù)區(qū)數(shù)據(jù)(lr_data)和捕獲寄存器內的數(shù)據(jù)(hr_data)之和即為脈沖時間。

        HALL信號的周期為HALL輸入信號的上升沿到下降沿或下降沿到上升沿的時間,編寫PCNT指令參數(shù)如下:

        g.jpg

        其中每一條指令對應一個通道的HALL輸入信號,當指定引腳(pin)測量到一個完整的HALL周期后,產生一個NHET指令中斷(irq=ON),信號觸發(fā)的類型(type)包括上升沿到上升沿(RISE2 RISE)和下降沿到下降沿(FALL2FALL)兩種,使用不同的信號觸發(fā)類型測量HALL信號周期的目的是通過簡單的軟件代碼異構保證測量結果的可靠性。

        當VCLK2時鐘為70 MHz時,選取高分頻為7,循環(huán)分頻為8,可得

        h.jpg

        為防止HALL信號因外界干擾產生的測量結果誤差,除了使用NHET自身帶有的硬件抑制濾波器外,在軟件的設計過程中也應加入適當?shù)臑V波處理,保證測量結果的準確、可靠,使用一個系數(shù)為0.75的單極性I2R低通濾波器的C語言代碼如下:

        new_speed=((old_speed*3U)+new_speed)>>2U;

        //新測得的速度占測量結果的1/4

        為提高測速軟件的可靠性,軟件采用結構容錯的設計思路進行設計,由于測速硬件采用3通道冗余采集HALL輸入信號,軟件采用N版本程序設計方案。N版本程序設計是指對于一個給定的功能,由N(N>2)個不同的設計組獨立編制出N個不同的程序,然后通過運行N個不同的程序得出結果并進行比較,輸出正確的數(shù)據(jù)。基于TMS570 NHET功能測速軟件N版本程序設計基本結構如圖5所示。

        i.jpg

        結語

        本文提出了一種基于TMS570系列處理器NHET功能的直流無刷軟件設計方案,其中包括NHET測速原理介紹和代碼實現(xiàn)、對測量結果的軟件濾波算法設計、基于N版本軟件容錯設計方法提高。該測速方案已應用在采用TMS570LS20216處理器的自動門控制單元硬件之上,實際測試和應用的結果表明該方案切實可行。



        評論


        技術專區(qū)

        關閉
        主站蜘蛛池模板: 阳原县| 濉溪县| 新建县| 蒲城县| 天水市| 泽库县| 长顺县| 青铜峡市| 祁东县| 芦溪县| 中方县| 邛崃市| 赤峰市| 泰安市| 四会市| 达尔| 台东县| 河东区| 宣化县| 舒兰市| 永新县| 嵊州市| 汽车| 丰镇市| 阜康市| 兰坪| 荣昌县| 宾阳县| 武宣县| 古田县| 波密县| 阳江市| 新宾| 蕉岭县| 交口县| 新宁县| 甘孜| 桐庐县| 桂平市| 泾阳县| 达尔|