2391475_ja-JP

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

2391475_ja-JP

2391475_ja-JP

DDRツールでpmic_setコマンドの送信に失敗しました。

こんにちは、

現在、DDR ToolでPCA9450CのBUCK6出力電圧を調整しようとしていますが、問題が発生しました。

以下のコマンドをi.MX8M Plusボードに書き込み、PCA9450Cが確かにI2C1に接続されていることを確認しました:

メモリ設定 0x30330200 32 0x00000010 # I2C1_SCL MUX (SION=1)

メモリセット 0x30330204 32 0x00000010 # I2C1_SDA MUX (SION=1)

メモリセット 0x30330460 32 0x000001C6 # I2C1_SCL PAD

メモリセット 0x30330464 32 0x000001C6 # I2C1_SDA PAD

sysparam set pmic_cfg 0x004A

sysparam set pmic_set 0x1E11


.dsファイルをダウンロードした後ファイルに対して、UARTコンソールは以下のログを出力しました。

PMICはDDRスクリプトで初期化されます

I2C_I2SR(0x30a2000c):0x81

バスはまだ準備ができていません

エラー: PMIC reg[0x1e] の初期化が値[0x11]で失敗しました


オシロスコープでI2C1のSCLとSDAラインをチェックしたところ、両方のラインがプルダウンされてラッチされていることが確認できました。それらは電源を再投入した後にのみ、デフォルトのプルアップ状態に戻ります。

さらに、#sysparam コマンドをコメントアウトすると、I2Cバス上のデフォルトのPMIC初期化波形を正常に観察でき、UARTログもPCA9450が検出されたことを正しく示しています。



Re: Failed to send the pmic_set command in the DDR Tool.

根本原因を突き止めました。IOMUXC_I2C1_SDA_IN_SELECT_INPUT (0x303305A4) および IOMUXC_I2C1_SCL_IN_SELECT_INPUT (0x303305A8) レジスタが設定されていません。この詳細は将来の参考のためにアプリケーションノートに添付することをお勧めします。ありがとう!"

Re: Failed to send the pmic_set command in the DDR Tool.

#sysparamをコメントアウトした後、オシロスコープを使用して、i.MX8M Plus が PCA9450C に書き込むデフォルト設定をキャプチャしました。キャプチャされたシーケンスは以下のとおりです。

  1. 0x25W、0x00

  2. 0x25R、0x31

  3. 0x25W、0x0C、0x29

  4. 0x25W、0x11、0x1C

  5. 0x25W、0x12、0x14

  6. 0x25W、0x10、0x59

  7. 0x25W、0x1E、0x14

これらの調査結果に基づき、私は.dsファイルに以下のコマンドを追加しました。ファイル:

# 2. IOMUX 設定。(SION=1、ODE=1、内部プルアップ)
メモリ設定 0x30330200 32 0x00000010 # I2C1_SCL MUX (SION=1)
メモリセット 0x30330204 32 0x00000010 # I2C1_SDA MUX (SION=1)
メモリセット 0x30330460 32 0x00000176 # I2C1_SCL PAD
メモリセット 0x30330464 32 0x00000176 # I2C1_SDA PAD

sysparam set pmic_cfg 0x0025 # PMICアドレス
sysparam set pmic_set 0x0C29 # BUCK1&3を0.85Vに設定、BUCK2を0.9Vに設定
sysparam set pmic_set 0x111C # BUCK1 DVS0 = 0.95V
sysparam セット pmic_set 0x1214 # BUCK1 DVS1 = 0.85V
sysparam set pmic_set 0x1059 # BUCK1CTRL = 0x59 (PMIC_STBY_REQ を介した DVS 制御)
sysparam set pmic_set 0x1E11 # BUCK6 を 1.025V に設定

しかし、UARTコンソールはこの段階で依然として停止してしまう。以前とは少し異なり、エラーメッセージは表示されなくなり、ここで停止します。

ダウンロードが完了しました
ターゲットボードの起動を待っています...

オシロスコープでI2C1のSCL線とSDA線をチェックしたところ、動作は以前と同じで、両方の線ともプルダウンされてラッチされており、電源を入れ直した後にのみデフォルトのプルアップ状態に戻ります。


Re: Failed to send the pmic_set command in the DDR Tool.

事前設定されたPMIC初期化を無効にすると、すべて手動で行う必要があります。

i.MX 93 EVKボードでは、デフォルトのPMIC I2CバスはI2C2です。

I2C 1に変更するには、適切なピンマルチプレクサを設定する必要があります。

pengyong_zhang_2-1712478553952.png

次に、適切なコマンドを送信する必要があります。(例)

pengyong_zhang_0-1712478914527.png

コマンドの説明:

コマンド バリュー 説明
0 pmic_cfg 0x0025

I2Cバス1

(0はI2C1、1はI2C2、2はI2C3、3はI2C4…)

PMICアドレス0x25

1 pmic_set 0x0C29

レジスタ=0x0C

BUCKxOUT_DVS0/1
preset_buck1=0.8V、preset_buck2=0.7V、preset_buck3=0.8VPCA9451_BUCK123_DVS
値=0x29

2 pmic_set 0x1118

レジスタ=0x11

BUCK1OUT_DVS0=0.9V PCA9451_BUCK1OUT_DVS0 値=0x18

3 pmic_set 0x1718

レジスタ=0x17

BUCK3OUT_DVS0=0.9V PCA9451_BUCK3OUT_DVS0 値=0x18

4 pmic_set 0x1428

レジスタ=0x14

VDDQを1.1Vに設定 PCA9451_BUCK2OUT_DVS0値=0x28


BUCK6の設定は、レジスタ0x1Dと0x1Eに格納されます。

お役に立てば幸いです。
ベルンハルト。



Re: Failed to send the pmic_set command in the DDR Tool.

ああ、そうそう、あの有名なDAISYレジスターですね。よく気づいたね!

カスタム設定を選択した場合、すべてを手動で設定する必要があります。おっしゃる通り、ピン構成に関しては、DAISYレジスタはあまり重要視されません。UARTピン多重化設定については、標準のピン多重化設定とパッド設定に加えて、RX信号のdsに表示されます。しかし、I2Cに関してはファームウェアがバックグラウンドでデフォルト設定として処理するため、dsファイルに設定内容は表示されません。

補足として、i.MX 93の場合、I2C1とI2C2にはDAISYチェーンレジスタは存在しませんが、I2C3~8には存在します。

この詳細はツールグループにフィードバックします。この詳細は設定ツールのユーザーマニュアルの一部になるべきです。あるいは、または追加して、I2Cインターフェースの設定がdsファイルに表示されるはずです。

よろしくお願いいたします。
ベルンハルト。

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