В предыдущей статье было дано общее описание устройства и описаны его возможности. Теперь - рассмотрим электрическую и монтажную схемы более подробно. Начнем с электрической.
Как видно, схема в высшей степени проста и незамысловата, Она выполнена в соответствии с рекомендациями и референсным дизайном фирмы ST Microelectronics. Некоторые комментарии:
- Отсутствует подтягивающий резистор на линии D+ USB. Это отнюдь не ошибка. Выбранный микроконтроллер STM32L151 имеет на выводе A13 внутренний подтягивающий резистор, который можно подключать и отключать программно. Таким образом, внешний неотключаемый резистор будет только помехой.
- Микроконтроллер имеет 4 линии подвода питающего напряжения и 4 линии земли. Все они должны быть соответствующим образом подключены. Видно, что эти разъемы сгруппированы попарно - вывод земли и вывод питания расположены по соседству. Каждая такая пара требует установки конденсатора емкостью 100 nF (нанофарад) между ними). При этом конденсаторы должны быть расположены как можно ближе к корпусу микроконтроллера. На схеме это конденсаторы C5-C8.
- При работе с МК STM32 часто путаются с подключением вывода RESET (NRST). Подача сигнала уровня "0" вызывает рестарт МК, нормальная работа идет при наличии на этом выводе логической "1". И вот тут и появляются всякие странные схемы с попыткой принудительно соединить этот вывод с питанием, особенно часто - через резистор. Такая схема является ошибочной, так как для STM32 этот вывод соединен с питанием через внутренний резистор. Так что единственное, что нужно - поставить на этот вывод кнопку (S2) и параллельно ей конденсатор емкостью 100 nФ (С12) для устранения дребезга контактов. Также этот вывод соединен с соответствующим выводом разъема отладчика (DebugConnector).
- U4 - недорогой, но весьма хороший стабилизатор серии LD1117S50, с выходным напряжением +5В и максимальным током 0.8А. Этот стабилизатор задействован только при питании от внешнего источника
- U1 - стабилизатор напряжения LD1117S33 дающий выходное напряжение 3.3В (VDD) и максимальный ток 0.8А. Входом для него служит +5В, подаваемое или с USB (при питании от USB) или с выхода U4 при питании от внешнего источника
- Трех-контактный джампер U6 служит для выбора режима загрузки. При нормальной работе должны быть замкнуты контакты 1 и 2 (загрузка программы из Flash). При обновлении ПО без использования отладчика замыкаются контакты 2 и 3, что обеспечивает выбор альтернативного режима загрузки.
- Джампер U5 предназначен для выбора источника +5В. При питании схемы от USB контакты джампера должны быть замкнуты, при питании от внешнего источника - разомкнуты.
- Диод pwr_led - светодиод типоразмера 0805. Он включается микроконтроллером, таким образом, если он загорелся - можно быть уверенным в том, что схема успешно стартовала и программа запустилась
- По поводу конденсаторов C1 и C2. Фирма ST по умолчанию предлагает использовать емкость 20 pF. Однако, при использовании дешевых выводных китайских кварцев на 8 МГц я ни разу не смог запустить чип, если их емкость была меньше 27 pF.
- Разъем для подключения отладчика. С одной стороны, мне страшно не хотелось ставить на плату огромный полноценный 20-контактный разъем JTAG. С другой - не хотелось терять некоторые плюсы использования JTAG по сравнению с SWD. Поэтому я решил сделал плату-переходник с 20 контактов на 8, что позволило сохранить все линии JTAG без особого увеличения размеров платы.
По поводу компонентов:
- Все использованные конденсаторы, резисторы и диоды - SMD компоненты типоразмера 0805.
- Оба кварца - выводные, так как они дешевле и доступнее SMD версий
- Кнопка сброса - SMD (EVQ5PN05K или соответствующая по размерам)
Итак, для сборки Wizardino Starter понадобятся:
- Микроконтроллер STM32L151Cx. По умолчанию используется STM32L151CBT6, но он может быть заменен на любой другой серии STM32L151C без каких либо изменений в электрической или монтажной схемах. Хотя в случае замены потребуется перенастройка ПО.
- Керамических конденсаторов 100 nF, SMD 0805 (С5-С8, C9, C12) - 6 шт.
- Керамических конденсаторов 27 pF, SMD 0805 (C1, C2) - 2 шт.
- Керамических конденсаторов 10 pF, SMD 0805 (C3, C4) - 2 шт.
- Керамических конденсатора 10 mkF, SMD 0805 (C10, C11) - 2 шт.
- Светодиод SMD 0805 (pwr_led) - 1 шт.
- Диод SMD 0805 (D1) - защита от переплюсовки при подключении внешнего источника питания - 1 шт.
- 5-контактный разъем Mini USB для поверхностного монтажа - 1 шт.
- Стабилизатор напряжения LD1117S50 - 1 шт.
- Стабилизатор напряжения LD1117S33 - 1 шт.
- Кварцевый резонатор 8 МГц (выводной) - 1 шт.
- Кварцевый резонатор 32768 Гц (выводной) - 1 шт.
- Штыревой разъем 3x1 (джампер U6) - 1 шт.
- Штыревой разъем 2x1 (джампер U5) - 1 шт.
- Штыревой разъем 4x2 (DebugConnector) - 1 шт.
- Прямой межплатный соединитель (или штыревой разъем) 14x1 - 2 шт
- Гнездо питания на плату (1.3x4.2 мм) - 1 шт.
Для платы переходника дополнительно понадобятся:
- 20-контактный IDC разъем (для подключения кабеля отладчика) - 1 шт.
- 8-контактное (4x2) гнездо на плату для подключения к Wizardino - 1 шт.
Существенное примечание. Схемотехника разработана в пакете DipTrace. В настоящее время проект готовится к публикации (необходимо свести используемые компоненты в одну библиотеку). Однако, уже сейчас можно получить все файлы проекта направив запрос напрямую автору