2149180_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2149180_ja-JP

2149180_ja-JP

S32K3xx Flexio I2C マスターのボーレート計算の問題

NXPの専門家の皆さん、こんにちは。

最近、プロジェクトのMCUをS32K118からS32K312EVB-Q172に変更しました(SDK 5.0.0を使用)。HF01)。どちらも FIRC 48Mhz で動作しています。

しかし、Flexio モジュールを使用して I2C マスターを設定する際に行き詰まりました。ターゲット ボー レートは 400 kHz です。

しかし、以下の問題が見つかりました...

1.ボーレートの計算式はK1シリーズとK3シリーズで異なります。

K3 シリーズでは、ボーレートは 2 つのパラメータ (I2c タイマー比較値と I2c FlexIO プリスケーラ) によって計算されますが、K1 シリーズ SDKs ではボーレートを使用してパラメータを計算します。

InputClockとDividerをパラメータとしてボーレートを計算するSDKコードを参照します。

S32K3xx の場合: baudRate = (inputClock + divider + 2U) / (2U * ((uint32_t)divider + 2U));

acnhyxgxl1_3-1754652341006.png

S32K1xx の場合: ボーレートは開発者によって割り当てられ、ボーレートを使用して分周値と分周値を計算します。

tmpDiv = (((int32_t)入力クロック + (int32_t)ボーレート) / (2 * (int32_t)ボーレート)) - 2;

acnhyxgxl1_1-1754651534078.png

SO私の質問は、これらの式は互いに等しくないようです。どうすれば希望するボーレートを取得できるのでしょうか?

cmpvalue を 58 に設定し、prescaler をFLEXIO_TMR_DECREMENT_ON_FLEXIO_CLK_DIV_1 に設定してみましたが、400 kHZ が生成されるはずですが、LA 測定が 295 kHZ 付近で止まってしまいます。

acnhyxgxl1_4-1754652723423.png

2. S32 Design Studio 周辺機器 GUI でボーレートの計算が不正確になります。

I2c タイマーの比較値を変更しましたが、車載生成されたボーレート値は GUI と Flexio_I2c_Ip_PBcfg.c で変更されません。

acnhyxgxl1_5-1754652807021.png

acnhyxgxl1_6-1754652822207.png


事前に返信いただきありがとうございます!




S32K1 用 S32 SDKS32V用S32 SDKRe: S32K3xx Flexio I2C Master Baudrate Calculation Issue

こんにちは@acnhyxgxl1

RTD_I2C_UM pdf に基づいてボー レートを計算する方が簡単だと思います (これがツールがボー レートを計算する方法であるため)。

Snag_91a4d9.png

比較値は次のようにして求めることができます。

ボーレート = CLK / (2 * (CMP + 9))
CMP = (CLK / (BR * 2)) - 9

400kHzボーレート、FIRC 48MHz、CORE_CLK div = 2の場合:

Snag_a4d3dc.png

Snag_a4f3f7.png

CMP = (24MHz / (400kHz * 2)) - 9
CMP = 21

Snag_a52661.png

Flexio_I2c_Ip_CS_0_PBcfg.c ファイルに正しい値を生成します。

Snag_109bf6e.png

プルアップ抵抗の値は立ち上がり時間と速度にCAN影響する可能性があることに注意してください。この使用CASEでは 4k7 オームの抵抗器を使用することをお勧めします。計算によって値のサイズを決定するために、次の資料を参照することもCANます。

最後に、GUIとボーレートが変更されない現象についてですが、これは設定ツールのバグであることが確実です。実際のボーレートは手動で計算または測定する必要があるかもしれません。このツールのバグについては社内チームに報告いたします。ご連絡いただきありがとうございます。

よろしくお願いします、
ジュリアン

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎11-21-2025 01:01 AM
更新者: