"...или бегством к незнакомому стремиться?"
(с) надеюсь, все помнят, кто
Универсальный вопрос на любую тему: от неудобных ботинок до эмиграции.
Я же сейчас озадачился им вот по какому поводу.
Свалилось предложение разработать небольшой специализированный электронный блочочек.
К предложению приложена схема "прототипа" 30-летней давности. Формата А1 - куча "рассыпухи" на древних чипах серии К140 и К155, с АЦП последовательного приближения тоже на "рассыпухе" и гальванической изоляцией на трансформаторах ТИМ-5В. Для понимания алгоритма, так сказать.
(живьем "образец" еще не видел)
Серия будет 36 штук, плюс несколько "в запас".
Ныне всю эту требуху можно и нужно выкинуть и воткнуть микроконтроллер. Особенно учитывая требование "какого-нибудь интерфейса" (дословно из ТЗ) для подключения к ПЛК и панели. (в ПЛК и панель тоже предстоит влезть, но это проще).
Вот тут, собственно, и встал вопрос из заголовка.
Такими делами я не занимался лет 12. Или даже 13. И с той далекой молодости остались навыки по обращению с 8-битными контроллерами тех времен (80х51, AVR, PIC). Вспомнить их, как начнешь делать - несложно.
Но беглый обзор нынешнего состояния дел в области микроконтроллеростроения показал наличие просто замечательной (на бумаге) штуковины под названием STM32.
Для нашего простенького приборчика, по прикидкам, хватит и останется самого простого и дешевого представителя семейства - STM32F030F4 ценой в розницу 2 (два) доллара. И за эти два доллара - полноценное 32-битное ядро ARM и полный фарш периферии.
Но!
С одной стороны -
"Красиво на бумаге" - это одно. А "опыт работы" - это другое.
Понятно, что Си - он и в Африке Си. Тем более хорошо знакомая среда от Keil.
Но всяческих нюансов всегда вылезет немало. С соответствующими непредсказуемыми бяками и задержками.
С другой стороны -
вымирание 8-битных процессоров очевидно и неизбежно; а возможность освоить что-то новое и перспективное за чужой счет - всегда полезна.
Да и жене объяснить вечер за программатором "я тут не просто самообразованием занимаюсь, а деньги в семью зарабатываю" - всяко проще.
Предложение нужно выдать в понедельник. Сижу в раздумьях...
Если у кого есть опыт работы с STM32 - буду рад услышать. Особенно - о проблемах и недостатках, о которых производители почему-то не любят упоминать...
(с) надеюсь, все помнят, кто
Универсальный вопрос на любую тему: от неудобных ботинок до эмиграции.
Я же сейчас озадачился им вот по какому поводу.
Свалилось предложение разработать небольшой специализированный электронный блочочек.
К предложению приложена схема "прототипа" 30-летней давности. Формата А1 - куча "рассыпухи" на древних чипах серии К140 и К155, с АЦП последовательного приближения тоже на "рассыпухе" и гальванической изоляцией на трансформаторах ТИМ-5В. Для понимания алгоритма, так сказать.
(живьем "образец" еще не видел)
Серия будет 36 штук, плюс несколько "в запас".
Ныне всю эту требуху можно и нужно выкинуть и воткнуть микроконтроллер. Особенно учитывая требование "какого-нибудь интерфейса" (дословно из ТЗ) для подключения к ПЛК и панели. (в ПЛК и панель тоже предстоит влезть, но это проще).
Вот тут, собственно, и встал вопрос из заголовка.
Такими делами я не занимался лет 12. Или даже 13. И с той далекой молодости остались навыки по обращению с 8-битными контроллерами тех времен (80х51, AVR, PIC). Вспомнить их, как начнешь делать - несложно.
Но беглый обзор нынешнего состояния дел в области микроконтроллеростроения показал наличие просто замечательной (на бумаге) штуковины под названием STM32.
Для нашего простенького приборчика, по прикидкам, хватит и останется самого простого и дешевого представителя семейства - STM32F030F4 ценой в розницу 2 (два) доллара. И за эти два доллара - полноценное 32-битное ядро ARM и полный фарш периферии.
Но!
С одной стороны -
"Красиво на бумаге" - это одно. А "опыт работы" - это другое.
Понятно, что Си - он и в Африке Си. Тем более хорошо знакомая среда от Keil.
Но всяческих нюансов всегда вылезет немало. С соответствующими непредсказуемыми бяками и задержками.
С другой стороны -
вымирание 8-битных процессоров очевидно и неизбежно; а возможность освоить что-то новое и перспективное за чужой счет - всегда полезна.
Да и жене объяснить вечер за программатором "я тут не просто самообразованием занимаюсь, а деньги в семью зарабатываю" - всяко проще.
Предложение нужно выдать в понедельник. Сижу в раздумьях...
Если у кого есть опыт работы с STM32 - буду рад услышать. Особенно - о проблемах и недостатках, о которых производители почему-то не любят упоминать...
Tags:
no subject
Если надо написать нечто специфическое в незнакомой архитектуре, формулируешь и за малый прайсТЗ нанимаешь в инете исполнителя.
Под готовое ТЗ и при адекватном тестировании это будет быстро и нормально.
no subject
no subject
архитектура так и останется для себя - незнакомой
А учиться на не-ответственных, но оплачиваемых проектах - милое дело (под это дело можно еще и простенький отладчик прикупить)
(no subject)
From:no subject
no subject
Потом, отладчик для авр (если покупать целиком :) ) - под 10 тыс.
Отладчик для стм32 - 2.5 тыс. Фирменный, вроде есть еще китайские клоны за 1 долл, но мне таким было бы неприятно пользоваться.
CubeMX - генерит очень глючный код, но что то полезное в нем есть :)
В целом конечно стм32 гораздо сложнее авр-ок.
no subject
Генерируешь проект в Keil (в бесплатный лимит ещё и FreeRTOS запихнуть можешь)
Пару вечеров поизучать нужные HAL ручки
И золотой ключик в кармане.
Для простоты можно взять какую-нибудь плату из разряда discovery/nucleo
Сейчас всё стало гораздо проще
no subject
(no subject)
From:no subject
а оно все платное?
(no subject)
From:(no subject)
From:no subject
Я тоже хочу на stm переехать - похоже, экономически это очень даже обосновано. Но навскидку - там всё существенно более муторно, чем в avr. Одна только конфигурация clock-ов - семь вёрст, и всё лесом. Действительно, есть генератор конфигураций, но я только чтобы в нём галки выставить потратил полдня. Пока отложил...
По идее, на него ставится вот это: http://www.ethernut.de/en/download/index.html
Но, опять же, сконфирурировать с ethernet-ом у меня пока не вышло. А это привлекательно.
Впрочем, для связи с ПЛК хватит модбаса по 485...
no subject
И тот же FreeRTOS одной галкой включается
К avr не хватало такой лентяйки
no subject
no subject
Задачи не знаю, но взял бы stm32f103.
Все же запас по памяти, перефирии и мегагерцам не так много стоит, но душу греет.
no subject
no subject
no subject
Да и народ там ныне в основном по теме смартфонов и интернета.
(no subject)
From:no subject
https://geektimes.ru/search/?q=stm32
(no subject)
From:no subject
Бывает удобно нечто с 8 ножками.
А STM'ки 32-битные такие бывают?...
Вроде, меньше, чем 48 ножек, там не бывает.
Что уже не так уж страшно, конечно.
Но 8 ножек же удобнее, если бОльшего и не надо!
Вот что FPGA'шек таких не бывает, это печаль.
no subject
(no subject)
From:no subject
Главное различие: AVR8 расчитан на гораздо более грубое питание, в целом он более живучий.
STM32 более "нежные" чипы. Требуется куча bypass cap, хорошо фильтрованное питание, согласование по ногам IO и т.п.
AVR8 хорошо подходит для простых алгоритмов. Ноги IO выдерживают ток до 20mA сильно сокращают "обвязку".
STM32 хорошо работает в коммуникационных задачах, где нужны сетевые стеки, пожирающие килобайты оперативки.
С точки зрения программиста сейчас 90% кода генерится Wizard-ом автоматически, под обе архитектуры.
STM32 ближе к ПК, у него единое адресное пространство на все.
AVR8 архитектурно имеет 3 вида памяти ROM, RAM, EEPROM. Каждая адресуется с нуля своим набором команд. Это добавляет отказоусточивости (код только в ROM) и гемора программисту.
no subject
no subject
Нельзя просто так взять и поморгать светодиодом на STM32
гыгы
(no subject)
From:no subject
no subject
Это до сих пор является обязательным требованием?
Я-то думал, что вся сигнальная электроника давным-давно переползла на 3.3 вольта
(no subject)
From:no subject
8битники вполне живы и будут еще долго жить на несложных проектов. Даже камни с жутким для кодинга на С ядром 8051 выпускают новые, не говоря уж о AVR, STM8,...
По стм:
- корпус с шагом 0.5 менее приятно паять, чем AVR с шагом 0.8 или 1.27;
- 3.3В питания неудобно сопрягать с 5в периферией, если надо конечно;
- китайский STLINK за 3 бакса на али работает отлично, отладка и загрузка быстры и надежны;
- STM32CubeMX для несложных проектов лучше использовать только для визуальной конфигурации ножек, лень в изучении даташита может аукнуться неожиданным поведением индусского кода;
- удобны только базовые функции CMSIS, дальше риск индусского кода и двойного изучения: даташита и поведения функции;
no subject
ммм, блин сколько с СилЛабовскийи работал - не знал что у них жуткий коддинг)))
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Ошибки никогда не правят. Периодически сворачивают производство чего-либо, уничтожая все упоминания и документацию на сайте (гуглить для примера "Странное поведение компании
STmicroelectronic"). Слышал как раз недавно историю - хотели использовать их МК со встроенным радиомодулем ZigBee (отладочный комплект, кстати, за 45 тысяч купили) и тут оказалось, что STM-овцы какую-то там лицензию проплатили всего на год - возникло разбирательство и модель свернули (как обычно уничтожив все упоминания на сайте).
Для сравнения - Atmel, который сейчас на каждом углу хаят все кому не лень, свои МК вылизывает. При этом документация на всё, что когда-либо выпускалось аккуратно выложена, если что-то заменяют на новое - думают об обратной совместимости и выкладывают подробные списки отличий и рекомендации по переходу...
Делают отвратительно и не для людей. Если устаревшие вымирающие восьмибитки имеют вход опоры АЦП вплоть до 8-ногой тиньки (не говоря о наборчике встроенных опор и прочих мелочах типа дифференциального биполярного режима), то у хвалёного STM32 - только в 100-ногих корпусах, иначе тупо притянуто к питанию. Вообще, уродство в огромном количестве мелочей. Если у приличного МК запись бита в SFR - одна командочка (ибо это МК, он тесно работает с цифровой обвязкой, хотя любителям всяких стм-кубов это никогда не понять), то в STM - читай целиком весь регистр из соотв. локации в памяти, и потом пиши обратно, спасибо "мощному" армовскому ядру. Причём считать слово из памяти - целая последовательность, т.к. даже обратиться по константному адресу или загрузить константу в регистр одной командой невозможно, опять же спасибо хвалёному армовскому ядру. Впрочем, стм-щики придумали тут "хитрый подход" т.н. битбэндинг, позволяющий обратиться к биту аж за три команды вместо пяти (ценой ещё большей каши в коде - обращению к посторонним адресам)...
Малая надёжность, множество ошибок, малый диапазон питания, слабые гпио, кривые библиотеки, отсутствие какой-либо приличной бесплатной интегрированной среды разработки и т.д. Можно перечислять сколько угодно, но просто главное что нужно знать про халтурщиков и барыг - то что они халтурщики и барыги. Это видно сразу, если хоть немного смотреть на суть и детали, а не только на "за два доллара" и "полный фарш периферии".
Конечно, если главное при выборе компонентов - чтобы обязательно поставить 32 бита, там где хватает даже кучки рассыпухи и чтобы к "старью" не притрагиваться ни при каких условиях, то на всякие мелкие детали типа общей продуманности насрать (в т.ч. и потому путного ничего с таким подходом не сделать, а тормозное глючное барахло лепить можно абсолютно на чём угодно). Делать же приличную вещь приятнее и удобней на том что хорошо продумано и сделано с уважением к тем, кто будет этим пользоваться. А не как у СТМ. Тот же Сименс и множество прочих контор активно как использовали 8051, так и используют. И не смотрят на то, что для идиотов это "старьё", "вымирающие 8-битки" и т.п.
no subject
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
А вот что бы крайне не советовал - так это ATMEL, хотя и порог вхождения туда ниже. Про Атмел однажды даже на хабре написал, с чем пришлось столкнуться: https://habrahabr.ru/post/147025/
no subject
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
делайте из готовых компонентов. ясно, что бюджет и т.д. но ну его нафиг.
no subject
В шкафу вполне себе стандартный контроллер
А сия штуковина - интеллектуальный датчик, подцепленный к контроллеру по шине
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From: