2365604_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

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)を参照してください。

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

Tags (1)
No ratings
Version history
Last update:
Wednesday
Updated by: