STM32F050F4 в TSSOP20. Отладочная плата и тестовый проект.

  • +8
  • 29 июля 2013, 16:36
  • reptile

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

RSS свернуть / развернуть
Прикольный камешек, но уж больно специфический… Редко когда нужна тяжелая математика при столь малом кол-ве ног… А действительно ли 6 каналов таймера разведены по ногам? (Да, мне пока влом читать даташит), вот кстати хорошо бы скрин с разводкой ног положить, для обзора не лишне, беглым взглядом можно понять что за фарш…
0
  • avatar
  • N1X
  • 29 июля 2013, 21:45
Редко когда нужна тяжелая математика при столь малом кол-ве ног
при чем тут тяжелая математика? Апп.делителя нет, FPU и DSP — тоже. Камень начального уровня.

вот кстати хорошо бы скрин с разводкой ног положить
добавил, внутр.диаграмму и разводку.
+1
Ну я просто немного оговорился… Не тяжелая математика, а потяжелее, чем обычно… Т.е. постоянный обсчет како-го то алгоритма, включающий вычисления.
Когда нужно реагировать на события, отправлять кому-то сообщения, взял сигнал с датчиков, переварил по таблицам, выплюнул на исполнительные механизмы чего-то, не и все… Тут 8-битка вне конкуренции… Просто, дешево, элегантно…
А иногда нужно что-то, ну например БИНС для авиамодельки… Ног много не надо, но камень хочется пошустрее… Однако без FPU и DSP тоже справиться можно…

За картиночки спасибо, куда нагляднее :)
0
Тут 8-битка вне конкуренции…
пока не вижу преимуществ 8-битки, кроме дрыгания портом с суб-микросекундной точностью (программный USB и т.д.). Зато 32-битная арифметика — большой плюс.
0
Ну например какой-нибудь счетчик электроэнергии (мгновенная, средняя, среднеквадратичная и т.д.) с каким-нибудь интерфейсом типа MODBUS/пр.
Или спектр сигнала/помех считать сразу в камне и выдасать готовый результат (на дисплей ли или в интерфейс).
Со всякими моторами и пид-регуляторами не скажу — это есть толпа знающих, кому-то там чего-то в вычислениях не хватало.
0
счетчик электроэнергии (мгновенная, средняя, среднеквадратичная и т.д.)
для этого нужно 2 независимых АЦП.
0
+1 к уважаемому коллеге angel5a. Для интелектуальных датчиков (часто с внешними АЦП, как у меня, например) требуется как раз малоножечный МК, предпочтительно с человеческим питчем, но чтобы вычислял довльно быстро. И здесь 32-разряжная арифметика, даже самого простого уровня — много лучше, чем 8-разрядная.
Вообще, хочу выразить благодарность автору за прекрасный материал. Подано, кажется, все, чтобы вот так — взять и начать юзать. Респект!
И вот надо же… В тот момент, когда я таки склонился к MSP430G2513 на место своей атмеги168, приходит reptile и снова вводит в задумчивость. Слушай, а купить можно? У меня твой ЛА служит очень исправно, так что с удовольствием поигрался с девайсиной твоего производства! Глядишь, еще и сравнил бы два решения (я все о MSP430...)
0
Если АЦП применяются внешние и место жмёт, можно ещё на LPC812M101 взглянуть.
0
только где они доступны в Украине?
а эти — есть в Имраде.
0
Та нет, с местом вполне гуманно. Тем более, что эти LPC такие же пришлось бы взять, в ТССОП20.
Занятные, конечно МК. Зачетно ОЗУ напихали, интерфейсов не пожалели… Но как-то для меня это уж совсем экзотика. Я между модной СТМ32 и давней симпатией МСП430 разрываюсь, а ты еще подкидываешь тротил в моск. Провокация, однако :)
Извинения автору за оффтоп.
0
Да, если захочется поэкспериментировать с LPC812M101 в TSSOP20, могу поделиться, у меня есть некоторый запас.
0
В RCS Components под заказ.
Пока что они в стадии «qualification», но продаются. И Xpresso под них тоже.
Ещё интереснее были бы Zero Gecko, но что-то там тормознулось, может, из-за того, что их Силабс купил и всякие оргвопросы решаются.

А почём покупали? У Имрада какая-то фигня с сайтом случилась, дико тормозит.
0
(Вдогонку) Забираю вопрос обратно, открылся-таки сайт. :)
В общем-то, где-то десятки грн. в розницу и ожидал, коль они на маузере по доллару оптом.
0
около 9грн за 16К, и 11 — за 32К.
0
Что-то я F6P6 у имрада не вижу на сайте. Откуда инфа о цене на 32К?
0
извиняюсь, перепутал с другим сайтом — около 1,2€ м.опт www.efind.ru/icsearch/?search=32f050f6
0
А что делается с питчами у более многоногих АРМов? Я вот прикинул, на полный проект мне 20 ног не хватает. Следующий номинал — LQFР48, но там питч уже 0,5 мм. Я как-то стремаюсь с таким иметь дело, даже с заводскими платами. Руки-глаза-терпение уже не те.
0
Я как-то стремаюсь с таким иметь дело, даже с заводскими платами. Руки-глаза-терпение уже не те.
С нормальным паяльником оно паяется без проблем, глаза потребуются только проверить на предмет залипух — но для этого уже можно применить костыль вроде лупы или микроскопа. Терпение тоже не потребуется — запаивается быстрее и проще чем дип.
0
(тяжело вздохнув): Ну, значит надо порыться и найти свое Дискавери. Всего лишь год назад купил — а ты смотри, уже и понадобилось!
0
можно и без микроскопа — смотреть на просвет при подсветке снизу хорошим фонариком или LEDом (1W LED в самый раз)
0
Зависит от зрения, некоторым что так не видно, что на просвет. Хотя сам я обычно на просвет проверяю, если плата позволяет.
0
LQFP48/64/100 паяются легко, тем более с заводскими платами. 144 паять не пробовал, поэтому ничего не скажу.
0
следующий — LQFP32 с шагом 0.8mm (как у Atmega8) у 32f051k
0
Блин, куда делся пост… Ну, повторю вопрос: если по очевидным для меня свойствам две серии удовлетворяют требованиям, и F100, и F051, то что есть такого в 100-й серии, чтобы заставило отказаться от использования 51-й? Только, плз, не будем трогать ядро М0 на 48 Мгц и М3 на 24 Мгц. Если я заменяю атмегу с частотой 8 МГц, то, ИМХО, один хрен много больше возможностей у любого ядра. Если я (достаточно шаблонно и неизобретательно) программирую только на Си, то нюансов системы команд мне никогда не ощутить.
Тогда — что, уважаемые знатоки, можеть таки быть лучше в F100?
0
AFAIK, F1 — раннее семейство, полное косяков. Так что лучше глянуть на F0.
0
у 05х нет быстрого аппаратного делителя, урезана система команд, нет Bitband, периферии чуть меньше (хотя больше 1шт UART/I2C/SPI очень редко когда нужно).

по сравнению с АВР конечно небольшая разница что 050 что 100 — оба выше на голову.
у 050 TSSOP20 хорошо подходит на замену Attiny (площадь ненамного больше SOIC8).
0
Кстати, насчёт UART — не так давно был случай, что только они и нужны оказались, причём 3 штуки сразу. Нечто вроде хаба… Пришлось поставить STM8L151C8, у которого львиная доля портов оказалась не занята. Так вот, у упомянутых LPC812 — 3 UART в корпусе SSOP-16, к тому же ремапятся на любые выводы. Больше нигде такого не встречал.
0
F100 хорошо только совместимостью с F103. В силу возраста у него есть несколько неудобств — (относительно) медленный I2C с некоторым количеством косяков, SPI с фиксированным размером фрейма (скажем, довольно популярный 9-битный SPI на них аппаратно не сделать). Ну и с переходом на другие семейства там есть сложности (заметно отличается устройство и разбивка периферии по шинам). F0 многих граблей лишены, плюс значительно более разнообразные варианты исполнения. Все IMHO, естественно.
0
IMHO, 32-й с шагом 0.8 от 48 с шагом 0.5 практически неотличимы с точки зрения монтажа. Да и по размеру одинаковы.
0
Да, для проверки качества пайки таких чипов (и не только их) имеет смысл обзавестись лупой ~30X. Желательно стеклянной.
0
Большое спасибо за подробное и очень конкретное сравнение серий! Хотя я уже понял, что надо брать и пробовать, но все же ваши заметки очень помогли увидеть всю картинку.
На сегодня сухой остаток таков: имея 051 в уже привычном «атмеговском» корпусе с шагом 0,8, я только боялся, что есть нечто концептуално прокольное в этой серии. Вижу, что для моей простой задачи и даже с учетом некоторого развития ТЗ в следующем девайсе таких проколов нет. Более того, оказывается, что в 100-й есть косяки (хотя и с ними она бы прокатила у меня вполне). Значит, трясущимися руками выбираю бОльший шаг серии 051.
И, если я верно понял, будет совсем не трудно заюзать те и только те устройства в 051, которые так же есть и в 050, и в 100, и в 101. У меня это парочка таймеров (системный клок да модбас), УАРТ, SPI для ФРАМки (хотя по ногам выгодее взять ФРАМку с I2С) да несколько 5В-совместимых и несколько любых портов общего применения. В результате проект вообще можно будет после отладки перекомпилировать на любое семейство… Я так думаю.
Отдельно замечу по LPC. Сцыкотно. Не искушайте. Если уж изменять своей мечте (МСП), то с мейнстримом же ж :)
0
Да ладно, LPC такой же мейнстрим. Вообще мейнстримовость хорошо отслеживать по тому, как такие чипы появляются на маузере и у других крупных продавцов типа диджикея. Что LPC-шки, что STM-ки сначала анонсируются и появляются в каталоге, и только через пару месяцев появляются в стоке. Думаю, еще до старта массовых продаж первые партии раскупают производители железяк. Да, кстати, к LPC-шкам есть такая же платка для разработчиков как и у стм-ок, так что тут у них тоже паритет. Да и инструментарий, вобщем-то, одинаковый с стм-ками.

P.S. как верно заметил камрад Katz, у конкретно этих LPC-шек есть своя уникальная фишка — фактически кроме пинов питания все остальные можно ремапить практически свободно, что делает разводку максимально удобной и простой.
0
При всем уважении, коллега: открываю наш любимый форум, подфорумы:
STM32: 855 тем
MSP430: 81 тема
NXP: 68 тем.
Я ж никак не хочу хулить ЛПЦ! И вообще уже понял, что надо найти время и попробовать все эти МК (просто у меня мейнстрим работы не в эмбеддерстве, потому все урывками). Но все же как-то у меня ощущение, что, пусть не мейнстрим, но самая модная все же СТМ32. Вот ее и покрутим через пару недель.
0
Там такое: «кто первый встал, того и тапки». ;)
Меня в общем-то (условная) экзотика никогда не смущала; если чип ложится под задачу оптимально, значит, именно его и надо применить. Многотысячные тиражи вполне оправдывают затраты времени на изучение. Так было с LPC900, так с сейчас с силабсовскими 51, возможно, вскоре объявятся мелкие кортексы от Nuvoton, благо местная Гамма их начала активно продвигать…
0
При всем уважении, коллега: открываю наш любимый форум, подфорумы:
STM32: 855 тем
MSP430: 81 тема
NXP: 68 тем.
Ну местный форум уж точно не показатель. Как и вообще популярность тех или иных компонентов на постсоветском пространстве. Далеко за примерами ходить не буду — самые популярные полевики у нас IR, хотя среди высоковольтных девайсов они в подметки не годятся инфинеоновским, а среди низковольтных они, в лучшем случае, в середке, да и то если принимать во внимание отнюдь не самые популярные DirectFet корпуса (там да, попадаются транзисторы сравнимые с тем, что выпускают инфинеон, NXP, TI и другие). У нас эти транзисторы выпускаемые другими фирмами толком практически неизвестны и недоступны. Ровно тоже самое в микроконтроллерах. Да, стм-ки и за рубежом весьма популярны, но LPC-шки далеко не в аутсайдерах. К тому же NXP первыми застолбили нишу мелких корпусов для M0, ST их только сейчас догнали. Опять-таки, совершенно ничего не имею против стм-ок, сам пользуюсь и планирую пользоваться в будущем (F3, кстати, весьма и весьма интересная серия, особенно F303). Но армы как раз тем и хороши, что есть куча интересных альтернатив, от LPC и нувотона до инфинеона и фрискейла. Да и кипарисовский PSoC5 интересен весьма.
+1
Ну, как с тобой спорить… Могу только мотать на ус. И да, о пользе единого ядра слышал не раз. Теперь только начинаю это видеть на конкретике.
Кста, нашел еще у STM на сайте серию 030. Правда, она кагбэ только объявлена. Но там тоже есть корпус а-ла атмега168.
Я, канешна, не понял, чем она-то отличается, но теперь знаю одно: то потом будет иметь значение. После запуска проекта на любой серии, физически на любом Дискавери…
0
Пока что LPC-Link, встроенный в LPCXpresso, довольно крепко привязан к среде от CodeRed (в отличие от встроенного в дискавери ST-Link, который работает с кучей средств разработки и к тому же успешно реверсирован скромными усилиями нашего форума), хотя там тоже уже есть подвижки.
А стартовые наборы копеечные что там что там, вряд ли такая принципиальная разница — 10 евро или 15. Под STM32F030 так вовсе по $9.
0
Пока что LPC-Link, встроенный в LPCXpresso, довольно крепко привязан к среде от CodeRed
Ну, привязан и что?
К примеру, AVRDragon/AvrJtag тоже привязан к средам от Атмел, но сами среды-то бесплатные и без ограничений.
Так и тут — компилятор бесплатен, Ide тоже. Или какой-то функци не хватает?

в отличие от встроенного в дискавери ST-Link, который работает с кучей средств разработки
И можно его использовать как отладчик в Eclipse, например. И без gdb-сервера от Atollic, по-честному, взлома и пиратства?
реверсирован скромными усилиями нашего форума)
А чего именно удалось добится от ST-Link?
0
И можно его использовать как отладчик в Eclipse, например. И без gdb-сервера от Atollic, по-честному, взлома и пиратства?
Да.
0
Так и тут — компилятор бесплатен, Ide тоже. Или какой-то функци не хватает?

Зацепился глаз за фразу. LPCXpresso бесплатен первые 128к флеша, за остальные надо платить (или «платить»), вне зависимости от того, используются первые 128 кб или нет. Конечно, не всем столько надо, но тем не менее.
0
И, если я верно понял, будет совсем не трудно заюзать те и только те устройства в 051, которые так же есть и в 050, и в 100, и в 101
можно. Работа через стд.библиотеки там не сильно отличается, через #ifdef можно обойти отличия
0
одна платка с контроллером еще есть
0
еррату почитайте тогда и с мегой сравнивайте
+1
там нет ничего фатального.
если сравнивать, то с АВР N-летней давности, когда тот только вышел.
0
Пожалуйста, уточните наличие примера в аттаче — посмотрел, а там вроде пусто. Спасибо
0
перезалил. Странно, что-то не то прицепилось.
Еще продублирую: www.ex.ua/642615068629
0
Спасибо. Теперь все есть. У меня вот какой вопрос. Вы не планировали все программное обеспечение для Вашего модуля выполнить на Кейле? Я понимаю, что то, что Вы представили, отражает Ваши вкусы и предпочтения — очень даже правильные. Однако, ИМХО, микропроцессор — доступный для энтузиастов начального уровня и разобраться с Кейлом им будет намного проще.
0
нет, с кейлом не работаю.
в принципе кому нужно, могут адаптировать
0
Понял. Спасибо. Вы сделали очень нужную работу!
0
Начинаю работать с данным МК и есть затруднения с ADC. Не записываются данные в регистры управления. использую конструкции вида ADC1->CR |= ADC_CR_ADEN;
И ничего не происходит. С другими регистрами проблем нет. Может нужно чего-то настроить в CMSIS?
0
Тактирование АЦП включено?
Может нужно чего-то настроить в CMSIS?
Да, лучше удалить эту штуку.
0
По умолчанию такитирование включено. Пробовал подключать к другой шине, без изменений.
Проблема не в том, что не работает ADC (хоть оно и не работает). Проблема в том, что не пишутся регистры ADC. Пишу битовую маску в регистр, а в регистре нули. Регистры портов и тактирования пишутся нормально
Возможно я ошибся с CMSIS. В проекте использую файлы main.c, startup_stm32f0xx.s, core_cm0.h, stm32f0xx.h, system_stm32f0xx.h
Короче функций инициализации нет, прямая запись в регистры
0
посмотрите как сделано в STM32F0xx_StdPeriph_Driver stm32f0xx_adc.c
0
спасибо, смотрю.
Только я предпочитаю прямую запись в регистры, а там функции инициализации, в которых ничего не понятно.
Ночь длинная буду копать по маленьку
0
Генератор 14МГц включен (HSI14MHz)
0
да, он там всегда включен.
0
У меня конкретная проблема. stm32f0xx.h отказывается записывать значения в регистры ADC при
выполнении команд вида ADC1->CR |= ADC_CR_ADEN;
0
в ADC_Cmd так и сделано: ADCx->CR |= (uint32_t)ADC_CR_ADEN;
должно работать
0
Не работает, совсем не пойму в чем дело
0
Спасибо, прошу прощения, что сразу Вас не правильно понял. Там есть тактирование ADC и тактирование регистров ADC/ Оказалось это разные ситемы
RCC->APB2ENR |= RCC_APB2ENR_ADC1EN ;
Теперь порядок!!!
0
Пожалуйста. Просто недавно мне такой случай попадался на каком-то форуме (правда не помню где).
0
Спасибо за идею. Сделал ЛУТом почти такую же платку, только с другой микросхемой стабилизатора и добавил MAX3232.
При настройке USART-а столкнулся с несоответствием назначения альтернативных функций выводов PA2 и PA3 в таблицах 8 и 9 DS. Успел проверить только передачу — сработало при AF1 и как в таблице 8. Сегодня STM32F050F4 уже получили статус NRND. Так что… король умер… да здравствует король(С) — применяем пин-ту-пин STM32F030F4. А вот в DS STM32F030 аналогичные таблицы 11 и 12 совпадают и, похоже, таблицу 12 из DS STM32F030 нужно использовать вместо таблицы 9 DS STM32F050.
0
STM32F050F4 уже получили статус NRND
у STM32F050F6 статус не NRND, непонятно в чем разница. Наверно F4 зарезали чтобы не конкурировал с F030

еще 4 проекта: c LCD, c nRF24L01, c microSD, под грядущий F042 с USB и uSD
0
Проверил и прием — AF как в 030 — работает. Кстати, пользовался CoIDE 1.7.6 и эмулятором CMSIS-DAP со встроенным CDC от камрада X893 (пока отключил прием от MAX3232 и подключил прием-передачу от CDC)
0
грядущий F042
Вот интересно когда у нас появится. Ещё st анонсировали L0 — cortex m0+.
0
Их не зарезали, просто переименовали
0
Спасибо, полезная статейка.
0
Если кто может, поделитесь, пожалуйста, настройкой I2C.
3 дня мучаемся — труп трупом — ни одного импульса нету.

Спасибо.
0
там где не нуна скорость — везде использую программный.
гемор с библиотеками и железом забыл как страшный сон.
-1
Здесь рабочие примеры.
0
«Здесь рабочие примеры» — рабочие, но с поправками.

В проекте ADC\12_TemperatureSensor компилятор выдал ошибку на строке:
ADC1->SMPR |= ADC_SMPR_SMP_0 | ADC_SMPR_SMP_1 | ADC_SMPR_SMP_2;

В файле stm32f0xx.h выяснилось, что нужно изменить строку на:
ADC1->SMPR |= (ADC_SMPR1_SMPR_0 | ADC_SMPR1_SMPR_1 | ADC_SMPR1_SMPR_2);

Использовал CooCox CoIDE Version 1.7.6
Кристал STM32F030F4Px
0
обновите StdPeriph_Lib до V1.3.1 www.st.com/web/en/catalog/tools/PF257884

ADC_SMPR1… помечены как Legacy
0
Спвсибо за инфу.
0
bitbucket.org/edartuz/ul_dev_mcu_stm32f050-01 — мёртвая ссылка?
0
edartuz/ul_dev_mcu_stm32f050_usd-01
Repository deleted
edartuz · 2013-11-21
edartuz
edartuz/ul_dev_mcu_stm32f050_nrf24l01-01
Repository deleted
edartuz · 2013-11-21
edartuz
edartuz/ul_dev_mcu_stm32_64pin
Repository deleted
edartuz · 2013-11-21

что случилось 21ого ноября? :)
0
Another one bites the dust — еще один высокопарный поначалу ремесленник не смог пройти проверки на вшивость опенсорсом, не по силам оказался сей крест :D

Опенсорс долго терпит, милосердствует. Опенсорс не завидует, не превозносится, не гордится, не бесчинствует, не ищет своего, не раздражается, не мыслит зла ...
0
Это reptile. Не впервые выпиливает, увы. У него в блоге и статей есть парочка потертых, ЕМНИП.
0
Автор топика запретил добавлять комментарии