jeka 0 28 декабря, 2020 Опубликовано 28 декабря, 2020 · Жалоба Есть задача сделать транспорт пакетов между android приложением и stm32h743. В качестве bluetooth трансивера установлена nRF52832, к которой подключена stm32h743 через 4х-проводный uart (есть rts/cts). Связь нужна пакетная (как udp), payload пакета до 64 байт. Перезапросы и отсутствие потерь пакетов не критичны, этим будет заниматься приложение. Нужно обеспечить максимальный реалтайм. Т.е. буфера в идеале нигде не должны накапливаться, вместо этого передающая сторона ожидает освобождения буферов и формирует кодограмму непосредственно перед передачей. в результате (как я вижу) - рыба android приложения, соединяющаяся с NRF и отправляющая пакеты c настраиваемой скоростью по этому интерфейсу и собирающая статистику по времени ответа (min/max/avg) и потерям. на стороне stm32 - преобразование потока uart <-> пакеты, и loopback пакетов (на очередях freertos). Москва. платы есть. Предпочтение - опытному человеку с наработками и пониманием нюансов работы таких трансиверов. Цены обсуждаемы, в приоритете безглючность и стабильность. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 32 28 декабря, 2020 Опубликовано 28 декабря, 2020 · Жалоба 1. Всё это ест на github. 2. Сколько предлагается в деньгах и какие сроки ? P.S. BLE 4.2/5.0 максимум 244 на пакет - будет немного быстрее чем 64.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gerber 7 28 декабря, 2020 Опубликовано 28 декабря, 2020 · Жалоба Никакого реалтайма от BLE в исполнении nRF52832 (S132) ожидать не приходится, запустил демо от Нордика, измеряющее пропускную способность BLE-канала на 2 Мбит/с на отладке PCA10040, которое шлет порции данных по 1 Кб, разброс времени на каждый пакет от 20 до 600 мс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 32 28 декабря, 2020 Опубликовано 28 декабря, 2020 · Жалоба uart 4-х проводный. какой будет реалтайм - такой и будет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jeka 0 28 декабря, 2020 Опубликовано 28 декабря, 2020 · Жалоба 4 hours ago, x893 said: Всё это ест на github наверняка. И сделать самому можно. Но другой работы хватает, это хочется дать тому кто знает эти чипы. Ибо с nrf не работал, пока разберешься с периферией, нюансами, глюками - время жрёт. 4 hours ago, x893 said: 2. Сколько предлагается в деньгах и какие сроки ? Предлагайте. думаю, в базовом варианте 50-100к. Обсуждаемо. Если внутрь стека залезете, это могут быть другие цифры. Вообще, это только начало. там задача довольно большая. 4 hours ago, gerber said: разброс времени на каждый пакет от 20 до 600 мс. Это понятно. поэтому и спрашиваю, ибо вроде всё просто, но чем дальше - тем сложнее. Нюансов много. Стандартов блютуса много разных, BLE из коробки при низком прирывистом трафике явно будет лагать. Возможно можно как-то таймслоты правильно резервировать или еще какие-то хитрости использовать для борьбы с лагами. 1 hour ago, x893 said: uart 4-х проводный. какой будет реалтайм - такой и будет. в чем проблема? пакеты короткие. скорость хоть 15Мбит. По сравнению с десятками ms задержки радиоинтерфейса здержки уарта - ни о чем. upd. хотелки по зедержкам: до 20мс туда-обратно - отлично. Приемлимо до 50мс. Выше 100мс - плохо. Редкие глитчи и единичные потери не страшны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 32 28 декабря, 2020 Опубликовано 28 декабря, 2020 · Жалоба 8 minutes ago, jeka said: Стандартов блютуса много разных я же указал выше BLE 4.2 или 5.0 - длина пакета до 244 (вместо 20). Ну тогда и смартфон должен поддерживать его. RTS/CTS и будет скорость потока регулировать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jeka 0 28 декабря, 2020 Опубликовано 28 декабря, 2020 · Жалоба 11 minutes ago, x893 said: я же указал выше BLE 4.2 или 5.0 - длина пакета до 244 (вместо 20). Понимаю. Но в данном применении не нужны большие кодограммы и высокая скорость. Нужно передавать всего по несколько байт, но с минимальной задержкой. Поискал про bluetooth low latency. явно, есть варианты. Сразу например наткнулся - https://www.bluetooth.com/bluetooth-resources/low-latency-deterministic-bluetooth-technology/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 32 28 декабря, 2020 Опубликовано 28 декабря, 2020 · Жалоба 8 minutes ago, jeka said: Понимаю. Но в данном применении не нужны большие кодограммы и высокая скорость. Нужно передавать всего по несколько байт, но с минимальной задержкой. Тут уж как BLE и смартфон будут забирать - так и будет. Выше писал gerber что он там намерял. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jeka 0 28 декабря, 2020 Опубликовано 28 декабря, 2020 · Жалоба 7 minutes ago, x893 said: Тут уж как BLE и смартфон будут забирать - так и будет. Выше писал gerber что он там намерял. Вы уверены что с этим нельзя ничего сделать? Если кто-то чегото намерял, это не значит что нельзя улучшить. Сейчас гуглю. bluetooth 5.2 поддерживает изохронную передачу, как раз для этих целей. С задержками порядка 1-2 мс как заявляют. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 32 28 декабря, 2020 Опубликовано 28 декабря, 2020 · Жалоба 7 minutes ago, jeka said: Вы уверены что с этим нельзя ничего сделать? Если кто-то чегото намерял, это не значит что нельзя улучшить. Сейчас гуглю. bluetooth 5.2 поддерживает изохронную передачу, как раз для этих целей. С задержками порядка 1-2 мс как заявляют. так и смартфон должен 5.2 поддерживать. Попросите gerber - пусть 52832/840 и телефон с поддержкой 5.2 потестирует. У меня такого телефона нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gerber 7 28 декабря, 2020 Опубликовано 28 декабря, 2020 · Жалоба 23 минуты назад, jeka сказал: Понимаю. Но в данном применении не нужны большие кодограммы и высокая скорость. Нужно передавать всего по несколько байт, но с минимальной задержкой. Когда-то делал удлинитель RS-485 по Bluetooth, для железа, очень требовательного к таймингам. Работало. Путем выкручивания QoS удавалось добиться задержек не более 4 мс. НО: это не BLE, классический Bluetooth на своем миниатюрном стеке поверх HCI протокола. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 32 28 декабря, 2020 Опубликовано 28 декабря, 2020 · Жалоба А можно взять модуль готовый BLE 5.2-UART и всё пощупать. А потом уже городить на nRF. JDY-... немеряно. Да и на nRF готовые можно найти. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jeka 0 28 декабря, 2020 Опубликовано 28 декабря, 2020 · Жалоба Платы готовы, запаяны. С nRF52832, с ре ференс дизайна взят. Задача получается поднять на ней 5.2 low latency. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 32 28 декабря, 2020 Опубликовано 28 декабря, 2020 · Жалоба 2 hours ago, jeka said: Задача получается поднять на ней 5.2 low latency Совсем другое дело! Сейчас очередь выстроится ! Оба SWD доступны - красота. Два Jlink'а, два Keil/SES и понеслась. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gerber 7 29 декабря, 2020 Опубликовано 29 декабря, 2020 · Жалоба 12 часов назад, x893 сказал: Совсем другое дело! Сейчас очередь выстроится ! Ну фиг знает, изохронные каналы в Bluetooth заточены, в основном, под передачу звукового потока, и все примеры ориентированы на это. Я пробовал (на другой платформе, не Nordic) задействовать изохронные каналы под передачу произвольных цифровых данных с минимальной задержкой. Получилась такая петрушка, что baseband эти данные подвергает сжатию перед передачей по эфиру, а на приемной стороне распаковывает поток. И сжатие это совсем не lossless, то есть производится с учетом ограниченной полосы звука. На стороне приема байты "не те", что были переданы. Таким образом, придется городить что-то вроде программного модема, и "вечер перестает быть томным" :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться