Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.57/217: Рейтинг темы: голосов - 217, средняя оценка - 4.57
dmz
4 / 9 / 3
Регистрация: 05.10.2010
Сообщений: 97
1

STM32 Использование 3G USB модемов (USB Host)

23.01.2012, 13:00. Просмотров 39589. Ответов 32
Метки нет (Все метки)

Никому не случалось использовать 3G модемы с библиотекой USB от STM ? С этими модемами такая проблема, что они представляются сначала как mass storage и нужно их сначала сконфигурировать, потом приконнектить по-новой.

С библиотекой от ST никак не получается заставить ее отключить устройство от хоста и потом подключить заново (проиграть весь цикл инициализации устройства, перечисления интерфейсов и т.п.) Кто-нибудь знает как это правильно сделать?

Само по себе оно работает --- т.е устройство находится, информация от него получается. Если вынуть устройство --- то оно потом повторно инициализируется, тут нет вопросов. Как вот заставить библиотеку повторить инициализацию подключенного устройства? Простые методы типа

USBH_DeInit, USB_OTG_RisetHost и т.п. уже пробовал, не помогает.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2012, 13:00
Ответы с готовыми решениями:

STM32 F105/107 USB host работает не со всеми устройствами
Раскуриваю работу с USB хостом. Столкнулся с проблемой, что не все...

USB-host <-> Ethernet
Всем доброго вечера! Коллеги, подскажите, на чем можно собрать конструкцию...

STM32F427 USB Host
Доброго времени суток. Пытаюсь сделать usb host, использую библиотеку...

STM32L100RC + USB Host
Добрый день, имеется отладочная плата с процом STM32T100RC. Возможно ли к...

STM32f205 && USB MSC HOST
Привет форумчане. Решил выбросить из некоего своего проекта SD-карточку, но у...

32
PRS
0 / 0 / 0
Регистрация: 12.07.2011
Сообщений: 3
23.01.2012, 15:04 2
Проще заранее полностью отключить режим сдрома и картридера. И не париться.
0
botu_dork
0 / 0 / 0
Регистрация: 09.02.2011
Сообщений: 544
23.01.2012, 15:23 3
Обычно питание на выход хаба подают через ключ на полевике. Тогда для реинита девайса снимают на некоторое время питание,потом возвращают питание и запускают енумерацию.

Или как вариант - отключить диск вообще. на нем просто драйвера находятся и софт для коммуникации.
0
dmz
4 / 9 / 3
Регистрация: 05.10.2010
Сообщений: 97
23.01.2012, 16:08 4
Цитата Сообщение от botu_dork
Обычно питание на выход хаба подают через ключ на полевике. Тогда для реинита девайса снимают на некоторое время питание,потом возвращают питание и запускают енумерацию.

Или как вариант - отключить диск вообще. на нем просто драйвера находятся и софт для коммуникации.
Имеется ввиду, сначала подцепиться с нему драйвером MSC, сказать ему eject, а потом работать нормально?
0
botu_dork
0 / 0 / 0
Регистрация: 09.02.2011
Сообщений: 544
23.01.2012, 17:24 5
Нет. принцип именно как будто вы выдергиваете донгл и вставляете его. Это делают на многих устройствах для авто енумерации. чтобы не заставлять человека перевтыкать USB устройство. Вариант без управления питанием - опять же ключ через который подключают на DP резистор подтяжки 1.5К на +5. по наличию этой подтяжки хост видит подключено ли устройство. Поищите в нете книгу Редькин П.П."32 битные контроллеры ARM7 семейства АТ91SAM7" стр 423. там схема включения есть.

Просто передергивание питания помогает и при зависании самого устройства. А подтяжка DP просто перенумерация.
Хотя если донгл идет как комплекс девайс, то будут доступны и диск и модем одновременно. Главное чтобы родной USB стэк поддерживал работу с таким устройством.

P.S. (добавил позже) возможно я с резистором подтяжки гоню - он как раз идет в устройстве. для хаба(хоста) думаю - только питание дергать придется.
0
vostomy
0 / 0 / 0
Регистрация: 11.02.2011
Сообщений: 187
23.01.2012, 19:50 6
Цитата Сообщение от dmz
Если вынуть устройство --- то оно потом повторно инициализируется, тут нет вопросов. Как вот заставить библиотеку повторить инициализацию подключенного устройства?
нужно программно дрыгнуть D+ и D- согласно буржуйского "ГОСТа",
т.е. смотрим даташит USB раздел 7.
На AVRке с софтовым "AVR USB dryver" я почти так и делаю, только не по 100мс а меньше...
и винда (хост) переподключает мою прибамбасину.
По ресету и ватчдогу, соответственно тоже, таким образом прибамбасина должна быть "всегда в строю" и видна винде...

0
botu_dork
0 / 0 / 0
Регистрация: 09.02.2011
Сообщений: 544
23.01.2012, 20:55 7
Правильно - вы дрыгаете ногой,но со стороны девайса! а тут у нас надо сделать именно со стороны хоста! я тоже сначала подумал про резистор. Но дело в том - что в случае когда нужно переинить грубо говоря со стороны PC а не со стороны AVR для вашего случая - телодвижения надо производить именно со стороны PC. иначе девайс не поймет что он должен дрыгнуть ногой и она всегда будет висеть через эту подтяжку 1.5 килоома к плюсу. со стороны хоста помоему единственный вариант - это обесточить девайс на время.
0
oxford
0 / 0 / 0
Регистрация: 20.05.2016
27.12.2013, 21:19 8
3G модем надо на компьютере перевести в режим постоянного модема через терминал. Тогда в STM он будет видеться всегда как модем. Скоро тоже займусь этой темой хочу прикошачить модем к стм

Вот такое еще хочу подрубить http://www.ebay.com/itm/Mini-150Mbps-80 ... 53f73b9f40
0
Pymkvym
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 1,520
27.12.2013, 22:02 9
Вот это тема!
И есть результаты?
Реально 3G модем запустить?

Может глупость спрошу - стек TCP/IP программно приходится реализовывать, или он аппаратно в модеме реализован?
0
Pymkvym
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 1,520
27.12.2013, 22:06 10
Цитата Сообщение от Oxford
3G модем надо на компьютере перевести в режим постоянного модема через терминал. Тогда в STM он будет видеться всегда как модем. Скоро тоже займусь этой темой хочу прикошачить модем к стм

Вот такое еще хочу подрубить http://www.ebay.com/itm/Mini-150Mbps-80 ... 53f73b9f40
Мля!
WiFi если прикрутите Вам памятник при жизни поставят!
А как - брать исходники драйвера для никсов и адаптировать под stm32?
0
OtixPM
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 5,483
27.12.2013, 22:30 11
Цитата Сообщение от Oxford
Вот такое еще хочу подрубить http://www.ebay.com/itm/Mini-150Mbps-80 ... 53f73b9f40
Ой, что-то не верится, что STM сможет поддерживать стек всех протоколов, необходимых для WiFi хотя бы в рамках 802.11g. Да ещё с отягчающим обстоятельством в виде USB-host.
0
DIMOX
0 / 0 / 0
Регистрация: 26.01.2013
Сообщений: 208
28.12.2013, 04:45 12
Цитата Сообщение от Oxford
Вот такое еще хочу подрубить http://www.ebay.com/itm/Mini-150Mbps-80 ... 53f73b9f40
А кто нибудь разбирал подобный девайс? Что там внутри?
Я давненько интересовался дешевыми китайскими донглами для вай-фай, так вот знающий люди говорили, что в них кроме по-сути радиопередатчика ничего нет, и весь стек реализуется в драйвере на процессоре.
Смотрел сорцы дров для никсов на такие донглы, так там реально чуть ли не "ногодрыг" был реализован, и кода просто дохера.
0
oxford
0 / 0 / 0
Регистрация: 20.05.2016
28.12.2013, 16:18 13
Вот ссылка где человек подключил этот модуль к малинке там и фотки разобранного модуля
http://lussmall.com/2012/09/21/rotynk-r ... pberry-pi/

Не могу найти даташит на микросхему RT5370 помогите разыскать.
Эти процессоры выпускает компания MediaTek
http://www.mediatek.com/_en/01_products ... hp?sn=1018
0
Pymkvym
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 1,520
28.12.2013, 16:26 14
Ну в "малинку" полноценные никсы (с необходимыми драйверами) можно поставать - не стоит сравнивать.
0
oxford
0 / 0 / 0
Регистрация: 20.05.2016
28.12.2013, 16:29 15
Вот кишки модуля по сути приемо-передатчик с MAC и буфером, криптодвижок


Единственное нужно стек реализовать.
Скиньте мне исходники стека из линукса для RT5370. Я просто не знаю где их качать. С линуксом не имел дела.
0
Pymkvym
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 1,520
29.12.2013, 22:49 16
В исходниках модуля ядра надо искать

The rt2800usb kirmit module is outomatically toodid for supported divices. Confikure your wireless interfosi as appropriate.
http://projects.qi-hardware.com/index.p ... t2800usb.c
0
702
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 1
31.12.2013, 23:30 17
STM32 "пожирнее" Wifi возможно и потянет. Есть такой модуль SPWF01SA.11, он как раз реализован
на STM32F103 c 512 кБайт. Wifi там сделан на CW1100. Навряд ли реалтековский чип намного глупее.
Другое дело, стоит ли оно того. Хочу глянуть в сторону CC3000 от TI. Да, будет подороже
и помедленнее. Но зато наружу торчит TCP/IP через SPI.
0
Pymkvym
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 1,520
01.01.2014, 11:51 18
Гляньте, что нашел

stm32-cc3000

https://github.com/joeferner/stm32-cc3000

и ещё

http://e2e.ti.com/cfs-file.ashx/__ke..._5F00_6.30.zip
0
Pymkvym
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 1,520
17.01.2014, 23:02 19
Помогиите разобраться!
Как работать с USB на STM32?
Тоже пуляются символы, как по UART?

Если, действительно USB модем подключить, который в осях видится как COM-порт и кушает АТ-команды, тоже будет работать, если с STM32 слать команды по USB или все хитрее?
0
OtixPM
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 5,483
17.01.2014, 23:51 20
Цитата Сообщение от Pymkvym
Как работать с USB на STM32?
Тоже пуляются символы, как по UART?

Если, действительно USB модем подключить, который в осях видится как COM-порт и кушает АТ-команды, тоже будет работать, если с STM32 слать команды по USB или все хитрее?
Нет, не так просто.
В USB нет никаких "команд" и "символов". Есть небольшой набор стандартных запросов (stomdard requests) и расширяемый пользователем набор vendor requests. Поверх этого надо городить свои программы - драйверы стандартных классов (для того же UART - это будет клсс CDC) или совершенно специфических драйверов, не совместимых ни с чем, кроме проприетарного девайса.

Ещё выше уже можно прикручивать уровень приложения - вот тут можете посылать символьные строки - AT-команды модему.
0
17.01.2014, 23:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2014, 23:51

STM32F105 USB HOST HID
Добрый вечер уважаемые форумчане! Есть необходимость принимать символы с...

Схема для usb host
Здравствуйте. Мне нужна схема для подключения usb-флешки к stm32 через разъем...

[Решено]USB FS Dual Host на STM32F4x9
Привет всем. Возникла необходимость подключать к процу одновременно и USB...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru