隨著能源需求的日益短缺,科技的日趨智能化,高精度的模擬量準確采集,已日趨成為當今社會迅速發(fā)展的必然需求。昊芯順應時代要求,推出適用于高精度工業(yè)自動化運動控制的新版HXS320F28034PNT數(shù)字信號處理器DSP,芯片EPWM模塊DC以空窗濾波功能,濾除數(shù)字比較誤動作事件,更加有效助力于工程師實現(xiàn)高精度信號采集,廣泛應用于電動車、電動汽車、軌道交通、全電飛機、新能源發(fā)電、機器人等工業(yè)自動化高精度控制領(lǐng)域。
平頭哥半導體有限公司劍池集成開發(fā)環(huán)境(簡稱“CDK”)支持HX2000系列芯片調(diào)試,本期將對EPWM_DC空窗濾波功能應用展開介紹。
HX2000系列EPWM_DC信號濾波可用于DC數(shù)字比較錯誤聯(lián)防誤動作事件濾除,過流誤動作期間ADC采樣潛在噪聲濾除。實現(xiàn)方法如下:
通過DCFCTL[SRCSEL]選擇,濾除數(shù)字比較DCAEVT1/2或DCBEVT1/2空運行事件噪聲;配置DCBCTL[EVT1SRCSEL]對數(shù)字比較事件濾波;通過DCBCTL[EVT1FRCSYNCSEL]選擇同/異步采樣;通過DCFCTL[PULSESEL]位配置濾波起始偏移點為CTR=0或CTR=PRD,從而在CTR=0或CTR=PRD處,偏移DCFOFFSET位置,產(chǎn)生長度為DCFWINDOW個TBCLK的空窗濾波信號??沾捌陂g,被選擇濾除的數(shù)字比較事件信號被屏蔽,導致其產(chǎn)生的SOC信號、同步、中斷與強制信號均被屏蔽,空窗結(jié)束后,數(shù)字比較事件可以產(chǎn)生SOC信號、同步、中斷與強制信號,因而可用于DC過流誤動作信號濾除,以有效濾除空窗期間ADC啟動轉(zhuǎn)換前潛在噪聲,從而實現(xiàn)更精確的模擬量信號采集,與PWM限流動作觸發(fā)。
由此設(shè)計EPWM_DC模擬量過流信號濾波實例:EPWM2_SOCA觸發(fā)ADCINA2采樣,假設(shè)輸入采樣電流超越閾值,則比較器COMP1輸出低電平給TZ3,再將TZ1引腳置高,將TZ1,TZ3輸入給DC模塊:由DCAH與DCAL產(chǎn)生數(shù)字比較事件DCAEVT2,觸發(fā)EPWM2A置高;由DCBH與DCBL信號輸入,產(chǎn)生數(shù)字比較事件DCBEVT1,觸發(fā)EPWM2B置低;在EPWM2 CTR=0處,偏移500TBCLK處,產(chǎn)生200TBCLK長度空窗,對EPWM2_DCAEVT1信號濾波,以濾除過流誤動作信號,防止PWM限流誤動作觸發(fā)。
因此,硬件連接為5V-ADCINA2,GPIO1-GPIO17,3.3V-TZ1(GPIO12)如上圖所示。
基于CDK V2.12.1開發(fā),代碼包括:EPWM 及TZ GPIO、COMP1 GPIO與ADC模擬量采集AIO引腳配置,ADC初始化上電,EPWM2_SOCA事件功能配置,EPWM2_DC觸發(fā)動作及空窗信號濾波配置、ADC單觸發(fā)源順序采集配置、COMP1比較器比較閾值檢測功能配置,ADC模擬量采集轉(zhuǎn)換結(jié)果存儲,DC觸發(fā)EPWM動作中斷程序,主程序調(diào)用執(zhí)行。
1.intmain(void)2.{3. /*初始化系統(tǒng)控制:PLL,WatchDog,使能外設(shè)時鐘*/4. InitSysCtrl();5. /*初始化GPIO,復用為EPwm功能*/6. InitEPwm2Gpio();7. /*初始化TZ故障保護模塊*/8. InitTzGpio();9. /*初始化Adc*/10. InitAdc();11. /*初始化GPIO,復用為comp功能*/12. InitComp1Gpio();13. /*初始化LED配置*/14. InitLED();15. /*關(guān)中斷*/16. InitPieCtrl();17. /*清中斷*/18. IER=0x0000;19. IFR=0x0000;20. /*初始化PIE向量表*/21. InitPieVectTable();22. EALLOW;23. /*執(zhí)行帶有空窗的DC事件觸發(fā)EPWM2A,DC事件觸發(fā)EPWM2B*/24. PieVectTable.EPWM2_TZINT=&epwm2_tz_isr;25. /*將adc_isr入口地址賦給ADCINT3,執(zhí)行ADC采樣*/26. PieVectTable.ADCINT3=&adc_isr;27. EDIS;28. EALLOW;29. /*每個啟用的ePWM模塊中的TBCLK(時基時鐘)均已停止。*/30. SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC=0;31. EDIS;32. /*初始化EPWM2*/33. InitEpwm2_Example();34. EALLOW;35. /*所有使能的ePWM模塊同步使用TBCLK*/36. SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC=1;37. EDIS;38. /*初始化ADC*/39. ADC_Init();40. /*初始化comp1*/41. InitComp1();42. /*使能相對應的中斷*/43. IER|=M_INT2|M_INT10;44. PieCtrlRegs.PIEIER2.bit.INTx2=1;45. PieCtrlRegs.PIEIER10.bit.INTx3=1;46. EINT;47. while(1)48. {}49. return0;50.}
CDK上開發(fā)信號濾波實例程序,編譯結(jié)果為:
編譯通過后,就可以開始調(diào)試了,調(diào)試后DC觸發(fā)前后的EPWM輸出如下:
-
芯片
+關(guān)注
關(guān)注
455文章
50813瀏覽量
423604
發(fā)布評論請先 登錄
相關(guān)推薦
評論