Как подключить USB к пользовательской схеме Arduino Uno и программированию Atmega?

Я довольно новичок в проектировании схем и работе с atmega самостоятельно, и я проектирую схему arduino на eagle. Я дошел до стадии, когда мне нужно включить интерфейс TTL USB, чтобы запрограммировать чип. Я только что узнал, что arduino использует другой чип avr для этого, но он, похоже, похож на микроконтроллер, и мне просто нужно немного пояснить.

Поскольку я хочу все это на одной плате, например, Arduino Uno, у меня вопрос: как USB-B подключен к микроконтроллеру и как мне включить его в мою схему?

Еще один вопрос (из любопытства): если бы я занимался массовым производством указанной печатной платы с одной программой на чипе Atmega и исключил бы модуль USB, чтобы люди не смогли ее перепрограммировать (разумеется, не разбирая плату), как бы это было сделано?

Вот фотография моей текущей схемы:

, 👍1


1 ответ


1

Поскольку я хочу все это на одной плате, например, Arduino Uno, у меня вопрос: как USB-B подключен к микроконтроллеру и как мне включить его в мою схему?

Интерфейс USB образует мост между разъемом USB и UART "главного" MCU. Вам не обязательно использовать микроконтроллер, но почти любая микросхема моста UART-USB подойдет. Распространенные — CH340G (дешевый и нестабильный), CP2102, FT232 и т. д. Сигнал DTR от микросхемы USB используется для сброса главного MCU.

Вам следует взглянуть на существующие схемы Uno, чтобы увидеть, как соединены вместе два чипа.

Еще один вопрос (из любопытства): если бы я занимался массовым производством указанной печатной платы с одной программой на чипе Atmega и исключил бы модуль USB, чтобы люди не смогли ее перепрограммировать (разумеется, не разбирая плату), как бы это было сделано?

Вы программируете плату через контакты ICSP — так же, как вы устанавливаете загрузчик. Обычно вы вкладываетесь в правильный программатор, чтобы подключиться к чипу, но вы можете сделать это с Arduino, выступающим в качестве программатора.

,