Как подключить USB к пользовательской схеме Arduino Uno и программированию Atmega?
Я довольно новичок в проектировании схем и работе с atmega самостоятельно, и я проектирую схему arduino на eagle. Я дошел до стадии, когда мне нужно включить интерфейс TTL USB, чтобы запрограммировать чип. Я только что узнал, что arduino использует другой чип avr для этого, но он, похоже, похож на микроконтроллер, и мне просто нужно немного пояснить.
Поскольку я хочу все это на одной плате, например, Arduino Uno, у меня вопрос: как USB-B подключен к микроконтроллеру и как мне включить его в мою схему?
Еще один вопрос (из любопытства): если бы я занимался массовым производством указанной печатной платы с одной программой на чипе Atmega и исключил бы модуль USB, чтобы люди не смогли ее перепрограммировать (разумеется, не разбирая плату), как бы это было сделано?
Вот фотография моей текущей схемы:
@John_Smith, 👍1
1 ответ
Поскольку я хочу все это на одной плате, например, Arduino Uno, у меня вопрос: как USB-B подключен к микроконтроллеру и как мне включить его в мою схему?
Интерфейс USB образует мост между разъемом USB и UART "главного" MCU. Вам не обязательно использовать микроконтроллер, но почти любая микросхема моста UART-USB подойдет. Распространенные — CH340G (дешевый и нестабильный), CP2102, FT232 и т. д. Сигнал DTR от микросхемы USB используется для сброса главного MCU.
Вам следует взглянуть на существующие схемы Uno, чтобы увидеть, как соединены вместе два чипа.
Еще один вопрос (из любопытства): если бы я занимался массовым производством указанной печатной платы с одной программой на чипе Atmega и исключил бы модуль USB, чтобы люди не смогли ее перепрограммировать (разумеется, не разбирая плату), как бы это было сделано?
Вы программируете плату через контакты ICSP — так же, как вы устанавливаете загрузчик. Обычно вы вкладываетесь в правильный программатор, чтобы подключиться к чипу, но вы можете сделать это с Arduino, выступающим в качестве программатора.
- Использование USB-порта для связи с автономной схемой atmega328p
- Можем ли мы записать загрузчик Arduino в любой чип микроконтроллера?
- Программирование ATMega328P без платы Arduino всегда возвращает ошибку: avrdude: stk500_recv(): programmer is not responding
- Использование Arduino Nano для программирования (как ISP) автономного 328p
- Arduino вылетает и перезагружается
- Функция freeMemory() из библиотеки memoryfree не возвращает уменьшенное значение в arduino UNO
- Восстановить uint32_t из массива символов в RTC.set
- Считать клавиши с обычной USB-клавиатуры