|
|
  |
AVR - любительский конроллер?, Хотелось бы услышать мотивированные высказывания об обратном |
|
|
|
Dec 26 2005, 04:26
|

Знающий
   
Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206

|
Цитата(VslavX @ Dec 25 2005, 16:02)  Цитата(=AK= @ Dec 25 2005, 01:25)  Я об этом уже писал выше. Имхо, AVR действительно является "радиолюбительским контроллером", поскольку Atmel ведет себя по отношению к пользователям AVR как будто они все любители. Поэтому в разработки, которые планируется выпускать много лет, его лучше не закладывать. А если
Да ну? В моей конторе, мы, любители, широко (от 10К устройств в год) применяем мегу с 1997 года. Это не мегу ли 103? С поставкой которых лет 5-6 назад очень много народу наелось какашек, когда срок поставки был от полугода до неопределенного, если память моя мне не изменяет? Цитата До сих пор. И еще лет 5-7 применять, очевидно, будем. Итого - 15-летний цикл. Или Вам надо лет на 100 вперед все распланировать? Дык, падишах-то раньше помрет. Хотя, справедливости ради надо заметить, что одно время таки были у атмеля напряги с поставками. Я полностью согласен с аргументами АК, только такое впечатление, что их тут никто не прочитал практически. Тема напоминает демонстрацию с лозунгами и транспоратнами "не дадим AVR в обиду". У меня есть старое устройство на AT90S2313, программа там плевая, плата тоже не ахти. Но тем не менее я со страхом жду момента, когда придет снабженец и скажет, что покумать их больше нет возможности. Так же наелись подобного с переходом с AT90S8535 на ATMega8535., хотя время от начала выпуска прошло не более 2 лет. Именно поэтому я уже фактически запретил применнеие в новых разработках продукцию Atmel, та же линейка SAM7 достаточно вкусная, но ну ее нахрен. И дело не в том, что относительно легко перейти на совместивый чип, а в том, что сопутствующие испытания после изменения конструкции стОят достаточно дорого, особенно это будет заметно при малотиражных производставх. Простой расчет. Например, испытания на ЭМС и климатику стоят 100 000р. Вам необходимо сменить контроллер и выпустить 1000 шт. устройств. То есть смена контроллера вам обходится еще по 100р на устройство, что соизмеримо со стоимостью самого контроллера. Гораздо проще иметь контроллер изначально даже более дорогой, но не иметь проблем в дальнейшем с доп. расходами. Впрочем, сейчас в России многие еще пока не особо задумываются о замене контроллера и даже просто о коррекции ПО в ключе испытаний, считая что и так все будет работать.
--------------------
Пасу котов...
|
|
|
|
|
Dec 26 2005, 07:16
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(ms1 @ Dec 24 2005, 03:40)  PS: Что то мы все хвалим, хвалим. Поругайте что ли хоть кто нибудь.  Поругать? Это пожалуйста.  Итак. AVR при всех прекрасных инновационных идеях очень пострадал в плане реализации. 1) Регистровый файл. У AVR слишком много регистров при том, что используются они бестолково. Например, они неортогональны - нижняя половина регистров не может использоваться так же как верхняя, из-за чего регистры с 16-го по 31-й используются гораздо чаще, чем с 0-го по 15-й. И это мягко сказано - реально верхняя половина используется чуть ли не в 90% случаев. Т.е. можно было бы отказаться от нижней половины, при этом бы появился хоть и небольшой, но ресурс для улучшения функциональности - большое количество регистров небесплатно дается. Далее. В сегменте r16:r31 тоже не все хорошо. Там не все регистры так же ортогональны - для адресной арифметики подходят только четыре верхних регистровых пары, а для адресации - только три из них. Причем и среди регистровых пар-указателей тоже отогональности нет - в итоге имеем не три указателя, а в лучшем случае два с половиной (Z, Y - полноценные, X - ущербный, у него нет очень важного режима адресации со смещением - этот режим адресации является, по сути, ключевым при используемой в AVR архитекитуре Load/Store). А в виду отсутствия нормального указателя стека (или отдельного фреймпоинтера) - об этом ниже, - остается только полтора указателя... Тут могут спросить: "А чего до этой отрогональности докопались, кому она мешает?" Ответ: ортогональность есть очень важный элемент, она очень сильно влияет на эффективность кода. Я как-то сравнивал оную эффективность между AVR и MSP430, ожидая, что уж на 8-битных-то данных AVR будет шустрее - гарвард как-никак. Ан нет, оказалось, что все далеко не так - у MSP430 как раз 12 РОН, которые полностью ортогональны - каждый из них может быть источинком данных, приемником, указателем для адресации данных и кода (когда функцию по адресу надо вызвать), т.е. обычная и адресная арифметика там совершенно прозрачны и после вычисления адресов не надо никуда ничего копировать, а можно прямо непосредственно работать с вычисленными адресами. В AVR, напротив, постоянно приходится копировать данные между Z-указателем и другими регистрами и на этом AVR в основном и "сливает". Будь у него все регистры с возможность образовывать регистровые пары, которые равнозначны и при вычислениях, и при адресации, все было бы гораздо веселей. 2) Указатель стека. Указатель стека у AVR (который SP) - просто убогий. SP совершенно не пригоден для работы с данными. Именно поэтому фирма IAR задействовала Y-указатель в качестве указателя стека (данных). Само по себе два стека есть неудобство, раз, и хоть и небольшой, но дополнительный расход ОЗУ, два. (Опять же, вспоминая MSP430, видно, что нормальный указатель стека прекрасно решает все задачи и по сохранению адресов возвратов, и по работе с данными). Но все весьма усугубляется тем, что указателей нормальных всего два - их и так почти нет, а тут еще один отдай! И из-за чего!??! Кстати, avr-gcc не использует Y-pointer как указатель стека данных, все базирует на SP, иногда только используя Y в качестве Frame Pointer'а, но в итоге эффективность кода (и по размеру, и по скорости) получается еще хуже, т.е. IAR выбрала правильный подход. 3) Работа с памятью. Работа с памятью у AVR непростительно медленная для Load/Store архитектуры - два такта на обращение. Т.е. непростительно много времени уходит на пересылку между регистрами и памятью, а пересылка эта является совершенно неотъемлемой частью процесса работы МК и занимает очень большую долю. Иными словами, персылка память-регистр и регистр-память в AVR должна занимать 1 такт! Как это сделано в других процессорах с Load/Store архитектурой (например, ADSP-21xx и др.). И технических проблем тут не просматривается - шина данных 8 бит, шина адресов 16-бит. Т.ч. чисто реализация. Итого, значительно лучший результат от AVR можно было бы ожидать будь у него не 32 теперешних регистра, а пусть 16, но образующих 8 регистровых пар-указателей полностью равнозначных, одна из которых образовывала бы указатель стека. Обращение в память за 1 такт. Такой AVR был бы раза в полтора-два быстрее сегодняшнего при той же тактовой. Все перечисленное является плодом незрелости фирмы Атмел как процессоростроителя, делай они AVR сегодня, уверен, всех бы этих косяков им удалось бы избежать. На протяжении всего развития этого семейства отчетливо видна тенденция на улучшение и ядра, и периферии, и электрических характеристик (чего стОил только косяк со слетанием EEPROM или отстутствие средств определить, какой был старт (холодный, теплый) в AT90S8515 - в 8535 уже все появилось). Т.е. производитель сам рос по ходу развития AVR, набирался опыта. Но сегодня паровоз уже несколько ушел, есть требования по совместимости, поэтому все эти несуразности были, есть и будут. К достоинствам AVR. Не буду повторять то, что уже сказали. Отмечу лишь, что очень важным и значимым достоинством этого МК является простота его освоения и использования. Это очень важный фактор, который на популярность влияет зачастую значительно больше, нежели фичи. Цитата(=AK= @ Dec 24 2005, 08:13)  Имхо, Атмел ведет несерьезную политику в отношении пользователей AVR, третируя их как радиолюбителей и мелкосерийщиков с продуктами-однодневками. Атмел часто снимает с производства камни и заменяет их новыми, которые не полностью совместимы со старыми. Это значит, что долго выпускать изделие на AVR не удастся, придется регулярно их переделывать и проходить заново испытания.
Мелкочипы до такого маразма не опускаются, старые процы можно покупать, им просто задирают цену, "экономически" заставляя переползать на новые модели. При этом совместимость у PIC-ов хорошая. Есть у меня, например, изделие, запущенное в серию в 1998 году на PIC16C74А, выпускается оно до сих пор, только проц несколько лет назад сменили на PIC16F74, и то исключительно из экономии. Еще работая на прошлой работе, была у меня разработка 1998 года, с 1999 года она в серии на заводе до сих пор. Там стоял 90S8515. Сегодня там стоит мега8515. Заменили ее без моего участия (как основного разработчика), никаких трудностей не испытали. Это при том, что завод там савеццкий ВПКшный, дубовость там высшей пробы. И ничего - асилили без единого вопроса. Т.ч. проблема, имхо, несколько надумана. Реально проблема может возникнуть, если чип снимается с производтства и ничего на замену не предлагается. Но Атмел так никогда не делал.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Dec 26 2005, 07:30
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(Igor26 @ Dec 25 2005, 16:21)  В догонгу для _artem_. И чемже Вас достала гарвардская архитектура? Лично я Фон Неймановскую архитектуру,применительно к МК, вспоминаю как страшный сон. Даже топором ночью отмахиваюсь. А почему? У фон Неймана только один недостаток перед Гарвардом - он в принципе медленнее, т.к. не может распареллелить обращения к данным и коду. Во всем остальном там все как минимум не хуже. И он проще и для понимания, и в работе. Простой пример - когда мне надо разместить константы в MSP430, я просто пишу const, и эти объекты попадают во флешь. На AVR так просто не пройдет - нужны уже расширения языка типа __flash. Особенно весело становится, когда надо использовать указатели на флешь - регулярно всплывают соответствующие вопросы. Скажете - мелочь. Может и мелочь. Но не всегда. Простой пример: в популятрой RTOS uCOS планировщик использует таблицу - массив const char [256] для быстрого нахождения наиболее приорететной задачи из готовых к выполнению. На фон неймановском MSP430 эта таблица молча ляжет во флешь, а на гарвардском AVR - в ОЗУ. И это при и так жеском дефиците ОЗУ. И 256 байт ОЗУ для AVR - это уже не мелочь. Можно и еще примеры найти. В итоге, фон неймановский проц как таковой в обращении ничем не хуже, он проще для понимания и логичнее. Ужаса там точно никакого нет.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Dec 26 2005, 07:44
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(Andy Mozzhevilov @ Dec 26 2005, 10:26)  Это не мегу ли 103? С поставкой которых лет 5-6 назад очень много народу наелось какашек, когда срок поставки был от полугода до неопределенного, если память моя мне не изменяет? Тот случай был в своем роде уникальным. Тогда был общемировой кризис, и трудности с поставками были у многих. Со 103-й мегой получилось следующее: основные объемы у фирмы Атмел (в те времена) занимало производство флеши. На флеши фирма и поднялась (а не на производстве флешовых 51-х МК), это ее основной доходный сегмент. AVR - детище Атмел, но второстепенная ветвь, не основной по доходности бизнес. Естественно, что когда наступил кризис, второстепенные направления пострадали больше всего. Кстати, флешь атмеловскую в те времена совершенно свободно покупали без каких-либо проблем. А из AVR больше всех пострадала именно мего103 - угадай, по какой причине?  Пральна - потому, что флеши в ней много. Поэтому из всех приборов AVR именно мега103 и попала под основное сокращение - именно по ней были несуразные сроки поставки, - просто производство их было значительно сокращено. Остальные AVR'ки, кстати, мы брали безо всяких проблем, 103-и меги тогда не применяли, поэтому никаких последствий негативных не ощутили. Цитата(Andy Mozzhevilov @ Dec 26 2005, 10:26)  Я полностью согласен с аргументами АК, только такое впечатление, что их тут никто не прочитал практически. Тема напоминает демонстрацию с лозунгами и транспоратнами "не дадим AVR в обиду". У меня есть старое устройство на AT90S2313, программа там плевая, плата тоже не ахти. Но тем не менее я со страхом жду момента, когда придет снабженец и скажет, что покумать их больше нет возможности. Так же наелись подобного с переходом с AT90S8535 на ATMega8535., хотя время от начала выпуска прошло не более 2 лет. Эк тебя запугали.  Лично меня Атмел обманул только в одном - в самом начале были анонсировны 8515 с тактовой 20 МГц - мне это тогда оченно было надо. Но на поверку вышло, что 8 МГц и баста. В общем, не дождался я этого (да и ждал недолго), пришлось ПЛИСы осваивать для решения задачи, о чем, собсно, не жалею.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Dec 26 2005, 08:20
|
Знающий
   
Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693

|
Цитата Ага, особенно с 4413 на мегу8. пришлось схематехнику корректировать. между VCC и AVCC в меги около 6 Ом. А так ничего, нормально. Ну, хлопцы, питания надо подключать прально. Всегда. Тогда и менять схемотехнику не надо. Цитата полностью согласен с аргументами АК, только такое впечатление, что их тут никто не прочитал практически. Тема напоминает демонстрацию с лозунгами и транспоратнами "не дадим AVR в обиду". У меня есть старое устройство на AT90S2313, программа там плевая, плата тоже не ахти. Но тем не менее я со страхом жду момента, Цитата Вам необходимо сменить контроллер и выпустить 1000 шт. устройств. То есть смена контроллера вам обходится еще по 100р на устройство, что соизмеримо со стоимостью самого контроллера. Проблема из пальца. В 80% достаточно простой перекомпиляццыи. В оставшихся 20% - поменять названия битов-портов, заменить IN-OUT на STS-LDS и тому подобное. Для разработчика - плёвое дело. Неспроста есть понятие "сопровождение изделия". И имано на больших сериях финансовые потери на миграццыю становяцца незаметными(аргумент "100000 на сертификаццыю с новым контроллером" не принимаю, бо это от малого ума - сертифицировать прибор при замене КТ315 на Кт3102). Потому возможность купить старьё хоть за N-ные деньги, ценна только для МАЛОСЕРИЙНЫХ применений. Если купить старьё за двойные-тройные деньги, то получишь на той-же 1000 ещё более сильный проигрыш по сравнению с миграцией. Отсюда, кстати, у многих и растёт нежелание всерьёз прислушиваться к аргументам, бесспорно, уважаемого =АК=. ;О) ЗЫ это моё ИМХО справедливо не только для АВР, ессно. ЗЗЫ Для сурьёзного серийного производителя необходимость миграццыи становицца актуальной не когда старая комплектуха пропала за любые деньги, а когда новая стала дешевле. Вот так-то.
|
|
|
|
|
Dec 26 2005, 09:08
|

Профессионал
    
Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371

|
Цитата(mse @ Dec 26 2005, 14:20)  Цитата Ага, особенно с 4413 на мегу8. пришлось схематехнику корректировать. между VCC и AVCC в меги около 6 Ом. А так ничего, нормально. Ну, хлопцы, питания надо подключать прально. Всегда. Тогда и менять схемотехнику не надо. Молодец, с саблей наголо и всех порубал. А без сабли - этаж думать надо.
--------------------
OrCAD, Altium,IAR, AVR....
|
|
|
|
|
Dec 26 2005, 09:12
|

Знающий
   
Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206

|
Цитата Цитата(Andy Mozzhevilov @ Dec 26 2005, 10:26)  Я полностью согласен с аргументами АК, только такое впечатление, что их тут никто не прочитал практически. Тема напоминает демонстрацию с лозунгами и транспоратнами "не дадим AVR в обиду". У меня есть старое устройство на AT90S2313, программа там плевая, плата тоже не ахти. Но тем не менее я со страхом жду момента, когда придет снабженец и скажет, что покумать их больше нет возможности. Так же наелись подобного с переходом с AT90S8535 на ATMega8535., хотя время от начала выпуска прошло не более 2 лет.
Эк тебя запугали.  Лично меня Атмел обманул только в одном - в самом начале были анонсировны 8515 с тактовой 20 МГц - мне это тогда оченно было надо. Но на поверку вышло, что 8 МГц и баста. В общем, не дождался я этого (да и ждал недолго), пришлось ПЛИСы осваивать для решения задачи, о чем, собсно, не жалею.  Сейчас приходится работать в таких условиях, что замена чего либо, даже просто обновление ПО, иногда очень проблемматично сделать, поскольку требуется основание. Основание - что тут добавили новых фич и исправили ошибки не проходит, поскольку в той области, где работают мои железки нужен официоз, фактически сертификат. Сертификация - дело долгое и дорогое. Вот и задумаешься потом, а надо ли тебе счастье, иметь перспективу замены чипа каждый раз в 2 года (хотя чисто инженерных проблем тут нет). Хотя можно это скрыть, но тогда при первом случае, когда это выяснится - отымеют по полной программе, ведь доброжелателей везде хватает.
--------------------
Пасу котов...
|
|
|
|
|
Dec 26 2005, 09:29
|
Знающий
   
Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693

|
Цитата Иными словами, персылка память-регистр и регистр-память в AVR должна занимать 1 такт! Как это сделано в других процессорах с Load/Store архитектурой (например, ADSP-21xx и др.). Достаточно весело ;О) А не подскажет ли уважаемый Дон, сколько периодов ОСЦ содержыт "1 такт" у АДСП-21-хх и у "других" контроллеров? То-то же. А у АВР - 1:1! Нащщёт ортогональности, ваще атас. Ни разу не жалел я об отсуцтвии оной ни в 8080, ни в х86, ни в 51, ни в АВР. Не знаю даже для назачем бы она была нужна. ;О) Что касаемо млачшего банка у АВР, то у меня, например, R3-r15 используюцца гораздо чаще, чем R19-r25. Есть программы, где таких букв не встречяецца ни разу. Что я непрально делаю? С указателями тоже нет проблем: все вычисления адресов делаюцца в них-же. Согласен, бывает нужно обратицца во флэш с двух рук. Но это очень редко. У меня всего 1 или 2 раза с 1998г. В 51 было гораздо хуже, но ничего, жили как-то. Ну а что касаемо компиляторов, то тут вопрос ваще мимо кассы. Мож мне кто расскажет, когда-же ИАР разродился поддержкой аппаратного умножителя для АВР в плывучьке? Бо в 2001 я уже во всю пользовал м163. А анонсирована она была в 1999г. Кстати, ИАРовы компилеры очень странно работают и с АРМ. На страничке AlexanderY можно увидеть, что АВР с самопальной плывучей библиотекой выполняет whetstone за 28е6 тактов, против 22е6 у АРМ. Поцказать, в каком месте смеяцца? ;О) http://aly.projektas.lt/Tests/AllCPU/WhetsRes.htm
|
|
|
|
|
Dec 26 2005, 09:30
|

Знающий
   
Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206

|
Цитата(mse @ Dec 26 2005, 13:20)  Цитата Ага, особенно с 4413 на мегу8. пришлось схематехнику корректировать. между VCC и AVCC в меги около 6 Ом. А так ничего, нормально. Ну, хлопцы, питания надо подключать прально. Всегда. Тогда и менять схемотехнику не надо. Цитата полностью согласен с аргументами АК, только такое впечатление, что их тут никто не прочитал практически. Тема напоминает демонстрацию с лозунгами и транспоратнами "не дадим AVR в обиду". У меня есть старое устройство на AT90S2313, программа там плевая, плата тоже не ахти. Но тем не менее я со страхом жду момента, Цитата Вам необходимо сменить контроллер и выпустить 1000 шт. устройств. То есть смена контроллера вам обходится еще по 100р на устройство, что соизмеримо со стоимостью самого контроллера. Проблема из пальца. В 80% достаточно простой перекомпиляццыи. В оставшихся 20% - поменять названия битов-портов, заменить IN-OUT на STS-LDS и тому подобное. Для разработчика - плёвое дело. Неспроста есть понятие "сопровождение изделия". И имано на больших сериях финансовые потери на миграццыю становяцца незаметными(аргумент "100000 на сертификаццыю с новым контроллером" Не на сертификацию, а только на определенные испытания. На сертификацию, как правило более существенные затраты. Конечно, тут и от функций контроллера зависит. Цитата не принимаю, бо это от малого ума - сертифицировать прибор при замене КТ315 на Кт3102). Во-первых, к сожалению необходимость повторной сертификации определяет не разработчик, а аккредитованный сертификационный центр, который рассматривает описание проведенных изменений и принимает решение о необходимости проведения ряда испытаний. Во-вторых, уверяю Вас, что при замене контроллера повторые испытания Вас провести вынудят, при замене ПО, возможно да, возможно нет, в зависимоти от описания изменений, и возможно от настроения эксперта, который будет принимать решение. При замене типа резистора или транзистора - в зависимости от той цепи - где он стоит, и того, что на что заменяется. Цитата Потому возможность купить старьё хоть за N-ные деньги, ценна только для МАЛОСЕРИЙНЫХ применений. Если купить старьё за двойные-тройные деньги, то получишь на той-же 1000 ещё более сильный проигрыш по сравнению с миграцией. Отсюда, кстати, у многих и растёт нежелание всерьёз прислушиваться к аргументам, бесспорно, уважаемого =АК=. ;О) Просто многие не задумываются об обратной стороне медали. Никто ведь не ругал особо AVR за его архитектуру, периферию и т.п. Ругалась фирма Atmel за ее политику, в чем я полностью поддерживаю AK. Цитата ЗЫ это моё ИМХО справедливо не только для АВР, ессно. ЗЗЫ Для сурьёзного серийного производителя необходимость миграццыи становицца актуальной не когда старая комплектуха пропала за любые деньги, а когда новая стала дешевле. Вот так-то. Для серьезного крупносерийного производства с большим объемом стоимость испытаний и сертификации уже сильно размазывается. Но тут может идти речь о сроках необходимых на сертификацию. На это время производство останавливать? Кроме того в России мало кто может похвастаться действительно крупносерийным производством собственных разработок.
--------------------
Пасу котов...
|
|
|
|
|
Dec 26 2005, 09:52
|

Знающий
   
Группа: Свой
Сообщений: 943
Регистрация: 6-07-04
Из: Санкт-Петербург
Пользователь №: 274

|
Цитата И имано на больших сериях финансовые потери на миграццыю становяцца незаметными(аргумент "100000 на сертификаццыю с новым контроллером" Счетчики электроэнергии - там замена не то что контроллера, а, например, оптрона адназначна подразумевает повторную сертификацию. То же - контрольно-кассовые машины. То же - автомобильная электроника для первичного рынка (комбинации приборов и т.п.) и дело даже не в прямых затратах на проведение испытаний, это тьфу, а в потере времени.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|