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

 
 
> Работа с Bluetooth-модулем BTM-240, не могу нигде найти протокол управления по шине UART
Sminder
сообщение Feb 26 2009, 14:47
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 26-02-07
Пользователь №: 25 691



Здравствуйте. Требуется разработать устройство сопряжения с блютус-гарнитурой на базе модуля BTM-240. На модуле установлена микросхема BlueCore 3-Multimedia (разработчик CSR). К сожалению, найти протокол управления не смог нигде, даже на сайте разработчика. Может кто-нибудь мне подскажет, где его можно найти?
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 14)
uriy
сообщение Feb 26 2009, 16:14
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



А что за прошивка туда залита? Мне кажется скорее всеего с HCI. Тогда ищите описание HCI на сайте bluetooth.com или bluetooth.org
Go to the top of the page
 
+Quote Post
Sminder
сообщение Mar 4 2009, 12:59
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 26-02-07
Пользователь №: 25 691



uriy, спасибо. Накачал с сайтов много документации.

С протоколом вроде бы разобрался. Мне требуется обмен с модулем по UART (подключен через преобразователь уровня к COM-порту компьютера). Возникла проблема: модуль не отвечает ни на одну команду (вообще на прием ничего не выдает). Пробовал несколько команд. Я вот не понял точно следующие моменты:
1) Обязательно ли аппаратное управление потоком (сигналы RTS/CTS) при обмене?
2) Какова должна быть скорость обмена?
3) Обязательно ли наличие бита контроля четности?

На мой взгляд в документации полная неразбериха: у меня есть три документа, и во всех противоречивые данные по натройке порта (Core 2.0 specification, bcore-sp-012Pb, HCI UART).

Еще одна мысль меня гложет. На модуле кроме самой микросхемы BlueCore установлен контроллер и сигнальный процессор. Может быть протокол обмена ведется не с самой микросхемой блютуса, а с контроллером по своему протоколу?

Если кто-нибудь практически работал с таким пожалуйста подскажите!

Сообщение отредактировал Sminder - Mar 4 2009, 13:31
Go to the top of the page
 
+Quote Post
uriy
сообщение Mar 4 2009, 17:53
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Насчет первых трех вопросов. Наверняка это все настраивается. Вместе с Bluelab идут утилиты, среди них есть PSTool (возможно в названии ошибся) там огромное количество настроек. Вроде с помощью этой утилиты можжно работать через SPI, UART и USB. Я работал через SPI, LPT кабель собирал на 74HC244. Через этот кабель также можно перешивать флешку и считывать дамп
Цитата
Еще одна мысль меня гложет. На модуле кроме самой микросхемы BlueCore установлен контроллер и сигнальный процессор. Может быть протокол обмена ведется не с самой микросхемой блютуса, а с контроллером по своему протоколу?
Именно с этим модулем BTM-240 не работал, немного повозился с WML какой-то, но там вроде стоял BlueCore02. Что за контроллер и DSP на плате??? Что вы называете микросхемой блютуза??? Может я ошибаюсь но по-моему вы тут что-то напутали. На сколько я помню BlueCore представляет из себя микроконтроллер и радиочастотную часть блютуз в одном чипе, также есть чипы со встроенным DSP ядром под названием Kalimba (в названии таких чипов добавляется Multimedia). Бывают ввроде чипы со встроенной флеш , но я таких не видал, обычно на модуле стоит внешняя флеш на 4 или 8 мегабит, какая-нибудь AM29LV040. Попробуйте выжать информацию от ваших поставщиков. Может у вас залита какая-нибудь прошивка с поддержкой AT команд.
Go to the top of the page
 
+Quote Post
Sminder
сообщение Mar 6 2009, 14:10
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 26-02-07
Пользователь №: 25 691



Цитата(uriy @ Mar 4 2009, 19:53) *
Вместе с Bluelab идут утилиты...

К сожалению, у меня нет BluLab. Можно сказать, мне всунули модуль и сказали: крутись как хочешь, а девайс сделай)
Насчет протокола... насилу отыскал документацию на обмен с модулем BTM-222. Там сказано, что обмен ведется на скорости 19,2 кб/с по умолчанию, так что какую-то связь с модулем удалось наладить. Вот только протокол обмена меня ввел в недоумение: на AT-команды не больно-то похоже. Сразу после включения модуль выкидывает два байта 01 FE, 01 FF или 21 FF (не совсем уловил от чего зависит). Пытался подавать AT-команды (например включение эхо, повтор предыдущей команды, запрос текущих установок). На некоторые команды модуль отвечает одним байтом (F6 или F7), после чего не реагирует ни на одну команду (даже на ту же) до выключения питания и включения заново.
Цитата
Что вы называете микросхемой блютуза???

Микросхему BlueCore3-ММ. Там, как вы уже догадались, есть встроенный сигнальный процессор Kalimba.
Вообще отправил запросы на получение подробной информации разработчику (фирма Rayson) и компании Rainbow, которая поставляет такие модули на наш рынок и на сайте которых мне удалось скачать набор AT-команд для BTM-240. От Rayson пришел ответ с прикрепленным даташитом, но в том даташите кроме типовой схемы включения и разводки выводов ничего нет, я его и так нашел в интернете. На повторный запрос пока не ответили). Похоже там действительно прошивка с командами высокого уровня, пока вот такие новости.
Спасибо за поддержку!
Go to the top of the page
 
+Quote Post
uriy
сообщение Mar 6 2009, 15:19
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Вы уже перепробовали различные скрости? Вряд ли прошивка с АТ командами выдавала бы данные НЕ в ASCII. И странно что при включении разные данные выдаются. Это опять наводит на мысл что скрость не попала. А еще лучше посмотрите осцилом на какой скорости данные выдаются.
Go to the top of the page
 
+Quote Post
Sminder
сообщение Mar 10 2009, 14:26
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 26-02-07
Пользователь №: 25 691



Цитата(uriy @ Mar 6 2009, 17:19) *
Это опять наводит на мысль что скрость не попала. А еще лучше посмотрите осцилом на какой скорости данные выдаются.

Опять вы были правы) Я доверился какому-то сомнительному документу на совершенно другой модуль, вместо того чтобы измерить! Анализ сигнала показал, что обмен идет на скорости 115 кб/с, а не 19,2, как я ранее думал.
Сообщения от модулю приходят в той же последовательности, но уже стабильно :)
Первичное сообщение после включения питания - 7 байт (не ASCII), а после некоторых моих сообщений - 4 байта. Характер сообщений никак не меняется. На AT-команды не похоже, хотя по спецификации на профили HeadSet (HSP) и HandsFree (HFP), которые поддерживает модуль, управление осуществляется посредством именно AT-команд.

P.S. Производитель прислал новое письмо, там прикреплен документ типа вопрос-ответ по разным модулям, но именно про мой (BTM-240) опять же ничего нету.

Сообщение отредактировал Sminder - Mar 10 2009, 14:53
Go to the top of the page
 
+Quote Post
uriy
сообщение Mar 10 2009, 16:42
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Напишите что за данные приходят после включения. Что-то мне подсказывает что вы еще не пытались подключиться к модулю через bluetooth wink.gif . Обычно модули с заводскими настройками видны при поиске. Проведите поиск устройств, например, со своего телефона и попытайтесь подключится к своему модулю. И смотрите что при этом идет на уарт. Модуль должен выдать данные о том что к нему кто-то долбится (в этом пакете должен быть адресс долбящегося, т.е. вашего телефона, старшие и младшие байты возможно будут перепутаны местами). Если таковые данные удастя выжать пишите эти данные и BT адресс вашего телефона. Попробуем разобраться.
Выведен ли с чипа SPI на плату? Есть ли возможность к нему подключится?
Go to the top of the page
 
+Quote Post
Sminder
сообщение Mar 11 2009, 07:44
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 26-02-07
Пользователь №: 25 691



Данные, которые выдает модуль после включения питания: 04 0F 04 00 01 00 00
Данные, которые выдает модуль после записи некоторых моих команд: 04 10 01 FE

Подключиться к модулю через bluetooth я пытался неоднократно. Модуль не обнаруживается ни при каких условиях. Во время сканирования модуль не выдает никакой информации по UART.

Интерфейс SPI имеется на плате. Насколько я понял из описания других модулей, он предназначен только для смены прошивки модуля.

P.S. Получил только что письмо от производителя: "BTM-240 doesn't have SPP firmware. It won't response AT commands correctly". Краткость - сестра таланта, это про них. Сколько ни прошу прислать документацию, ограничиватся письмами в одну-две фразы.

Сообщение отредактировал Sminder - Mar 11 2009, 07:49
Go to the top of the page
 
+Quote Post
diwil
сообщение Mar 11 2009, 08:04
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 366
Регистрация: 5-09-06
Из: Санкт-Петербург
Пользователь №: 20 107



Цитата(Sminder @ Mar 11 2009, 10:44) *
Данные, которые выдает модуль после включения питания: 04 0F 04 00 01 00 00
Данные, которые выдает модуль после записи некоторых моих команд: 04 10 01 FE

Подключиться к модулю через bluetooth я пытался неоднократно. Модуль не обнаруживается ни при каких условиях. Во время сканирования модуль не выдает никакой информации по UART.

Интерфейс SPI имеется на плате. Насколько я понял из описания других модулей, он предназначен только для смены прошивки модуля.

P.S. Получил только что письмо от производителя: "BTM-240 doesn't have SPP firmware. It won't response AT commands correctly". Краткость - сестра таланта, это про них. Сколько ни прошу прислать документацию, ограничиватся письмами в одну-две фразы.


Судя по-всему прошивки нет никакой. По уарту лезет просто мусор.

Т.е. чтобы заставить этот модуль работать надо найти БлюЛаб, скомпилить любой профиль (с блюлабом поставляется несколько примеров) и загрузить его.
Go to the top of the page
 
+Quote Post
Sminder
сообщение Mar 11 2009, 08:57
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 26-02-07
Пользователь №: 25 691



Цитата(diwil @ Mar 11 2009, 10:04) *
Судя по-всему прошивки нет никакой. По уарту лезет просто мусор.

Почему же мусор? На осциллографе все выглядит очень прилично: старт - данные - стоп, все как положено.

Цитата
Т.е. чтобы заставить этот модуль работать надо найти БлюЛаб, скомпилить любой профиль (с блюлабом поставляется несколько примеров) и загрузить его.

По тому документу, который имеется у меня (простенький даташит с кратким описанием, схемой включения и распиновкой - мне его прислал производитель), я так понял, что модуль уже поддерживает профили Headset и HandsFree. Или их одновременная поддержка невозможна, а просто перечислены доступные режимы работы?

Вот цитата из даташита:

- Interface: USB, UART & PCM (for voice CODEC)
- Support Digital Audio Bus : I2S or SPDIF
- Headset/Handsfree firmware is available (вот тут не понял: просто возможна поддержка или уже реализована?)
- A2DP/AVRCP profile support

А вообще, можно ли как-то проверить, чтобы гарантированно убедиться, загружена рабочая прошивка или нет?
Go to the top of the page
 
+Quote Post
uriy
сообщение Mar 11 2009, 09:51
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Попробуйте те ка програмку, которую я подцепил. Они при установке просит пароль туда вроде можжно вбить все что угодно. В каталоге с установленной программой появляетс документ с описанием работы. Программка русская, документ соответственно тоже.
Цитата
Headset/Handsfree firmware is available
По-моему имеется ввиду что такая прошивка существует, но совсем не обязательно что она у вас уже залита.
Прикрепленный файл  PITbdk.rar ( 1.97 мегабайт ) Кол-во скачиваний: 499
Go to the top of the page
 
+Quote Post
Sminder
сообщение Mar 11 2009, 12:38
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 26-02-07
Пользователь №: 25 691



Ура! uriy, с помощью вашей программы удалось запустить модуль!!!!
Сделал все, как описано в мануале. Запустил в режиме ведомого. В лог начали писаться данные, а светодиод, подпаянный к выводу PIO(0) замигал. После этого пробовал произвести поиск устройства с помощью мобильного телефона. Устройство обнаружилось с названием CSR-bc3, правда соединение с ним не удалось.

P.S. прилагаю лог работы модуля
Прикрепленный файл  connection.zip ( 2.15 килобайт ) Кол-во скачиваний: 232


Я так понял, что управлять модулем можно по HCI. Вот только насчет профилей вопрос. Насколько я понял, HCI - это невысокий уровень иерархии. Так получается, что профили HSP и HFP не реализованы внутри модуля?

Сообщение отредактировал Sminder - Mar 11 2009, 12:43
Go to the top of the page
 
+Quote Post
uriy
сообщение Mar 11 2009, 16:51
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Цитата
Я так понял, что управлять модулем можно по HCI. Вот только насчет профилей вопрос. Насколько я понял, HCI - это невысокий уровень иерархии. Так получается, что профили HSP и HFP не реализованы внутри модуля?
Совершенно верно.
Теперь для вас вижу два пути.
1. Изучить HCI и реализовать на хост контроллере все требуемые профили. Прошивку модуля оставить как есть.
2. Забить на HCI. Скачать Bluelab. Если не найдете могу поделится. С ним куча исходников и готовых примеров. Достаточно их откомпилить и залить в модуль. Прошивка которая там щас находится наверно не позволяет сделать это через UART или USB. Придется заливать через SPI. А там в своей прошивке можете предусмотреть обновление ПО через какой-нибудь интерфейс. Минусы этого варианта в том что исходники похоже писали индусы. Нелегко в них разобраться. С какой то из версий bluelab шел обширный хелп по функциям в html виде. Зато возможно в вашем приложении хост контроллер можно вообще выкинуть и все сделать в модуле.
Даже не знаю какой из вариантов проще. В свое время начинал с обоих. Ни один не довел до конца. Выбрал другой модуль. Если у вас нет начальных знаний о Bluetooth могу порекомендовать вот эту книгу Bluetooth Application Developers Guide.pdf. Вроде гуглом находится без проблем.
Go to the top of the page
 
+Quote Post
Sminder
сообщение Mar 13 2009, 12:16
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 26-02-07
Пользователь №: 25 691



Достал BlueLab 4.0.1. В тех примерах, которые я обнаружил (папка apps/examples), я не нашел исходников требуемого мне профиля (мне нужна связь с блютус-гарнитурой, т.е. профиль HeadSet (HSP), а устройство должно только принимать/передавать звук, и я выбрал вариант построения системы Embedded (или Fully Embedded)). Или я неправильно понял, и готовых профилей не идет в комплекте?
В процессе ознакомления у меня возник ряд вопросов. Извиняюсь сразу, может быть они покажутся глупыми, но я с блютус-устройствами первый раз работаю.

1) Каким процессором исполняется код, который компилится в BlueLab? Если верить даташиту на микросхему Bluecore, внутри имеется аппаратный движок физического уровня (Physical Layer Hardware Engine) в секции "Baseband and logic", RISC-контроллер и сигнальный процессор Kalimba.
2) Куда "заливается" скомпилированная программа? Сразу во флэш-память? На модуле имеется микросхема параллельной памяти на 512 Х 16 бит.
3) Я так понял, что к компьютеру SPI интерфейс подключается через LPT-порт, а какова схема подключения к порту?
4) Можно ли сохранить старую прошивку (т.е. текущую), чтобы потом ее восстановить?
5) Возможна ли внутрисхемная отладка кода, или SPI интерфейс нужен только для программирования флэшки?

uriy, большое спасибо за совет. Книжку нашел, изучаю)

Сообщение отредактировал Sminder - Mar 13 2009, 12:23
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 24th June 2025 - 12:45
Рейтинг@Mail.ru


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