Почитав в интернете статьи про дешевизну и богатые возможности STM32, я решил, что хочу "пощупать" эти чудесные и недорогие контроллеры на практике. Для начала был прикуплен программатор J-Link, и собрана простенькая схема, только питание и разъём программирования (JTAG).
Однако, схема работать не стала. Подавляющее большинство статей в интернете про самоделки на ST сводилось к миганию светодиодиком на готовой макетной плате типа Discovery, и на вопрос о том, почему не работает самопал, ответа они не давали.
Далее я распаял ещё несколько плат, но уже с использованием паяльной станции, чтобы избежать перегрева кристалла - но и они работать не стали.
Следующей итерацией было приобретение отладочной платы, несущей на борту заведомо исправный программатор с интерфейсом SWD. Но и с этого программатора ни одна из моих плат не заработала, контроллер с компьютера не виделся.
Путём проб и ошибок я выяснил, что для работы STM32 необходимо подключение питания не только на VCC и на VDD, но и на AVCC и AVDD, даже если Вы не планируете использовать аналоговые устройства (ЦАП, АЦП, компараторы). Без подачи питания на аналоговую часть - микросхема работать не будет. Кроме питания для запуска ничего не требуется, внешние кварцы не нужны. На внутреннем генераторе микросхема неплохо разгоняется, и при заявленых 24 МГц контроллер стабильно работает на 56МГц, и при этом никакого заметного нагрева микросхемы нет.
Тот самый китайский J-link.
Один из вариантов минимальной схемы на отладочной плате.
Однако, схема работать не стала. Подавляющее большинство статей в интернете про самоделки на ST сводилось к миганию светодиодиком на готовой макетной плате типа Discovery, и на вопрос о том, почему не работает самопал, ответа они не давали.
Один из вариантов после многочисленных перепаек.
Ещё одна попытка.
Далее я распаял ещё несколько плат, но уже с использованием паяльной станции, чтобы избежать перегрева кристалла - но и они работать не стали.
Следующей итерацией было приобретение отладочной платы, несущей на борту заведомо исправный программатор с интерфейсом SWD. Но и с этого программатора ни одна из моих плат не заработала, контроллер с компьютера не виделся.
Discovery, содержащий на борту SWD-программатор.
Путём проб и ошибок я выяснил, что для работы STM32 необходимо подключение питания не только на VCC и на VDD, но и на AVCC и AVDD, даже если Вы не планируете использовать аналоговые устройства (ЦАП, АЦП, компараторы). Без подачи питания на аналоговую часть - микросхема работать не будет. Кроме питания для запуска ничего не требуется, внешние кварцы не нужны. На внутреннем генераторе микросхема неплохо разгоняется, и при заявленых 24 МГц контроллер стабильно работает на 56МГц, и при этом никакого заметного нагрева микросхемы нет.
Заработало!
Теперь, по мере возможностей по времени, я буду продолжать эксперименты, и постепенно делать систему управления светом в доме на STM32.