2413939_ja-JP

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

2413939_ja-JP

2413939_ja-JP

NXP S32k118 I2Cエミュレーション

こんにちは、

私は、I2Cマルチプレクサを使用せずに、S32K118(Q48)マスターから10個の同一アドレスのI2Cスレーブを同時に駆動する方法を評価しています。

私の計画は、ハードウェアタイマーでクロックを生成し、DMA転送を組み合わせて同じポート上の10本のGPIOピンを同時に更新することで、10本の並列I2Cバスをエミュレートすることです。

S32K118のDMAやタイマー**ペリフェラル**が、このような方法でポート全体のGPIO更新をトリガーできるかどうか、確認を手伝ってもらえますか?このアーキテクチャに関して注意すべきハードウェアの制限やエッジケースはありますか?

よろしくお願いいたします。

Re: NXP S32k118 I2C emulation

こんにちは、 @Luke_John さん

はい、このアーキテクチャは基本的にサポートしています。

S32K1xxシリーズリファレンスマニュアル、Rev. 14を参照:

第13.3.1項 GPIOレジスタの説明

ご覧の通り、すべてのGPIOポートは32ビットレジスタからアクセス可能です。

セクション 17 4.1「GPIOポートを使用して波形を駆動またはサンプリングする」DMAを構成してデータを1つ以上のGPIOポートに転送することにより、オンチップメモリに格納された表形式データを使用して複雑な波形を作成することが可能です。逆に、DMAを使用して1つまたは複数のGPIOポートからデータを定期的に転送することで、複雑な波形をサンプリングし、その結果を表形式でオンチップメモリに保存することが可能です。

DMAトランスファーはDMAMUXやTRGMUXのタイマーでトリガーできます。

シームレスなDMA転送を実現するには、クロスバーをラウンドロビンアービトレーション(MCM_CPCR[CBRR]を「1」に設定)にプログラムする必要があります。


よろしくお願いいたします。

ダニエル




タグ(1)
評価なし
バージョン履歴
最終更新日:
金曜日
更新者: