Nordic UART送信能力調査2: nRF52840 と Android端末間編

前回nRF52840 から Nordic UART で 約2Kbyteのデータを定期送信し、送信能力を調べてみました。公称2Mbpsのところが 1.7kbyteしか送信できないのはナゼでしょうか?

前回は Android 側で受信側で確認しました。送信するNordic側ではどうでしょうか? Nordicで計測用タイマを追加して経過時間を、デバッグトレースで出力してみます。送信側から時間が伸びているように見えます。

Nordic掲示板をみてみる

送信側になにかありそうなので、ヒントがないか Nordic 掲示板:DevZone を見てみます。参考になる投稿がありました

オプション設定で BLE_COMMON_OPT_CONN_EVT_EXT を有効にし、#define値 NRF_SDH_BLE_GAP_EVENT_LENGTH を 320 くらいにしてみろとのこと。.h を追うとこのデフォルト値は 5 でした。このパラメータは、BTの接続チェックの周期だそうです。短ければ接続応答性が良いがデータ転送量が短くなり、長ければ接続応答性が悪いがデータ転送量が増えるという理屈の模様です。

試してみましたが微妙です。

DevZone では50kB/秒まで上がったという投稿もあれば、効果がないという投稿もあります。 BLE Long Range を使うというメーカの解説も見受けれれます。 何分、Andoird側の要素もあります。その時々で他の通信やプログラムの動作状況は異なり、リソースを占有できないことは十分に考えられます。

以降、執筆中

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です