Подключение микроконтроллера avr к компьютеру
Обновлено: 21.11.2024
Всем привет
Я хочу отправить данные с одного AVR на другой.
Сначала я собираюсь отправить данные на компьютер, чтобы узнать, что я отправил с AVR1 (я хотел бы увидеть, что было отправлено).
Как я могу подключить AVR к ПК?
Я не знаю, как подключить вывод AVR TX к компьютеру.
alexan_e
Администратор
Присоединился 16 марта 2008 г. Сообщений 11 895 Помогло 2 021 Репутация 4 158 Очки реакции 2 032 Трофейные очки 1 393 Местоположение Греция Очки активности 64 373
паавитра
ягуби
кшиварам
Продвинутый уровень участника 5
Присоединился 21 апреля 2008 г. Сообщений 5 070 Помогло 2 149 Репутация 4 304 Очки реакции 2 089 Трофейные очки 1 393 Местоположение Виллинген (Германия) / Бангалор Очки активности 30 086
но вам нужно подключить MAX232 к UART контроллера.
паавитра
ягуби
хонгфук118
Уровень участника 2
Зарегистрирован 25 июня 2011 г. Сообщений 52 Помогли 4 Репутация 8 Очки реакции 4 Трофейные очки 1 288 Местоположение Ханой, Вьетнам Очки активности 1 514
большой доггуру
Администратор
Присоединился 12 марта 2010 г. Сообщений 9 831 Помогло 2 349 Репутация 4 692 Очки реакции 2 276 Трофейные очки 1 413 Местоположение Southwest, USA Очки активности 62 369
Имеет ли ваш AVR периферийный интерфейс USB?
Если нет, вы можете использовать микросхему моста USB-UART или коммутационную плату с устройством FT232:
После того, как интерфейс USB подключен к вашему ПК, вы можете получить доступ к виртуальному последовательному COM-порту, как если бы это был обычный последовательный порт.
Silicon Labs также производит мостовое устройство USB-UART.
Они очень удобны, я держу несколько на скамейке.
хонгфук118
Уровень участника 2
Зарегистрирован 25 июня 2011 г. Сообщений 52 Помогли 4 Репутация 8 Очки реакции 4 Трофейные очки 1 288 Местоположение Ханой, Вьетнам Очки активности 1 514
кшиварам
Продвинутый уровень участника 5
Присоединился 21 апреля 2008 г. Сообщений 5 070 Помогло 2 149 Репутация 4 304 Очки реакции 2 089 Трофейные очки 1 393 Местоположение Виллинген (Германия) / Бангалор Очки активности 30 086
Проверьте техпаспорт используемого контроллера AVR, чтобы убедиться, что он поддерживает USB. то для этой цели вам следует использовать кабель USB-serial..
хонгфук118
Уровень участника 2
Зарегистрирован 25 июня 2011 г. Сообщений 52 Помогли 4 Репутация 8 Очки реакции 4 Трофейные очки 1 288 Местоположение Ханой, Вьетнам Очки активности 1 514
В программаторе AVR мы используем atmega8 для подключения напрямую к USB-порту.
Я думаю, мы можем использовать его для atmega16.
большой доггуру
Администратор
Присоединился 12 марта 2010 г. Сообщений 9 831 Помогло 2 349 Репутация 4 692 Очки реакции 2 276 Трофейные очки 1 413 Местоположение Southwest, USA Очки активности 62 369
В программаторе AVR мы используем atmega8 для подключения напрямую к USB-порту.
Я думаю, мы можем использовать его для atmega16.
Я полагаю, вы имеете в виду интерфейс USB программатора USBasp:
Который использует интерфейс softUSB без периферийного оборудования. Однако код для его реализации находится на ассемблере, и его может быть сложно перенести в другие проекты.
---------- Сообщение добавлено в 07:06 ---------- Предыдущее сообщение было в 07:02 ----------
Вот еще одна реализация softUSB для AVR:
Надеюсь, это поможет вам в ваших начинаниях.
alexan_e
басса
хонгфук118
Уровень участника 2
Зарегистрирован 25 июня 2011 г. Сообщений 52 Помогли 4 Репутация 8 Очки реакции 4 Трофейные очки 1 288 Местоположение Ханой, Вьетнам Очки активности 1 514
Пит77
Уровень новичка 2
Присоединился 16 сентября 2011 г. Сообщений 2 Помогли 1 Репутация 2 Очки реакции 1 Трофейные очки 1 283 Очки активности 1 295
Если это просто проект для вас, который будет использоваться на вашем ПК, вам, вероятно, следует придерживаться последовательной связи между ПК и микроконтроллером, так как это самый простой способ связи между ПК и микроконтроллером (наименьшее количество головной боли для вас). ).
Я уже использовал его раньше, и он отлично работал как с реальным последовательным портом, так и с "фальшивым" последовательным портом (преобразователь USB-последовательного порта в виртуальный).
Учебное пособие по сопряжению ПК с Windows 10 с микроконтроллером ATmega328P с использованием протокола RS485 для двунаправленной связи.
В первом случае
Во втором случае
ПК отправит символы ASCII на микроконтроллер ATmega328P по каналу RS485, а светодиоды, подключенные к микроконтроллеру, загорятся в зависимости от команды
Код для ATmega328P написан на AVR C с использованием ATMEL Studio 7 или Microchip Studio.
Содержание
Требуется оборудование
1) Микроконтроллер ATmega328P, подключенный к микросхеме MAX485 или аналогичной.
2) Преобразователь USB в RS485, аналогичный преобразователю USB2RS485 (на базе FT232).
3) ПК с ОС Windows
Принципиальная схема
Схема сопряжения микросхемы MAX485 с микроконтроллером ATmega328P показана ниже.
Вы можете нажать на изображение, чтобы увеличить его разрешение.
Микроконтроллер ATmega328P работает на внешнем кристалле с частотой 11,05982 МГц.
Вы должны изменить настройки Fuse ATmega328P, чтобы получать тактовый сигнал от внешнего кристалла.
Связь между ПК и ATmega328P является полудуплексной, т. е. либо передача, либо прием происходят одновременно.
Вывод RXD ATmega328P подключен к выводу RO микросхемы MAX485 RS485, поэтому данные, полученные с линии RS485, отправляются на приемный вывод микроконтроллера.
Вывод TXD ATmega328 подключен к выводу DI MAX485, поэтому любые данные, передаваемые ATmega328p, отправляются на микросхему MAX485 и выводятся на кабель витой пары RS485.
PD2 подключен к контакту ~RE MAX485, который имеет активный низкий уровень. Установка на этом выводе низкого уровня переводит MAX485 в режим приема.
PD3 подключен к выводу DE MAX485, который имеет активный высокий уровень. Установка на этом выводе высокого уровня переводит MAX485 в режим передачи.
Чип MAX485 может одновременно передавать или принимать только данные, поэтому связь является полудуплексной.
Исходные коды
Боковой код AVR Atmega написан на языке Embedded C с использованием ATMEL Studio 7.
Передача данных с микроконтроллера на ПК по RS485
ATmega328p передает строку, состоящую из символов ASCII, на ПК с помощью 2- или 3-проводного витого кабеля RS485.
В руководстве предполагается, что пользователь знаком с
ATmega328p взаимодействует с MAX485, как показано на предыдущей принципиальной схеме.
Преобразователь USB в RS485 используется для подключения кабеля витой пары RS485 к USB-порту ПК.
Дифференциальная пара MAX485 подключается к порту A преобразователя USB в RS485
и дифференциальная пара B MAX485 подключена к порту B преобразователя USB в RS485
как показано на приведенной выше блок-схеме.
Тип кабелей RS485
Для связи RS485 можно использовать
- 2-жильный кабель (A,B), в данном случае нет линии заземления.
- 3-жильный кабель (A,B,GND).
Для передачи на большие расстояния рекомендуется трехпроводное соединение A, B и GND.
Перевод ATmega328 в режим передачи RS485
1) Установите контакты порта ATmega328p (PD2 и PD3), управляющие ~RE и DE, в качестве выходных данных в регистре направления DDRD.
2) Установите PD3, который управляет DE (MAX485), на высокий уровень, переведя микросхему MAX485 в режим передачи.
Также установите PD2, который управляет ~RE (из MAX485), на высокий уровень, отключив режим приема.
4) Передаваемая строка хранится в массиве символов и передается на ПК побайтно с помощью цикла while().
5) В конце мы передаем символ новой строки (\n). Поскольку большинство ПК/ноутбуков не имеют портов RS485, мы должны использовать преобразователь USB в RS485, Здесь мы используем преобразователь USB2RS485 на базе FT232RL.
Схема преобразователя USB в RS485
Вы можете узнать номер COM-порта, зайдя в Диспетчер устройств на ПК с Windows.
После открытия соединения с последовательным портом. программа установит направление преобразователя USB в RS485 как прием, управляя выводами ~RTS и ~DTR FT232, которые подключены к MAX485 (в преобразователе USB2RS485), как показано на рисунке выше.
|