Нет не такой и не ARM. Там другая архитектура в принципе:
Native fixed point DSP support, dual port SRAM, multi layer data bus, peripheral DMA controller, peripheral event system and intelligent peripherals move performance and power consumption to the next step. ...
Порты работают на своей частоте, везде свои кэш память, эти "микроконтроллеры" мощнее первых пентиумов.
А в моем случае остается полная совместимость с предыдущими микроконтроллерами, плюс дополнительные плюшки, что "бесплатно" предоставляет новый технологический процесс.
Частично что-то подобное и делают, но новые ревизии микроконтроллеров только снижают потребление (типа Atmel picoPower). Наверное лучше разгоняются, чем предыдущие модели, в жидком азоте пишут под 70 МГц тактовая частота вместо 16. На ARM частоты выше, но тут нет фрагментации микроконтроллера на ядро, шину данных, даже порты на своей частоте работают, а у 8-битников всё едино и работает синхронно "по честному".
Как не разрушить совместимость с 8-битными микроконтроллерами можно подумать. Вон x86 процессоры (когда они были слабее микроконтроллеров еще) тянут команды еще со времен DOS, чтобы не терять совместимость. В микроконтроллерах же с совместимостью не заморачиваются. Оно оправдано, но так как некоторые микроконтроллеры стали долгожителями и стандартом по сути (легендарные Atmega 8 и прочие), можно озадачится и улучшенными версиями с полной совместимостью. Добавить только несколько команд для обработки 32-битной математики...
Правда на месте финансистов, если бы предложили вложить в это дело 1 млн $, с малой вероятностью на коммерческий успех, я бы отказался. На 99% не пойдет в продажу, вряд ли будет спрос. Ну сотню - другую купят экспериментаторы и всё на этом. Аналогично, как гиковский Paralax Propeller 8-ядерный микроконтроллер, прикольно, оригинально, но промышленностью не встребован.
Чем STM32 не подошли? Работают на частотах выше 70 МГц без охлаждения в жидком азоте. А вот про разгон (без жидкого азота )
STM32 совсем другая архитектура. Если взять STM32F4 они мощнее первых пентиумов Соответственно весь набор прибанбасов от обычных процессоров. Так же вариант еще мощнее системы:
Цитата:
Raspberry Pi 3 SoC: Broadcom BCM2837 Процессор: ARM Cortex-A53 (4 ядра) Графический процессор: Broadcom VideoCore IV Оперативная память: 1Гб LDDR2
И что там? Бездушные молотилки цифровых данных. Atmega как-то душевнее, хочешь во фрейворке ардуиновском программируй, хочешь вручную любой бит меняй любого регистра, красота Скорее всего поэтому в сообществе радиолюбителей STM32 как-то долго приживаются, хотя могли еще лет 5 назад стать стандартом. Кому нужна мощность выберут Raspberry Pi, а помигать лампочкой хватает и Atmega. Тем более там пины по 40 мА, для лампочки хватит с запасом ))
STM32 это не только мощное вычислительное ядро, но и развитая периферия. Вот к примеру возможности таймеров одной из младших моделей M3.
Цитата:
16-битный счётчик с автоперезагрузкой. 16-битный программируемый делитель частоты: с 1 по 65535. Схема синхронизации для запуска ЦАП. Генерация прерывания и/или запроса DMA по переполнению счётчика.
До 4-х каналов для: Захвата сигнала (input capture). Сравнения вывода (output compare). Генерации сигнала ШИМ (выровненного по границе или по центру). Генерации одиночных импульсов.
Схемы синхронизации для управления таймерами при помощи внешних сигналов и для соединения нескольких таймеров друг с другом. Комплементарные выходы с программируемым dead-time. Счётчик повторений. Вход BRK для сброса выходов таймера или выставления их в известное состояние. Поддерживают инкрементальные (квадратурные) энкодеры и датчики Холла.
Генерация прерывания или запроса DMA по следующим событиям: Обновление: переполнение счётчика. Событие-триггер: старт, остановка, инициализация счётчика или его обновление внутренним или внешним триггером. Захват сигнала. Сравнение (output compare). Включение BRK.
ATmega не поддерживает многое из перечисленного. А это младшая модель. Про возможности старших уже молчу. Остальная периферия также более функциональная чем у ATmega.
Кувалдой забить сапожный гвоздь можно, но неудобно.
Такая избыточная функциональность нужна не всем и не всегда. Я сейчас осваиваюсь с М3, понимаю, что это очень насыщенная вещь, но для мелочи я точно достану 8-битный ПИК, а не STM32 и уж точно не STM8.
_________________ Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
ATmega не поддерживает многое из перечисленного. А это младшая модель. Про возможности старших уже молчу. Остальная периферия также более функциональная чем у ATmega.
Во всем этом есть и минус - очень сложно. Если на ATmega несколько команд на Си или ассемблере и уже мигаешь лампочкой, с кристальной ясностью происходящего. То в STM32 можно пол жизни вникать, целая вселенная, с оборудованием, регистрами и компиляторами. Смотрим код чтобы байтик в UART отправить
Таймеры у STM32 вообще могут быть сложнее, чем 8-битный контроллер целиком.
Возможности микроконтроллера типа STM32F4 нужны, но для узко специализированных профессионалов. А на ATmega можно собрать проект выходного для в качестве хобби. От мигалки до 3D принтера. У меня принтер и лазерный гравер собраны на ATmega, китайцам проще было взять открытую прошивку из сообщества, чем писать свое что-то. Железо справляется, больше там не нужно.
Ну и из моей практики, у меня нет задач под STM32. Если нужно опросить какой-то датчик, там нет такого потока данных, ATmega на частоте 0.1 МГц справится. Если нужно сформировать картинку для монитора, нужна FPGA или Raspbery Pi плата. Нужно распознавать номера машин, вообще ставим стандартный комп. Автоматика котельной, насосной станции или какого-то агрегата - хватает 8-битного микроконтроллера, там просто всё. Сложная задача - не хватает никакого микроконтроллера, а на плате типа Raspbery Pi уже появляется Linux и работать проще (правда и real time теряется).
Есть области конечно, типа DSP + Realtime где мощные МК незаменимы, модемы, частотные приводы с векторным управлением (просто частотник можно на 8-битном собрать). Но это очень узкоспециализированная ниша. Мы тут в контексте радиолюбительства все же общаемся.
Думаю для большинства переход на ARM усложнит программирование в 4 раза, а возможностей это даст на 1% больше, именно для решения текущих бытовых задач. Поэтому и нет массового перехода на 32-битные микроконтроллеры.
while (!(USART1->SR & USART_SR_TXE)) ; USART1->DR = 'U';
....Черт, до чего же неудобное тут на форуме цитирование! Эт вааще капец, нет ни мультицитирования, ни цитирования по выделению текста... пока удаляешь лишнее, пока вручную прописываешь теги quote, пальцы отваливаются...
[ Думаю для большинства переход на ARM усложнит программирование в 4 раза, а возможностей это даст на 1% больше, именно для решения текущих бытовых задач. Поэтому и нет массового перехода на 32-битные микроконтроллеры.
Для вас - да - прирост возможностей не более 1%. Потому что ваши хотелки ограничиваются показомером и мигалкой. А как быть тем, кому надоели свистоперделки и хочется чего-то большего? Вот то-то и оно! Массовый переход есть, и он давно уже массово идет, и даже дальше СТМа ушел, только вы этого не заметили. Нынче раскручивает популярность "интернет вещей", и куда уж там с мелким 8-битником то?
А это потому, что вы не заглядывали вовнутрь той функции! Ради любопытства загляните, расковыряйте. И листинг у вас получится в семь раз длиннее того, что вы на SPL выкладывали. Серьезно.
избыточная функциональность если не нужна - не пользуемся, потом может пригодиться. STM32 можно использовать абсолютно точно так же как и PIC и AVR: настройка порта:
по умолчанию у STM32 будет включен для тактирования внутренний генератор 8МГц, у некоторых AVR фузы надо еще выставлять или в программе переключать, а у PIC config прописывать. Зачем "для мелочи я точно достану 8-битный ПИК", этож для мелочи надо другой компилятор, другой программатор и голова способная резво скакать по архитектурам, STM32F0 будет выполнять мелочи точно также, а неиспользованная периферия пусть себе лежит, потом, как говорил, может пригодится.
избыточная функциональность если не нужна - не пользуемся, потом может пригодиться.
Во первых, приведенный код работать не будет. Ну хотя бы потому, что не включено тактирование. Во вторых, любая избыточная функциональность создает СЛОЖНЫЙ ФОН, который и генерирует ошибки и вопросы. Как традиционно настраивают периферию? Открывают даташит, смотрят один-два регистра управления этой периферией и расставляют их содержимое. Все. А мало того, что в 32-разрядной архитектуре сами регистры длиннее в 4 раза, так еще присутствуют какие то непонятные (новичку незнакомому с архитектурой) биты, а самих регистров в разы больше. И с какого перепуга новичок сможет отделить традиционные настройки от необязательных? В этом и есть проблема. А кроме того, для АРМов требуется достаточно объемный код стандартных библиотек. То есть без этого дополнительного слоя абстракций ПРИНЦИПИАЛЬНО не обойтись. И это так же затрудняет понимание функционирования довольно сложной архитектуры. Для программиста сие даже достоинство, но для схемотехника - очевидный недостаток. Но программист не способен создать приличное устройство, а значит и легкость в коде становится никчемной. Все это не фатально, естественно. Но является причиной, по которой любители отказываются от того, что дешевле и мощнее, в пользу дороже и слабее. В общем то они по своему правы, поскольку время на разработку стоит дороже железа и в совокупности затрат дорогая Мега оказывается дешевле дешевого СТМ...
Ну и из моей практики, у меня нет задач под STM32.
Задач под мегу вообще в природе не существует, априори, не выдумывайте. Для самых мелких и примитивных задач СТМ8 хватит с головой, для чего-то серьёзнее - СТМ32. И куда ваши убогие и дорогущие меги совать? Вам деньги и время девать некуда?
Разница в том, что ПИКов, к тому же новых серий и это не считая старых, в удобных, и не очень, корпусах, у меня достаточно для поиграться (чем я обычно и занимаюсь). А АРМ только один, "народный", на пробу взял. Планирую еще 030 взять, и из 8051 кое-что. Так что на одной платформе я не зацикливаюсь., мне интересно щупать разные. А те, кто ведет "священные войны", на все смотрят с одной, своей точки зрения, не понимая, что люди разные, задачи и интересы у них разные и не все воплощают свои микроконтроллерные познания на производстве. Что касается "этож для мелочи надо другой компилятор, другой программатор" - так это вообще не довод У меня PIC2/3, понятно для чего, USB-UART для 8051 и ST-Link. Все это набрано за последние года 3, финансово не затратно. Среды 2: МПЛаб и Кайл. Сейчас не времена маленьких хардов, чтобы считать гигабайты, занимаемые программами.
_________________ Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Во первых, приведенный код работать не будет. Ну хотя бы потому, что не включено тактирование.
Ну ещё одна строчка... Ы шо? Всё это уже обсуждалось и не раз. в новых ПИКах-мегах тоже тактирование можно-включать-выключать. Если же это уж настолько напрягает - СТМ8С! Там тактирование включено по умолчанию.
Цитата:
Во вторых, любая избыточная функциональность создает СЛОЖНЫЙ ФОН, который и генерирует ошибки и вопросы.
Не бывает избыточной функциональности, да ещё и за малые деньги. Да и ныне все производители стараются напичкать МК по не хочу. Сам не юзаешь примитивы, юзаешь дсПИК. Ну снизойди до ПИК16Ф54! Не?
Цитата:
Как традиционно настраивают периферию? Открывают даташит, смотрят один-два регистра управления этой периферией и расставляют их содержимое. Все.
Ардуинщики вообще её не настраивают... и что теперь? Да и что было настраивать, если она отсутствовала напрочь как таковая?
Цитата:
А мало того, что в 32-разрядной архитектуре сами регистры длиннее в 4 раза, так еще присутствуют какие то непонятные (новичку незнакомому с архитектурой) биты, а самих регистров в разы больше. И с какого перепуга новичок сможет отделить традиционные настройки от необязательных? В этом и есть проблема.
Какая проблема? Новичков? Пусть учатся! Или идут подметать дворы или красить заборы.
Цитата:
А кроме того, для АРМов требуется достаточно объемный код стандартных библиотек. То есть без этого дополнительного слоя абстракций ПРИНЦИПИАЛЬНО не обойтись. И это так же затрудняет понимание функционирования довольно сложной архитектуры.
Сколько уже народу свалило с ПИК-АВР и ничего, живые. И как-то пофигу им вся эта кажущаяся сложность.
Код:
Для программиста сие даже достоинство, но для схемотехника - очевидный недостаток. Но программист не способен создать приличное устройство, а значит и легкость в коде становится никчемной. Все это не фатально, естественно. Но является причиной, по которой любители отказываются от того, что дешевле и мощнее, в пользу дороже и слабее.
Любителям пофигу! Они либо тупо копирут, либо тратят кучу времени на то, что и выеденного яйца не стОит. Их никто в расчёт и не берёт, никогда.
Цитата:
В общем то они по своему правы, поскольку время на разработку стоит дороже железа и в совокупности затрат дорогая Мега оказывается дешевле дешевого СТМ...
Чушь! На богатом железе время разработки всегда меньше и беспроблемнее чем на убогом.
Во первых, приведенный код работать не будет. Ну хотя бы потому, что не включено тактирование
будет, будет - тактирование обычно включаю только после пробуждения МК или после сброса, сразу ВСЕЙ нужной периферии в отдельной функции или в одной строчке в main, точно так же делал и для меги48, там сложнее, надо еще и выключить ВСЮ ненужную периферию. Для F0 существуют прекрасные примеры для работы практически со всей периферией, без всяких библиотек, легко разборчивые с мануалом. Осталось только попробовать вкус устриц и не важно, что устрицы 32-х разрядные - они просто вкусные.
А те, кто ведет "священные войны", на все смотрят с одной, своей точки зрения, не понимая, что люди разные, задачи и интересы у них разные и не все воплощают свои микроконтроллерные познания на производстве.
Да посмотри как мегу и ардуину на элхе опустили ниже дна. Всё! Время меги вышло! Нравится мести музейную пыль? Да не вопрос!
Цитата:
Что касается "этож для мелочи надо другой компилятор, другой программатор" - так это вообще не довод У меня PIC2/3, понятно для чего, USB-UART для 8051 и ST-Link. Все это набрано за последние года 3, финансово не затратно. Среды 2: МПЛаб и Кайл. Сейчас не времена маленьких хардов, чтобы считать гигабайты, занимаемые программами.
Да у всех это есть! Вопрос - а нужно ли оно сегодня? Ну ладно вчера, кроме ПИК и меги ничего и не было, а сегодня? Посмотри на разницу первых ПИКов и последних, первых мег и последних, не видишь разницы? Нахрен забивать голову всяким этим калом, когда можно обойтись СТМ8 и СТМ32, у которых периферия схожа? Нафига мне все эти ПИКи и меги, если 98% всех хотелок перекрываются СТМом, которые ещё и по цене гораздо ниже?
Больше ничего не комментирую, ибо выделенное (без продолжения) - основное. Все люди РАЗНЫЕ! Каждый может продолжить фразу по-своему. Все эти споры - пустое, ни к чему они не приводят и ни кого ни в чем не убеждают. Это как спорить о том, чьи отпечатки пальцев красивее ))
_________________ Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Все эти споры - пустое, ни к чему они не приводят и ни кого ни в чем не убеждают.
Заглянул в ларь через дорогу. PIC16F1789-I/PT по цене СТМ32Ф3 или СТМ32Ф4. А оно мне такое никакое нужно? Пусть его негры и дауны и покупают, я не против и спорить даже не буду.
PIC16F1789-I/PT по цене СТМ32Ф3 или СТМ32Ф4. А оно мне такое никакое нужно?
Ваше право. Свою "лавку" в пример привести не могу, нет такого. PIC16F1789-I/PT STM32F401RCT6 Совсем равноценно по корпусам не получается, да и вообще никак не получается.
А вот это уже очень нехорошее оскорбление. Сдержанность в высказываниях еще никому не вредила. Советую тщательнее производить растаможку выражений перед публикацией.
_________________ Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Вы корпуса по мелкости сравниваете? У первого шаг выводов 0,65, у второго - 0,5 мм. Одинаково мелко. И одинаково нужно иметь некоторый опыт пайки такой мелкоты. По остальным показателям сравнение малость некорректное. Тогда уж сравнивайте хотябы PIC18Fxxxx и STM32F030хх.
Вы правы. Нельзя велосипед сравнивать с самолетом. Тем более что стоят они почти одинаково. Сравните технические характеристики этих МК и поймете о чем я.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения