2016-09-07 3 views
2

私は技術仕様を読みましたが、なぜBLE 4.2がBLE 4.1より速いのか理解しようとしていますか?BLE 4.2がBLE 4.1より高速な理由

20バイトより大きいパケットサイズを送信できますか、接続間隔が速くなる可能性がありますか。

私はBLE 4.2をより速くすることを理解しようとしています。

答えて

7

以前よりも高い全体を提供するBluetooth 4.2の唯一のものは、リンクレイヤーの長さの拡張です。これは、前の制限であった27バイトではなく、251バイトの長さのデータpdusを送信することを可能にします。以前は、ヘッダーサイズとrxパケットとtxパケットの間に必要な時間のために複数のパケットを送信し、再びtxからrxに送信した場合、大きなオーバーヘッドを意味していました。 データ自体は1 MBit/sで送信されます。

両方の側でこの新しい機能をサポートする必要があり、新しい最大長は使用する前にデバイス間でネゴシエートする必要があることに注意してください。

ここでは、一般的な接続イベントについて説明しますが、中央ではそれぞれ20バイトの複数のGATT書き込みコマンドパケットを書き込みます。転送速度は1 MBit/sであるため、転送するビット数は1μsです。リンクレイヤヘッダーとフッターは合計80ビットで、1バイトプリアンブル+ 4アクセスアドレス(パケットを正しい宛先に識別するためのもの)で構成されます。フロー/ ACKとデータタイプを含む1バイト。パケットの長さを含む1バイト。その後、データの後に3バイトのCRCチェックサムが続きます。ユーザデータパケット自体は、ATCパケット(オペコードとATTハンドルを持つ3バイトのヘッダ)にラップされ、次にL2CAPパケット(2バイトのチャネルIDと2バイト長)にラップされます。したがって、20バイトの大きなパケットは37バイトになり、空中で送信されます。大気中では、マスターとスレーブが送受信を交互に行います。したがって、マスターが多くのデータパケットを送信してもスレーブが送信するものがない場合、スレーブは80ビットのヘッダーを持つ空パケットで応答する必要があります。また、すべてのパケット間で、RXとTXを切り替える時間を無線に与えるために、150μsの間、無線無音がなければなりません。したがって、ユーザーデータの20バイトごとに満たされた4つのパケットの接続イベントには、次のようになります。 1. Master -> Slave: 296 μs 1st packet 2. Silence 150 μs 3. Slave -> Master: 80 μs empty packet 4. Silence 150 μs 5. Master -> Slave: 296 μs 2nd packet 6. Silence 150 μs 7. Slave -> Master: 80 μs empty packet 8. Silence 150 μs 9. Master -> Slave: 296 μs 3rd packet 10. Silence 150 μs 11. Slave -> Master: 80 μs empty packet 12. Silence 150 μs 13. Master -> Slave: 296 μs 4th packet 14. Silence 150 μs 15. Slave -> Master: 80 μs empty packet このすべては、我々は一つのパケットに同じ80のバイトを送信することができ、新たなパケット長の延長で2554マイクロ秒

につながります(依然として17バイトのヘッダ+ CRCのオーバーヘッド)= 97バイト= 776ビットである。

1. Master -> Slave: 776 μs packet 2. Silence 150 μs 3. Slave -> Master: 80 μs empty packet

これは1006マイクロ秒まで追加し、2倍の速さまで以上に!このラジオは、別の接続からの接続イベントを提供するために使用できるようになりました。

ご覧のとおり、スループットが向上します。しかし、この新しい機能を有効にするには、パケットで接続イベントを埋める必要があります。 1つの接続イベント中に同じ量のデータを送信することはもちろん可能ですが、次の接続イベントの前に残りの時間をアイドル状態にしておけば、実際にデータを高速に送信することはありません。