Jump to content

    

Новые STM32H7 - два ядра (M7+M4), 480 МГц

15 минут назад, mantech сказал:

Т.е. в таких применениях еще и производительность важна? У меня АВР-ки на 4 МГц все это успевают :yes3:

Сколько у вас энкодеров? Не скачет взад-вперед, когда быстро вращаете? У меня 8 штук. 

Share this post


Link to post
Share on other sites

Интересно, практически реальный код скомпилированный под М3 получается плотнее чем для М0? Никто внимания не обращал?

Share this post


Link to post
Share on other sites

Дык, наборы инструкций разные же.

Share this post


Link to post
Share on other sites
2 hours ago, mantech said:

Может жрут меньше, не?

Скорее всего, но для меня не актуально. Наши приборы очень много кушают в рабочем режиме, так, что пара лишних миллиампер от M3 не критична.

2 hours ago, ViKo said:

На М0 обрабатываю панель управления прибором - кнопки, энкодеры, светодиоды и еще кое-что.

Да, похоже это и их ниша. Впрочем у нас один M0 управляет источником тока 200 А (без паники, обратные связи там мимо МК идут).

1 hour ago, mantech said:

У меня АВР-ки на 4 МГц все это успевают

А им разве скоро не ...ц?))))

1 hour ago, majorka65 said:

Дык, наборы инструкций разные же.

Если говорить строго, то вот, табличка.

 

Снимок.PNG

Share this post


Link to post
Share on other sites
1 час назад, ViKo сказал:

Сколько у вас энкодеров?

3 штуки было, ничего не скакало..

12 минут назад, haker_fox сказал:

А им разве скоро не ...ц?))))

Ну вот опять, на АВРки покусились... Да работают они прекрасно и пусть дальше работают :biggrin:

14 минут назад, haker_fox сказал:

Если говорить строго, то вот, табличка.

Все норм, М0 - настоящий RISC - кол-во команд действительно уменьшено до минимума...

Share this post


Link to post
Share on other sites
43 minutes ago, mantech said:

Ну вот опять, на АВРки покусились...

Нисколько!!!))) Я сам с ними с 2004 по 2013 год плотненько работал. Но не всё ж коту аврки)))

44 minutes ago, mantech said:

М0 - настоящий RISC

Хоть и фон Нейман.

Share this post


Link to post
Share on other sites
5 часов назад, haker_fox сказал:

Давно зреет вопрос. Правда маленько не в тему. Но зачем эти M0 нужны? Да, дешёвые.

У меня порой проблема тупо в нехватке количества ног основного CPU/MCU.

Поставить I2C-шный расширитель портов? Да не, какая-нибудь STM32F030 за 55 рублей мне еще и преобразует доморщенные интерфейсы во что-то более разумное и отдаст уже в готовом виде основному МК.

Сейчас, например, у меня такой мелкий МК как раз преобразует несколько каналов 1-Wire датчиков температуры в готовый структурированный байт-стаффинговый кадр и отправляет на основной МК, а также занимается управлением накорпусной индикацией.

Короче, для коррекции внешней периферии, дешевые контроллеры (а на M0, в основном, очень дешевые контроллеры (дешевле почти любой AVR) - самый сок:wink:

Share this post


Link to post
Share on other sites

Да и такие, двухядерные, скорее не для уменьшения потребления, а для разделения....
М7 основное приложение например гуёвина и прочее, а М4 обслуживание периферии. Например ethernet, USB, SD, UART-ы, SPI там всякие... 
М0 для ethernet слабоват будет.
))

Share this post


Link to post
Share on other sites

Для разделения есть STM32MP1xx (: Там под линями можно с веб-серверами и прочим gui развернуться намного шире. В то время как вся RT часть будет крутится на М4. 

Share this post


Link to post
Share on other sites
14 часов назад, Arlleex сказал:

Поставить I2C-шный расширитель портов? Да не, какая-нибудь STM32F030 за 55 рублей мне еще и преобразует доморщенные интерфейсы во что-то более разумное и отдаст уже в готовом виде основному МК.

Сейчас, например, у меня такой мелкий МК как раз преобразует несколько каналов 1-Wire датчиков температуры в готовый структурированный байт-стаффинговый кадр и отправляет на основной МК, а также занимается управлением накорпусной индикацией.

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

Тут может оказаться что I2C-расширитель лучше.  :smile:

Share this post


Link to post
Share on other sites
21 minutes ago, jcxz said:

чтобы привести его в чувство если завис.

Коллеги, вопрос снова не в тему, но "по теме"... что-то я "завис". Есть у нас внешний вотчдог. И так получилось, неважно почему, что микроконтроллер после успешного запуска зависает через N сек. Собака его сбрасывает, процесс повторяется. Есть ли какой-нибудь хитрый трюк, чтобы избежать перезапуска всей железки каждые N секунд? Кроме как внешнего арбитра на базе другого МК или ПЛИС в голову не приходит.

Share this post


Link to post
Share on other sites
21 минуту назад, haker_fox сказал:

Есть ли какой-нибудь хитрый трюк, чтобы избежать перезапуска всей железки каждые N секунд? Кроме как внешнего арбитра на базе другого МК или ПЛИС в голову не приходит.

Джампер на вход разрешения работы WDT - будет достаточно хитёр?  :wink:

Share this post


Link to post
Share on other sites
40 минут назад, jcxz сказал:

Это пока не нужно удалённое обновление прошивки у пользователя...

Разумеется. Но, например, в моем случае этот мелкий МК должен лишь опрашивать датчики и зажигать светодиоды по командам UART. Чтобы избежать приключений с доработками ПО, я поддержал большинство возможных комбинаций команд и функций этого вспомогательного контроллера: опрос DS18B20, настройка периодичности этого опроса, команды на одиночное/групповое включение индикаторных элементов и т.д. И этот мелкий МК живет сам по себе, со своей внутренней сторожевой собакой. А со стороны главного МК я обращаюсь к этому мелкому как к готовому изделию, как к "черному ящику" с известными форматом сообщений и ожидаемой реакцией.

Надежда на внутреннюю собаку этого вспомогательного МК, да и только. Однажды напарывался на I2C-шной периферии на ее полное зависание, и никакие дополнительные циклы синхронизации или серии стоп-бит не помогали вывести ее из коматоза кроме передергивания питания. Поэтому и гарантий, что сами I2C-расширители не помрут - нету:smile:

Логично, что на этот мелкий МК нужно писать код, а это и время, и экспоненциально возрастающая вероятность появления багов. Но в проектах простых контроллеров, выполняющих примитивные операции, ИМХО, опасаться нечего.

Share this post


Link to post
Share on other sites
38 minutes ago, Arlleex said:

контроллеров, выполняющих примитивные операции, ИМХО, опасаться нечего.

Написать программу "маэйнлупом", без прерываний по поллингу, и, я думаю, будет работать. Единственное, нужно тщательно тестировать. Но и, на всякий случай, завести ножки программирования этого простого МК к "большому брату". чтобы иметь возможность перепрограммировать его.

59 minutes ago, jcxz said:

жампер на вход разрешения работы WDT - будет достаточно хитёр? 

Я имел в виду не отладку на столе, а прибор. Который, скажем из-за выхода из строя какой-то периферии, стал циклически перезагружаться вотчдогом. Т.е. запускается, делает какие-то действия, перезагружается, снова выполяет действия и т.д. Т.е. цикл "старт устройства, перезагрузка" и так до бесконечности может быть нежелателен. Ведь до перезагрузки прибор может начать выполнять какие-то действия, например, закрывать задвижку на газопроводе.

Share this post


Link to post
Share on other sites
10 minutes ago, haker_fox said:

Т.е. цикл "старт устройства, перезагрузка" и так до бесконечности может быть нежелателен. Ведь до перезагрузки прибор может начать выполнять какие-то действия, например, закрывать задвижку на газопроводе.

Сохраняйте состояние в RAM, принимайте решение по восстановлению после сброса.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now