隨著能源需求的日益短缺,科技的日趨智能化,高精度精密控制已日趨成為人們生產生活的必然趨勢,中科昊芯順應時代要求,推出適用于高精度工業(yè)自動化運動控制的新版HXS320F28034PNT數(shù)字信號處理器DSP,芯片HRCAP模塊以數(shù)百皮秒內的典型分頻率測量外部脈沖的寬度,可更有效助力于工程師實現(xiàn)3D精密打印、超聲波聲納測距與氣體檢測、掃地機器人與數(shù)控機床等精密測量功能。
自平頭哥半導體有限公司的劍池集成開發(fā)環(huán)境(簡稱“CDK”)V2.12.1支持HXS320F28034PNT芯片調試以來,本期以HRCAP捕獲變頻PWM輸出實例對HRCAP脈沖捕獲原理展開介紹。
HXS320F28034PNTHRCAP高精度脈沖捕獲原理如下,通過控制寄存器HCCTL[HCCAPCLKSEL]選擇HRCAP時鐘,HCCAPCLK以系統(tǒng)時鐘SYSCLK或倍頻時鐘PLLCLK產生16位計數(shù)HCCOUNTER,通過校準寄存器HCCAL[HRPWMSEL]選擇HRCAP邊沿探測邏輯,運行于正常分辨率或高分辨率捕獲模式,通過HRCAPxINTn中斷觸發(fā)響應PIE執(zhí)行:當檢測到上升沿與下降沿時,通過計數(shù)捕獲產生HCCOUNTER值,并在計數(shù)器復位為0之前被捕獲到16位寄存器HCCAPCNTRISE0與HCCAPCNTFALL0,即實際低電平和高電平脈沖寬度分別為HCCAPCNTFALL0+1和HCCAPCNTRISE0+1,等待下一脈沖周期上升沿時載入上升沿與下降沿捕獲寄存器HCCAPCNTRISE1與HCCAPCNTFALL1。通過GPIOMUX配置外設引腳捕獲功能,從而輸出相應的PWM波。因此在同一時間間隔內,下降沿捕獲相比上升沿捕獲,可捕獲到的脈沖邊沿計數(shù)增加一倍,使得捕獲分辨率提高一倍。
由此設計高分辨率脈沖捕獲實例:HRCAP1與HRCAP2分別捕獲兩組向下計數(shù)與向上計數(shù),頻率在30kHz~120kHz間變化的PWM波上升沿與下降沿,通過GPIOMUX配置HRCAP輸出引腳GPIO26與GPIO27上輸出相應的PWM波,故硬件連接為GPIO0-GPIO26、GPIO2-GPIO27,如下圖所示。
實例所采用軟硬件開發(fā)環(huán)境如下表所示:
基于以上分析,在CDK上開發(fā)HRCAP捕獲變頻PWM輸出程序,代碼包括:HRCAP與EPWM外設GPIO引腳、捕獲功能配置程序,HRCAP捕獲兩組向下計數(shù)與向上計數(shù),頻率在30kHz~120kHz間變化的PWM波上升沿與下降沿的中斷服務程序,主程序調用執(zhí)行。
1.intmain(void)
2.{
3./*系統(tǒng)時鐘初始化*/
4.InitSysCtrl();
5.
6./*LED初始化*/
7.InitLED();
8.
9./*HRCAP與EPWM的GPIO引腳定義*/
10.InitHRCapGpio();
11.InitEPwm1Gpio();
12.InitEPwm2Gpio();
13.
14./*關中斷*/
15.IER=0x0000;
16.IFR=0x0000;
17.
18./*打開中斷向量表*/
19.InitPieVectTable();
20.
21.EALLOW;
22./*中斷向量表HRCAP1_INT與HRCAP2_INT指向執(zhí)行相應的脈沖捕獲中斷服務程序*/
23.PieVectTable.HRCAP1_INT=&HRCAP1_Isr;
24.PieVectTable.HRCAP2_INT=&HRCAP2_Isr;
25.EDIS;
26.
27./*HRCAP1上升沿捕獲與HRCAP2下降沿捕獲功能配置*/
28.HRCAP1_Config();
29.HRCAP2_Config();
30.
31.EALLOW;
32./*禁止EPWM的時基使能,允許EPWM初始化配置寫入*/
33.SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC=0;
34.EDIS;
35.
36./*EPWM的初始化配置:PWM1采用向下計數(shù),PWM2采用向上計數(shù)*/
37.ePWM1_Config(1000);
38.ePWM2_Config(1000);
39.
40.EALLOW;
41./*打開EPWM的時基使能,使EPWM的初始化配置起作用*/
42.SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC=1;
43.EDIS;
44.
45./*指令周期延遲決策變量定義,用于完成捕獲EPWM波*/
46.first,rise=0;
47.
48./*捕獲時間測定判斷變量定義*/
49.HRCap1IntCount,HRCap1PassCount=0;
50.HRCap2IntCount,HRCap2PassCount=0;
51.
52./*使能打開CPUIER的第4組中斷向量*/
53.IER|=M_INT4;
54.
55./*使能打開PIEIER的第4組中斷向量的第七、八個向量*/
56.PieCtrlRegs.PIEIER4.bit.INTx7=1;
57.PieCtrlRegs.PIEIER4.bit.INTx8=1;
58.
59./*使能打開全局中斷*/
60.EINT;
61.while(1)
62.{
63./*判斷HRCap2與HRCap1的捕獲時間*/
64.if(HRCap2PassCount>1.25*HRCap1PassCount)
65.{
66.GpioDataRegs.GPBTOGGLE.bit.GPIO44=1;
67.DELAY_US(1000000);
68.}
69.else
70.{
71.GpioDataRegs.GPBSET.bit.GPIO44=1;
72.DELAY_US(1000000);
73.}
74.}
75.return0;
76.}
CDK上開發(fā)HRCAP捕獲變頻PWM輸出程序,其編譯結果為:
編譯通過后,就可以開始調試了,其調試結果如下:
調試后,HRCAP輸出捕獲的PWM周期變化波形如下:
為證明HRCAP的高精度脈沖捕獲有效性,本設計實例采用ECAP與HRCAP捕獲兩路向下計數(shù)、同等周期范圍變化的PWM波進行對比,同時通過設置LED1閃燈來對比ECAP與HRCAP的捕獲時間,效果如下:
從圖中可以看出,HRCAP相較于ECAP脈沖捕獲用時減少一半,故能更加精細地讀出同等變頻PWM波的輸出頻率變化,因而測量更加精準。
-
工業(yè)自動化
+關注
關注
17文章
2401瀏覽量
67253 -
數(shù)字信號處理器
+關注
關注
5文章
466瀏覽量
27346 -
中科昊芯
+關注
關注
5文章
80瀏覽量
5172
發(fā)布評論請先 登錄
相關推薦
評論