JAJU732E June 2019 – April 2024 TMS320F28P550SG , TMS320F28P550SJ , TMS320F28P559SG-Q1 , TMS320F28P559SJ-Q1
この DAB プロジェクトは、2 つの ISR (ISR1 および ISR2) で構成されています。ISR1 のほうが高速で、ネスティング不可能です。ISR1 は、制御ループおよび PWM 更新用に予約されています。ISR1 は、PRIM_LEG1_PWM_BASE → EPWM_INT_TBCTR_U_CMPC イベントでトリガされます。
この ISR に関連する定義は以下のとおりです。
#define DAB_ISR1_PERIPHERAL_TRIG_BASE DAB_PRIM_LEG1_PWM_BASE
#define DAB_ISR1_TRIG INT_EPWM1
#define DAB_ISR1_PIE_GROUP INTERRUPT_ACK_GROUP3
#define DAB_ISR1_TRIG_CLA CLA_TRIGGER_EPWM1INTISR2 は、CPU タイマのオーバーフローにより開始する CPU タイマ INT でトリガされます。ISR2 は、コマンド リファレンスのスルーレート機能を実行します。
#define DAB_ISR2_TIMEBASE CLLLC_TASKC_CPUTIMER_BASE
#define DAB_ISR2_TRIG INT_TINT2さらに、CPU タイマは、低速なバックグラウンド タスクのトリガに使用されます (割り込み駆動ではなく、ポーリング)。A タスクは、100Hz の TASKA_FREQ でトリガされます。SFRA GUI はこのレートで呼び出す必要があります。1 つのタスク A1 がこのレートで実行されます。B タスクは、10Hz の TASKB_FREQ でトリガされます。これらは、一部の基本的な LED トグルや、タイミングが重要ではないステート マシンの項目に使用されます。B1、B2、B3 の 3 つのタスクがこれによって処理されます。
図 4-6 に、ISR ソフトウェア構成図を示します。
図 4-6 ソフトウェア構成図:DAB_pwmEPSAlphaPRef_pu、DAB_pwmEPSAlphaP_pu、DAB_pwmEPSAlphaSRef_pu、DAB_pwmEPSAlphaS_pu、DAB_pwmEPSPhaseShift_P1_P2_ticks、DAB_pwmEPSPhaseShift_P1_S1_ticks および DAB_pwmEPSPhaseShift_P1_S2_ticks が導入されました。関数 DAB_calculatePWMPhaseShift ticks および DAB_HAL_ipdatePWMDutyPeriodPhaseShift() は、それに応じて変更されています。