подключение к USB

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Открыл глаза
Сообщения: 61
Зарегистрирован: Вт авг 14, 2012 21:13:42
Откуда: Санкт-Петербург

Сообщение PetrB09 »

Доброго времени суток!
Хочу посоветоваться: необходимо подключить к компьютеру, как USB HID устройство, такой же пульт, но стоящий в кабинете:
http://fotki.yandex.ru/users/tu2-191/view/54588/?page=0 (фотки не мои)
(всего 46 кнопок/переключателей, 11 ламп,1 двигатель (должна быть возможность регулировки оборотов от 0 до номинальных) 4 измерительные головы, 5 электропневматических вентелей, 4 аналоговых датчика давления).
Прочитав вот эти 2 статьи:
http://radiokot.ru/articles/44/
http://radiokot.ru/articles/45/
понял, что оптимальным будет использование С8051. А вот отсюда появились вопросы:
1) правильно ли я понимаю, что для реализации подключения надо 62 входа/выхода, 5 каналов ШИМ, 4 канала АЦП?
2) если первое да, то подходит ли для этого С8051F320 (http://www.silabs.com/Support%20Documen ... _Short.pdf)?
3) Отличается ли чем то принципиально программирование C8051 от программирования других МК?
P. S. Прошу прощения за, возможно, глупые вопросы, просто я с микроконтроллерами на "Вы" и ничего кроме mega8 в руках не держал :oops:
Контактная информация:
Реклама
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

понял, что оптимальным будет использование С8051
Возможно, но кроме этих статей статей вы вряд ли найдёте русскоязычную информацию по работе с ними.
1) правильно ли я понимаю, что для реализации подключения надо 62 входа/выхода, 5 каналов ШИМ, 4 канала АЦП?
Кнопки можно объединить в матрицу, тогда портов надо будет меньше. К примеру, 16ю портами можно опрашивать 64 кнопки.
3) Отличается ли чем то принципиально программирование C8051 от программирования других МК?
Принципиально - нет :)
Реклама
Открыл глаза
Аватара пользователя
Сообщения: 51
Зарегистрирован: Ср окт 31, 2012 10:33:57

Сообщение Полиграф Полиграфыч »

PetrB09 писал(а):Доброго времени суток!
Хочу посоветоваться: необходимо подключить к компьютеру, как USB HID устройство, такой же пульт, но стоящий в кабинете:
P. S. Прошу прощения за, возможно, глупые вопросы, просто я с микроконтроллерами на "Вы" и ничего кроме mega8 в руках не держал :oops:
Я бы сделал так:
- кнопки подал на регистры типа ИР22, ИР23
- лампочки - на те же регистры, но в другую сторону, и включал через транзисторы
В итоге будет задействована только 8 линий шины и на каждый регистр по линии.
- USB на FT232RL (проще управлять). Правда оно там не USB HID, но проблем с подключением не было
- управление моторами и другой аналоговой техникой - уже на микроконтроллере.

Можно на 8051, но я бы порекомендовал ATMega128 какую-нибудь, чтобы не думать, хватит ли ног/озу/памяти или нет.
Открыл глаза
Сообщения: 61
Зарегистрирован: Вт авг 14, 2012 21:13:42
Откуда: Санкт-Петербург

Сообщение PetrB09 »

Большое спасибо за отклики
ploop писал(а): Кнопки можно объединить в матрицу
Про матрицу я думал, но там тогда придется DLL библиотеку работающую с пультом еще обучать "расшифровывать" приходящие данные.
Про регистры не понял идею...
По поводу USB HID устройства - это достаточно критично по-скольку в противном случае нужны сторонние драйвера, которые, во-первых могут не разрешить поставить, а во-вторых - немного непонятно, как с таким устройством работать, а примеров с HID устройствами в интернете полно.
Еще когда писал первый пост, забыл, что один из тормозных кранов не имеет точных позиций и по этому для него тоже нужен АЦП.
И еще возник вопрос: правильно ли я понимаю, что в одном контроллере только один канал АЦП?
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

а во-вторых - немного непонятно, как с таким устройством работать
Как с обычным COM-портом. Правда для windows нужны драйвера, под линуксом проблем нет.
И еще возник вопрос: правильно ли я понимаю, что в одном контроллере только один канал АЦП?
Бывает по разному: 1 АЦП (физически) и много входов через мультиплексор. То есть, например, у той же ATmega8 АЦП один, но восемь каналов, т.е. можно поочерёдно измерять 8 аналоговых величин. Учитывая скорость преобразования АЦП порядка 15кГц, можно получить около 2000 измерений в секунду на канал, чего обычно более, чем достаточно.

А может быть физически два и более АЦП (часть встречается у STM32), и каждый мультиплексируется на несколько каналов.

Так что вам подойдёт практически любой контроллер. Если не хотите городить матрицы и усложнять сдвиговыми регистрами, возьмите 100-ногий STM32 (стоит порядка 7-10$), у него и USB есть, и примеров работы полно, и 100 ног вам за глаза хватит.
Реклама
Открыл глаза
Сообщения: 61
Зарегистрирован: Вт авг 14, 2012 21:13:42
Откуда: Санкт-Петербург

Сообщение PetrB09 »

Спасибо за наводку, сейчас буду читать про него :)
Контактная информация:
Реклама
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

STM32F103VBT6 - 128кБ флеша ($6.32 на ебее с бесплатной доставкой)
STM32F103V8H6 - 64кБ флеша
Есть еще STM32F103VBH6 - тот же STM32F103VBT6, но в BGA-корпусе. Он дешевле, но плату только на заводе заказывать.
Открыл глаза
Сообщения: 61
Зарегистрирован: Вт авг 14, 2012 21:13:42
Откуда: Санкт-Петербург

Сообщение PetrB09 »

в результате поисков нашел замечательный сайт http://www.easystm32.ru, но на нем рассматривается stm32f100, а примеров реализации USB HID на stm32f103 не нашел :dont_know: , может не там искал?
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Примеры в комплекте со всеми библиотеками на сайте производителя - st.com
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

Чем не подходит USB HID на обычной меге?
Пример. http://purebasic.mybb.ru/viewtopic.php?id=211
Открыл глаза
Сообщения: 61
Зарегистрирован: Вт авг 14, 2012 21:13:42
Откуда: Санкт-Петербург

Сообщение PetrB09 »

У меги мало портов, а городить 10 контроллеров и огромный хаб не хочется
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

Используйте ATmega128.
У нее портов должно хватить. А если не хватит, то ATmega2560.
Друг Кота
Аватара пользователя
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

PetrB09 - прежде всего спасибо за интерес к моим статьям. Кнопки можно опрашивать и через АЦП. К одному каналу можно смело подключать до 20 кнопок. При подключении 12-ти, потребуется 3 входных канала АЦП. У C8051F320 15 каналов по входу АЦП+, хватит и на обслуживание 4-х датчиков давления. У него также есть 5 каналов ШИМ. Управление лампами я-бы тоже сделал через 4-16 демультиплехор как советовали выше (например, HEF4067) или напрямую через через какой-нибудь 16-канальный драйвер светодиодов с последовательным интерфейсом (SPI или I2C). 16КБ флеша в F320 вполе достаточно для Ваших целей, из них драйвер USB занимает не более 4. Т.е. можно обойтись МК с малым числом выводов и в легко паябельном корпусе TQFP-32. По МК фирмы Silicon Labs имеются книги на русском, да и на этом форуме есть ветки посвященные им.
Открыл глаза
Сообщения: 61
Зарегистрирован: Вт авг 14, 2012 21:13:42
Откуда: Санкт-Петербург

Сообщение PetrB09 »

Чего-то я совсем запутался... Я правильно понимаю, что из предложенных вариантов МК, наиболее перспективным и универсальным является STM32? Просто я глубоко в программирование МК не погружался, а здесь, как я понял, без этого никак, и хотелось бы осваивать то, что может пригодится и в дальнейших проектах, даже не связанных с ПК
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Чего-то я совсем запутался...
Ну а как вы хотели? Сколько людей, столько и мнений, каждый будет склонять вас на свою сторону. :)

От себя посоветую потерзать гугл. К чему душа ляжет - на том и делайте. Прежде всего определитесь, и попробуйте раздобыть и запустить контроллер, например помигать светодиодом. Задача у вас простая, и подойдёт любая архитектура.
Открыл глаза
Сообщения: 61
Зарегистрирован: Вт авг 14, 2012 21:13:42
Откуда: Санкт-Петербург

Сообщение PetrB09 »

ploop писал(а):Сколько людей, столько и мнений, каждый будет склонять вас на свою сторону
Это точно :) . Буду потихоньку осваивать STM32. В качестве подопытной мыши уже присмотрел STM32VLDiscovery :solder:
Контактная информация:
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Сообщение uk8amk »

Лучше тогда взять 'мышь' пожирнее - stm32Ldiscovery. Отличия не столь фатальные, зато на борту свой USB device уже есть.
Открыл глаза
Сообщения: 61
Зарегистрирован: Вт авг 14, 2012 21:13:42
Откуда: Санкт-Петербург

Сообщение PetrB09 »

Ser60, а на сколько просто организуется usb hid на c8051? Просто про stm32 почти везде пишут, что организация USB на них - дело не для новичков. И еще, через мультиплексор можно одновременно зажечь только один светодиод?
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

PetrB09 - вы цитировани 2 мои статьи выше. На мой взгляд все очень просто даже для новичков. Почитайте для начала первую часть статьи хотя-бы бегло. Это самый простой способ организации связи, для него вобще ничего про USB знать не надо. Будут вопросы - отвечу. Зажигать можно сколько угдно светодиодов и тоже про кнопки.
http://radiokot.ru/articles/44/
Открыл глаза
Сообщения: 61
Зарегистрирован: Вт авг 14, 2012 21:13:42
Откуда: Санкт-Петербург

Сообщение PetrB09 »

если честно, то про демультиплексор не понял, как мне сказала википедия, он в зависимости от приходящего двоичного числа коммутирует определенный выход, а как он сможет закомутировать несколько выходов одновременно? И не могли бы вы посоветовать литературу на русском про это семейство контроллеров.
Контактная информация:
Ответить

Вернуться в «Интеграция с ПК»