Как стать автором
Обновить
1
0

Пользователь

Отправить сообщение
Хороший слог у автора. Приятно читается.
Мда, удивлен, но действительно была глупая реализация delay. Так глупо споткнутся об переполнение… Что смешно, так это то что первое на что посмотрел при начале изучения HAL это на реализацию delay. И всё было правильно реализовано. А оказывается когда-то было грустно. Ну что ж, вы первый кто за год указал мне на реальный баг.
Я когда пользуюсь HAL или LL перед использованием функции лезу и смотрю на реализацию исходников этой функции и на данный момент ещё не сталкивался с реальными ошибками реализации, а посему и сделал вывод о том что не всё так плохо как обычно слышится на форумах.
Так продемонстрируйте эти самые найденные баги. Для начала надо бы конечно дать точное определение багу, а то может статься что это и не баг, а неожидаемое для вас поведение кода HAL, обусловленное неверной интерпретацией его концепции и соответственно неверными ожиданиями.
Я читал интервью разработчиков о том как это всё дело у них тестируется (европейских разработчиков). У них всё покрыто тестами, весь код обязан выполняться на всех задекларированных моделях.
Всё это конечно не гарантирует 120% надёжности, но уж сильно не стыкуется с утверждением о тотальной сырости продукта.
В общем ждём демонстрации найденных багов
Вы пользуетесь SPL? Я вас обрадую, ещё есть ассемблер. Там ещё круче можно контролировать периферию. Но что то мне подсказывает что уровень абстракции SPL вас полностью устраивает. Ну и уровень абстракции HAL также имеет право на жизнь и кого-то устраивает.
Ведь пользуясь вашей категоричностью можно найти много «неправильного» в вашем использовании С, благо язык это позволяет, но ведь вас всё с языком устраивает с мотивировкой, «а зачем бежать тут за тактом если всё успевает». Вот и с HAL местами можно не бежать. Скажем UART сам по себе медленнее чем HAL. Да и по большому счёту HAL идёт в комплекте с LL, который и есть замена вашего SPL. А если вдруг почитать документацию по HAL то там даже объясняется философия использования HAL и LL.
В общем ничего нового под луной… под каждую задачу свой свой инструмент. Медленная периферия или просто инициализация скоростной периферии — HAL, скоростная периферия — или пользуясь даже этим HAL инициализируем этот скоростной конечный автомат, а дальше он живёт своей отдельной жизнью или активно в HAL проекте скоростную часть пишем на LL. Или же всё с нуля пишем на LL. Ну а требование знать периферию никак не соотносится с HAL. Не зная периферии HAL-ом пользоваться также не реально.
В общем каждый выбирает инструмент по себе, а вот категорично всё остальное отрицать глупо.
На самом деле ничего там не сыровато. Около года десяток устройств STM32F091 трудятся у нас на производстве под управлением HAL драйверов и LL драйверов. Полёт абсолютно нормален. Даже более того. Возьмите любой HAL драйвер и просто пробегитесь по исходникам и найдите хоть одну ошибку. Лёгкий оверхед по ресурсам присутствует. Но какие-то там мифические ошибки и проблемы…. Всегда это удивляет. Вот сидит наш парень и вдруг находит ошибки в коде произведенном серьёзной европейской компанией. И таких вдруг целая страна. А производитель и не знаеи и не подозревает. STMicroelectronics эти драйвера рекомендует использовать официально не только любителям, но и производителям скажем стиральных машин. Так что это всё мифы ещё ни разу! не подкрепленные ни одним фактом.
Ну а статья хорошая. Тут вопросов нет.
Я не силен в аналоговой части. С питанием понятно, а вот с выходными фильтрами я не очень понял по обрывкам брошенных фраз.
А можно для них окончательную принципиальную «рабочую» схему подключения увидеть?
LONDON, April 19, 2016 (GLOBE NEWSWIRE) — Imagination Technologies (IMG.L) and Microchip Technology, together with Digilent Inc. announce the Connected MCU Lab, a new course developed through the companies’ respective university programs.


Says Robert Owen, manager, Worldwide University Programme at Imagination: “The need for internet connectivity and the demand for ease of development are rapidly driving the embedded world towards 32-bit MCUs. As a result, the next generation of embedded system designers and developers need to understand the techniques of connecting embedded systems to the cloud. This is an urgent teaching requirement as many college courses today are still using 8-bit and 16-bit MCUs. The Connected MCU Lab course makes it easy to give the next generation of engineers the skills they need. The 32-bit MIPS CPUs at the heart of Microchip’s popular PIC32 MCUs are ideal for teaching and projects, and the Wi-FIRE board is powerful enough to support very ambitious projects, enabling this course to provide a foundation on which students can grow throughout their degree.”

Основной конечной целью таки заявляется достижение состояния подключенности.
Но вот что я думаю.
YuriPanchul хорошее дело сделал выложив эту новость, а у нас как-то не туда всё покатилось в обсуждении. Но с другой стороны Юрий, всё ж таки избыточна вышеприведенная убежденность мистера Robert Owen. Кстати я отметил что про чип написано 32-bit MIPS CPU, а не MCU как более принято. Я вот когда прочел статью утром решил что они бы ещё на примере FPGA реализовали IoT.
А вообще это хорошее дело, курс по некоторой не очень массовой технологии. Ну и нам повод порассуждать :-)
Название статьи и содержимое отредактировали таки в «правильную» сторону. Теперь из названия и сути следует что интернет вещей будет затронут среди общего.
Но если почитать оригинал то там всё крутится вокруг концепта «Connected MCU» — подключенный к сети микроконтроллер и заявляется что сегодняшние реалии в лице 8-и и 16-и битных MCU не отвечают завтрашним запросам на «быть всегда на линии», а вот очень популярный PIC32MZ подготовит всех к «правильному пониманию» того как надо быть в облаке.

By providing access to our popular PIC32MZ family of high-performance MCUs, we are empowering next-generation engineers and research students to better understand the increasing demands of future applications and gain hands-on experience of IoT design.

Слегка конечно смело заявлено, но заявляет-то производитель чипа, а по совместительству и организатор курса. Положение его обязывает.

Но думается мне что сам-то курс по себе конечно норм и кто-то получит удовольствие от него. Кстати там указывается и целевая аудитория — «мой первый микроконтроллер».
И кстати я правильно понимаю ваш комментарий что без «кэша и TLB MMU» интернет вещей не состоится? И на каждую вещь выходящую в интернет иметь по «кэшу и TLB MMU» в комплекте под 100$ будет дороговато.
Как то вы агрессивно позиционируете свою «правильную плату».
А я назову. От 9 евро, с максимумом выбора по моделям и производителям в районе 15 евро. И это прекрасно.
Теоретически вы правы, Но главное что бы конечный продукт по цене конкурировал, а сколько там внутри процентная доля чего становится вторым вопросом. В моём случае деньги потраченный на MSP430 оказывались больше чем в случае с STM32, а возможностей я получал меньше. Но и это не аксиома. Возможно кто то смог бы получить лучший вариант с MSP430, а не с STM32.
У нас всё началось с заказа на умный датчик для складов — MCU + датчик света + датчик температуры лампы + датчик движения + обвязка.
Стоимость MCU больше 50%. Самый дешёвый MSP430G2332 стоил 50 центов и имел периферии в 5 меньше чем STM32f031 за те же 50 центов. Вот мы и перешли на STM32.
Но я повторюсь что это наш опыт и не показательный. У других по другому, я не против, я за разнообразие.
Кстати замечу, что у TI есть практика не все ножки на демоплатах задействовать. Так что что там не практике из 60 потенциальных ножек с десяток могут и в воздухе зависнуть. С десяток я погорячился, но в общем так.
Согласен. Я из вашего вопроса не понял вы частник или юр. лицо, почему-то решил что юр.лицо. Для частника один раз в 3 месяца купить MCU на 3 доллара дороже оптовой цены не проблема. Ну а ежели вы частник то eBay, AliExpress, Amazon ваш удел. Хотя там по сути та же высокая цена, но иногда можно договориться с продавцом. А в общем это та самая печальная причина по которой я ушёл на STM32. Цена, цена, цена…

Интересно, а вот я с вами не "согласен". Всё описанное в статье Дмитрия Макашова «Обратноходовый преобразователь» очень правильно и нужно, но уж очень теоретически потенциально. Т.е. от его статьи сразу перейти к практике просто нереально, поскольку что из всего многообразия расчётного имеет большую или меньшую важность не имея практического опыта и не поймёшь. И тут появляется ваша отличная статья которая позволяет сразу перейти к практике. Итак теории у нас полно и легко взять на стороне, а вот практику высветит ваша статья, в которую надо чуть чуть добавить уточняющих элементов или ключевых слов для самостоятельного поиска. Но основная ценность вашей статьи — практическая ориентированность. Не перегните палку с теорией, всё и так отлично.
На Digi-Key MSP430F5529 в лоте от 1000 шт. стоит 4$, на Farnell — 3 euro, но тоже этим количеством. Им (Farnell) просто надо написать о том что нужно много и появится новая цена. Но наверное вы не рассчитываете на 1000 шт, а я в своём ответе не указал про кол-во и ввёл вас в заблуждение, сори.
Молодец автор, сильно написано. Как раз собирался сесть за сбор образца, а тут статья-практика. Хорошо бы приобщить к статье иллюстрирующую обобщённую схемку рассматриваемого флайбэка. А вот если бы ещё как-то и вопрос выкладки расчетного файла решить. К сожалению даже написать вам в личку не могу. Профилем не вышел :-). В любом случае спасибо за неожиданную подмогу.
Под мощью я больше понимаю мощь архитектурную. Даже базовый STM32F051 (cortex-m0) имеет на борту аппаратную математику, тучу таймеров, DMA, а главное отличную систему аппаратной связи всей периферии друг с другом, в результате чего получается создавать решения работающие практически без процессора, сплошная связанная рефлексия периферии. Скажем программная борьба с джитером входного сигнала на GPIO для 4133 и 6989 актуальна, а в STM32 — фильтрация на апп.уровне входа таймера, вычитание базового уровня из результата АЦП в STM32 на апп. уровне, repetition counter — апп.уровень, энкодер — на таймере и аппаратно, dead-time на таймере и аппаратно и даже просто каскадное соединение таймеров в STM32 — комбинаторная бомба по возможным вариантам.
В случае если задача — просто сложная логика управления состояниями, то STM32 реально позволяет строить более полный конечный автомат (а значит и более надёжный) на базе одной только своей апп.логики. Совсем уж без программирования не обойтись конечно. А вот если задача из области обработки сигналов, то конечно тут программирование преавалирует.
Но хочу заметить что это всё ни чуть не умаляет достоинств MSP430. Пишется для него действительно легко и в своём классе он хорош. Но цена… MSP430G2553 на Farnell больше 1 евро, MSP430F5529 — 3 евро. FR серия оч. неприлично дорога.
Тем не менее всё относительно и главное подходить ко всему без фанатизма. Я с MSP430 начинал и впечатления остались ну очень положительные. Просто тянуть параллельно 2 пересекающиеся архитектуры не захотел.
Хорошо написано, интересно. Но вот сами чипы 4133 и 6989 при всех вариантах покупки выходят дороже чем народные STM32, а по комплектации периферии сильно им уступают. Так что пришлось мне, глядя в будущее, всё таки отложить их и перейти на STM32. А в от в плане энергоэффективности 4133 и 6989 конечно лучше.
2

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность