こんにちは、皆さん。
助けていただけると嬉しいです。私たちはPN5190Bを使用しており、ULPCDでの消費電力を測定しようとしています。残念ながら、電流値は2mAなので、どこに間違いがあるのか調べています。ハードウェアの問題なのかファームウェアの問題なのか、まだはっきりとは分かりません。
しかし、私たちが確認しているのは、エキスパンダによって管理されているGPIO3(入力として設定されたピン)で、ULPCDをハイに設定しても、ポーリングのたびに少しずつローになっていく(約2ボルトまで下がる)ということです。PN5190がポーリングのたびに値を低く押し下げているようですが、これは正常な状態でしょうか?
ありがとうございます!
イグナシオ
こんにちは、 @ignacioS さん。
あなたの調子が良いといいのですが。
このテストはPN5190開発ボードで行っていますか、それともカスタムボードで行っていますか?電流はどこで測定されていますか?
NFC Cockpitを使用してULPCDモードを設定していますか?どのような手順に従っていますか?
また、GPIO3をエキスパンダーから切り離し、クリーンな信号としてULPCDをテストし、その結果をお知らせください。
よろしくお願いいたします。
エドゥアルド。
こんにちは、すみません、前回の投稿に手順を貼り付けていませんでした。
チップを初期化する
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);
}
こんにちは、エドゥアルドさん。
ご返信ありがとうございます。この件で現在大変忙しくしており、返信が遅くなり申し訳ございません。
テストは最終製品に対して直接実施されています。試作品は既に受け取っており、現在、それらを用いて開発と検証作業を進めています。
初期設定では、PN5190BのSPIを直接制御するホストと、VENおよびGPIO3ラインを処理するI/Oエキスパンダで構成されます。このアプローチは、これが既存製品の改良版であり、マイクロコントローラに利用可能なGPIOがなくなってしまったため、エキスパンダから2つのGPIOを使用せざるを得なかったという事実に基づいています。
問題は、ULPCDモードで規定されている非常に低い消費電流を実現できないことです。これが現在私が持っているPN5190Bの回路図です。
私が実施したテスト:
これらはULPCDモードに入るために使用する手順です。評価ボードで確認した限りでは、私の間違いでなければ正しいはずです。
私が何か間違ったことをしているアイデアはありますか?この問題が解決するまで最初の試作品の製造に着手できないため、どなたかご協力いただければ大変ありがたいです。
よろしくお願いいたします。
よろしくお願いします、
イグナシオ
こんにちは、
EEPROMの設定(DCDCとULPCD)が正しく構成されていることを確認していただけますか?PN5190の設計推奨事項(セクション4.3)およびPN5190データシート(セクション9.15.3)を参照してください。
よろしくお願いいたします。
エドゥアルド。