2365604_ja-JP

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

2365604_ja-JP

2365604_ja-JP

PN5190 GPIO3

こんにちは、皆さん。

助けていただけると嬉しいです。私たちはPN5190Bを使用しており、ULPCDでの消費電力を測定しようとしています。残念ながら、電流値は2mAなので、どこに間違いがあるのか調べています。ハードウェアの問題なのかファームウェアの問題なのか、まだはっきりとは分かりません。

しかし、私たちが確認しているのは、エキスパンダによって管理されているGPIO3(入力として設定されたピン)で、ULPCDをハイに設定しても、ポーリングのたびに少しずつローになっていく(約2ボルトまで下がる)ということです。PN5190がポーリングのたびに値を低く押し下げているようですが、これは正常な状態でしょうか?

ありがとうございます!

イグナシオ

Re: PN5190 GPIO3

こんにちは、 @ignacioS さん。

あなたの調子が良いといいのですが。

このテストはPN5190開発ボードで行っていますか、それともカスタムボードで行っていますか?電流はどこで測定されていますか?

NFC Cockpitを使用してULPCDモードを設定していますか?どのような手順に従っていますか?

また、GPIO3をエキスパンダーから切り離し、クリーンな信号としてULPCDをテストし、その結果をお知らせください。

よろしくお願いいたします。
エドゥアルド。

Re: PN5190 GPIO3

こんにちは、すみません、前回の投稿に手順を貼り付けていませんでした。

チップを初期化する
pn5190_ulpcd_calibrate(&g_lpcdRefValue);
phhalHw_FieldOff(&hal);
pn5190_ulpcd_wait_for_card(g_lpcdRefValue, 200);

static phStatus_t pn5190_ulpcd_calibrate(uint32_t *pRefVal)
ヤージュ
phStatus_t ステータス;

status = phhalHw_Pn5190_Instr_LPCD_SetConfig(&hal,
PHHAL_HW_CONFIG_SET_LPCD_WAKEUPTIME_MS、
330U);
if ((status & PH_ERR_MASK) != PH_ERR_SUCCESS) return status;

status = phhalHw_Pn5190_Instr_LPCD_SetConfig(&hal,
PHHAL_HW_CONFIG_LPCD_MODE、
PHHAL_HW_PN5190_LPCD_MODE_DEFAULT);
if ((status & PH_ERR_MASK) != PH_ERR_SUCCESS) return status;

status = phhalHw_Pn5190_Instr_LPCD_SetConfig(&hal,
PHHAL_HW_CONFIG_LPCD_CONFIG、
PHHAL_HW_PN5190_LPCD_CTRL_ULPCD_CALIB);
if ((status & PH_ERR_MASK) != PH_ERR_SUCCESS) return status;

status = phhalHw_Lpcd(&hal);
if ((status & PH_ERR_MASK) != PH_ERR_SUCCESS) return status;

return phhalHw_Pn5190_Instr_LPCD_GetConfig(&hal,
PHHAL_HW_CONFIG_LPCD_REF_VAL、
pRefVal);
}

static phStatus_t pn5190_ulpcd_wait_for_card(uint32_t refVal, uint16_t wakeupMs)
ヤージュ
phStatus_t ステータス;

status = phhalHw_Pn5190_Instr_LPCD_SetConfig(&hal,
PHHAL_HW_CONFIG_SET_LPCD_WAKEUPTIME_MS、
ウェイクアップMs);
if ((status & PH_ERR_MASK) != PH_ERR_SUCCESS) return status;

status = phhalHw_Pn5190_Instr_LPCD_SetConfig(&hal,
PHHAL_HW_CONFIG_LPCD_MODE、
PHHAL_HW_PN5190_LPCD_MODE_POWERDOWN);
if ((status & PH_ERR_MASK) != PH_ERR_SUCCESS) return status;

status = phhalHw_Pn5190_Instr_LPCD_SetConfig(&hal,
PHHAL_HW_CONFIG_LPCD_CONFIG、
PHHAL_HW_PN5190_LPCD_CTRL_ULPCD);
if ((status & PH_ERR_MASK) != PH_ERR_SUCCESS) return status;

status = phhalHw_Pn5190_Instr_LPCD_SetConfig(&hal,
PHHAL_HW_CONFIG_LPCD_REF_VAL、
refVal);
if ((status & PH_ERR_MASK) != PH_ERR_SUCCESS) return status;

return phhalHw_Lpcd(&hal);
}

Re: PN5190 GPIO3

こんにちは、エドゥアルドさん。

ご返信ありがとうございます。この件で現在大変忙しくしており、返信が遅くなり申し訳ございません。

テストは最終製品に対して直接実施されています。試作品は既に受け取っており、現在、それらを用いて開発と検証作業を進めています。

初期設定では、PN5190BのSPIを直接制御するホストと、VENおよびGPIO3ラインを処理するI/Oエキスパンダで構成されます。このアプローチは、これが既存製品の改良版であり、マイクロコントローラに利用可能なGPIOがなくなってしまったため、エキスパンダから2つのGPIOを使用せざるを得なかったという事実に基づいています。

問題は、ULPCDモードで規定されている非常に低い消費電流を実現できないことです。これが現在私が持っているPN5190Bの回路図です。

pn5190__.png

私が実施したテスト:

  • エキスパンダーからVEN線とGPIO3線を外し、マイクロコントローラーに直接接続しました。この構成では、ULPCDモードに入ると、システムは約2.8mAを消費します。この時点で、私はさまざまなピン構成(入力/出力/ハイ/ローなど)を試しました。ピンをSPIとして構成したままにしたり、SPIを完全に無効にしたりしました。成功しなかった。私が得ている最小消費電流は依然として約2.8mA、あるいはそれ以上です。
  • プルアップ抵抗R52(VEN)、R53(GPIO3)、R38(チップセレクト)を様々な段階で様々な組み合わせで取り外しましたが、動作は全く同じで、依然として約2.8mAを消費します。
  • この最後のハードウェア構成(ピンをマイクロコントローラに直接接続し、プルアップ抵抗を使用しない)でスタンバイコマンドを送信すると、約50µAの消費電流が得られ、これはNXPが規定する45µAに私の回路による約5µAを加えた値と非常によく一致します。

これらはULPCDモードに入るために使用する手順です。評価ボードで確認した限りでは、私の間違いでなければ正しいはずです。

私が何か間違ったことをしているアイデアはありますか?この問題が解決するまで最初の試作品の製造に着手できないため、どなたかご協力いただければ大変ありがたいです。

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

よろしくお願いします、
イグナシオ

Re: PN5190 GPIO3

こんにちは、

EEPROMの設定(DCDCとULPCD)が正しく構成されていることを確認していただけますか?PN5190の設計推奨事項(セクション4.3)およびPN5190データシート(セクション9.15.3)を参照してください。

よろしくお願いいたします。
エドゥアルド。

Re: PN5190 GPIO3

エドゥアルドさん、確認ありがとうございます。そうします。

私としては、これで一章を終えます。ご支援ありがとうございます

Re: PN5190 GPIO3

こんにちは、

VENピンについては、ホストが直接管理できます。

ULPCDを使用する場合、GPIO3のアボート機能はデフォルトで有効になっており、他の用途には使用できません。GPIO3をフローティング状態にしておくと、場合によっては誤ったウェイクアップが発生することがあります。

GPIO3がホストによって制御されない場合は、アボート極性構成に応じてプルアップ/プルダウン抵抗を追加することを検討してください( PN5190データシート9.2.166を参照)。

よろしくお願いいたします。
エドゥアルド。

Re: PN5190 GPIO3

エドゥアルドさん、ご支援ありがとうございます。はい、ご提案いただいた内容を確認しましたが、既に実行済みでした。我々に影響を与えていた問題点が見つかったと思います。

一方では、それはSPIに関連していた。スタンバイテスト時と同じ設定でSPIチャネルをそのままにしていたのですが、どうやらPN5190はその設定をあまり好まないようです。SPIを完全に閉じる/無効にすることで、最終的に消費電力を削減することができました。

さらに、テストでは、VENピンとGPIO3ピンをエキスパンダに接続する代わりに、外部プルアップなしでマイクロコントローラに直接接続し、VENを出力ハイ、GPIO3を入力プルアップとして構成しました(PN5190のGPIO3は、LOWを検出するとULPCDモードが中止されるように構成されています)。

この設定(500ミリ秒ごとにポーリング)では、消費電流が約25μAに抑えられており、これは素晴らしい結果です。

ただし、これは私が作業台に組み立てた装置での結果です。製品を分析し、次の段階について検討した結果、2つの選択肢が考えられます。

1. (私の推奨オプション) VENをマイクロコントローラに直接接続し(出力ハイ)、GPIO3は一切使用しない。実際、他のトランシーバではポーリング中に起動させる必要がなかったので、GPIO3が何に役立つのかよく分かりません。もしULPCDモードを終了する必要が生じた場合は、VEN経由で簡単にリセットできます。

このバージョンのハードウェアで何度かテストを行いましたが、25μAまで下げることはできず、70μA前後で推移しています。

2点質問させてください。

  • VENラインに外部プルアップ抵抗を接続せず、出力ハイに設定したままにしておくことにリスクはありますか?
  • NXP GPIO3を使用せず、マイクロコントローラにも接続しない場合、どのように放置すればよいでしょうか?懸垂を追加した方が良いでしょうか?そのまま浮かせておく?特別な設定は必要ですか?

2. VENをマイクロコントローラ(出力ハイ)に接続し、GPIO3(入力プルアップ)も接続します。レイアウトは複雑になりますが、低消費電力を実現するために必要なら、そうします。

では、GPIO3を何かに接続しておくことは必須なのでしょうか?

ご協力ありがとうございました。私はもう、これをほぼ完了したと考えるべきところまで来ています。

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎05-30-2026 03:38 AM
更新者: