Плата дискавери и программирование происходит через ЮСБ?
Чипы в LQFP классные, но разводка не радует. Если мне нужно изготовить 30 плат, как их программировать правильно?
Все что у меня есть это куча макетных плат и ноутбук, у которого нет СОМ/LPT портов :(
Да, программирование и питание через USB. Разводка не сильно тяжеловата, при желании можно всё уместить на односторонном текстолите:
Только я тут схалтурил, надо обязательно еще керамические конденсаторы по углам.
Программировать — что значит как. Как обычно. Готовим 30 плат, выведя интерфейс SWD на штырьковый разъём. Впаиваем чипы. Прошиваем программатором (можно тем, что находится внутри Discovery). Готово.
Макетки не подойдут, разве что специализированные под LQFP48 (LQFP64) корпус.
а можно еще подробнее вот это
>> Готовим 30 плат, выведя интерфейс SWD на штырьковый разъём. Впаиваем чипы. Прошиваем программатором (можно тем, что находится внутри Discovery)
Я только учусь :)
Купил несколько этих контроллеров. А что бы Хелло ворлд. купил Ардуино УНО
Программирование здесь внутрисхемное, т.е. контроллер прошивается уже сидя в распаянной плате, а не как с DIP микросхемами, которые можно вставить в панельку, прошить и вытащить. Здесь надо на плате предусмотреть разъём для интерфейса программирования. Таким интерфейсом является SWD (две ножки — SWDIO и SWDCLK, не считая земли и питания). Так что при разводке выводишь этот разъём, изготавливаешь плату, впаиваешь чип (пустой), затем подключаешься к этому разъёму и прошиваешь чип. То есть разъём понадобится всего один раз на этапе сборки. Если на плате катастрофически не хватает места даже под 4 штырька SWD, можно найти другие методы программирования контроллера (вывести контактные площадки и придумать к ним что-то типа штекера). Но суть от этого не меняется.
Discovery содержит в себе программатор ST-Link (на фото — всё, что выше горизонтальной черты, это программатор). Его можно использовать для прошивания любых контроллеров через интерфейс SWD, достаточно снять перемычки CN3 и можно использовать плату как обычный ST-Link.
Чтобы прошить свою плату со своим контроллером при помощи Discovery — подключаем Дискавери по USB, снимаем две перемычки CN3 (на фото справа), соединяем проводами разъём SWD со своей платой (земля, SWDIO, SWDCLK, и, если нужно, питание) и прошиваем. Распиновку разъёма SWD надо смотреть в документации к discovery, ссылка в конце поста есть. Главное не забудь снять перемычки CN3.
Да именно так, я взял STM32L Discovery с сегментным дисплеем и 4 сенсорными кнопками. Вообще у них там очень много интересного, они расширили магазин теперь от витрин не оторваться.
STM32L-Discovery описание у него такое — «STM32L-Discovery – недорогой способ познакомится с микроконтроллерами STM32L на ядре Cortex-M3, которые отличаются ультранизким энергопотреблением (к примеру, 270нА в спящем режиме)». Так что видимо да
А, если речь о квадратике в центре — да, его можно расширить до полигона и заполнить всё пространство под микросхемой (только это будет питание, а не земля). Но я этого не сделал т.к. ЛУТом как правило плохо получаются сплошные залитые полигоны. Разве что сеточкой нарисовать. Хотя я думаю это всё не принципиально, т.к. ответственные платы все равно делаются на производстве, и они там как минимум двухсторонние, а это сразу избавляет от всех проблем с разводкой.
Сам не видишь? Земля и питание приходит из одной точки. Питание изолировано от всей цепи. Т.е. все силовые линии питаются с одной точки фактически. Более того, в этом же закутке стоят (точнее можно поставить без проблем) все блокирующие кондеры, которые срежут весь цифровой срач МК в зародыше прям в его же силовой цепи. Наружу не выйдет ничего. Кратчашие пути замыкания этих иголок созданы. Плюс это все сделано ПО ОДНОЙ стороне. Что очень большой плюс для колхозников самодельщиков.
Разве что землю в общую кучу я бы подвел отдельной дорожкой со свободного угла в центральную плашку. Ну и наложил там полигон под весь камень почти.
Если так загоняться, то и дорожки нельзя под 90 град. прокладывать. А тут это избыточно. Для такого девайса пофигу из скольких точек питание идёт — не те частоты.
Налицо плохое знание матчасти. Частота и линия питания это вещи совсем из разной оперы. Большое кольцо в питании, а еще хуже в земле, работает как виток-антенна, ловящий всякое говно из воздуха. Искранула розетка в полуметре — получите иголки в питание. А если иголка наносекундная, то она может переклинить проц и он повиснет на ровном месте или сделает что то совсем не то. А длинные шины питания могут давать градиенты напряжений при заряде-разряде конденсаторов. От этого может плавать земля, давая опять же те же самые наносекундные иголки, которые гробят всю малину. Поэтому то и надо блоки запитывать звездой, разводя сигнал от источника, чтобы все это говно загнивало каждое в своей ветви.
Я говорил что против петли? Я же говорю — у него дорожки под 90 град., что тоже не хорошо. Но тут это не играет роли, я ничего не говорю против трассировки звездой, я пишу про конкретно идиотский квадрат под мк. Хватит троллить)))
Налицо плохое знание матчасти. Частота и линия питания это вещи совсем из разной оперы. Большое кольцо в питании, а еще хуже в земле, работает как виток-антенна, ловящий всякое говно из воздуха. Искранула розетка в полуметре — получите иголки в питание. А если иголка наносекундная, то она может переклинить проц и он повиснет на ровном месте или сделает что то совсем не то. А длинные шины питания могут давать градиенты напряжений при заряде-разряде конденсаторов. От этого может плавать земля, давая опять же те же самые наносекундные иголки, которые гробят всю малину. Поэтому то и надо блоки запитывать звездой, разводя сигнал от источника, чтобы все это говно загнивало каждое в своей ветви.
Говорю же не шаришь. Замкнутый этот квадрат или нет пох. Его можно и залить. Главное что не с разных участков цепи нахватано питание и не с радиальной дорожки опоясывающей всю плату, как я тут недавно увидел у кого-то.
Даже не знаю, что и посоветовать. Про JTAG см. википедию, а SWD это коротко говоря то же самое, но по двум проводам (а не по четырём). Подробностей я и сам не знаю. Не интересовался. Оба интерфейса предназначены для программирования и отладки. В контроллерах STM32 есть оба, т.е. их можно программировать и отлаживать при помощи любого из этих интерфейсов. На дискавери распаян только SWD.
Электрические характеристики можно найти в даташите на контроллер. Только не Reference Manual на всю линейку, а именно на контроллер. Вкратце — примерно пол миллиампера на МГц, в спящем режиме — микроамперы. Всё как обычно.
Для чайников не нашёл. Но в STM32 USB FS Device Library есть примеры создания USB устройств: виртуального COM-порта, HID устройства, Mass Storage (съёмный диск) и др., эти примеры можно запустить, поковырять, изучить таким образом «на живом примере».
Библиотеку и User Manual по USB Device Development Kit можно найти на st.com на странице определенного контроллера (например, STM32F103RB) во вкладке Design Support.
Оказывается в CoIDE уже есть средства программирования и отладки через ST-Link, и заливать программу в контролер можно через меню Flash — Download (предварительно выставив в настройках соответствующий отладчик). А ST-Link Utility вообще не при делах. На днях исправлю статью. Спасибо некоему coracio, не имеющему аккаунта и ждущему инвайта от меня, как только я его заработаю.
ARM-микроконтроллеры STM32F. Быстрый старт c STM32-Discovery