STM NFC Dynamic Tag IC “ST25DV” を使用した Firmware Updateについて 三信電気株式会社 販売技術部 2018.12.18
Fast Transfer Mode Mailbox@RAM デモ概要 STM社が提供するNFC Dynamic Tag “ST25DV” のFTM機能(Fast Transfer Mode)を 使用することで、I2Cで接続されたマイコンROMのF/Wアップデートを、NFCリーダ経由で高速に行えます。 ※ただ単に、“かざす“といった基本動作をきっかけに、簡単にF/Wアップデートが行えます。 ①リーダ側でファイルを選択 ②かざす (GPOアサート@マイコンプログラムスタート) ③パスワード入力 ④書換え実行&CRCチェック マイコン ST25DV NFC リーダ (Android Smart Phone /PC/Tablet) Dynamicレジスタ MB_LEN_Dyn MB_CRTL_Dyn ( ) GPO/ RF-PUT_MSG Staticレジスタ MB_MODE MB_WDG ROM UpdateData UpdateData 13.56MHz Fast Transfer Mode Mailbox@RAM (256Byte) I2C スルーレート(理論値) 125KByte/sec 3.3KByte/sec 参考)マイコン I2Cクロック@1MHz使用時、実測 2KByte/sec程度
NFCを使うメリット 非接触によるパラメータ変更が可能 P2P接続による確かなアップデートが可能 電波法認証取得が不要 製品側にはケーブル類が一切不要となるため、自由なデザイン設計が可能 PCBを覆う筐体や、梱包箱の外側からでもプログラミングすることができます P2P接続による確かなアップデートが可能 NFCは、数センチレベルでの近距離無線方式を採用 飛び過ぎない無線技術ですので、意図した機器との確実な通信ができます 電波法認証取得が不要 ダイナミックタグは、パッシブ接続 アクティブ接続ではないので、電波法認証取得の必要がありません NFCリーダは、市販のAndroidスマホで代替可能 専用のリーダー以外にも、iOS端末を除く、Andorid端末でご使用いただけます 導入コストの削減、サービス要員の負担軽減
+ + 評価に必要なもの H/W環境 S/W環境 コンパイラ S/W開発環境 モバイル評価 PC評価 モバイル評価 PC評価 ■ST25DV-DISCOVERY kit - NFCダイナミックタグIC “ST25DV04K” - アンテナ(Class 5) - マイコン “STM32F405VGT6” - ST Link搭載 ■USBケーブル(Miniコネクタ) ■MDK-ARM™ (uVision) ■ST25DV-DISCOVERY向けソフトウェア - STSW-ST25DV001 + + ※デバッカは、ST25DV-DISCOVERに搭載するST Linkをそのままご使用頂けますので不要です。 モバイル評価 PC評価 モバイル評価 PC評価 ■PCソフトウェア - STSW-95HF001 - STSW-ST25PC001 ■Android端末 (NFCリーダ機能搭載) ■Windows PC / Tablet ■DEMO-CR95HF-A board ※M24LR-DISCOVERY付属 (UM1084) ■Android アプリケーション - ST25 NFC Tap (Google Playから入手)
ドキュメント類(ダウンロード先) STMホームページ(www.st.com)から、“ST25DV-DISCOVERY”で検索 https://www.st.com/ja/evaluation-tools/st25dv-discovery.html ■ハードウェアリソース ・ユーザマニュアル(UM2096) ・ガーバーデータ(マザーボード/アンテナ) ・BOMリスト ・設計回路図 ・ライセンス契約 ■ツール&ソフトウェア ・PCソフトウェア(DEMO-CR95HF-Aボード:UM1084):STSW-95HF001 ・Androidアプリ(ST25DV):STSW-ST25001 ・ST25DV-DISCOVERY kit 向けファームウェア:STSW-ST25DV001 ・Windows PC ソフトウェア(ST25 Javaアプリケーション):STSW-ST25PC001 ■評価ツール ・評価用アンテナ(Class 1/6):ANT-1-6-ST25DV ■ST25DVに関する技術情報(データシート、アプリケーションノート) 以下のURLより入手可能。 https://www.st.com/ja/nfc/st25dv-i2c-series-dynamic-nfc-tags.html?querycriteria=productId=SS1950 ・データシート(DS10925) ・アプリケーションノート:FTM仕様について(AN4910)
ST25DV スペック概要 ・ISO / IEC15693およびNFCフォーラムType 5タグ非接触インタフェース ・1MHz I²Cシリアル・インタフェース(動作電圧:1.8 ~ 5.5V) ・容量4Kbit ~ 64KbitのEEPROM ・大容量256バイトRAMバッファによる高速転送 ・エナジー・ハーベスティング(RF給電)機能 ・パスワード保護(64bit) ・複数のRFイベントに対応した設定が可能なGPO割込みピン ・動作温度範囲 レンジ6: ・ -40℃ ~ 85℃ レンジ8: ・ -40℃ ~ 105℃(UDFPN8のみ) ・ -40℃ ~ 125℃(SO8NおよびTSSOP8のみ、 RFインタフェースについては最大105℃)
システムブロック図、周辺回路図 MCU
通信プロトコル AN4910より抜粋 I2C ST25DV RF MailBox Update シーケンス開始 Update シーケンス終了 かざす GPO出力 FTM(MailBox)を有効に設定 Update シーケンス開始 メッセージを置く ステータスコマンドを発行 (ポーリング・完了待ち) 完了 データ長コマンドを発行 データ長を取得 メッセージコマンドを発行 メッセージを取得 割込発生 ステータスコマンド発行 (ポーリング・完了待ち) メッセージの有無を確認 (ポーリング) Status:メッセージ有 ・・・・ 例) 1.RFはメッセージを置く RFは、RF Write Messageコマンドで、メッセージを書く:BF 21 2C 01 23 45 67 89 RFは、RF Read Dynamicレジスタ(MB_CTRL_Dyn)を読み込み、85hを待つ RFは、RF Read Message Lengthコマンドで、メッセージの長さを取得 8Byte RFは、RF Read Messageコマンドでメッセージを取得:8byte BF 21 2C 01 23 45 67 89 2.I2Cは割込イベントを検出 I2Cは、I2C Read Dynamicレジスタ(IT_STS_Dyn)を読み込み、20hの検出を行う 3.I2Cはメッセージを取得する I2Cは、I2C Read Dynamicレジスタ(MB_LEN_Dyn)を読み込み、長さを取得(8Byte) I2Cは、I2C Read Messageコマンドで、メッセージを取得: BF 21 2C 01 23 45 67 89 RFは、RF Read Dynamicレジスタ(MB_CTRL_Dyn)をPollingし、完了を待つ (81h) データ長コマンドを発行 データ長を取得 受信コマンドを発行 メッセージを取得 完了 Update シーケンス終了 FTM(MailBox)を無効に設定 MailBox
デモ完了までの一連の手順(FWアップデート) 1.ST25DV DISCOVERYボードに電源供給(USB) 2.FTMモードに設定 3.Androidアプリ起動「NFC tap App」 4.Android スマホをかざす 5.App左上のメニューバーから「Firmware Update」を選択 6.Select Firmware fileから「アップデートファイル」を選択 7.転送開始 8.パスワード入力「12345678」 9.アップデート実行 10.CRCチェック 11.ステータスチェック(LCDパネルをタッチ) 12.Version Upを確認。終了