DS2703の通信フローチャート

要約

SHA-1バッテリパック認証ICのDS2703はさまざまな携帯アプリケーションでリチウムイオンバッテリパックの認証を確実に行う信頼性の高い暗号ソリューションを提供します。DS2703が認識するコマンドは11種あり、それぞれ正しいコマンドを実行するために従わなければならない特別なシーケンスを備えています。このアプリケーションノートはDS2703の完全なトランザクションシーケンスおよび可能なあらゆる通信シーケンスのフローチャートを提供します。

はじめに

DS2703 SHA-1バッテリパック認証ICはさまざまな携帯アプリケーションでリチウムイオン(Li+、Li-ion)バッテリパックの認証を確実に行う信頼性の高い暗号ソリューションを提供します。このデバイスは携帯電話、PDA、またはその他の携帯型コンピュータ機器などのホストシステムのバッテリパックを認証するためにセキュアハッシュアルゴリズム(SHA-1)を使用します。バッテリパックにDS2703を組み込むことによって、システム性能を低下させるかまたはユーザに危害が加わる可能性がある純正ではないバッテリパックからホストを保護します。

DS2703は11種のコマンドを認識し、それぞれ正しいコマンドを実行するためには従わなければならない特別なシーケンスを備えています。このアプリケーションノートはDS2703の完全なトランザクションシーケンスおよび可能なあらゆる通信シーケンスのフローチャートを提供します。

トランザクションシーケンス

1-Wire®ポートによるDS2703のアクセスのプロトコルは次の通りです。

  • 初期化
  • ネットアドレスコマンド
  • ファンクションコマンド
  • データ転送(コマンドのすべてがデータ転送を伴うわけではありません)
1-Wireバスによるすべての通信は初期化シーケンスではじまり、それはバスマスタが転送するリセットパルス、その後DS2703およびその他のバス上に存在する他のスレーブによって同時に転送されるプレゼンスパルスで構成されます。プレゼンスパルスによって1個またはそれ以上のデバイスがバス上にあり、動作可能であることをバスマスタに知らせます。

ネットアドレスコマンド

バスマスタが1個またはそれ以上のスレーブのプレゼンスを検出したら、バスマスタはネットアドレスコマンドの1つを発行します。Read、Match、Search、またはSkipです。図1は各ネットアドレスコマンドのトランザクションフローチャートを示しています。

Figure 1. Net address commands flowchart for the DS2703.
図1. DS2703のネットアドレスコマンドのフローチャート

ファンクションコマンド

初期化およびネットアドレスコマンドが送信されると、DS2703はバスマスタからのファンクションコマンドの受信を待機しています。表1はDS2703が認識する11種のファンクションコマンドのリスト、および各コマンドの簡単な説明を示しています。図2は各コマンドを正しく実行するためにDS2703に要求されるフローを示しています。マスタから同じシーケンスを要求されるコマンドはフローチャート上では1個のブランチにまとめられています。

表1すべてのファンクションコマンド

COMMAND HEX FUNCTION
Write Challenge 0C SHA-1の処理のために64-bitのチャレンジを書き込みます。これはCompute MACおよび Compute Next Secret commandsの前に必要です。
Compute MAC Without ROM_ID and Return MAC 36 ROM_IDの代わりに論理1でW0~W15のハッシュを計算します。
Compute MAC With ROM_ID and Return MAC 35 ROM_IDを使ってW0~W15のハッシュを計算します。
Load Secret 5A 供給されたデータに対する64ビットの秘密鍵を書き込みます。DQライン上にプログラミング電圧が必要です。
Compute Next Secret Without ROM ID 30 新しい公開鍵を生成します。プログラミングパルスが必要です。
Compute Next Secret With ROM ID 33 新しい固有鍵を生成します。プログラミングパルスが必要です。
Lock Secret 6A 秘密鍵の変更を防止するためにロックビットを設定します。プログラミングパルスが必要です。
Set Overdrive 8B OVERDRIVEに対する1-Wireインタフェースタイミングを設定します。プログラミングパルスが必要です。
Clear Overdrive 8D STANDARDに対する1-Wireインタフェースタイミングを設定します。プログラミングパルスが必要です。
Activate Thermistor A9 サーミスタ測定のためにTHM出力をアクティブにします。これはコマンドの終了後50μs以内に起こり、VBコンデンサが放電するまで続きます。
Reset BB DS2703 (ソフトウェアPOR)をリセットします。

Figure 2. A flowchart of function commands for the DS2703.
図2. DS2703のファンクションコマンドのフローチャート

結論

DS2703は特別なシーケンスが必要です。ファンクションコマンドを正しく実行するためにはある特定のタイミング条件が必要です。このアプリケーションノートは完全なトランザクションシーケンスを詳細に説明し、あらゆる可能な通信シーケンスに対するフローチャートを示しました。