STM8 или AVR?. Раздел: STM8.

Eugene's MCU

Суббота, 01.03.2014, 11:43

Главная | | Мой профиль | Выход | RSS
Меню сайта
Категории каталога
Рекламный блок





Рекомендовать этот сайт:

Главная » Статьи » » STM8


STM8 или AVR?
     В свете известных сложностей с поставками и расценками на AVR, а также появлением нового семейства 8-разрядников STM8 перед разработчиками встают как минимум два вопроса:
     1. Есть ли объективная необходимость замены ATmega в уже существующих проектах?
     2. Насколько оправдано применение в новых проектах микроконтроллеров семейства STM8S вместо AVR?

     Необходимость замены AVR в готовых проектах, очевидно, полностью зависит от ситуации с поставками и ценами. Как долго продлится неопределенность в этом вопросе, на сегодняшний день никто с уверенностью сказать не может.  Насколько предпочтительно применение в новых разработках STM8? Вопрос, кажется, логично разделить на две группы – доступность МК и средств разработки по цене и технические преимущества нового семейства STM, насколько они велики и оправдывают ли необходимость освоения новых микроконтроллеров и сред разработки.
     Опустим (временно) тот факт, что при наличии у STM 32-разрядников Cortex по ценам близким к старшим моделям STM8 интереснее всё-таки говорить о замене AVR именно на Cortex. Текущий предмет исследования - серия STM8.
      По первой группе вопросов доступности предлагаю сравнение двух практически эквивалентных по параметрам  микроконтроллеров Atmega64 и STM8S207R8:
  
     Параметры:
     
     Цены:
     
  
     Справедливости ради нужно сказать, что такие цены на микроконтроллеры AVR сформировались на фоне дефицита производства. В добрые времена  стоимость ATmega64 составляла около 4$  за штуку, то есть приблизительно столько же сколько STM8S207R8 сегодня.

     Средства разработки:
     
   
     Быстродействие.
     На форуме сайта kazus.ru имела место попытка провести сравнительный тест быстродействия архитектур AVR и STM8. Мнения участников, как по вопросу целесообразности такого сравнения, так и по его результатам были высказаны самые разные. В частности прозвучало мнение, что сравнивать восьмиразрядные микроконтроллеры по быстродействию занятие бессмысленное, так как в первом приближении c практической точки зрения все современные восьмиразрядные МК практически равнозначны, а при выборе той или иной архитектуры разумнее учитывать специфику конкретной задачи. Так же очевидно, что тест, написанный на языке Си, который  в настоящее время преимущественно используется разработчиками, общем случае из-за особенностей компилятора может не учитывать преимущества конкретной архитектуры.
     Тем не менее, коротенький тест, показал небольшое превосходство архитектуры STM8, благодаря способности ядра использовать в качестве одного из операндов инструкций любой регистр общего адресного пространства микроконтроллера.

     Исходный код:
     unsigned char A,B,C;
     void SubRoutine(void); // Прототип функции.
     void main( void )
     {
         DDRA=0xFF;   // PORTA на выход.
         PORTA|=(1<<0);    // Установить PA.0.
         A=1; B=2;  // Инициализация переменных.     
         SubRoutine(); // Уход в функцию.
         if (PINA&(1<<0)) PORTA&=~(1<<0); // Если PA.0 установлен, сбросить его.
     }
     void SubRoutine(void)
     {
          C=A+B; // Арифметика и возврат из функции.
     }  
     был выполнен микроконтроллерами STM8 и AVR за 21 и 27 тактов соответственно. Для большинства микроконтроллеров STM8 линейки Performance, способных работать на частотах до 24МГц, преимущество в скорости выполнения приведённого кода относительно AVR возрастает до 50%.

     Периферия. EEPROM. 
     Одним из разочарований архитектуры AVR стала работа со встроенной памятью EEPROM. Это и большое время записи одного байта, достигающее нескольких миллисекунд и необходимость запрета прерываний при обращении к EEPROM и произвольная запись случайных данных при низкой скорости нарастания питающего напряжения. 
     Всех этих "особенностей” мы уже не встречаем у микроконтроллеров семейства STM8 – и длительность и сама процедура доступа к энергонезависимой памяти ничем не отличается от работы с обычными ячейками ОЗУ, за исключением необходимости пропуска одного такта на частотах выше 16МГц.
  
     Данное сравнение будет продолжено в ближайшее время по результатам обсуждения на форуме в теме: "STM8 вместо ATmega в новых проектах. Цена вопроса.”
     Оставляйте свои замечания и комментарии к теме.
   


При использовании материалов сайта ссылка на данный источник обязательна.

Категория: STM8 | Добавил: eugenemcu (31.10.2010) | Автор:

Просмотров: 7632 | Комментарии: 8 | Рейтинг: 5.0/1 |
Всего комментариев: 8
0
* 1 (14.11.2010 15:11) [Материал]
А какова производительность STM8 в MIPS?
А почему сравнивают с atmega64, а не с atmega644? Он и стоит чутка подешевле, и работает на 20 МГц.

0
* 2 eugenemcu (14.11.2010 17:14) [Материал]
По утверждению STM производительность 1.6 тактов на инструкцию, то есть 0,625 MIPS на мегагерц.
Конкретно Atmega64 здесь участвует только в сравнении по цене, этом плане, если я не ошибаюсь, 644 мало, чем отличается.
Приведённый тест универсален для любого представителя того и другого семейства и характеризует свойства самой архитектуры. Да и вообще, статья на данный момент не претендует на истину в последней инстанции, это скорее приглашение к обсуждению.
Желательно на форуме

0
* 3 EugenyAM (15.11.2010 09:15) [Материал]
У STM8S есть линейка STM8S207/208, работающая на 24 МГц с двумя UART,
А что касается цен, STM8 все равно выигрывает (на примере Промэлектроники).
ATMega644PA-AU (TQFP44) - 323р розница.
STM8S207C8T6 - 118р розница.

0
* 4 Raspro (19.11.2010 16:39) [Материал]
AVR подорожали в 2-2,5 раза а STM при такой перефирии на борту намного дешевле.
ATmega8-16AU - 70р
STM8S103F3P6 - 35р

0
* 5 eugenemcu (19.11.2010 19:40) [Материал]
На самом деле по периферии гораздо интереснее серия STM8L. Об этом напишем чутку позже.

0
* 6 (22.10.2011 01:08) [Материал]
Нашли где цены на avr брать :D. В проме на AD и Atmel цены задраны. В аргуссофте 64 мега 4-5$

0
* 7 eugenemcu (22.10.2011 12:00) [Материал]
А ещё за эти 4$ есть STM32F103RBT6 и он снимает все вопросы:

ARM, 72 МГц, 32 бита, тоже 64 флеша что и у Mega64 + куча прочих вкусняшек типа ЦАП, DMA и прочего

0
* 8 (03.02.2012 12:07) [Материал]
Ну вы нашли с чем сравнить... Atmeg`и, которые с 2003 выпускают и STM года 2009. Возьмите тогда Xmeg`и сравнивайте

Статистика

Наш магазин




Какую среду разработки Вы используете?

[ Результаты · Архив опросов ]
Всего ответов: 1449



Им нужна Ваша помощь: