ePWM: PERCLKDIVSEL.EPWMCLKDIV = 1 の場合、ePWM TZFRC および TZCLR イベントが失われる場合があります
詳細
TZFRC ビットはソフトウェア強制トリップ イベントに使用され、TZCLR ビットはトリップ ゾーン イベントをクリアするために使用されます。EPWMCLKDIV を備えたデバイスでは、PERCLKDIVSEL.EPWMCLKDIV が 1 にプログラムされている場合、TZFRC および TZCLR 書き込みが失われ、出力に影響がない可能性があります。このビットはデフォルトで 1 にプログラムされています (EPWMCLKはPLLSYSCLK/2)。
回避方法
- EPWMCLK = PLLSYSCLK (PERCLKDIVSEL.EPWMCLKDIV = 0) と設定します。
- ユーザーが EPWMCLK = PLLSYSCLK/2 (PERCLKDIVSEL.EPWMCLKDIV = 1) を設定する必要がある場合は、次のドライバ ライブラリ ソフトウェア シーケンスを使用して、トリップに使用する EPWMXBAR の予約済み mux 入力の 1 つを選択します。
PWMXBAR → デジタル比較 → トリップ ゾーン
- EPWMxA のデジタル比較出力 A イベントの 1 または 2 アクションと EPWMxB のデジタル比較出力 B イベントの 1 または 2 アクションの両方のトリップ ゾーン アクションを設定します。
- TRIPIN1-15 または TRIPIN1-15 の ORed 組み合わせロジックの入力信号を設定します。
- EPWM_selectDigitalCompareTripInput()
- DCAEVT1/2 と DCBEVT1/2 のデジタル比較条件を設定します。
- EPWM_setTripZoneDigitalCompareEventCondition()
- 予約済みになるように、デジタル比較サブモジュールへの PWMXBAR 入力を設定します。
- XBAR_selectEpwmXbarInputSource()
アプリケーション コード
PWM をトリップするために、XBAR_invertOutputSignal() を使用して PWMXBAR の状態を反転できます。