реклама на сайте
подробности

 
 
> Bluetooth: передача данных через SCO, данных, а не звука
gerber
сообщение Nov 28 2016, 21:38
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088



Как известно, существуют 2 основных способа передачи данных через Bluetooth-соединение - ACL и SCO.
ACL всем хорош, но данные добираются до другого "берега" беспроводного линка с приличной задержкой, от 3 до 30 мс, что губительно для моей задачи. Настройка QoS (Quality of Service) существенно улучшает ситуацию до 5-7 мс, но периодически, очень редко задержка всё равно достигает 25-30 мс и вся идея теряет смысл.
SCO является синхронным каналом с гарантированной полосой и минимальными задержками и вписался бы замечательно в моё решение, но он предназначен для передачи звука. При открытии канала и передаче данных через него я вижу на приемной стороне не точную копию входного бинарного потока, а некоторую "пародию" на него. Дело в том, что SCO-канал целиком и полностью ориентирован на звук, и перед передачей он аппаратно обрабатывается некими алгоритмами (кодеками), которые далеко не lossless. Таким образом, бинарный поток несколько видоизменяется, что приемлемо для звука, но неприемлемо для данных.
Может, подскажет кто - неужели нельзя использовать SCO-канал для передачи данных?


--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rat
сообщение Nov 29 2016, 08:23
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 497
Регистрация: 9-06-05
Из: Новосибирск
Пользователь №: 5 852



Вроде как для передачи данных используют SPP?
Go to the top of the page
 
+Quote Post
gerber
сообщение Nov 29 2016, 09:13
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088



Цитата(rat @ Nov 29 2016, 11:23) *
Вроде как для передачи данных используют SPP?

SPP - это верхний уровень BT-стека, который, в конечном итоге, работает поверх ACL-пакетов. В топике речь идёт о передаче данных на самом низком уровне стека, через HCI-интерфейс.


--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
Go to the top of the page
 
+Quote Post
rat
сообщение Nov 29 2016, 09:54
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 497
Регистрация: 9-06-05
Из: Новосибирск
Пользователь №: 5 852



Цитата(gerber @ Nov 29 2016, 16:13) *
SPP - это верхний уровень BT-стека, который, в конечном итоге, работает поверх ACL-пакетов. В топике речь идёт о передаче данных на самом низком уровне стека, через HCI-интерфейс.


Это понятно, но оно того стоит? Или ТС имеет ввиду BLE, где SPP нет?
Go to the top of the page
 
+Quote Post
gerber
сообщение Nov 29 2016, 10:45
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088



Цитата(rat @ Nov 29 2016, 12:54) *
Это понятно, но оно того стоит? Или ТС имеет ввиду BLE, где SPP нет?

СтОит, так как SPP вносит существенные задержки в обмен данными, за счет того, что работает поверх ACL-пакетов. Для "удлинителя COM-порта" это может и неважно, но для моей задачи критично.
Второй момент - мне не нужен весь стек BT, обмен ключами, шифрование, ввод ПИН-кода, service discovery и т. п. Установил соединение через HCI, и готов к обмену данными. Это существенно снижает требования к микроконтроллеру и разгружает его от разбора пакетов и передаче их вверх-вниз по стеку. Оборотная сторона у такого подхода, безусловно, тоже есть - невозможность соединиться с "большими" устройствами под Андроидом/Linux/Windows, но мне это и не требуется. Я соединяю 2 своих устройства прямым линком.


--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
Go to the top of the page
 
+Quote Post
rat
сообщение Nov 29 2016, 12:17
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 497
Регистрация: 9-06-05
Из: Новосибирск
Пользователь №: 5 852



Цитата(gerber @ Nov 29 2016, 17:45) *
СтОит, так как SPP вносит существенные задержки в обмен данными, за счет того, что работает поверх ACL-пакетов. Для "удлинителя COM-порта" это может и неважно, но для моей задачи критично.
Второй момент - мне не нужен весь стек BT, обмен ключами, шифрование, ввод ПИН-кода, service discovery и т. п. Установил соединение через HCI, и готов к обмену данными. Это существенно снижает требования к микроконтроллеру и разгружает его от разбора пакетов и передаче их вверх-вниз по стеку. Оборотная сторона у такого подхода, безусловно, тоже есть - невозможность соединиться с "большими" устройствами под Андроидом/Linux/Windows, но мне это и не требуется. Я соединяю 2 своих устройства прямым линком.


Если не используются преимущества блютуса, может, тогда использовать не блютус, а просто радиоканал типа SIM20? Но это уже оффтоп. Сорри.
Go to the top of the page
 
+Quote Post
gerber
сообщение Nov 29 2016, 14:07
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088



Цитата(rat @ Nov 29 2016, 15:17) *
Если не используются преимущества блютуса, может, тогда использовать не блютус, а просто радиоканал типа SIM20? Но это уже оффтоп. Сорри.

Почему же, преимущества блютуса как раз используются - гарантированная доставка пакетов (ACL), автоматическая смена частот (frequency hopping), выделенный легальный частотный диапазон, уживчивость с соседними блютус-устройствами и т. п.
На "голом" радиоканале всё это тоже возможно, но придется реализовывать "ручками".
Ну и цена тоже немаловажна. Мне блютуз-контроллер обходится в 160 руб в розницу, а сколько стоит ваш SIM20 ? (риторический вопрос).


--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
Go to the top of the page
 
+Quote Post
rat
сообщение Nov 29 2016, 14:48
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 497
Регистрация: 9-06-05
Из: Новосибирск
Пользователь №: 5 852



Цитата(gerber @ Nov 29 2016, 21:07) *
Почему же, преимущества блютуса как раз используются - гарантированная доставка пакетов (ACL), автоматическая смена частот (frequency hopping), выделенный легальный частотный диапазон, уживчивость с соседними блютус-устройствами и т. п.
На "голом" радиоканале всё это тоже возможно, но придется реализовывать "ручками".
Ну и цена тоже немаловажна. Мне блютуз-контроллер обходится в 160 руб в розницу, а сколько стоит ваш SIM20 ? (риторический вопрос).


Логично ) А что за контроллер?
Go to the top of the page
 
+Quote Post
gerber
сообщение Nov 29 2016, 14:50
Сообщение #9


Знающий
****

Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088



Цитата(rat @ Nov 29 2016, 17:48) *
Логично ) А что за контроллер?

Texas Instruments СС2560


--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
Go to the top of the page
 
+Quote Post
rat
сообщение Nov 29 2016, 15:01
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 497
Регистрация: 9-06-05
Из: Новосибирск
Пользователь №: 5 852



Цитата(gerber @ Nov 29 2016, 21:50) *
Texas Instruments СС2560


Не подскажете преимущества/недостатки в сравнении с BlueNRG от ST. Возможно, скоро придется осваивать BT4, не могу определиться с производителем.
Go to the top of the page
 
+Quote Post
gerber
сообщение Nov 29 2016, 15:10
Сообщение #11


Знающий
****

Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088



Цитата(rat @ Nov 29 2016, 18:01) *
Не подскажете преимущества/недостатки в сравнении с BlueNRG от ST. Возможно, скоро придется осваивать BT4, не могу определиться с производителем.

С BlueNRG дела не имел. CC2560 - это классический BT (не low energy), к тому же довольно древний. У него есть "собрат" CC2564, который может быть и low energy BT 4.1 устройством. Но с ним я тоже не работал.


--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- gerber   Bluetooth: передача данных через SCO   Nov 28 2016, 21:38
- - uriy   Насколько помню в SCO используются только кодеки a...   Nov 29 2016, 04:53
|- - gerber   Цитата(uriy @ Nov 29 2016, 07:53) Насколь...   Nov 29 2016, 07:57
|- - rat   Цитата(gerber @ Nov 29 2016, 22:10) С Blu...   Nov 29 2016, 15:14
- - uriy   Помнится мне SCO 8 бит на 8 кГц. Как же туда загна...   Nov 29 2016, 16:35
- - alx125   Цитата(gerber @ Nov 29 2016, 01:38) Может...   Nov 30 2016, 02:20
- - uriy   С FEC задержка как раз будет гарантированная и фик...   Nov 30 2016, 05:08
|- - alx125   Цитата(uriy @ Nov 30 2016, 09:08) С FEC з...   Nov 30 2016, 06:13
- - gerber   Механизм retransmission не подразумевает перезапро...   Nov 30 2016, 09:20


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th July 2025 - 06:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01493 секунд с 7
ELECTRONIX ©2004-2016