PIC vs AVR

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Закрыто
Аватара пользователя
Mozart
Мучитель микросхем
Сообщения: 413
Зарегистрирован: Пт мар 10, 2006 12:23:05
Откуда: Moscow
Контактная информация:

PIC vs AVR

Сообщение Mozart »

такая избитая тема, и в конце каждой теме читаю мат, а потом кому что нравится... а потом неделя раздумья (по крайне мере была) действительно что лучше?
наткнулся на книгу Голубцова авр от простого к сложному, там без мата написаны преимущества:
1.очень быстрая гарвардская архитектура... отсутствует внутреннее деление частоты, как, например МК PIC
...
n. мк АВР имею 32 регистра, все из которых напрямую работают с АЛУ. Это значительно уменьшает размер программ. В других мк, как правило, для осуществления, например, сложения один из регистров обязательно должен находится в рабочем регистре - аккумуляторе... т.е. для сложения нужно выполнить как минимум две команды. (сокращено мною)
n+1. нет страниц памяти!!!
n+2. простой программатор

но в этой книжке в основном одни недостатки... Прошу тех кто программит на АВР сказать недостатки... они есть и скрывать не надо
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!
Реклама
Аватара пользователя
Mamonth
Вымогатель припоя
Сообщения: 534
Зарегистрирован: Пн янв 16, 2006 08:00:17
Откуда: Иркутск

Сообщение Mamonth »

Это война миров, можно сказать. Такое ощущение, что приверженность к тому или иному виду контроллеров получается по принципу: С чем начал работать так и продолжаю... В реальности, людей, кот работают и с тем и другим очень мало, вот их-то и надо спрашивать, ибо только такой человек сможет дать квалифицированый грамотный ответ.
Today fine night...
Реклама
Аватара пользователя
xelos
Потрогал лапой паяльник
Сообщения: 336
Зарегистрирован: Пн мар 20, 2006 13:05:08
Контактная информация:

Сообщение xelos »

я работаю и с теми и другими (2 модели в основном пользую: pic16F и AtMega). с точки зрения программирования - одно и то же (я на С пишу). с точки зрения функциональности - очень похоже, вобщем я разницы большой не ощущаю.
оба мк стабильны в работе, нареканий нет.
Я просто верю в то, что рушить догмы - лучший способ не стареть.
Аватара пользователя
Дмитрий О
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пн авг 29, 2005 16:27:04
Откуда: Дмитров
Контактная информация:

Сообщение Дмитрий О »

xelos писал(а):я работаю и с теми и другими (2 модели в основном пользую: pic16F и AtMega). с точки зрения программирования - одно и то же (я на С пишу). с точки зрения функциональности - очень похоже, вобщем я разницы большой не ощущаю.
оба мк стабильны в работе, нареканий нет.
А раз нету разницы, можно выбрать или те, или другие. Понравилось слово "PIC", работаем с ним. Мне лично больше AVR нравится :)
aka Diamond
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Hardman
Первый раз сказал Мяу!
Сообщения: 36
Зарегистрирован: Вт мар 28, 2006 00:18:21
Откуда: Москва
Контактная информация:

Сообщение Hardman »

Доброго времени суток...
Прошу прощения если офф-топ...
Когда-то отец мне объяснял что нет ничего универсального, например клей. Есть клей "Секунда", который клеет почти всё, но недостаточно пластичен, есть "ПВА" добавив в который мелкие опилки получаем отличную древесную шпаклёвку, есть "Момент" гибкий после высыхания, и т.д. Каждый хорошь для чего-то определённого.
Я пологаю если бы небыло никаких отличий между АВР и ПИК, то и книги для них разные не писали...
Давайте возмём курс обсуждения для чего кто хорош, а кто плох...
Желательно используя такие абороты как: "Сделал устройство на ПИК, плохо, а вот когда на АВР переделал всё отлично"...
Всего доброго...
Реклама
Аватара пользователя
Mozart
Мучитель микросхем
Сообщения: 413
Зарегистрирован: Пт мар 10, 2006 12:23:05
Откуда: Moscow
Контактная информация:

Сообщение Mozart »

про универсальность никто не говорит... спрашивается что лучше?
АЦП 10 разрядов и там и там есть... где лучше?
УСАРТ и там и там есть... где лучше???
команд для авр больше чем для пиков...на производительность сильно влияет или нет?

где лучше применять пики где АВР??
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!
Реклама
Аватара пользователя
Hardman
Первый раз сказал Мяу!
Сообщения: 36
Зарегистрирован: Вт мар 28, 2006 00:18:21
Откуда: Москва
Контактная информация:

Сообщение Hardman »

Доброго времени суток...
Да нет же, я имел ввиду другое...
Какие МК для каких целей использовать лучше...
История с клеем не про универсальность, а про индивидуальную область применения...
Всего доброго...
И зачем я это сказал???
Аватара пользователя
xelos
Потрогал лапой паяльник
Сообщения: 336
Зарегистрирован: Пн мар 20, 2006 13:05:08
Контактная информация:

Сообщение xelos »

в AVR большинство команд за 1 машинный цикл выполняется (кроме прерываний и где PC меняется), а в PIC все команды за 4 цикла. Т.е. производительность вроде у AVR больше... только меня производительность никогда не напрягала.

А книги разные - потому что различия в архитектуре есть. Я с разными фирмами-азработчиками работаю, ВСЕ фирмы, что я знаю в своих разработках используют РАЗНЫЕ мк (в смысле не зацикливаются на каком-то одном производители).

Microchip и Atmel - два конкурента все-таки, значит и рынок у них один.
Я просто верю в то, что рушить догмы - лучший способ не стареть.
Аватара пользователя
Spider
Опытный кот
Сообщения: 732
Зарегистрирован: Чт дек 29, 2005 07:29:25
Откуда: Омск
Контактная информация:

Сообщение Spider »

Пишу на Си под оба проца. Напрягает пока тока PIC, заметно тупее и тормознее АВРов. Очень бесит его деление памяти на страницы (банки), и отсутвие стека, как следствие отсутвие нормального malloc() и невозможность рекурсивного вызова фунок.
Но читал много отзывов о ПИКах как о стабильных процах. ХМ. А что АВР не стабилен?
Аватара пользователя
Mamonth
Вымогатель припоя
Сообщения: 534
Зарегистрирован: Пн янв 16, 2006 08:00:17
Откуда: Иркутск

Сообщение Mamonth »

Тута есть что-то: http://www.atmel.ru/Articles/Atmel26.htm
Today fine night...
Аватара пользователя
xelos
Потрогал лапой паяльник
Сообщения: 336
Зарегистрирован: Пн мар 20, 2006 13:05:08
Контактная информация:

Сообщение xelos »

Spider писал(а):Пишу на Си под оба проца. Напрягает пока тока PIC, заметно тупее и тормознее АВРов. Очень бесит его деление памяти на страницы (банки), и отсутвие стека, как следствие отсутвие нормального malloc() и невозможность рекурсивного вызова фунок.
Но читал много отзывов о ПИКах как о стабильных процах. ХМ. А что АВР не стабилен?
ты конкретные модели тогда сравнивай, у ATtiny, например, стека особо тоже нет. Реализуй его програмно. насчет рекурсивных функций - как часто тебе призодится их реализовывать на мк? к тому ж, если я правильно помню теорию программирования, любую рекурсивную функцию можно реализовать через линейные.

разбивка памяти на страницы - да, это не всегда удобно для программиста (и то под вопросом - копирование блоков памяти проще делать постранично), у меня нет четкого мнения по этому поводу, к тому ж мой компилятор для PIC сам управляет банками 8) .

и насчет malloc, имхо, все зависит от стиля программировния. поскольку стека в обычном понимании в PIC нет, я не вижу зачем тебе использовать malloc для PIC. с этой точки зрения контроль памяти в PIC удобней (не надо думать о том, что своими данными стек затрешь).

ИМХО, это просто все привычка программировать конкретный мк, с точки зрения использования мк в проектах - не это играет главную роль.
Я просто верю в то, что рушить догмы - лучший способ не стареть.
Alexl82

Сообщение Alexl82 »

"в AVR большинство команд за 1 машинный цикл выполняется (кроме прерываний и где PC меняется), а в PIC все команды за 4 цикла. Т.е. производительность вроде у AVR больше... только меня производительность никогда не напрягала."

На сколько я знаю большинство комнд в PIC выполняется за 1 цикл, а некоторые за два. Назови команды которые за 4 цикла проходят!
Аватара пользователя
xelos
Потрогал лапой паяльник
Сообщения: 336
Зарегистрирован: Пн мар 20, 2006 13:05:08
Контактная информация:

Сообщение xelos »

за 4 такта кварца у пиков и за 1 такт у AVR, имелось ввиду. извиняюсь.
Я просто верю в то, что рушить догмы - лучший способ не стареть.
Alexl82

Сообщение Alexl82 »

Тогда разница выходит только в частоте кварца. На PIC в 4 раза быстрее надо, это не принципиально.
Аватара пользователя
xelos
Потрогал лапой паяльник
Сообщения: 336
Зарегистрирован: Пн мар 20, 2006 13:05:08
Контактная информация:

Сообщение xelos »

как я уже говорил, у меня вообще никогда проблем с производительностью не было. основная область применения мк - датчиковые системы и все еже с ними (памяти, экраны, коммуникации, и т.д.).
Я просто верю в то, что рушить догмы - лучший способ не стареть.
PG

AVR "круче", PIC "проще"

Сообщение PG »

Лично для меня, хотя AVR за те же деньги заметно мощнее по всем измеримым характеристикам (производительность, память и т.п.), чем PIC, есть один фактор, из-за которого PIC нравится субъективно больше.

Все очень просто - средства разработки. Если писать на C, и быть готовым тщательно трахаться с наследственными неприятностями WinAVR (все-таки gcc - это "обычный" компилятор, и о микроконтроллерах он ничего не знает, и на этой почве там столько грабель раскидано...), или подобрать другой компилятор, то разница не видна, или видна, но в пользу AVR. В целом, если задача решается "грубой силой" (не нужно считать такты, хитро играться с прерываниями, делать какие-то сильно-машинно-зависимые вещи), то, пожалуй, AVR вполне оптимален.

Но учить его ассемблер моя тонкая душа поэта отказывается. Он слишком объемный, придуманный странными людьми со странными целями (неоднократно читал, что одной из существенных задач при разработке системы команд было упростить работу компиляторам с C - надо же додуматься!). И даташиты Atmel пишет заметно хуже - плохие писатели работают. Информация не с точки зрения использования, а как придется - в итоге ради пустяка приходится читать десятки страниц.

А у PIC команд мало, они запоминаются за полчаса полностью, со всеми деталями использования, скорость выполнения идеально одинаковая - короче, мечта... И даташиты образцовые. И мнемоники запоминаются лучше. Вообще, видно, что люди думали не только о самой железке, но и о том, что ее придется кому-то осваивать ;)

И софта, который _удобно_ работает с PIC (среды разработки, языки, отладчики, эмуляторы), заметно больше - он, как я понимаю, постарше будет, вот и успели расплодиться хорошие и разные софтины ;) А на AVR как пришли пара крупных (платный и бесплатный) компилятора с C, так все остальные и живут на ролях бедных родственников...

В итоге PIC, хотя и дороже и не так эффективен по количеству команд на такт и на байт памяти (ну, команды проще - вот их и надо чуть больше на ту же работу), но если писать вручную, на ассемблере - то я выбираю его.
сергун

Сообщение сергун »

пару слов окомандах
Ведь в avr кажется что больше команд но они немного туповаты. особенно команды установки исброса битов в регистре состояния, в портах, и т.д для каждого бита своя команда и ее нада запоминать а пиках по сути две bsf и bcf. тоже касается переходов переход если бит с регистра sreg сброшен установле и другиз битов дужа много команд. в пика две btfss и btfsc
Закрыто

Вернуться в «Разные вопросы по МК»