Перейти к содержанию
    

Здравствуйте, так как с USB дел не имел у меня вопрос.

Как соединить AVR и PC через USB. :huh:

Допустим вставляем девайс в USB и пишем программу на VC и взаимодействуем :biggrin::biggrin:

 

Для примера можно взять Atmega16 или atmega128. :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

самый быстрый способ чип от FTDI - эмулятор COM порта (поставляетс FTDI) и UART на AtMega

- если надо у меня есть готовое устойство - могу прислать схему.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

самый быстрый способ чип от FTDI - эмулятор COM порта (поставляетс FTDI) и UART на AtMega

- если надо у меня есть готовое устойство - могу прислать схему.

А как работать со стороны компьютера? И какая скорость передачи и приема данных?

Изменено пользователем Феникс

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как работать со стороны компьютера? И какая скорость передачи и приема данных?

 

Компьютер обнаруживает устройство - ком порт

Дальше работать с ним через библиотеки для ком порта

Например через МСкомм в ВижуалБейсик

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Работать как с обычным COM портом. скорость - непомню, зайди на FTDI.com и посмотри

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

самый быстрый способ чип от FTDI - эмулятор COM порта (поставляетс FTDI) и UART на AtMega

- если надо у меня есть готовое устойство - могу прислать схему.

можно еще на PL-2303X, благо на ней все кабели переходников USB-COM собраны, правда мы их закупаем в Шеньжене... стоит там в розницу $2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для FTDI можно использовать либо драйвер, поставляемый поставщиком, который на компе организует COM порт. В этом случае есть неприятная особенность. Стоит переткнуть USB, как меняется номер COM-порта на следующий. Бывает комичная ситуация, когда на компе есть один COM порт с номер 10.

 

Но есть вариант написания собственного обмена (при помощи энумератора). Пример на VC++ есть на сайте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Стоит переткнуть USB, как меняется номер COM-порта на следующий

А помоему это очень даже удобно. Можно подключать к одному компьютеру несколько устройств на FTDI. Я, например, подключал за один раз два преобразователя USB-RS485, JTAGICE USBшный и, собственно само отлаживаемое устройсво. Итого - четыре девайса, четыре СОМ-порта в компьютере. Естественно, все перечисленные устройства имеют в составе FT232 и/или FT245.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Конечно удобно. Но теперь предположим, что разработанное Вами устройство стоит у заказчика и по COM-порту общается с программой на компьютере. И он вынул и вставил USB кабель заново (ну там провод по другому протянул или еще что). При этом номер COM порта измениться, а, следовательно, Ваш прибор перестанет работать, т.к. программа по работе с этим прибором привязана к определенному COM-порту. Начинаются звонки в службу тех. поддержки... :a14:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

http://obdev.at/products/avrusb/index.html

Реализовать или в основном контроллере или поставить еще один (мегу8 или тиньку).

Если скорости небольшие, то рекомендую использовать hid - просто программировать и не нужны драйвера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Моё личное мнение конечно - но по моему со старта лучше взять СP2102 или FT232 - виртуальный ком порт и никакой мороки.

Если уж так сильно захотелось именно USB то тогда стоит посмотреть в сторону атмеловских встроенных USB решений.Есчё где то было решение у атмела по моему в апноутах - софтварный юсб.

 

Есчё советую глянуть сюда - http://www.fischl.de/avrusbboot/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Конечно удобно. Но теперь предположим, что разработанное Вами устройство стоит у заказчика и по COM-порту общается с программой на компьютере. И он вынул и вставил USB кабель заново (ну там провод по другому протянул или еще что). При этом номер COM порта измениться, а, следовательно, Ваш прибор перестанет работать, т.к. программа по работе с этим прибором привязана к определенному COM-порту. Начинаются звонки в службу тех. поддержки... :a14:

Да, и с таким сталкивались. В обвязке FTDI есть микросхема EEPROM. Так вот, если в нее залить информацию об устройстве, то потом куда сие устройство не воткни (на одном компьютере естественно),то оно всегда будет привязано к одному и тому же номера порта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для FTDI можно использовать либо драйвер, поставляемый поставщиком, который на компе организует COM порт. В этом случае есть неприятная особенность. Стоит переткнуть USB, как меняется номер COM-порта на следующий. Бывает комичная ситуация, когда на компе есть один COM порт с номер 10.

Было дело - номер ком-порта зависел от ЮСБ-разъема. Т.е., в 1-м разьеме он СОМ5, во втором - СОМ6. Дело решилось прошивкой в ЕЕПРОМку уникального серийного номера. Теперь даже коробочки с переходниками (их у меня 3 штуки) подписал номерами портов.

 

А если хватает ног - можно FT245 использовать. Разводка у обеих ИМС со стороны ЮСБ совпадает. Со стороны ПК - обращение как к СОМ-порту (только скорость обмена игнорируется), со стороны МК - 8бит + 2..4 управляющих линии/линии состтояния. Скорость обмена в режиме VCP - до 300кБайт/сек. Только для ее достижения нужно передавать данные сравнительно большими блоками (но это уже особенность USB).

Изменено пользователем Александр Куличок

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

http://obdev.at/products/avrusb/index.html

Реализовать или в основном контроллере или поставить еще один (мегу8 или тиньку).

Если скорости небольшие, то рекомендую использовать hid - просто программировать и не нужны драйвера.

Хм, я ж говорю ни разу не сталкивался с этим, можете привести полный пример реализации HID или еще какой нибудь? Желательно на русском.

С одной стороны Мк с другой прога на РС. Писать проги на С++ умею, но с юсб не встречался, как получить доступ к HID драйверу в винде, я непонимаю :help: :smile3046:.

Изменено пользователем Феникс

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...