Обсуждение прототипа STM8L шилда для PINBOARD II

Хочу вбросить на суд сообщества прототип процессорного модуля для PINBOARD II с конроллером STM8L152K6T6 на борту. Сделан он был довольно давно, и планируется запуск этого модуля в производство (силами ДиХальта естественно :)).

Но так как изначально я делал модуль под себя, руководствуясь желанием левой пятки, некоторые моменты могут вам не понравится. Посему прошу указать на криво сделаные места или недочеты (только перед этим прочитайте текст, чтоб не повторять то что я и так знаю :))


Основная идея

В модуль заложена некоторая самостоятельность. Он имеет на борту две дополнительные кнопки и два светодиода, которые можно подключить джамперами к определенным ножкам МК или проводками — куда угодно.

Кроме этого на модуле есть (будет, в прототипе не разведен) регулятор напряжения на LM1117 с выходным напряжением 3.3 Вольта. Регулятор разведен так, что при необходимости (точнее, отсутствии её :)) может быть заменен простым диодом или вовсе — перемычкой.


Таки образом, модуль можно использовать как отдельную демоплату. Например это может пригодится при отладки взаимодействия двух или более МК — один модуль установлен на pinboard, а другой валяется рядом на столе. Удобно же!

Линейки выводов под джамперы расположены в три ряда

Внешний ряд соединен с выводами, которыми модуль подключается к основной плате.
На средний ряд выведены пины с МК.
А на внутренний — всяческая периферия, находящаяся на самом модуле.

Таким образом, соединив джамером выводы внешнего и среднего ряда (1), мы подключим эти выводы к соотвествующим выводам на Pinboard. А соединив внутреннний и средний (2) — подключим вывод МК к периферии на модуле.

Прочие мелочи

На плате установлен цанговый разъем под основной кварц, в который можно установить как кварц в стандартном корпусе (высоком или усеченном), так и мелкий (как часовой, но на высокую частоту).

На нижней стороне находится часовой кварц, выводы которого при помощи джамперов можно кинуть на пины C5 и С6.



UART (в конфигурации «по-умолчанию», т.е. пины С2 и С3) выведен на штырьки может быть при помощи джамперов подключен к любому из каналов (А или B).

Так же на PLS выведен I2C, но при создании прототипа я прошляпил подтяжки (которые необходимы если модуль будет работать в автономном режиме — отдельно от пинборды). В ближайшем будущем подтяжка будет подключаться джампером.

При помощи все-того же джампера можно подать внешее напряжение питания для драйвера LCD (обычно напруга для LCD создается внутренним boost преборазователем, что позволяет стекляшке не терять контрастность даже когда МК питается всего парой вольт).

Между двумя пользовательскими кнопками находится кнопа RESET. По высоте она ниже чем соседи — чтобы было сложнее случайно сбросить МК.

На другой стороне платы находится разъем SWIM. На него выведена линия Vcc, на которую можно подавать внешее питание, когда модуль в автономном режиме. Вообще это тоже не самая лучшая идея — для внешнего питания наверное запилю отдельный разъем.



Прошивка

Пока еще SWIM из FDTI никто не сделал, и драйвер отладчика не написал. Поэтому мы вынуждены довольствоваться бутлоадером (по UART, прошит в МК «из коробки») или подключать для прошивки и отладки какую-нибудь дискавери (что дико неудобно, сами понимаете).

Контроллер

Сейчас модуль разведен под STM8L152K6T6. Кратко:
TQFP32
Тактовая частота до 16 MHz
29 GPIO
32K Flash
2K RAM
1K EEPROM
ADC 21 канал x 12 bit
DAC 1 канал x 12 bit
RTC
UART, SPI, I2C

Есть мысль заменить его на STM8L152С6T6 — у него больше GPIO и есть еще 4 канала АЦП, один из которых может работать на скорости до 1MSPS (1 мильён выборок в секунду, если кто-то забыл). Но тот стоит почти в два раза дороже. Надо ли?

Вот пожалуй и все. Жду пожелания и предложения в камментах.
Такая-же тема создана на форуме: туда писать не надо, FTGJ.



P.S. Сначала я допустил пару косяков при разводке нижней стороны, затем перетравил плату, потом зафейлил покраску, и в конце пришлось прилепить совершенно уродливую бумажку — отсюда такой прекрасный внешний вид прототипа.

P.P.S. Фотки в большом разрешении www.dropbox.com/gallery/15427465/1/8l-pb2?h=449c16

По результатам обсуждения
добавлю на модуль

-Дополнительный разъем питания — от которого уже будет питаться стаб на модуле. А линия питания с разъема SWIM будет идти напрямую на МК.

— Дополнительные разъемы для питания внешних плат, когда модуль работает в автономном режиме.

— Джамперы для подключения подтягивающих резисторов на I2C — опять же для автономного режима

— Полигон для охлаждения стаба
  • +9
  • 22 января 2012, 12:05
  • dcoder

Комментарии (68)

RSS свернуть / развернуть
Спасибо за плюсик, но I NEED COMMENTZ!!!111 :)
0
Видимо, всех все устраивает.
Кстати, судя по картинке в статье — LM-ка разведена со стандартной ошибкой. Под ухо нужно разводить теплоотводящий полигон. При большой нагрузке — с двух сторон и с тучей виашек. Lumileds ЕМНИП утверждает что таким двухсторонним полигончиком даже трехваттные СИДы охлаждать мона.
0
Ну ток там большой вряд ли появится. Хотя да, надо сделать полигон. И еще пару пинов с 3.3V и землей добавить, на всякий случай — чтоб можно было что-то к модулю подключать
0
IMHO, стоит рассмотреть еще такие варианты: если от платы не ожидается, что она будет работать стабилизатором для внешних потребителей, то можно поставить что-нибудь в более мелком корпусе. Если ожидается, то можно сделать раздельные регуляторы (один на проц, другой для внешних потребителей). Опять-таки, на проц тогда можно стабилизатор в мелком корпусе поставить (в SOT-23 с 3 или 5 ногами стабилизаторов на 0.15-0.25А вагон и маленькая тележка). Тогда тот, который для внешних потребителей, можно штатно не запаивать, только место оставить.
0
Кстати да. В мелком корпусе есть хороший стаб — MCP1702 (кажется так). Собственное потребление 2мка, да еще и стоит дешевле
0
Я ж говорю — их там вагон. В маузере в параметрический поиск по линейным регуляторам заходить страшно :)
На вскидку: MCP170x, MCP180x, LP295x, LP298x, TPS763333 и это только то, что на вскидку вспомнилось. MCP18хх могут и 0.3А выдать.
0
Вот за что мне нравится распиновка аля-7805, так это за то, что там ухо на земле сидит, а такой полигон почти всегда есть и площадь у него большая.

По поводу теплоотвода, то отвод тепла «в плату» это практически идеальный вариант — медь тепло проводит хорошо, да и места такое решение не занимает. К слову, подавляющее большинство аллегровских контроллеров шаговиков с набортными ключами, расчитаны именно на отвод тепла «в плату». Особенно впечатляет когда какой-нибудь A4984 в QFN-е выдает 2 ампера на обмотку.
0
Особенно впечатляет когда какой-нибудь A4984 в QFN-е выдает 2 ампера на обмотку.
Дык оно на многослойки рассчитано. А у них внутря от двух слоев, полностью занятых полигонами. Теплопроводность таких плат дикая, феном хрен микру отогреешь даже с подогревом.
На двусторонке с этим чуть хуже, под полигон приходится отдавать полезную площадь на одной из сторон платы.
0
Да, я все это прекрасно понимаю. Потому поигрался и забросил аллегру, взял обычную TB6560. Я хоть и сторонник SMD, но такое — это уже, IMHO, перебор для любительского применения.
0
Кстати, а что это на первой фотке под дисплеем прячется, характерно-текстолитового цвета?
0
  • avatar
  • Vga
  • 22 января 2012, 16:32
Характерный кусок текстолита :)
Переходник под дисплей (у которого выводы в два ряда по меньшей стороне)
0
А на второй фотке дисплей уже нормальный…
0
Ага, на второй фотке он и не подключен, и питание на плату не подано, и марсоход сбоку висит :) Она сделана уже после — просто как общий вид.
0
На наклейке тортик из portal!
0
Спасибо, кэп! =)
0
Гм… Cake-8L Shield for PB2)
+1
<offtopic>
Вот никак не могу понять, откуда взялось это слово «шилд» в применении к мезонинным платам? Может мне кто-нибудь это объяснить?
</offtopic>
+1
С ардуино пошло. Ну, а там хомячки подхватили…
0
Это в ардуино-комьюнити спрашивать надо. Такое название оттуда пришло.
0
Да я знаю, что это оттуда пошло, но ардуинщиков я уже спрашивал — не знают =). Думал, вдруг более умные люди в курсе =).
0
Стоит спросить авторов ардуино. Возможно они знают.
0
Думаю что это просто похоже на рыцаря, закрывающегося щитом.
0
стандартный перевод — щит, ширма, бляха. В виже глагола — укрывать, заслонять, экранировать. Видимо исходили из того, что каждый новый мезонин закрывает собой предыдущий, вот и получается «shielding», отсюда и «shield»
0
Отныне я буду звать их «бляхи»! :)
+3
А кто что думает про мк?
0
На моей дискавери эс разъем SWIM имеет несколько другую распиновку (VCC, SWIM, GND, RST) думается такой формат будет лучше, раз уж элька всё равно раздельными проводками цепляется. Да и заметьте, в такой распиновке SWIM и RST экранированы друг от друга.
Ещё не пойму в чем глубокий смысл подключения джамперами внешних выводов, если на пинборде и так есть джамперы (автономно они тем более не нужны), или я ошибаюсь?
Касательно переключения uart логичнее, имхо, джамперами сделать именно переключатели: по середине вывод мк, с краёв выводы. текущая реализация больше похожа на возможность совместного применения, нежели альтернативного использования.
Заменять МК или сделать второй шильд это как решишь, на мой взгляд и 32к хватит, и 1мегасемпл для изучения не нужен.
0
Насчет разъема SWIM — не особо понимаю, чем он лучше текущего?

Джамперы для внешнего ряда нужны вот зачем (ксати, обратите внимание что на AVR и ARM модулях для PB2 они тоже есть) — когда мы хотим подключить например выводы I2C к линии I2C на пинборде, то мы просто ставим джамперы. А если надо подключить к I2C другие выводы — то можно убрать джамперы и кинуть поводки. Таким образом у нас доступны для подключения все ноги МК и достигается универсальность в подключении.

Начет UART — звучит не плохо, возможно так и сделаю.
0
Насчет разъема SWIM — не особо понимаю, чем он лучше текущего?
Тем что stm8s discovery имеет 4-пиновую хеду (на отламываемом куске программатора) с указанной мною разводкой. И удобнее подключать шлейфом один-к-одному, а не со всякими перекрутками. на stm8l discovery на сколько я знаю выводы разнесены — так что вам без разницы. На 32 не помню как, тоже разнесены вроде.
Ну и для особо боязливых (как я после ловли парочки другой наводок) SWIM протокол High Current и в текущей реализации если делать простой шлейфик, то от линии SWIM на RST могут идти наводки.
Да, программатор на стм8с не питает целевую схему, а берёт напряжение с разъема, так что дополнительный разъем питания при применении «отломанных» программаторов — вещь полезная (о его добавлении вы уже писали — видел).
0
На стм8л дискавери пины SWIM тоже выведены на 4 пина в ряд (см мой обзор).

Щас соберу в кучку все изменения, которые будут внесены в плату и добавлю в пост
0
Прошу прощения. Запомнил только хеду с джамперами, думал что с неё и снимается на внешнюю схему. Тогда естественно лучше поставить распиновку с л-ки. Хотя что-то мне подсказывает что она такая же как на с-ке :)
0
Подтяжек на i2c не будет — места нет.
0
Минусовать тебе что ли?
Лучше внешний ряд джамперов убери, а подтяжка нужна.
В прочем для себя я другую плату делаю, так что не важно, у меня всё равно будет :)
0
Понятное дело, что нужны, но не влезают хоть убейся. Там ведь по хорошему надо впихнуть 2 резистора 4 штырька.

Можно упростить, тогда будет 2 резистора и 2 штырька…
0
И сдвоенный диод. а то ведь при отключенной подтяжке будет взаимное влияние линий друг на друга (настройку на ввод никто не отменял).
С раздельными джамперами у меня заняло меньше места.
0
На плате подтяжка есть.
0
Само собой, но в автономном режиме без неё пичально.
0
Таки запилил подтяжку, но уж больно костыльно. Одним джампером (т.е. линии SDA и SCL всегда соединены через резисторы) и этот джампер находится в дальнем углу платы :)
0
А для диодной сборки в SOT23 там места нет?
0
0
BAT54C вам поможет побороть эту проблему, я думаю.
0
did you mean BAT54A?
0
Точно, там общий анод нужен. Это я в своей схеме возился с С-кой, вот по инерции и написал :)
0
Ну в общем, я выше нарисовал, как у меня все разместилось
0
Они есть и в меньших корпусах, типа BAT54AW в SOT323, его может быть удобнее развести в таком узком месте (возможно не придется тащить на самый верх платы). Кстати, какого типоразмера резисторы используются?
0
Резисторы 1206: ограничение от Ди, я не причем :)
0
ужос. а за что такое наказание? :) 0805 и достаточно большие для ручной пайки и достаточно доступные (если я правильно интерпретирую то, что видел в магазинах, то вообще самые доступные, после них 0603 и затем с большим отрывом — 1206). В своих платах я вообще давно перешел на 0603…
0
А ты попробуй спаяй вручнюу хотя бы 500шт. 0805 за день, а я на тебя потом погляжу.
0
При таких объемах проще печку собрать и вместе с платами трафарет для паяльной пасты заказывать. IMHO, конечно.

P.S. У меня, обычно, получается так, что я делаю несколько плат, потом все их скопом паяю. 500шт компонентов у меня, конечно, не набирается, но и 0805 я не использую давно, основной у меня 0603, местами 0402. Да и остальную мелочовку я, обычно, подбираю в мелких корпусах, вместо того же SOT23 я предпочитаю SC70/SOT323, диоды SOD323 и так далее.
+1
Не проще. Печка требует наличия цеха и какого то оборудованного места, а также более дорогого оборудования. Тогда как на то, чтобы оборудовать нового монтажника мне надо всего лишь 800р на инструмент, получасовой инструктаж-практика и все, боец готов.
0
800р на инструмент
А какой именно инструмент?
0
Atten 936, пинцеты всякие.
0
Не знал, что у меня, оказывается цех :)
Речь шла о самодельной печке, никакого цеха ей не надо, поскольку это всего лишь несколько переделанный бытовой прибор. И места она занимает соответственно. На подготовку бойца уйдут те же полчаса, из личного оружия ему нужен только пинцет. Ну может еще вакуумный захват для плоских корпусов типа TQFP/LQFP. Думаю, даже такая самодельная печка в состоянии обслужить нескольких подобных «бойцов», да и паять она может не одну плату за раз. Ну и сам процесс заметно проще для бойца — пасту через трафарет нанес, компоненты расставил и вперед в печь. Требования к точности расстановки значительно ниже чем при пайке руками, а качество результата — значительно стабильнее, да и от состояния самого бойца качество зависит значительно меньше.

Впрочем, должен заметить, что я производством не занимаюсь и исхожу только из собственного опыта использования самодельной печки, который, увы, не очень велик. Так что я вполне могу упускать из виду какие-то существенные моменты.
0
Получается цех. Раз люди находятся в одном месте. У меня монтажники работают по домам, некоторые в разных городах. Каждому покупать по грилю да его переделывать, да трафареты резать… сильно накладно.
0
Ну переделывать вроде даже необязательно, если печка со своим термостатом. Правда, бюджет на оснащение вырастет до 1.5к на бойца.
Трафареты вроде не должно быть накладно. Они и не режутся, а травятся. Возможно можно было у китайцев же и заказать.
На подготовку бойца уйдут те же полчаса, из личного оружия ему нужен только пинцет
Ракель еще резиновый.

Кстати, а как в печке запекаются платы с компонентами с двух сторон? Проблем не возникает?
0
Если компоненты на двух сторонах, то там все несколько сложнее, компоненты в этом случае садятся на специальный клей, термореактывный, насколько я понимаю. При первой пайке он полимеризуется, а при второй он уже твердый и держит компоненты на плате.
0
Компоненты тащемта и припой неплохо держит. По крайней мере кондюки из-под GPU не отваливались при прогреве.
Меня интересовало, можно ли одновременно обе стороны запаять.
0
Припой — да, держит, за счет поверхностного натяжения. Но далеко не все (компоненты-то разные бывают). Но пока припой не расплавится, держатся компоненты могут, разве что, на паяльной пасте. Паста сама по себе адгезив так себе, а в фазе soaking («промачивание») когда флюс разжижается — вообще никакой. Так что с двух сторон одновременно, насколько мне известно, в промышленности не паяют.
0
Как раз с трафаретами проблем нет, их можно вместе с платами заказывать. А вот то, что люди по одному работают это да, существенная проблема. Хотя качество и скорость монтажа будут выше и в этом случае.
0
а может запилите коротенько статью про печку и технологию?
0
Да их готовых вагон. Вот, например, печь. Там и про технологию есть все довольно подробно.
0
судя по ушамскриншоту 1206, или увеличенный 0805. похоже на 0805 с размерами КП 1,4х1,4мм и расстоянием между КП 1мм.
0
Таки площадка универсальная, туда влезет и 1206 и 0805. Но изначально в проект заложены именно 1206 — желание левой пятки Ди
0
Это для монтажникам жизнь проще сделать? :)
0
Это не желание левой пятки, это жоское ограничение технологии. Иначе косяки ловить заебемся.
0
Кстати да — впизду универсальные площадки! Только широкая под 1206
0
В каком месте широкая? Моя — торт?
кстати, в личку на форуме посмотри
0
Твоя нормальная. Игловские дефолтные вот те не в кассу.
+1
Для игла нормальный, как по мне, набор футпринтов для SMD резисторов/конденсаторов только в rc-master-smd.lbr (кто не в курсе — на сайте кадсофта в либах).
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.