v-usb

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Steve_g
Родился
Сообщения: 19
Зарегистрирован: Вт окт 16, 2012 12:49:28

v-usb

Сообщение Steve_g »

Здравствуйте! Только что зарегился на сайте, так что всем привет))

Что я имею - программа на C, которая работает с COM-портом...используются прерывания и все прочее - для микроконтроллера Atmega8A. Билдим проект -получаем hex файл - прошиваем им МК и все, шлем команды в порт - получаем ответы!

Но мне нужен COM-порт для других вещей, соответственно я натолкнулся на библиотеку v-usb..и я запутался - мне как и в каком порядке надо делать? скачал пакет v-usb, отредактировал usbconfig.h, поменял в программе все операции по заданию таймера для счетчиков с учетом того, что юзалась тактовая частота 4MHz, а библиотека требует минимум 12..это я сделал...механик припаял к D+ и D- пины INT0-прерывания и еще 1 пин того же порта...питалово берем свое(не от USB)

При работе с COM-портом мы припаяли выходы RXD и TXD к ножкам COM-порта и так через USART обменивались данными с МК! Что изменится в программе по сравнению с текущим состоянием? Нужно ли писать прогу на компе независимо от прошивки? Ось - Linux!

Или лучше использовать переходник COM-USB(эмуляция COM-порта)? (хотелось бы конечно реализовать программно)
Реклама
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: v-usb

Сообщение Satyr »

Steve_g писал(а): Но мне нужен COM-порт для других вещей, соответственно я натолкнулся на библиотеку v-usb..и я запутался - мне как и в каком порядке надо делать?
Начать с того, что забыть это костыльно ископаемое, слить LUFA и купить копеечные контроллеры с USB контроллером.
Ну, это если упереться в AVR и не смотреть на другое...
Реклама
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: v-usb

Сообщение Satyr »

Steve_g писал(а): Или лучше использовать переходник COM-USB(эмуляция COM-порта)? (хотелось бы конечно реализовать программно)
Купить AT90USBxxx или ATMEGAxxUx и использовать аппаратный USB rjynhjkkth
Steve_g
Родился
Сообщения: 19
Зарегистрирован: Вт окт 16, 2012 12:49:28

Re: v-usb

Сообщение Steve_g »

у нас очень большой проект, в котором все порты используются почти что) в частности com будет юзаться gpsd демоном. соотв мне надо бы скинуть запросы к Com-порту, принимаемые в USART МК на какой то другой порт..предлагается usb..

Поток приборов большой - камней Atmega8A закуплено много..

есть 2 вариант имхо -

1) переделывать прошивку под работу с v-usb - ТУТ вообще ничего для меня понятного нет...заблудился в дебрях материалов под Винду
2) работа для механика - сделать переходник USB-COM - так, что все на программном уровне останется прежним, просто я данные буду посылать на эмулированный порт, скажем COM1...

Хотелось бы самому конечно сделать по 1)..но если это геморно и нерентабельно - то 2)

вот потому и прошу посоветовать какой выбор сделать - если 2 - то все ли правильно я предполагаю?

если 1 - то дайте плиз ссылки на материал, который четко даст понять как и что делать так, чтобы все это работало под Linux-ом

Заранее благодарю откликнувшихся добрых людей!
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: v-usb

Сообщение Satyr »

Steve_g писал(а): Поток приборов большой - камней Atmega8A закуплено много..
Если продукт массовый, а не две игрушки на коленке - то про VUSB сразу же забыть, пока глупостей не наделали.
Берите ATmega8U2 с аппаратным контроллером.

Дешевле атмеги8а на помойку выкинуть, чем потом разгребать глюки с несовместимостью УСБ.
Реклама
Steve_g
Родился
Сообщения: 19
Зарегистрирован: Вт окт 16, 2012 12:49:28

Re: v-usb

Сообщение Steve_g »

спасибо большое!! камень тоже будет прошиваться программой нашей? прошивка камня будет такая же, как и на Atmega8, единственное - данные будет брать не из USART а из какого то другого буфера? ( видимо курить документацию надо)...

видимо, это действительно самый адекватный вариант ибо vusb мне весь мозг вынес(
Реклама
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: v-usb

Сообщение Satyr »

vusb - наколенная поделка далекая от стандарта. имела смысл в далекие времена, когда МК с усб были дефицит и дорого.
Но это время прошло
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: v-usb

Сообщение Alexeyslav »

И еще как удалось переделать VUSB под 4Мгц, тогда как 12Мгц для общения по USB-шине в её версии 1.0 едва хватает? При том что VUSB это жуткий костыль, с которым у остальных задач кроме обеспечения протокола USB должен быть наименьший приоритет, ибо чревато всевозможными спецэффектами.

Лучше уж организовывать программный UART(если все доступные уже заняты) и работать через USB-UART преобразователь вроде PL2303 или еще шикарней FT232(но цена в 2 раза однако!).
Steve_g
Родился
Сообщения: 19
Зарегистрирован: Вт окт 16, 2012 12:49:28

Re: v-usb

Сообщение Steve_g »

Скачал документацию по камню - увидел, что там нет встроенного модуля АЦП..Не подскажете камень с контроллером USB и модулем АЦП!
Steve_g
Родился
Сообщения: 19
Зарегистрирован: Вт окт 16, 2012 12:49:28

Re: v-usb

Сообщение Steve_g »

работали через COM-порт когда - использовали внутреннюю тактовую частоту 4МГЦ. Под v-usb то 12 конечно же!!

Цена - критичный аспект, ибо поток большой! соответственно пока что попробуем аналог Atmega8U2 но только с АЦП..еще раз прошу совета по камню с АЦП
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: v-usb

Сообщение Satyr »

Alexeyslav писал(а): Лучше уж организовывать программный UART(если все доступные уже заняты) и работать через USB-UART преобразователь вроде PL2303 или еще шикарней FT232(но цена в 2 раза однако!).
Тогда уж СP2102 - он в 2 раза дешевле PL2303 :)))
Вот только нафига ?

atmega8 + любой внешний чип полюбому дороже, более громоздко и ограниченнее, чем тот же авр с аппаратынм УСБ
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: v-usb

Сообщение Alexeyslav »

Нет уж, увольте от CP2102 у меня от нее на винде синие экраны случаются, и недавно одна кажется совсем перестала откликаться по USB. А вот FT232 реализует очень много полезных функций и имеет много настроек, реализуемых драйвером - частоту опроса шины, увеличенный буффер приема/передачи а так же BITBANG режим позволяющий использовать дополнительные линии в нестандартном режиме с высокой скоростью что используется во всякого рода простейших программаторах и железках разработанных для старых COM-портов.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3384
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: v-usb

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

Satyr писал(а):vusb - наколенная поделка далекая от стандарта. имела смысл в далекие времена, когда МК с усб были дефицит и дорого.
Но это время прошло
Вы сильно ошибаетесь!
Может в Москве и не сложно достать МК с аппаратным USB, но в глубинке, достать бывает нереально!
К тому же, DIP корпус удобнее для экспериментов, а есть ли AVR в аппаратным USB в DIP?
Аватара пользователя
Reloader
Мучитель микросхем
Сообщения: 451
Зарегистрирован: Сб фев 26, 2011 14:38:42
Откуда: Новочеркасск

Re: v-usb

Сообщение Reloader »

Мурик писал(а):но в глубинке, достать бывает нереально!
А у Вас, в "глубинке" что? почту упразднили?!!
Вот тут и с аппаратным USB есть
Выпрямите спину и уберите левую руку от лица.
Мой Youtube канал
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: v-usb

Сообщение ploop »

но в глубинке, достать бывает нереально!
В моей глубинке даже светодиод купить нереально. И что? Есть интернет-магазины, есть Китай, который с радостью шлёт детальки в мою глубинку.
Steve_g
Родился
Сообщения: 19
Зарегистрирован: Вт окт 16, 2012 12:49:28

Re: v-usb

Сообщение Steve_g »

Раз уж начал писать в этой теме - решил отписаться и заодно спросить!

Решили сделать переходник Usb-serial на камне AtTiny2313, саму программу оставить неизменной на Atmega8A..помучались с кварцами и питанием, но все таки сумели наладить работу переходника, проверили под ВИндой - работает!!

Надо перейти на Linux - переходник определяется как устройство ttyACM0! В инете порылся - не смог найти нормальных ответов и решений по тому вопросу - КАК обратиться к моей программе по виртуальному COM-порту, то есть как получить виртуальное устройство /dev/ttyS4 к примеру!? драйвер на переходник под Linux скачивал, ставил - ругается на отсутствующие .h - файлы в директории /usr/include/linux - init.h и т.д.

ПОМОГИТЕ ПЛИЗ)
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: v-usb

Сообщение ploop »

Какой драйвер?
Попробуйте просто: echo 'test' > /dev/ttyACM0
Steve_g
Родился
Сообщения: 19
Зарегистрирован: Вт окт 16, 2012 12:49:28

Re: v-usb

Сообщение Steve_g »

Я вот и хотел узнать, что установить можно под ОС AltLinux ибо при ставке дров 3 видов у меня ругалось на отсутствие .h файлов!

Но как вот здесь - http://www.linux.org.ru/forum/linux-hardware/7683634 ошибки нет, просто проглатывает и все!!

[ 4142.195995] usb 1-1.1: new low speed USB device number 6 using ehci_hcd
[ 4142.295228] usb 1-1.1: config 1 interface 1 altsetting 0 endpoint 0x1 is Bulk; changing to Interrupt
[ 4142.295231] usb 1-1.1: config 1 interface 1 altsetting 0 endpoint 0x81 is Bulk; changing to Interrupt
[ 4142.301183] usb 1-1.1: New USB device found, idVendor=16c0, idProduct=05e1
[ 4142.301186] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 4142.301188] usb 1-1.1: Product: USB-232
[ 4142.301189] usb 1-1.1: Manufacturer: www.recursion.jp
[ 4142.301721] cdc_acm 1-1.1:1.0: ttyACM0: USB ACM device

вот что выдает dmesg при подключении...посоветуйте плиз что можно сделать?
Steve_g
Родился
Сообщения: 19
Зарегистрирован: Вт окт 16, 2012 12:49:28

Re: v-usb

Сообщение Steve_g »

echo 'hvjhj' > /dev/ttyACM0 делаю.... на преобразователе TxD c RxD соединили - чтобы проверить напрямую просто преобразователь

команда cat /dev/ttyACM0 ничего не возвращает..а под Виндой с соединенными TxD и RxD посылали через утилиту Terminal слова и принимали то же самое!!
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: v-usb

Сообщение ploop »

1. Открой два терминала (лучше под рутом)
2. Соедини Rx и Tx на переходнике
3. На одном набери cat /dev/ttyACM0 (будет ждать)
4. На втором набери echo 'hvjhj' > /dev/ttyACM0
5. После того, как нажмёшь ввод на втором, на первом должна появиться строка
6. Если Rx и Tx разомкнуть, строка не должна появляться.
Ответить

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