gerber 8 28 ноября, 2016 Опубликовано 28 ноября, 2016 · Жалоба Как известно, существуют 2 основных способа передачи данных через Bluetooth-соединение - ACL и SCO. ACL всем хорош, но данные добираются до другого "берега" беспроводного линка с приличной задержкой, от 3 до 30 мс, что губительно для моей задачи. Настройка QoS (Quality of Service) существенно улучшает ситуацию до 5-7 мс, но периодически, очень редко задержка всё равно достигает 25-30 мс и вся идея теряет смысл. SCO является синхронным каналом с гарантированной полосой и минимальными задержками и вписался бы замечательно в моё решение, но он предназначен для передачи звука. При открытии канала и передаче данных через него я вижу на приемной стороне не точную копию входного бинарного потока, а некоторую "пародию" на него. Дело в том, что SCO-канал целиком и полностью ориентирован на звук, и перед передачей он аппаратно обрабатывается некими алгоритмами (кодеками), которые далеко не lossless. Таким образом, бинарный поток несколько видоизменяется, что приемлемо для звука, но неприемлемо для данных. Может, подскажет кто - неужели нельзя использовать SCO-канал для передачи данных? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 5 29 ноября, 2016 Опубликовано 29 ноября, 2016 · Жалоба Насколько помню в SCO используются только кодеки alaw и ulaw. А какую скорость вы ожидаете получить? Если у вас на входе будет пара десятков дискретных значений думаю их вполне можно однозначно детектировать на приемной стороне. Да и FSK модем на скорости 2.4 кбит/сек думаю должен нормально работать. SCO не обеспечит гарантированную доставку, это вас устраивает? Для настройки времени доставки есть параметры настройки. Назывались они кажется page, snif интервал. А может это имеет место только в режиме ожидания подключения, уже не помню. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gerber 8 29 ноября, 2016 Опубликовано 29 ноября, 2016 · Жалоба Насколько помню в SCO используются только кодеки alaw и ulaw. Ещё CVSD. И, кстати, начиная с версии 1.2 появился режим voice air coding = transparent data, возможно, это именно то, что мне нужно. До этого я смотрел спецификацию 1.0, и там не было такого режима. А какую скорость вы ожидаете получить? Если у вас на входе будет пара десятков дискретных значений думаю их вполне можно однозначно детектировать на приемной стороне. Да и FSK модем на скорости 2.4 кбит/сек думаю должен нормально работать. Скорость нужна немаленькая, хотя бы 115200 бит/с. Тот канал SCO, который я сейчас вижу, пересылает по 60 байт каждые 3,2 мс, вроде как, нормально, если пойдут через него raw-данные. SCO не обеспечит гарантированную доставку, это вас устраивает? Это как раз не проблема, потерянные данные восстановит верхний протокол. К тому же там есть механизмы, улучшающие вероятность доставки пакетов, это и восстанавливающие коды FEC, и retransmission. Но гарантии доставки, как у ACL, нет, это понятно. Для настройки времени доставки есть параметры настройки. Назывались они кажется page, snif интервал. А может это имеет место только в режиме ожидания подключения, уже не помню. Их я уже покрутил для ACL, стало лучше, но ... синхронный канал с выделенной полосой устроил бы меня гораздо больше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rat 0 29 ноября, 2016 Опубликовано 29 ноября, 2016 · Жалоба Вроде как для передачи данных используют SPP? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gerber 8 29 ноября, 2016 Опубликовано 29 ноября, 2016 · Жалоба Вроде как для передачи данных используют SPP? SPP - это верхний уровень BT-стека, который, в конечном итоге, работает поверх ACL-пакетов. В топике речь идёт о передаче данных на самом низком уровне стека, через HCI-интерфейс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rat 0 29 ноября, 2016 Опубликовано 29 ноября, 2016 · Жалоба SPP - это верхний уровень BT-стека, который, в конечном итоге, работает поверх ACL-пакетов. В топике речь идёт о передаче данных на самом низком уровне стека, через HCI-интерфейс. Это понятно, но оно того стоит? Или ТС имеет ввиду BLE, где SPP нет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gerber 8 29 ноября, 2016 Опубликовано 29 ноября, 2016 · Жалоба Это понятно, но оно того стоит? Или ТС имеет ввиду BLE, где SPP нет? СтОит, так как SPP вносит существенные задержки в обмен данными, за счет того, что работает поверх ACL-пакетов. Для "удлинителя COM-порта" это может и неважно, но для моей задачи критично. Второй момент - мне не нужен весь стек BT, обмен ключами, шифрование, ввод ПИН-кода, service discovery и т. п. Установил соединение через HCI, и готов к обмену данными. Это существенно снижает требования к микроконтроллеру и разгружает его от разбора пакетов и передаче их вверх-вниз по стеку. Оборотная сторона у такого подхода, безусловно, тоже есть - невозможность соединиться с "большими" устройствами под Андроидом/Linux/Windows, но мне это и не требуется. Я соединяю 2 своих устройства прямым линком. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rat 0 29 ноября, 2016 Опубликовано 29 ноября, 2016 · Жалоба СтОит, так как SPP вносит существенные задержки в обмен данными, за счет того, что работает поверх ACL-пакетов. Для "удлинителя COM-порта" это может и неважно, но для моей задачи критично. Второй момент - мне не нужен весь стек BT, обмен ключами, шифрование, ввод ПИН-кода, service discovery и т. п. Установил соединение через HCI, и готов к обмену данными. Это существенно снижает требования к микроконтроллеру и разгружает его от разбора пакетов и передаче их вверх-вниз по стеку. Оборотная сторона у такого подхода, безусловно, тоже есть - невозможность соединиться с "большими" устройствами под Андроидом/Linux/Windows, но мне это и не требуется. Я соединяю 2 своих устройства прямым линком. Если не используются преимущества блютуса, может, тогда использовать не блютус, а просто радиоканал типа SIM20? Но это уже оффтоп. Сорри. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gerber 8 29 ноября, 2016 Опубликовано 29 ноября, 2016 · Жалоба Если не используются преимущества блютуса, может, тогда использовать не блютус, а просто радиоканал типа SIM20? Но это уже оффтоп. Сорри. Почему же, преимущества блютуса как раз используются - гарантированная доставка пакетов (ACL), автоматическая смена частот (frequency hopping), выделенный легальный частотный диапазон, уживчивость с соседними блютус-устройствами и т. п. На "голом" радиоканале всё это тоже возможно, но придется реализовывать "ручками". Ну и цена тоже немаловажна. Мне блютуз-контроллер обходится в 160 руб в розницу, а сколько стоит ваш SIM20 ? (риторический вопрос). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rat 0 29 ноября, 2016 Опубликовано 29 ноября, 2016 · Жалоба Почему же, преимущества блютуса как раз используются - гарантированная доставка пакетов (ACL), автоматическая смена частот (frequency hopping), выделенный легальный частотный диапазон, уживчивость с соседними блютус-устройствами и т. п. На "голом" радиоканале всё это тоже возможно, но придется реализовывать "ручками". Ну и цена тоже немаловажна. Мне блютуз-контроллер обходится в 160 руб в розницу, а сколько стоит ваш SIM20 ? (риторический вопрос). Логично ) А что за контроллер? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gerber 8 29 ноября, 2016 Опубликовано 29 ноября, 2016 · Жалоба Логично ) А что за контроллер? Texas Instruments СС2560 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rat 0 29 ноября, 2016 Опубликовано 29 ноября, 2016 · Жалоба Texas Instruments СС2560 Не подскажете преимущества/недостатки в сравнении с BlueNRG от ST. Возможно, скоро придется осваивать BT4, не могу определиться с производителем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gerber 8 29 ноября, 2016 Опубликовано 29 ноября, 2016 · Жалоба Не подскажете преимущества/недостатки в сравнении с BlueNRG от ST. Возможно, скоро придется осваивать BT4, не могу определиться с производителем. С BlueNRG дела не имел. CC2560 - это классический BT (не low energy), к тому же довольно древний. У него есть "собрат" CC2564, который может быть и low energy BT 4.1 устройством. Но с ним я тоже не работал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rat 0 29 ноября, 2016 Опубликовано 29 ноября, 2016 · Жалоба С BlueNRG дела не имел. CC2560 - это классический BT (не low energy), к тому же довольно древний. У него есть "собрат" CC2564, который может быть и low energy BT 4.1 устройством. Но с ним я тоже не работал. Спасибо ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 5 29 ноября, 2016 Опубликовано 29 ноября, 2016 · Жалоба Помнится мне SCO 8 бит на 8 кГц. Как же туда загнать 115 кбит/сек? В BLE нет вовсе SCO. BLE я для себя выбрал NRF51822. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться