BluetoothPCソフトウェア設計Bluetoothヘッドフォン
BluetoothPCソフトウェア設計Bluetoothヘッドフォン
PC側はオブジェクト指向C++プログラミングを採用し、VC ++60開発プラットフォームの下でBluetoothHCI層通信に基づく基本的なデータ伝送制御プログラムを実現します。PC側のオペレーティングシステムはXPであり、使用されるBluetoothデバイスはBluetooth USBアダプタ。BluetoothUSBアダプタとPCはUSBインターフェイスを介して接続および通信されるため、データ送信にはBluetooth HCIUSBトランスポート層が使用されます。USBは、「ユニバーサルシリアルバス実装フォーラム」組織によって公開および推進されているシリアルインターフェイス標準です。 Bluetoothは、USBインターフェイス用の新しいプロトコルを開発する代わりに、既存のUSBプロトコルを使用します。ドライバーに関しては、一方で、xPシステム自体が基盤となるハードウェアドライバーと単純な上位層アプリケーションを提供します。BluetoothUSBアダプターの後PCに接続されている場合は、自動的にロードされます。一方、Bluetoothチップのメーカーが異なれば、ハードウェアも異なります。技術者によるアプリケーション固有の開発を容易にするBluetoothUSBアダプター用のアイバーXPシステムには
ドライバーは直接アプリケーション指向であり、HCLレイヤーをシールドするため、ここではCSRが提供するBluetooth USBドライバーcsrbc01infを使用し、一連の制御ワードをこのドライバーに付加します。BluetoothUSBアダプターをインストールした後、VC++6.0プログラミングでプラットフォームは、Windows API機能を使用し、ドライバーが提供する一連の制御ワードと組み合わせて、BluetoothUSBアダプターへのアクセスを実現できます。
HCIUSBトランスポート層に基づくPC側でのBluetooth通信の開発の手順とプロセスは、前述のBluetooth HCIUART層に基づくマイクロコントローラーの開発と同様であり、すべてBluetoothHCI層の一般的な通信プロセスに従います。違いは、HCIトランスポート層の使用にあります。HCIUSBトランスポート層を使用して送信する場合、データはUSBエンドポイントを介して送受信されます。USBエンドポイントは、制御エンドポイント、ブロックエンドポイント、割り込みエンドポイント、同期の4つのカテゴリに分類されます。エンドポイント。エンドポイントが異なれば、実装する機能も異なります。制御エンドポイントは、USBデバイスを構成および制御するために使用され、ホスト(PC)がホストを制御するために使用できます。
デバイス(Bluetooth USBアダプター)はHCIコマンドパケットを送信します。ブロックエンドポイントはACLデータパケットの送信に使用されます。割り込みエンドポイントはHCIイベントパケットのタイムリーな受信を保証するために使用されます。等時性エンドポイントはSCOデータパケットの送信に使用されます。 USBトランスポート層を使用する場合、さまざまなHC1パケットをさまざまなエンドポイントタイプで区別できるため、HCIUARTトランスポート層のようにパケットの前にパケットインジケータを追加する必要がないことがわかります。
プログラムの実現には、ダイアログベースのMFCプログラミングが採用されています。プログラムには、デバイスのオープン、HCIコマンドパケットの送信、ACLデータパケットの送受信、HCIイベントパケットの受信など、BluetoothUSBアダプタを制御するUSBStackクラスが構築されています。プログラムのライフサイクル全体で、USBStackのグローバル変数mbtを定義して、現在のBluetoothデバイスを識別します。