BluetoothプロトコルスタックのHCI層(第1章)

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/madannasf/article/details/102738510

HCIについて

HCI(ホスト通信インタフェース)ホスト通信ポート上層は主にコマンドと時間を転送するために使用されるユニファイドコミュニケーションポートを提供するために、それは主にあります。おそらく以下の図は、
ここに画像を挿入説明
ホスト(ユーザアプリケーション)にコマンドを送信するブルートゥース通信プロトコルを制御するが、作業モード応答にブルートゥースを制御するために定義されている処理後ホストブルートゥースを通知するイベントとして返されます。

プロトコル・データ・フォーマット

HCIトランスポートデータ形式4種類のプロトコル・タイプコマンド、ACL、SCOイベントと対応するデータのために、それぞれがあり、それぞれ、
コマンド(0x01の)
ACL(0×02)
SCO(0x03の)
イベント(0×04)

1.1、コマンドポケット

以下のコマンドポケットデータフォーマット、あなたも理解して、文書のBluetoothプロトコルスタックを読み取ることができます。
ここに画像を挿入説明
彼は、コマンド操作、およびOCFのOGF組成のオペコード。

1.2、ACLデータポケット

主に音楽などのデバイス間のデータのマスタースレーブ非同期交換のために使用ACLは、私たちのL2CAPは、このモードを使用しています。次のようにプロトコルデータパケット形式であり、
ここに画像を挿入説明
ハンドルが現在の通信チャネルのハンドルを表し、PBフラグ(パケット境界フラグ)は、受信パケットレイヤによって表されてもよいです。
ここに画像を挿入説明

1.3、SCOデータパケット

SCOは、主BLEとホストとの間の等時性データの伝送のために使用され、次のようにパケットフォーマットは、であり
ここに画像を挿入説明
、上述したように、ハンドル、PSFは、以下
ここに画像を挿入説明

1.4、イベントパケット

メインイベントは、イベントが発生した場合、ホスト装置は、次の形式であること通知することです。
ここに画像を挿入説明

第二に、コマンドおよび時間導入

Bluetoothプロトコルスタックは、コマンドとあまりにも多くのイベントが、ここでは唯一のものをいくつかの一般的なコマンドやイベントを一覧表示します

2.1リセットコマンド

2.1.1、ホスト送信部。

00000010 00000010 00100000 00000110 00000000 00000010 00000000 01000001 00000001 00000000 00000001 00000001 00000011 00001100 00000000

コマンド:00000001(0x01の)

オペコード:00000011 00001100(OGF:000011(0×03)、OCF:0000000011(0×03))テーブルルックアップOGFに明らかとリセット命令OCF

2.1.2、応答が受信装置の下方に、

00000100 00001110 00000100 00000001 00000011 00001100 00000000

イベント:00000100(0x04を)

イベントコード:00001110(0x0Eの、コマンド終了コマンド)

全長PARAMTER:00000100(パラメータ長が4です)

NUM HCIコマンドパケット:00000001(THホストコントローラ1は、命令を受信して​​もよいことを示します)

オペコード:00000011 00001100(OGF:000011 (0×03)、OCF:0000000011(0×03))は、リセットコマンド応答指定され、この値は、同一の送信部でなければなりません

ステータス:00000000(ゼロ故障コードを特に参照して、障害の他の成功しています)

おすすめ

転載: blog.csdn.net/madannasf/article/details/102738510