Jump to content

    

AlexandrY

Модераторы
  • Content Count

    6843
  • Joined

  • Last visited

Community Reputation

0 Обычный

About AlexandrY

  • Rank
    Ally

Контакты

  • Сайт
    http://geektimes.com/users/indemsys/posts/
  • ICQ
    0

Recent Profile Visitors

43925 profile views
  1. LPC1768 для освоения ARM

    Так пограничные узлы тож вы должны программировать, никто за вас это не сделает. Вообщем ситуация такая: ваша железка должна содержать от 2 и больше процессоров и еще пограничный узел и возможно IoT хаб. И это такой скромненький наборчик к добротному конкурентоспособному крану. Да что там крану, ту приходили коллеги и хвастались что они замути неслабую информационную сеть в мусороперерабатывающей машине на базе Windows. Так что я не вижу места ни голым STM-ам с LPC, ни линуксу, ни самопальным шедулерам в проектах такого уровня.
  2. А разве бывают неготовые модули? Вероятно они должны быть дешевле готовых.
  3. LPC1768 для освоения ARM

    Потеряете свою цену. Скоро будут смеяться над теми кто не знает и не использует Edge computing. Это тема не про интернет, а про большие данные и ИИ. А Azure Sphere OS и есть узел этой пограничной сети. Кстати в Amazon FreeRTOS тоже вставлена фишка для общения с Amazon Greengrass, а это те же самые пограничные вычисления. Но только FreeRTOS гораздо более убогая чем ThreadX, и вряд ли Amazon ее будет развивать.
  4. LPC1768 для освоения ARM

    Ну, ребят. Такой подход устарел уж не знаю как давно. Наступило время гибридных SoC-ов и модулей. Микрософт дикими темпами продвигает Azure Sphere с Azure Sphere OS и ThreadX на пару, А вы тут все с линуксами да этой дилемой между линуксами и фриртосами. Можно делать навороченные вещи без боли, не надо пугать человека. Ардуинщики давно уже это уловили.
  5. LPC1768 для освоения ARM

    Контроллеры для всяких подъемных устройств - моя тема. Но то что вы хотите делается не на одном контроллере, а на на системе контроллеров. Как минимум на двух. Вот почти то что вам нужно - Ставится на DIN-рейку. 24 В питание. Имеет диагностическую плату. Имеет изолированный CAN. RS485, 1-Wire, интерфейс энкодера и т.д. Но процессор не на этой плате стоит, а подключается в виде модуля. А вот на чем модуль, тут уже свобода выбора. Модуль определяет какие будут беспроводные интерфейсы. Потому как в этой сфере все очень быстро меняется. Так что начните с разработки модуля. А конкретно с выбора программного фреймворка с RTOS.
  6. Операционная система.

    Тут тогда надо добавить, что как и в PC в микроконтроллерах тренды идут абстрагировать не периферию, а задачи периферии. Не PWM абстрагируют, а управление моторами или DC/DC преобразователями. Не I2C абстрагируют, а хабы датчиков. Не MAC, а сетевые протоколы. Поэтому при известной степени упорности можно обойтись без изучения регистров периферии сидя просто на фреймворках типа Renesas Synergy SSP.
  7. Операционная система.

    Прям весь Modbus ручкам писать не придется конечно. Но редактировать надо будет в части взаимодействия с верхним и нижним уровнем. К сожалению у ARM микроконтроллеров по прежнему полный хаос сверху и снизу. Сверху - это разные оси типа FreeRTOS, mbed, Zephyr ... Снизу разная архитектура периферии от ST, TI, NXP... с абсолютно разными API да и сами ядра ARM сейчас расплодились. Единственно что остается делать - искать наиболее интегрированное решение из одних рук. mbed - слишком кросплатформенный, из-за этого теряете преимущества архитектуры. FreeRTOS - слишком мало функционально. Zephyr - сложно собирается и отлаживается поскольку не адаптирован ни к каким IDE. На сегодня лучшим решением будет платформа Renesas Sinergy. Она включает чипы на базе ARM Cortex-M4 до 240 МГц, операционку ThreadX (с недавнего времени принадлежит Microsoft) и пакет софта SSP в который входит вот все что нужно современному микроконтроллеру и IDE от IAR. Весь софт и IDE бесплатно. В этой среде вы пожалуй сможете начать программировать так как в C Builder. Весь хелп из одного источника. Сетевой стек дает все что нужно: от драйвера Ethernet до прикладных API работы с FTP, WEB, DNS, SNMP и проч. Есть мощный движок GUI c дизайнером окон. Есть файловая система с защитой от сбоев и FTL уровнем для NAND и NOR. Есть протоколы IoT и скоро их там станет еще больше. Довольно стройная и консистентная линейка драйверов для UART, USB, SPI, I2C, I2S, CAN и проч. В среде IAR качественный add-on для отладки ThreadX, также есть бесплатный трассер для ThreadX для разбора межзадачного взаимодействия и анализа нагрузок. Короче, есть варианты.
  8. Вы пилите свой велосипед и почему-то считаете что здесь тема об этом. Я не создаю автоматы и мои диаграммы не автоматы. Мне программирование автоматы не ускоряют и не облегчают, они сами получаются иногда как побочный продукт. И что так приклеились к этому слову "автоматы"? Программирование облегчает среда разработки. Мне совершенно фиолетово конечный там автомат вдруг получился или бесконечный. Все ли состояния обойдены или не все. Я даже не делаю полных тестов. Это невозможно с ограниченным бюджетом времени. Это не разработка под FPGA, это архитектура с неопределенностями. И Stateflow это позволяет сделать.
  9. Я тут уже выкладывал, но ладно выложу еще раз. Вот последняя версия совершенно рабочей боевой диаграммы основной логики работы пассажирского подъемника. Скомпилированные по ней тексты успешно работают на реальном объекте. Весь проект не выкладываю потому как он много информации вам не даст. Нужно как минимум знать особенности функционирования системы и ее состав. Тут еще загружается подготовленный workspace с переменными. Много внутренних переменных смысл которых вам будет непонятен, поскольку они берутся из фреймворка платформы. Ну и вся эта диаграмма опирается на сервисы платформы которые в самой диаграмме совершенно не описаны. Есть уровни ниже, как можно догадаться, в полупрозрачных блоках и есть выше. Выше стоит модель самого объекта управления, т.е. там симуляторы кнопок, конечников, датчиков, мотора, кинематики и т.д. Конечно это никакой не автомат состояний. Это типичная программа с множеством неопределенных состояний и с многочисленными вложениями чистого C или M кода. Но только эта программа дает возможность ее реструктурировать за считанные минуты, а в обычной текстовой нотации такая же реструктуризация занимает многие дни. Это живая архитектура совмещенная с кодированием. В этом сила метода.
  10. Ну реально отстали. Нынче код из StateFlow получается идеальный. Никаких проблем с таймерами. Там есть целый набор темпоральных функций, которые создают по ходу нужные таймера. Про менеджера не понял. Вернее менеджера я представляю как костыль в тех случаях когда разработчик не в состоянии видеть в голове всю систему. Такое обычное дело когда пишут не используя диаграм, тогда рождаются монстры- менеджеры. Сам страдал этим пока StateFlow не прочистил сознание. Но диаграммы заставляют увидеть состояния и их иерархию. Увидев иерархию быстро становится понятным никчемность менеджеров. Про миллион объектов, как понимаю, упоминается чтобы привести тему к абсурду. Такие варианты я не обсуждаю. Хотя согласен, что в диаграммах состояний никак не решается вопрос реального времени. Эт собственно и не позволяет весь софт писать в диаграммах. Поэтому я всегда говорю , что диаграммы должны ложиться на RTOS со всеми необходимыми инструментами профайлинга. Если у вас нет хорошего фреймворка, вам не сильно помогут диаграммы. Очереди сообщений, движки динамической памяти, объекты синхронизации и проч. - все уже должно быть. По поводу NDA, то меня не берет такой аргумент. Я как то слабо себе представляю этакого разработчики садящегося и сразу пишущего весь такой заточенный целевой код. Должны быть исследования, побочные проекты, инструментальные проекты, продукты жизнедеятельности по любому. Вот они-то не под NDA. Если такого нет, то я не верю разработчику. Даж Тесла вываливает кое что в опенсорс.
  11. По последним рекомендациям даже резисторы нельзя включать в линии USB. Ухудшают глазковую диаграмму. Так что категорически убирайте все последовательные компоненты на USB линиях. Оставить только супрессоры (которых на схеме почему-то нет). Ну и трассировка в строгом соответствии с волновым сопротивлением должна быть.
  12. Читать сегодня надо Real-time embedded multithreading : using ThreadX and ARM / Edward L. На этой неделе Microsoft купил ThreadX с потрохами. Соответственно скоро эта ось станет доминирующей на рынке и в рекламе. Хотя она и так самая распространенная в мире. Во всю идут работы по ее подключению к облакам Azure IoT и к пограничным устройствам Azure IoT Edge. Amazon со своей FreeRTOS отдыхает. Если нужно вживую поработать с ThreadX под микроконтроллером, то качайте тулсы Renesas Sinergy, она там будет в открытом виде со всем сопутствующим софтом и IDE.
  13. Так Harel State Charts - это и есть нативный язык StateFlow , QM и IAR VisualState Только по сравнению с оригинальным Harel-ом они обросли своими расширениями. Больше всего расширений имеет StateFlow. Поэтом его диаграммы не называют Harel State Charts, они включают больше возможностей. Так что отсылки к Harel State Charts немного устарели. Во, коротоко и ясно о Harel State Charts - https://se.mathworks.com/videos/understanding-state-machines-harel-state-machines-4-of-4-90491.html Гораздо интересней почему вы тоже не можете показать пример своих проектов в диаграммах? Или вы тоже считаете диаграммы слишком мощным инструментом чтобы им делится
  14. Первый вариант модуля лучше делать на LQFP. Тюнинг хотя бы сделать можно. Тогда трассировщику будет спокойней, будет меньше стресса. Опять же будет подход ко всем сигналам чтобы посмотреть осциллографом. Если ни схемотехник ни трассировщик раньше таких вещей не делали, то ошибки будут точно, и возможность тюнинга должна иметь решающее значение по сравнению со всем остальным.
  15. А меня больше интересуют такие непуганые заказчики. Где таких находят. Точно не через хабр. Эт что, бутафорская 3D моделька такое впечатление производит? По ссылке на Git-е посмотрел его плату того мифического инвертора 12-2 кВт, сделанную им совсем недавно кстати. 2-х слойка, 0.07 мм медь, и это для 2 кВт -то! Переходные в силовых цепях 0.3 мм! Кулеры там должны выть навзрыд. Максимальный зазор в высоковольтной цепи всего 1 mm! Не измеряются ни токи, ни напряжения. Убогая защита от перегрузки на некалибрируемом сенсоре IR25750LPBF. Явно мужичок порылся в чужих инверторах, но что к чему не все понял. Поэтому упростил до абсурда.