|
AVR <--> USB <--> BlueTooth, как реализовать такой мост? покритикуйте мою идею... |
|
|
|
Aug 7 2006, 20:46
|
Участник

Группа: Участник
Сообщений: 69
Регистрация: 28-10-05
Из: Харьков, ул. Героев труда.
Пользователь №: 10 213

|
Всем привет! Давненько я тут не был! Итак, стоит задача: клиент-серверная архитектура - сервер на AVRке, собирает информацию о работе двигателя в автомобиле - клиент на мобильном устройстве (в моём случае КПК ASUS 636, но может быть и мобила с блютусом и жабой) отображает собранные данные для обмена между клиентом и сервером предлагается два медиума - USB - BlueTooth таким образом, предлагается следующая архитектура:
Плюсы: - USB сейчас в моде - большая гибкость - можно цеплять клиент любой платформы, будь то телефон, КПК, ноутбук или писюк... - ... можно даже одновременно Минус: - нужен USB Host Вот этот минус меня как раз очень напрягает. Сейчас появились контроллеры AT90USBxxx, в которых USB интегрировано в кристалл. К сожалению, реализован только USB Bus Interface, т.е. железо, а самого главного - Host Control Driver, т.е. софта, реализующего usb-хост на этом железе - нигде нету. Написать хост драйвер с нуля - страшно даже подумать. Может есть какие-то наработки в этой области?Написать софт для USB Function гораздо проще, и все аппликухи на этот чип демонстрируют именно режим function. Или может я плохо разобрался, и там Host всё-таки как-то реализован? Подскажите, что нужно для того, чтобы запустить USB Host на чипе AT90USBxxx? Есть ли более-менее рабочие программы хоста?
|
|
|
|
|
Aug 8 2006, 04:40
|
Участник

Группа: Свой
Сообщений: 34
Регистрация: 26-07-06
Пользователь №: 19 098

|
для обмена по блютусу могу порекомендовать готовые блютус модули. Видятся компьютером как ком порт. и стоят недорого 20$. Плюс их можно перепрошивать. модули можно посмотреть здесь http://www.efo.ru/doc/Rainsun/Rainsun.pl?2429. Сейчас во многих телефонах блютус тоже есть.
|
|
|
|
|
Aug 11 2006, 13:05
|
Участник

Группа: Участник
Сообщений: 69
Регистрация: 28-10-05
Из: Харьков, ул. Героев труда.
Пользователь №: 10 213

|
Короче понятно... Печально. Я думал, может кто-то уже добился успехов с этими чипами, но похоже что нет... Balun: те модули не подходят - они работают парой Master+Slave, а у меня на клиентской стороне блютус нормальный, полноценный (на КПКшке, например, или на телефоне). И друг друга они, естественно, не признают никогда. Кроме того, предполагаемый бюджет по железу на один экземпляр - около 20 баксов, а там один только Master/Slave столько стоит. Выгоднее затратить больше сил на программную реализацию, зато потом шить эту программу в пятидолларовые контроллеры и втыкать в них такие же пятидолларовые свистки (буду закупать их на радиорынке и выкидывать всю пластмассу, а на плату буду крепить на силиконе). Короче, придётся писать USB Driver самому. aaarrr: да, блютусовый стек немного пугает, большей частью потому, что не могу найти на него спецификацию. Тебе не попадалось? На www.bluetooth.com лежит только одна глава
|
|
|
|
|
Aug 11 2006, 14:25
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(JBM @ Aug 11 2006, 17:05)  aaarrr: да, блютусовый стек немного пугает, большей частью потому, что не могу найти на него спецификацию. Тебе не попадалось? На www.bluetooth.com лежит только одна глава  Угу, попадалось - примерно 1500 страниц, местами маловразумительных. В разы сложнее USB хоста. Про AVR в качестве управляющего контроллера лучше забыть. Если бюджет составляет $20 на устройство, то стоит поискать дешевые bluetooth модули, например, на базе CSR, и весь функционал реализовать на них.
|
|
|
|
|
Aug 11 2006, 22:53
|
Участник

Группа: Участник
Сообщений: 69
Регистрация: 28-10-05
Из: Харьков, ул. Героев труда.
Пользователь №: 10 213

|
Такие диковинки, как CSR я тут днём с огнём не найду. Куда там CSR, тут гораздо более тривиальные чипы не купишь. Приходится конструировать из того, что доступно.
Опять же, чем будет отличаться управление CSRовским модулем от управления USB-шным свистком? Учитывая, что свисток собран на чипе BlueCore2 ("Да, Ватсон, он тоже Баскервиль!"), не думаю что сильно отличается.
Насколько я понимаю суть блютуса, есть протокол низкого уровня (т.е. физически обмен данными), реализованный в чипе BlueCore, который имеет интерфейс RS232 либо USB. Потом идёт протокол среднего уровня, управляющий потоками данных. Сверху лежат классы - аудио, OBEX, и т.п.
Верхний слой мне нафиг не нужен. Средний слой можно реализовать в минимально необходимом объёме. USB-Host тоже ведь не собираюсь полностью писать, только необходимое.
Судя как написано в той главе, которая выложена на www.bluetooth.com, управление по USB не такое уж сложное - 1 endpoint для управления и 1 endpoint для данных. Но там всё в общих чертах. Попросил у них скачать спецификацию полностью - ни ответа ни привета. aaarrr, можешь маякнуть откуда 1500 страниц скачал?
|
|
|
|
|
Aug 11 2006, 23:23
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата Опять же, чем будет отличаться управление CSRовским модулем от управления USB-шным свистком? Учитывая, что свисток собран на чипе BlueCore2 ("Да, Ватсон, он тоже Баскервиль!"), не думаю что сильно отличается. Будет, и сильно. По крайней мере, не придется заморачиваться с USB и частью протоколов. Цитата Насколько я понимаю суть блютуса, есть протокол низкого уровня (т.е. физически обмен данными), реализованный в чипе BlueCore, который имеет интерфейс RS232 либо USB. Потом идёт протокол среднего уровня, управляющий потоками данных. Сверху лежат классы - аудио, OBEX, и т.п. Примерно так и есть. Если не ошибаюсь, в свистке есть поддержка Link Manager протокола, а L2CAP и выше - забота хоста. Цитата Попросил у них скачать спецификацию полностью - ни ответа ни привета. Спецификация у них только за деньги. Я добывал где-то в китайских дебрях.
|
|
|
|
|
Aug 13 2006, 06:41
|
Участник

Группа: Участник
Сообщений: 69
Регистрация: 28-10-05
Из: Харьков, ул. Героев труда.
Пользователь №: 10 213

|
Цитата Спецификация у них только за деньги. Я добывал где-то в китайских дебрях. Так, aaarrr, колись, где брал? Жадность - грех. Рассказывай, где "китайские дебри" в интернете находятся
|
|
|
|
|
Aug 13 2006, 19:11
|

Группа: Новичок
Сообщений: 3
Регистрация: 13-08-06
Из: Berlin
Пользователь №: 19 527

|
Добрый день. Есть другая идея!
Если попытаться реализовать следующее: USB Host, но только как proxy, или еще лучше : processor с USB Host, ethernet, RAM, EEprom программное обеспечение linux (есть много наработок, есть даже ActiveSync для линукса). Линукс содержит все дрова, через ActiveSync инициализируется программа для передачи данных через нужные дрова, кпк шлет или принимает данные. При подобном решении можно подключать любую перефирию (hdd, wlan, BlueTooth, ...) примером решения может стать реализация D-Link "DSL-644", т.к. есть исходники линукс а решение железа , для начала скатать с D-Link прибора.
Кто хочет, может подключаться (Только с мыслью в голове потом продавать это решение)
blade500mhz
|
|
|
|
|
Aug 14 2006, 06:21
|
Местный
  
Группа: Свой
Сообщений: 248
Регистрация: 18-07-06
Из: Сочи
Пользователь №: 18 890

|
Цитата(aaarrr @ Aug 12 2006, 18:49)  Цитата А мне интересно как будет сделана стыковка двух USB-хостов... А где Вы её нашли? Цитата Плюсы: - USB сейчас в моде - большая гибкость - можно цеплять клиент любой платформы, будь то телефон, КПК, ноутбук или писюк... - ... можно даже одновременно Ноутбук - USB Host; писюк (думаю что это PC) - тоже USB Host Плюс в каком-то КПК, от Тошиба кажется, тоже USB host. IMHO для любой платформы понадобится реализовать ещё USB-Slave. Либо USB 2Go, кажется так. Но суть в том-же, реализованы и хост и слэйв, а в момент соединения кто-то из них становится слэйв, а другой хост.
Сообщение отредактировал Deka - Aug 14 2006, 06:24
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|