МК + USB: ТЗ и выбор компонентов
Время: ~60 мин
Цели урока
- сформулировать ТЗ платы с микроконтроллером и USB
- разбить плату на функциональные узлы и понять, как они связаны
- выбрать микроконтроллер, преобразователь USB–UART, защиту и разъём по даташитам с обоснованием
Второй проект заметно сложнее первого. В нём есть микроконтроллер, кварц, USB с дифференциальной парой, иерархическая схема и компоненты, которых нет в стандартных библиотеках. Зато на выходе получится настоящая отладочная плата: подключил к компьютеру, загрузил прошивку из Arduino IDE — и она работает.
Проект займёт пять уроков: ТЗ и компоненты (этот), схема (11.2.2), библиотека (11.2.3), топология (11.2.4), выпуск и запуск (11.2.5).
Шаг 1. ТЗ
Заголовок раздела «Шаг 1. ТЗ»| Параметр | Требование |
|---|---|
| Назначение | отладочная плата для своих проектов, совместимая с Arduino IDE (как плата «Arduino Uno») |
| Микроконтроллер | ATmega328P, 16 МГц, прошивка по USB через загрузчик |
| Питание | 5 В от USB-C; потребление платы без нагрузки — десятки мА |
| Защита | ограничение тока по VBUS, защита линий USB от электростатики (ESD) |
| Связь с ПК | USB 2.0 → виртуальный COM-порт (UART) |
| Программирование «с нуля» | разъём ISP 2×3 для записи загрузчика |
| Органы управления | кнопка сброса, светодиод питания, светодиод на выводе D13 (PB5) |
| Выводы | все порты на гребёнки с шагом 2,54 мм, ширина платы под макетку |
| Плата | 2 слоя, около 55×25 мм |
Шаг 2. Структура
Заголовок раздела «Шаг 2. Структура»Плату удобно делить на два узла — потом они станут двумя листами иерархической схемы (урок 9.8):
- USB и питание: разъём USB-C, предохранитель, защита ESD, преобразователь USB–UART.
- Микроконтроллер: ATmega328P с кварцем, сбросом, развязкой, ISP, светодиодом и гребёнками.
Между узлами всего три сигнала: TXD, RXD и DTR (для автосброса) плюс питание.
Шаг 3. Микроконтроллер: ATmega328P-AU
Заголовок раздела «Шаг 3. Микроконтроллер: ATmega328P-AU»Это тот же кристалл, что стоит в Arduino Uno и Nano. Суффикс -AU — корпус TQFP-32 (шаг выводов 0,8 мм; паяется руками, если не торопиться).
Выписываем из даташита Microchip:
| Параметр | Значение | Что из этого следует |
|---|---|---|
| Напряжение питания | 1,8–5,5 В | работает и от 3,3 В, и от 5 В |
| Допустимая частота | 0–4 МГц при 1,8–5,5 В; 0–10 МГц при 2,7–5,5 В; 0–20 МГц при 4,5–5,5 В | 16 МГц требуют питания около 5 В → питаем от 5 В USB |
| Выводы питания (TQFP-32) | VCC — 4 и 6; GND — 3, 5 и 21; AVCC — 18; AREF — 20 | каждой паре VCC/GND свой конденсатор |
| Кварц | XTAL1 — 7 (PB6), XTAL2 — 8 (PB7) | |
| Сброс | RESET — 29 (PC6) | |
| UART | RXD — 30 (PD0), TXD — 31 (PD1) | к CH340C |
| ISP (SPI) | MOSI — 15 (PB3), MISO — 16 (PB4), SCK — 17 (PB5) | к разъёму ISP; на PB5 ещё и светодиод D13 |
| AVCC | подключать к VCC обязательно, даже если АЦП не используется; при работе АЦП — через фильтр нижних частот |
Шаг 4. USB–UART: CH340C
Заголовок раздела «Шаг 4. USB–UART: CH340C»У ATmega328P нет встроенного USB, поэтому нужен преобразователь USB → UART. Популярные варианты: FT232R (FTDI), CP2102 (Silicon Labs), CH340 (WCH). Берём CH340C в корпусе SOP-16:
| Параметр (даташит WCH, CH340DS1 версии 3B) | Значение |
|---|---|
| Генератор | встроенный — кварц не нужен (в отличие от CH340G) |
| Питание | 4,0–5,3 В (режим 5 В) или 3,1–3,6 В (режим 3,3 В) |
| Вывод V3 | при 5 В — на конденсатор 0,1 мкФ к земле; при 3,3 В — соединить с VCC |
| VCC | развязка 0,1 мкФ рядом с выводом |
| Линии USB | UD+ (5), UD− (6) — прямо на шину, без последовательных резисторов |
| Модемные сигналы | DTR# (13), RTS# (14) — пригодятся для автосброса |
| Скорость | USB 2.0 Full Speed (12 Мбит/с) |
Почему не CH340G? Ему нужен внешний кварц 12 МГц с конденсаторами — три лишние детали и лишняя трассировка. Почему не FT232R? Дороже, а для учебной платы разницы нет.
Шаг 5. Разъём, защита, предохранитель
Заголовок раздела «Шаг 5. Разъём, защита, предохранитель»- USB-C, 16-контактный (только USB 2.0). Полноценный 24-контактный не нужен: высокоскоростных линий USB 3.x у нас нет. Контакты D+ и D− продублированы для двух положений кабеля (A6/B6 и A7/B7), их соединяют попарно. CC1 и CC2 — каждый своим резистором 5,1 кОм на землю, как в уроке 11.1.1, иначе источник USB-C не подаст 5 В.
- USBLC6-2SC6 (ST, SOT23-6) — защита линий D+/D− и VBUS от электростатики по IEC 61000-4-2 (уровень 4: 8 кВ контакт, 15 кВ воздух). Ёмкость линии до 3,5 пФ — для USB 2.0 незаметно. Ставится вплотную к разъёму.
- Самовосстанавливающийся предохранитель (PTC) на VBUS с током удержания около 0,5 А. Защищает USB-порт компьютера, если на плате или на подключённой к ней нагрузке случится замыкание.
Шаг 6. Кварц
Заголовок раздела «Шаг 6. Кварц»Для 16 МГц берём кварцевый резонатор, а не керамический: точность у кварца порядка десятков ppm, а у керамического резонатора — около 0,5 %. Для UART и таймеров кварц надёжнее. Корпус — SMD 3225 или HC-49/SMD. В даташите кварца ищем нагрузочную ёмкость CL — по ней в уроке 11.2.2 посчитаем конденсаторы.
Итоговая таблица компонентов (черновик BOM)
Заголовок раздела «Итоговая таблица компонентов (черновик BOM)»| Обозн. | Компонент | Корпус |
|---|---|---|
| XS1 | USB-C, 16 конт., USB 2.0, на плату | SMD + выводы крепления |
| F1 | PTC, удержание ≈ 0,5 А | 1206 или 1812 |
| R1, R2 | 5,1 кОм 1 % | 0805 |
| DA1 | USBLC6-2SC6 | SOT23-6 |
| DD1 | CH340C | SOP-16 |
| DD2 | ATmega328P-AU | TQFP-32 |
| ZQ1 | кварц 16 МГц | 3225 или HC-49/SMD |
| C9, C10 | нагрузочные, номинал по расчёту | 0603/0805 C0G |
| R3, VD1, C4, SB1 | цепь сброса и автосброса | 0805, SOD-123, тактовая кнопка |
| C1, C2, C5–C8, C11 | развязка | 0805 |
| HL1, HL2 + резисторы | индикация | 0805 |
| XP1, XP2 | гребёнки 1×15, шаг 2,54 | THT |
| XP3 | ISP 2×3, шаг 2,54 | THT |
🧯 Типичные ошибки
Плата на 3,3 В с кварцем 16 МГц работает через раз
Почему Для 16 МГц ATmega328P нужно питание около 5 В — это граница безопасной работы из даташита.
Как исправить Либо 5 В и 16 МГц, либо 3,3 В и 8 МГц.
Заказали CH340G вместо CH340C и забыли про кварц
Почему CH340G требует внешний кварц 12 МГц, CH340C — нет.
Как исправить Сверяй суффикс микросхемы с даташитом и со схемой. Если всё-таки G — добавь кварц 12 МГц и конденсаторы.
Зарядник USB-C не даёт питания
Почему На CC1/CC2 нет резисторов 5,1 кОм или стоит один общий.
Как исправить Каждый CC — свой резистор 5,1 кОм на землю.
CH340C работает и от 3,3 В. Ограничение — частота 16 МГц у ATmega328P.
Так в даташите WCH: у CH340C генератор встроенный.
Защиту ставят ближе к источнику помехи — к разъёму. Длинные дорожки добавляют индуктивность и ухудшают защиту.
Линии UART перекрещиваются: передатчик одного — к приёмнику другого. RXD CH340C ← TXD микроконтроллера.
Практическое задание~40 мин
- Скачай даташиты ATmega328P, CH340C (обрати внимание на версию документа), USBLC6-2 и выбранного кварца. Для каждой микросхемы выпиши в таблицу выводы, которые используешь, со ссылкой на страницу даташита.
- Выбери конкретные модели разъёма USB-C, предохранителя PTC и кварца у доступного тебе поставщика, запиши MPN и ключевые параметры: ток удержания PTC, CL кварца.
- Сохрани ТЗ рядом с проектом.