Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кармин Новиелло - Освоение STM32.pdf
Скачиваний:
2742
Добавлен:
23.09.2021
Размер:
47.68 Mб
Скачать

27. Начало работы над новым проектом

Если вы используете микроконтроллеры STM32 для работы или собираетесь создать свой новейший забавный проект как любитель, рано или поздно вам придется оставить такую отладочную плату, как Nucleo, и вы должны будете спроектировать собственную плату для выбранного микроконтроллера STM32. Для каждого разработчика аппаратуры это всегда увлекательный процесс. Вы начинаете с идеи или перечня требований и получаете оборудование, способное творить чудеса.

Процесс разработки новой платы можно разделить на два основных этапа: часть проектирования оборудования, связанная с выбором и размещением компонентов, и часть разработки программного обеспечения, которая состоит из начальной конфигурации и всего кода, необходимого для работы платы. Данная глава призвана дать краткое введение в эту тему. Глава логически разделена на две части: одна касается проектирования оборудования, а вторая – программного обеспечения. Даже если вы один из тех счастливчиков, которые работают в компаниях, где разработчик аппаратуры отделен от разработчика микропрограммы, настоятельно рекомендуется пробежаться по данной главе, которая, в основном, основана на проектировании оборудования. В противном случае, если вы являетесь классическим «человеком-оркестром»1, хотя бы однократное прочтение данной главы может помочь вам, если вы новичок в мире STM32.

27.1. Проектирование оборудования

Если вы используете более простые микроконтроллерные архитектуры, такие как ATMEL AVR ATMega328p, используемый в Arduino UNO, вы, возможно, знакомы с некоторыми «креативные штуки», которые часто появляются в сети (как, например, на рисунке 12). Многие проекты воплощаются из макетной платы, нескольких пассивных элементов и нескольких тонн проводов. И они тоже отлично работают.

Однако, если вы собираетесь сделать новую плату с микроконтроллером STM32, то вы должны полностью забыть о такой конструкции. Это связано не только с тем, что не существует микроконтроллеров STM32, поставляемых в корпусе THT. Эти микроконтроллеры требуют особого внимания к процессу разводки печатной платы (PCB layout), даже для недорогой линейки STM32F030. Проектирование печатной платы становится действительно важным, если вы планируете использовать самые быстрые микроконтроллеры STM32, такие как серии F4 и F7, в сочетании с внешними устройствами, такими как быстрая память QSPI и внешняя SDRAM.

1Как и автор книги :-)

2Рисунок взят с этого сайта (https://degreesplato.wordpress.com)

Начало работы над новым проектом

744

Рис. 1. Креативная «штука», сделанная из ATMega328 вместе с 1 милей проводов

Для каждого семейства STM32 компания ST предоставляет специальное техническое описание, которое называется «Getting started with STM32xx hardware development». («Введение в проектирование аппаратных средств с STM32xx»). Например, для семейства

STM32F4 соответствующим документом является AN44883. Настоятельно рекомендуется внимательно прочитать эти документы, поскольку они содержат самую важную информацию для правильного проектирования новой печатной платы. Для всех моих проектов, основанных на этих микроконтроллерах, я всегда следовал информации, предоставленной инженерами ST, и у меня никогда не было никаких проблем. Следующие параграфы резюмируют наиболее важные аспекты и шаги по принятию решений, которые, по моему мнению, необходимо соблюдать в процессе проектирования новой платы на базе микроконтроллера STM32.

27.1.1. Послойная разводка печатной платы

Каждый раз, когда вы начинаете новый проект на базе микроконтроллера, вам необходимо решить, какая технология печатной платы лучше всего соответствует вашему проекту и стоимости спецификации компонентов, придерживаясь следующей важной аксиомы: чем быстрее работает ваша плата, тем больше требуется слоев печатной платы. И это также верно для микроконтроллеров STM32. Несмотря на то что нередко можно встретить некоторые недорогие 8-разрядные микроконтроллеры, припаянные к однослойной печатной CEM-плате4, для микроконтроллера STM32 двухслойная плата является минимальным требованием. Но если вы планируете использовать самые быстрые версии серии STM32F4 (например, микроконтроллер STM32F446, способный работать на частоте до 180 МГц) или последнюю версию STM32F7, то вы должны рассмотреть в качестве минимального требования 4-слойную печатную плату5.

Многослойные печатные платы имеют ряд преимуществ по сравнению с двухслойными:

3https://www.st.com/resource/en/application_note/dm00115714-getting-started-with-stm32f4xxxx-mcu-hard- ware-development-stmicroelectronics.pdf

4Особенно это актуально для недорогих продуктов.

5Учтите, что STM32F746-Discovery KIT сделана из восьмислойной печатной платы.

Начало работы над новым проектом

745

Дополнительные слои упрощают процесс трассировки, и это действительно важно, если у вас ограниченное пространство или если вам нужно развести цепи дифференциальных пар.

Они позволяют лучше разводить силовые и заземляющие соединения; если питание также находится на плоскости, то оно доступно для всех точек в цепи, просто добавив переходные отверстия.

Они обеспечивают внутреннюю распределенную емкость между плоскостями питания и заземления, снижая высокочастотный шум, особенно если ваша плата использует внешнее SRAM или быструю Flash-память.

По той же причине, что описана выше, они позволяют значительно снизить EMI/RFI излучение, упрощая стоимость разработки и этап CE/FCC сертификации.

Однако 4-слойные печатные платы имеют значительно более высокую стоимость по сравнению с 2-слойными, и эта стоимость часто оказывается неоправданной для некоторых недорогих и мелкосерийных производств. Более того, правильнее сказать, что ассортимент Cortex-M (и, следовательно, STM32) простирается от «недорогих» решений, способных правильно работать на двухслойных платах, до более мощных микроконтроллеров, довольно близких к микропроцессорам общего назначения (например, Cortex-M7), которые требуют более совершенного стека печатных плат.

Мой личный опыт основан на печатной плате, разработанной с использованием микроконтроллеров STM32F030 и STM32F401, которые реализованы на двухслойных печатных платах, и у меня не было серьезных проблем во время тестирования плат. Использование экранирующих плоскостей (ground planes) на обоих уровнях позволяет упростить процесс трассировки и снизить общее электромагнитное излучение платы.

27.1.2. Корпус микроконтроллера

Выбор корпуса микроконтроллера зачастую привязан ко всей технологии печатной платы. Микроконтроллеры STM32 поставляются в нескольких вариантах корпусов (см. следующее приложение, чтобы ознакомиться со списком доступных корпусов). Наиболее распространенными и «простыми в использовании» являются корпуса LQFP, такие как корпус LQFP-64, используемый для всех плат Nucleo. Корпусы с открытыми выводами обладают несколькими преимуществами:

Их легко паять даже вручную для совсем малосерийных производств или для прототипов. Немного попрактиковавшись, их можно припаять методом протягивающей пайки (drag soldering technique) 6 или просто разместить на печатной плате, предварительно покрытой паяльной пастой, с помощью трафарета.

Их легко проверять с помощью обычных машин автоматизированного оптического контроля (Automatic Optical Inspection, AOI), и они не требуют рентгеновского контроля, который увеличивает стоимость производства ваших плат.

Они дешевле для мало- и среднесерийного производств по сравнению с корпусами других типов.

Их можно использовать на двухслойных печатных платах низкого класса (достаточно даже класса шаблона, равного 67), в отличие от других корпусов (например,

6На YouTube полно видеороликов, в которых показано, как паять SMD-корпусы с помощью этой техники.

7Взгляните на этот документ (http://www.eurocircuits.com/wp-content/uploads/ec2015/ecImage/pages/pcb- classification-pattern-class-and-drill-class/ec-classification-english-3-2013-v3-final.pdf) от Eurocircuits, чтобы узнать больше о производственных классах печатных плат.

Начало работы над новым проектом

746

BGA), которые обычно требуют более продвинутой печатной платы из-за использования переходных отверстий с достаточно малым контактным ободком.

Они предоставляют множество сигнальных I/O для интерфейса с внешними периферийными устройствами (что очевидно, но всегда полезно отметить это).

Однако, если занимаемое пространство – строгое требование для вашего проекта, вам следует рассмотреть BGA и аналогичные корпуса, которые предлагают больше сигнальных I/O при меньшей занимаемой площади.

27.1.3. Развязка выводов питания

Действительно важным этапом проектирования является развязка (decoupling) каждого источника питания (VDD, VSS). Ключевые аспекты можно резюмировать здесь:

Каждая пара питания (VDD, VSS) должна быть подключена к параллельному керамическому конденсатору емкостью около 100 нФ (что является широко распространенным проверенным значением) плюс один керамический конденсатор 4,7 мкФ для всего микроконтроллера. Лучше выбрать конденсаторы 0805 или меньше (чем меньше, тем лучше, поскольку меньшие конденсаторы имеют меньшее эквивалентное последовательное сопротивление ESR – для STM32F7 можно рассмотреть конденсаторы 0402). Эти конденсаторы необходимо разместить как можно ближе к соответствующим выводам или к нижней стороне печатной платы, если для самых быстрых микроконтроллеров STM32 используется корпус BGA. Если используется экранирующая пластина, подключать выводы VSS непосредственно к экранирующей пластине безопасно, если она обширна в области этого вывода.

Автор книги также использует электролитический конденсатор большой емкости (обычно 10 мкФ – танталовый конденсатор тоже подходит, если его позволяет ваш бюджет), не более 3 см от кварца. Назначение этого конденсатора – накапливать заряд для обеспечения требований локального мгновенного заряда цепей, чтобы заряд не проходил через индуктивность дорожки питания.

Небольшая ферритовая шайба (с импедансом от 600 до 1000 Ом), размещенная последовательно между аналоговым источником питания (AVDD) и цифровым источником питания (VDD)8. Она используется для:

Локализации шума в системе.

Удержание внешнего высокочастотного шума от ИС.

Не дает внутреннему шуму распространяться по остальной части системы.

Если ваш микроконтроллер STM32 имеет вывод VBAT, его можно подключить к внешней батарее (1,65 В < VBAT < 3,6 В). Если внешняя батарея не используется, рекомендуется подключить этот вывод к VDD с внешним керамическим развязывающим конденсатором емкостью 100 нФ.

На рисунке 2 показана эталонная схема микроконтроллера STM32F030CC, а на рисунке 3 показан типовой стиль разводки, используемый автором книги для правильной развязки выводов питания. Как видите, сплошная экранирующая пластина обеспечивает подключение развязывающих конденсаторов к земле по кратчайшему пути9.

8ST не рекомендует использовать этот феррит, если VDD ниже 1,8 В.

9Однако учтите, что схема заземления зависит от конкретной реализации. В некоторых конструкциях требуется четкое разделение между аналоговым и цифровым заземлением, а также некоторых устройств, обеспечивающих ЭМС (например, ферритовые шайбы), для их подключения. Добро пожаловать в «темный» мир ЭМС :-)