1106962_ja-JP

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

1106962_ja-JP

1106962_ja-JP

NFCリーダーライブラリに基づくPN7462 SPIMデモ作成ガイド<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

SPIMモジュールは、32ビットARM Cortex-M0ベースのNFCマイクロコントローラーであるPN7462が提供するマスターインターフェイスの1つであり、ユーザーはこのインターフェイスを使用して最大2つのSPIスレーブデバイスに接続できます。

pastedImage_1.png

NFCリーダーライブラリは、phHal/phhalSPIMでSPIMドライバコードを提供し、ユーザーは「PN7462AU_ex_phExHif」のデモで行われているのと同じように、アプリケーションで次のAPIを直接使用して単純なSPIトランザクションを実装できます。

pastedImage_2.png

このデモには、1つのNSSセッションで書き込み/読み取り操作が必要な一部のSPIまたはフラッシュデバイス(たとえば、次のようにOM27462上のSPIまたはフラッシュデバイス)には制限があります。

pastedImage_3.png

R202をはんだ付けし、3V3に接続して、nHoldピンがPORからプルアップしていることを確認してください。

pastedImage_21.png

以下は、このデバイスがサポートするコマンドセットの 1 つです。

pastedImage_4.png

このコマンドには、1 つの NSS セッションで 1 つの write(9F) 操作とそれに続く 3 つの読み取り操作が含まれていますが、次のように phhalSPIM_Transmit() と phhalSPIM_Receive() を使用して実装すると、次のようになります。

ステータス = phhalSPIM_Transmit(PH_EXHIF_HW_SPIM_SLAVE, PH_EXHIF_HW_SPIM_INIT_CRC, PH_EXHIF_HW_SPIM_APPEND_CRC, PH_EXHIF_HW_SPIM_CRC_INIT, 2, cmd_buf, PH_EXHIF_HW_SPIM_CRC_OFFSET);

 

ステータス = phhalSPIM_Receive(PH_EXHIF_HW_SPIM_SLAVE, PH_EXHIF_HW_SPIM_INIT_CRC, PH_EXHIF_HW_SPIM_CRC_INIT, data_length, dst, PH_EXHIF_HW_SPIM_CRC_OFFSET);"

次の結果が得られます。

期待:

NSS   \__________________________/

MOSI     CMD A7-A0

MISOデータ

 

 

 

actual:                        

NSS   \____________||______________/

MOSI     CMD A7-A0

MISOデータ

したがって、書き込みと読み取りの間のパルスが問題であり、ここでは、SPIM_CONFIG_REGのNSS_VALビットとNSS_CONTROLビットの助けを借りて、NSSラインを手動で処理する必要があります。

pastedImage_5.png

したがって、コードは次のようになります。

 

Assert NSS

 

ステータス = phhalSPIM_Transmit(PH_EXHIF_HW_SPIM_SLAVE, PH_EXHIF_HW_SPIM_INIT_CRC, PH_EXHIF_HW_SPIM_APPEND_CRC, PH_EXHIF_HW_SPIM_CRC_INIT, 2, cmd_buf, PH_EXHIF_HW_SPIM_CRC_OFFSET);

 

ステータス = phhalSPIM_Receive(PH_EXHIF_HW_SPIM_SLAVE, PH_EXHIF_HW_SPIM_INIT_CRC, PH_EXHIF_HW_SPIM_CRC_INIT, data_length, dst, PH_EXHIF_HW_SPIM_CRC_OFFSET);"

 

De-assert NSS

NSS のラインアサートおよびデアサート機能は、次のようにレジスタ ビット レベルの API を使用して実装できます。

            PH_REG_SET_BIT(SPIM_CONFIG_REG, NSS_VAL);//de-assert NSS
            PH_REG_SET_BIT(SPIM_CONFIG_REG, NSS_CTRL);

            PH_REG_CLEAR_BIT(SPIM_CONFIG_REG, NSS_VAL);//assert NSS

また、アプリケーションコードには次のヘッダーファイルを含めてください。

#include 「ph_Reg.h」

#include「PN7462AU/PN7462AU_spim.h」

phhalSPIM_Transmit() と phhalSPIM_Receive() は Rom ベースの関数であり、デフォルトでは Bit をクリアするNSS_CTRLに注意してください。ROM APIの動作を変更することはできませんが、幸いなことに、代わりにphhalSPIM_TransmitContinue()とphhalSPIM_ReceiveContinue()があります。したがって、最終的な解決策は次のようになります。

Assert NSS

 

ステータス= phhalSPIM_TransmitContinue(1, cmd_buf);

 

ステータス = phhalSPIM_ReceiveContinue(3, dst);

 

De-assert NSS

これは、phhalSPIM_Transmit() と phhalSPIM_Receive() が役に立たないという意味ではなく、レジスタ ビット レベルの API を使用して SPIM モジュールを手動で初期化したくない場合に、SPI マスター インターフェイスの設定にも役立つためです。これら 2 つの機能を正しく動作させるために、書き込み/読み取りの長さに 1 バイトを使用することに注意してください。

したがって、擬似コード全体は次のようになります。

phhalSPIM_Init(PH_HW_SPIM_TIMEOUT) ;
phhalSPIM_Configure(PH_HW_SPIM_SLAVE, PH_HW_SPIM_MSB_FIRST,                 \
                                    PH_HW_SPIM_MODE, PH_HW_SPIM_BAUDRATE,  \
                                    PH_HW_SPIM_NSSPULSE, PH_HW_SPIM_NSSPOL) ;

ステータス = phhalSPIM_Transmit(PH_EXHIF_HW_SPIM_SLAVE, PH_EXHIF_HW_SPIM_INIT_CRC, PH_EXHIF_HW_SPIM_APPEND_CRC, PH_EXHIF_HW_SPIM_CRC_INIT, 1, cmd_buf, PH_EXHIF_HW_SPIM_CRC_OFFSET);

 

ステータス = phhalSPIM_Receive(PH_EXHIF_HW_SPIM_SLAVE, PH_EXHIF_HW_SPIM_INIT_CRC, PH_EXHIF_HW_SPIM_CRC_INIT, 1, dst, PH_EXHIF_HW_SPIM_CRC_OFFSET);"

Assert NSS

 

ステータス= phhalSPIM_TransmitContinue(1, cmd_buf);

 

ステータス = phhalSPIM_ReceiveContinue(3, dst);

 

De-assert NSS

次の手順は、NFCリーダーライブラリに基づいて新しいプロジェクトを作成する方法を示しています。NFCリーダーライブラリのインポート方法については、 https://www.nxp.com/docs/en/user-guide/UM10883.pdf を参照してください。

1. NFCリーダーライブラリをインポートした後、新しいプロジェクトを作成します。

pastedImage_11.png

2. PN7462サポートパッケージをインストールした場合は、次のように表示されます。

pastedImage_12.png

3. NFCリーダーライブラリへのリンクを追加します。

pastedImage_14.png

4. プロジェクトでパスを追加し、NFC リーダー ライブラリを有効にします。

pastedImage_15.png

pastedImage_16.png

5. cr_startup.c を削除し、メインコードとヘッダーファイルを作成します。

pastedImage_17.png

pastedImage_18.png

6. ビルド結果:

pastedImage_22.png

7.Debug result:

pastedImage_23.png

デモ版を入手するには、 https://community.nxp.com/docs/DOC-329745 のガイドからプライベートチケットを送信してください。

お役に立てれば幸いです。

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

Kan

接触型スマートカードリーダーICNFCコントローラーソリューションNFCリーダー・ライブラリ
标记 (1)
无评分
版本历史
最后更新:
‎01-05-2026 12:32 PM
更新人: