Blob 0 31 марта, 2007 Опубликовано 31 марта, 2007 · Жалоба Пожалуйста помогите! Есть два модуля WT11 от BlueGiga. Один подцеплен к PC по USB, другой по UART подключен к AT91SAM7S. Необходимо минимальными усилиями добиться скорости передачи данных из SAM7S в PC и обратно равной 30 Кбайт/сек (или больше, если возможно). Сейчас используется SPP соединение (прошивка iWRAP-2.2.0). Максимальная скорость, на данный момент, не превышает 10 Кбайт/сек. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
АдскийОдуванчик 0 4 сентября, 2007 Опубликовано 4 сентября, 2007 (изменено) · Жалоба Возникла и у меня необходимость достичь максимальной скорости между двумя Wrap Thor -ами... Ситуация до боли похожа - один модуль на компе, а второй на LPC-хе... При стандартной скорости УАРТ-а в 115200 достигалась скорость непрерывной однонаправленной асинхронной передачи в 10-11 Кбайт/с. Скорость увеличил до 230400 - получил примерно 20-21 КБайт/с... Увеличил скорость до 460800 - получил порядка 24-х Кбайт/с. Дальнейшее увеличение скорости УАРТа до 921600 не привело к увеличению скорости передачи. Передача осуществляется по SPP (разумеется). Судя по БлюТузной спецификации скорость асинхронной передачи должна достигать ~700 КБит/с. Предположим, что за вычетом служебной информации это будет 500 КБит/с то есть около 60 КБайт/с. То есть получается, что практически достигаемая скорость значительно меньше теоретической. В данных тестах использую: WRAP THOR AI (version 2.0.2 build 519 $) Copyright © 2003-2005 Bluegiga Technologies Inc. Compiled on Apr 8 2005 18:58:04 - DoppelBOCK version 1.1.0 build 210 (2/2c) - Bluetooth version 1.2, Power class 1 - Firmware version 1503 Передаю данные блоками по 256 байт, проверяя CTS между блоками: while(1) { передал 256 байт; while (!CTS) {;} } Кто нибудь может теоретически объяснить полученное мною ограничение скорости, или опровергнуть его? Есть ли какие-нибудь варианты как скорость увеличить? Вызываю всех на дискуссию! В дополнение опишу грабли, на которые я успешно наступал во время баловства с WrapThor-ом, и некоторые другие встретившиеся проблемы, во избежание наступления на них кем-либо ещё... 1) Стандартный PC-шный COM-port ограничил меня 115200. Пришлось использовать Serial-over-USB. Милый переходничок PL-2303 снял данное ограничение. Удалось запустить Wrap Thor на 921600. 2) MAX3232, подтягивающий УАРТ до RS-232, имеет ограничение по скорости... Это то ли 230400, то ли 460800... Для больших скоростей я использовал MAX3237. Кстати, может кто-то подскажет какие ещё есть альтернативы MAX3237? 3) В связи с двумя выше описанными причинами я неоднократно загонял WRAP THOR в состояние в котором я не мог до него достучаться (он ждал 460800, а хардварная обвязка допускала не более 230400). К моему большому сожалению подключаться к нему по SPI чтобы стирать настройки было некогда и нечем... На этот случай родилось следующее решение: SET CONTROL INIT SET CONTROL BAUD 115200,8n1 Изменено 4 сентября, 2007 пользователем АдскийОдуванчик Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
subver 0 5 сентября, 2007 Опубликовано 5 сентября, 2007 · Жалоба У меня тоже максимум было 24 кбайт/сек, на скорости порта 460800 модуль WT12 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
АдскийОдуванчик 0 5 сентября, 2007 Опубликовано 5 сентября, 2007 · Жалоба У меня тоже максимум было 24 кбайт/сек, на скорости порта 460800 модуль WT12 хм... загадочно! WT12 блюгига раскручивает как BT2.0... Странновато, и немного пугающе, что и там такие проблемы... Вчера удалось достичь скорости 26.9 Кб/с за счёт не совсем корректной обработки CTS... Но, результат нестабильный... Ещё нашёл в старой доке по iWRAPу следующее: 4.5 300kbps Throughput The throughput of iWRAP has been dramatically increased. The maximum throughput with iWRAP 2.0.2 version is around 300kbps when ASCII interface 2.0.0 was able to produce only 180kbps. However to achieve this throughput the use of DTR signaling is needed. Сейчас одновременно пытаюсь двигаться в двух направлениях: перепрошивка модуля, и отключение escape sequence. Как получу результаты - напишу. P.S. И что, больше блютуз никто не гонял? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Blob 0 6 сентября, 2007 Опубликовано 6 сентября, 2007 · Жалоба Всем привет! На данный момент WT11 выдал максимум 22 Кбайт/с. Думаю при небольшой оптимизации кода работы с UART'ом можно добиться незначительных улучшений, но это неособенно интересно. Может кто-то знает, есть ли доступная альтернатива с рабочей скоростью хотя бы приближающейся к спецификации EDR. В идеале, необходимо иметь канал 100 Кбайт/с и возможных решений пока невидно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 6 сентября, 2007 Опубликовано 6 сентября, 2007 · Жалоба Вы килобиты с килоБайтами как часто путаете? ;) То вам нужно Как получить 300 Kbit/sec по Bluetooth? то уже В идеале, необходимо иметь канал 100 Кбайт/с 100кБайт/с=800кбит/с или у вас как-то по-другому? В то же время сами выдаете На данный момент WT11 выдал максимум 22 Кбайт/с. 22кБайт/с=176кбит/с что больше половины от изначально желаемых 300 кбит/с и близко к упомянутым Адским Одуванчиком 180кбит/с The maximum throughput with iWRAP 2.0.2 version is around 300kbps when ASCII interface 2.0.0 was able to produce only 180kbps. или опять я неправильно посчитал? :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
АдскийОдуванчик 0 7 сентября, 2007 Опубликовано 7 сентября, 2007 · Жалоба Вы килобиты с килоБайтами как часто путаете? ;) То вам нужно то уже 100кБайт/с=800кбит/с или у вас как-то по-другому? В то же время сами выдаете 22кБайт/с=176кбит/с что больше половины от изначально желаемых 300 кбит/с и близко к упомянутым Адским Одуванчиком 180кбит/с или опять я неправильно посчитал? :laughing: Думаю что килобИты с килобАЙтами ещё никто попутать не успел... Слава богу... А число 180, если внимательно смотреть, относится к воооообще старой версии фирмвари, и, следовательно, обосновывать им 22Кб/с не логично. Предположим что пропускная способность ограничена упомянутым блю-гигой числом 300КБит/с, что относится к фирмваре 2.0.2. Предположим что мы его даже поооооочти достигли. Тогда появляется ещё один вопрос - почему же на модулях WT11 и WT12, которые описываются блю-гигой как BlueTooth 2.0 (а не 1.х) пропускная способность такая же? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Starick 0 7 сентября, 2007 Опубликовано 7 сентября, 2007 · Жалоба Добрый день всем участникам. На счет скорости пока сказать ничего не могу, так как у меня не стояла задача передавать объемные данные по блютус (использовал модуль WT11 A-AI), а передавал только пару команд и пару байт данных для конечных устройств. Но другое могу сказать, первый модуль, который мне попался был с прошивкой 2.0.2, команды которой во многом не совпадали с описанием команд в даташите. Помучался немного, решил перепрошить на версию 2.2.0 с 54 билдом, после этого все стало на свои места. Советую перепрошить модуль на более новую прошивку (уже есть 2.2.0 с 60 билдом) и поэксперементировать. Я бы с удовольствием сам лично поставил эксперименты и сообщил результаты, но не могу - в отпуске я. З.Ы. На счет перепрошивки. Используйте только родной прошивальщик от блюгига, иначе если прошьете блюфлешом, то модуль умрет. Сам лично пробовал, потом долго переписывался с их техподдержкой по поводу реанимирования модуля. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Blob 0 9 сентября, 2007 Опубликовано 9 сентября, 2007 · Жалоба Вы килобиты с килоБайтами как часто путаете? ;) rezident, если вы внимательно читали, я не использовал сокращений "Кб", это неспроста. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
boroda1983 0 9 сентября, 2007 Опубликовано 9 сентября, 2007 · Жалоба Если прочитать спецификацию хотя бы на один профиль, находящийся в стадии adopted, то сразу станет понятно, что EDR-пакеты физического уровня, не поддерживаются профилями. Железо же давно поддерживает и π/4-DQPSK и 8DPSK, дающие 2 и 3 Мбита/c соответсвенно. Для SPP 1.1 обязательна поддрежка 128кбит/c, остальные скорости опциональны. This profile requires support for one-slot packets only. This means that this profile ensures that data rates up to 128 kbps can be used. Support for higher rates is optional. На данный момент, из известных мне профилей, ни один не использует пакеты EDR (2-DH1, 2-DH2, 2-DH3, 3-DH1, 3DH2, 3-DH3). Поэтому тут возникает вопрос совместимости с другими устройствами. На счет самого модуля могу добавить, что там стоит BlueCore4, и протокол BlueGiga подключается к их библиотеке SPP, при определенных махинациях, я выжимал из него около 650кбит/c через UART, но это напрямую без использования IWRAP. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Blob 0 9 сентября, 2007 Опубликовано 9 сентября, 2007 · Жалоба На счет самого модуля могу добавить, что там стоит BlueCore4, и протокол BlueGiga подключается к их библиотеке SPP, при определенных махинациях, я выжимал из него около 650кбит/c через UART, но это напрямую без использования IWRAP. Это через HCI или свою прошивку писали? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
boroda1983 0 10 сентября, 2007 Опубликовано 10 сентября, 2007 · Жалоба Это через HCI или свою прошивку писали? Да, писал свою прошивку, через HCI должно быть еще быстрее Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EDMOS 0 11 сентября, 2007 Опубликовано 11 сентября, 2007 · Жалоба Железо давно поддерживает и π/4-DQPSK и 8DPSK, дающие 2 и 3 Мбита/c соответсвенно. писал свою прошивку, через HCI должно быть еще быстрее должно, в общем-то, получиться именно 2..3 Мбита\с. но я нигде не нашёл, как этого добиться, то есть какое волшебное слово нужно сказать модулю - непонятно. кто-нибудь располагает хотя бы литературой, освещающей этот вопрос? практически, как я погляжу, этого никто не делал ещё... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
boroda1983 0 11 сентября, 2007 Опубликовано 11 сентября, 2007 · Жалоба должно, в общем-то, получиться именно 2..3 Мбита\с. но я нигде не нашёл, как этого добиться, то есть какое волшебное слово нужно сказать модулю - непонятно. кто-нибудь располагает хотя бы литературой, освещающей этот вопрос? практически, как я погляжу, этого никто не делал ещё... :) На тот момент, когда я разбирался с SPP, только появились BlueCore3, Bluetooth 2.0 был еще только в разработке SIG. Просто на макетке, создать канал и гнать данные легко. Другое дело, что ни одно устройство стороннего производителя, с ним работать не будет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Blob 0 13 сентября, 2007 Опубликовано 13 сентября, 2007 · Жалоба На тот момент, когда я разбирался с SPP, только появились BlueCore3, Bluetooth 2.0 был еще только в разработке SIG. Просто на макетке, создать канал и гнать данные легко. Другое дело, что ни одно устройство стороннего производителя, с ним работать не будет. Совместимость штука карошая. Мне же необходимо сделать "USB cable replacement" с хорошей пропускной способностью. Тоесть речи о совместимости не идет. Попытаюсь повторить ваш эксперимент с прошивкой. Кстати, не намекнете с чего лучше начать. Может есть коротенький пример? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться