Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
Translation_Bot
Community Manager
Community Manager
Community Manager

おはようございます

私は最近、IRPS5401用のDB296開発ボードを購入しました。 私は、STM32開発ボードで作られた汎用I2Cインタフェース(インフィニオンプログラマではない)を使用してプログラムしようとしています。 通常モードでロードした後(プログラムに進む前にMTPを3.3Vに設定しない)、I2Cを介してレジスタ56を読み取り、すべてのプログラマブルイメージが使用されていることを確認します。 私はこの開発ボードを使用して自分の製品の実行可能なイメージを取得したいと考えていましたが、私が見るところ、メモリは完全にフラッシュされています。 それは完全にプログラムされた工場から来ることになっていましたか? 開発ボードのデータシートには、完全にプログラムされたオプションであるかどうかを示す完全な部品番号はありません。 ボード上のチップも同様です。 MTP抵抗を変更する代わりに、I2C経由で選択したイメージを変更する方法はありますか? そうすれば、少なくとも現在の機能とノイズの特性評価のテストを行うことができます。

PowIR Centerアプリケーションを使用して画像を作成し、フラッシュしようとしましたが、重要なメモリの場所を読んだ後、何も変更していなかったため、何もしなかったと思います。

ありがとうございました!

0 件の賞賛
1 解決策
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは @Camstillo

インフィニオンのコミュニティに貢献していただきありがとうございます。

0x56[13:8] は、NVM に保存 CAN 画像の合計を表示します。 すでにプログラムされている画像の数を示すものではありません。

Nishanth_0-1691738344812.png

プログラムされたユーザー画像の数を確認するために、0x58と0x5Aを確認してください。

Nishanth_1-1691738344814.png

例:0x58[15:0] + 0x5A[15:0] = 00000000 00000000 00000000 00011111の場合、これは5つのユーザー画像がプログラムされていることを意味します。

評価用ボードのデバイスには、1つのイメージ構成ファイルがロードされています。

評価用ボードではprog_maxレジスタが0に設定されているため、この機能はディセーブルされています。

RMTP 値に関係なく、プログラムされた最後の単一イメージ構成ファイルがロードされます。

prog_max 関数を使用する場合は、次の条件が当てはまります。

  • prog_maxがプログラムされたセグメントの数よりも小さい場合は、最後のセグメントが使用されます。
  • prog_maxがプログラムされたセグメントの数よりも大きく、RMTP が有効なセグメントを指している場合は、このセグメントが使用されます
  • RMTP がプログラムされていないセグメントを指している場合、部品は始動しません。

部品のプログラミングに役立つ以下のドキュメントを見つけてください。

https://www.infineon.com/dgdl/Infineon-DC-DC_POL_IRPS5401_Programming_Guide-AdditionalTechnicalInfor...

https://www.infineon.com/dgdl/Infineon-UG-IRSP5401Demoboard-UM-v01_02-EN.pdf?fileId=5546d4625e37f35a...

よろしく

ニシャンス

元の投稿で解決策を見る

0 件の賞賛
6 返答(返信)
lock attach
Attachments are accessible only for community members.
Translation_Bot
Community Manager
Community Manager
Community Manager

それだけでなく、別の問題は、PROG_MAXレジスタに26個のユーザーイメージを格納するのに十分なビットがないことです。 IRPS5401 FAQ(以下にリンク)には、「最初の15枚の画像 CAN MTP抵抗を使用してアクセスできます。PROG_MAXレジスタは、MTPピンの抵抗によって選択 CAN USERイメージの最大数(最大15)を定義します。書き込まれた画像の数が15を超える場合は、最後に書き込まれた画像が読み込まれます。抵抗によって選択された値がプログラムされていないセグメントを指している場合、画像はロードされません。」 したがって、MTP抵抗とcnfg_nvm_prog_max(実際の名前、prog_max)レジスタと呼んでいるのは本当に紛らわしいですが、26ビットを選択するのに十分なオプションがありません。抵抗器がUSER画像を選択すると書かれていますが、事前にプログラムされた画像をどのように選択しますか?cnfg_nvm_prog_maxレジスタからの値は抵抗か何かで加算されますか?上記と同じ開発ボードでは、使用される抵抗は12.1kで、最大オフセット抵抗の11kよりも大きくなっています。それは+14より大きいオフセットになりますか、それとも抵抗がオフセットに影響を与えないことを意味しますか?抵抗が効果がない場合、使用している画像を選択するにはどうすればよいですか?

これをテストするために、通常の動作モードでレジスタ0x00ビット[11:8]に0からFの間の値を書き込みました。 次に、選択したユーザーイメージを示すレジスタ0x52ビット[11:8]を確認しました。 私はこれを変えることができましたが、出力電圧に変化は見られませんでした。 最初の投稿で述べたように、レジスタ0x56、ビット[13:8]は、26枚の画像がプログラムされていると言います。 これは、上記で行った変更の少なくとも1つが出力電圧の変化をもたらすはずだったことを意味しますが、何も起こりませんでした。 どんな助けでも大歓迎です。

感謝!

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは @Camstillo

インフィニオンのコミュニティに貢献していただきありがとうございます。

0x56[13:8] は、NVM に保存 CAN 画像の合計を表示します。 すでにプログラムされている画像の数を示すものではありません。

Nishanth_0-1691738344812.png

プログラムされたユーザー画像の数を確認するために、0x58と0x5Aを確認してください。

Nishanth_1-1691738344814.png

例:0x58[15:0] + 0x5A[15:0] = 00000000 00000000 00000000 00011111の場合、これは5つのユーザー画像がプログラムされていることを意味します。

評価用ボードのデバイスには、1つのイメージ構成ファイルがロードされています。

評価用ボードではprog_maxレジスタが0に設定されているため、この機能はディセーブルされています。

RMTP 値に関係なく、プログラムされた最後の単一イメージ構成ファイルがロードされます。

prog_max 関数を使用する場合は、次の条件が当てはまります。

  • prog_maxがプログラムされたセグメントの数よりも小さい場合は、最後のセグメントが使用されます。
  • prog_maxがプログラムされたセグメントの数よりも大きく、RMTP が有効なセグメントを指している場合は、このセグメントが使用されます
  • RMTP がプログラムされていないセグメントを指している場合、部品は始動しません。

部品のプログラミングに役立つ以下のドキュメントを見つけてください。

https://www.infineon.com/dgdl/Infineon-DC-DC_POL_IRPS5401_Programming_Guide-AdditionalTechnicalInfor...

https://www.infineon.com/dgdl/Infineon-UG-IRSP5401Demoboard-UM-v01_02-EN.pdf?fileId=5546d4625e37f35a...

よろしく

ニシャンス

0 件の賞賛
lock attach
Attachments are accessible only for community members.
Translation_Bot
Community Manager
Community Manager
Community Manager

それを片付けてくれてありがとう! MTP抵抗とprog_maxレジスタの違いは少し紛らわしいですが、I2C経由で接続されない事前にプログラムされたデバイスの場合には理にかなっていると思います。

しかし、私はもっと質問があります。 PowIRソフトウェアに付属するインフィニオンのプログラマーをようやく購入し、作成したイメージを開発ボードにフラッシュすることができました。 同じイメージを製品のデバイスにフラッシュできるようにしたいと考えています。 ロジックアナライザを使用してI2Cラインを表示し、基本的に初期化時にこれらのコマンドを製品のプロセッサにコピーします。 開発ボードをフラッシュしている間、プログラマーがデバイスを「プログラム」状態にすることは決してないことに気づきました。 プログラミングガイドの3ページを見ると、OTPセクションをフラッシュできるようにするためにICが必要な構成があります(少なくとも私が理解しているように)。 すべてのイネーブル・ラインをローにし、PORの前に少なくとも10msの間、MTPピンに+3.3Vを接続する必要があります。 開発ボードでは、I2CがPORを実行するためのメカニズムが回路図にまったく表示されません。 点滅する前にボードをプログラムモードにせず、スイッチを使用してイネーブルラインをローに引いて出力を無効にしました。 プログラマーは、PORの後、私が期待していたのと同じ電圧(プログラマーを切断した状態)を得たので、どういうわけかボードをフラッシュすることができました。 プログラミングガイドからの私の理解に基づいて、私はフラッシュする前にデバイスをプログラムモードにしなければならないはずでしたが、明らかにそうではありません。 これがどのように可能になったかについてCAN 拡張しますか?おそらく、OTPがどのように機能するかを説明するドキュメントを指し示すことができますか? 私はメモリマップを持っていますが、それはI2Cのデコードにのみ役立ちます。

ご協力いただきありがとうございます、

キャメロン

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは @Camstillo

OTPプログラミングを行うには、イネーブル・ラインをローにしてVccピンに5Vを印加するだけで十分です。

MTPピンに3.3Vが印加されるのは、デバイスをテストモードで動作させたい場合のみです。 テストモードでは、I2Cレジスタに格納されている値に関係なく、I2Cアドレスは0Ah(7ビット)に固定されます。 テストモードを使用しない場合、デバイスのI2Cアドレスはレジスタ0x20[14:8]の内容によって決まります。

OTPの詳細については、 プログラミングガイド ドキュメントのセクション1プログラミングの概要および データシート のセクション9.1ワンタイムプログラマブル(OTP)メモリを参照してください。

よろしく

ニシャンス

 

 

 

0 件の賞賛
lock attach
Attachments are accessible only for community members.
Translation_Bot
Community Manager
Community Manager
Community Manager

プログラマーが CAN するので正しいと思いますが、プログラミングガイドの指示には、プログラムするにはMTPピンを3.3Vにプルする必要があると書かれています。 明らかに、このテストモードである必要はなく、そうでない場合は、ガイドを読むだけではわからないため、実際にドキュメントを変更する必要があります。

さて、それでは別の質問です。 ロジックアナライザを介してプログラマの出力を見て、NVMを変更するためにインフィニオンのプログラマからボードに送信されるコマンドを把握しています。 プログラミングガイドでは、各メモリページを個別にプログラムする必要があるように聞こえます。 私のアナライザーの出力から、プログラマーはこれをしていません。 私が CAN 見たところ、プログラマーは揮発性メモリレジスタを設定するために一連の PMBus コマンドを送信し、どういうわけかそれらをNVMにフラッシュしているようです。 プログラミングガイドは、これがどのように行われるか、またはガイドに記載されている方法でプログラミングするよりもこれが好まれる理由についてのガイダンスを提供していません。 プログラミングのための PMBus の使い方を分類したドキュメントはありますか? PMBusのドキュメントとデバイスのメモリマップを調べようとしていますが、どの命令がコマンド、レジスタアドレス、またはデータであるかを判断するのは困難です。

プログラミング用のコマンドを示すExcelファイルを作成しました。 最初のセクションでは PMBus コマンドを使用してレジスタを設定し、2番目のセクションではすべてのレジスタをチェックして.txtで検証しているようです PowIRセンターによって生成されたファイル。

アプリケーションエンジニアとのミーティングを設定する方法はありますか? 電話で話すことで、これをはるかに速く整理できると感じています。

感謝!

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは @Camstillo

プログラミングガイドのセクション3.1では、通常の操作とテストモードの操作の両方について説明しています。 それは次のように述べています

「このガイドでは、テストモードはすべてのレジスタの読み出しおよび書き込み操作に使用されます。」

Nishanth_0-1692125279401.png

テストモードは、プログラミングを実行するために必要ではありません。

プログラミング CAN 、USB005 および PowIRCenter GUI を使用して PMBus コマンドで実行できます。

プログラミング CAN 、プログラミングガイドの手順に従って行うこともできます。

どちらの場合も、デバイスを正しくフラッシュできます。

プログラミングガイドの目的は、独自のプログラミング環境でプログラミング手順を実行するために必要な情報をユーザーに提供することです。

プログラミングのための PMBus の使用法を分類する他のドキュメントはありません。

IRPS5401 コマンド セット ドキュメントでは、プログラミングに使用されるすべての PMBus コマンドについて説明します。

よろしく

ニシャンス

 

 

0 件の賞賛