AVR vs PIC

Reply to
Alexander Derazhne
Loading thread data ...

Привет!

Sun Jul 25 2004 23:43, Maxim Polyanskiy wrote to Alexander Golov:

...

GS>>>> PIC16F818 - PIC16F628A - PIC18F1320 - dsPIC30F3012 MP>>> Уволить к черту людей которые это пройдут! Максимально допустимое MP>>> развитие в такой строчке - 1 шаг. Если больше это уже ламерство.

AG>> С чего это вдруг? Скажем у меня первое устройство на PIC18F252 AG>> позволяло производить оцифровку 1/2 сигналов с полосой 15 кГц с AG>> частотой 100/50 кГц. Следующее на PIC18F2331 уже 1/2/4 сигналов с AG>> полосой 25 кГц с частотой 200/100/50 кГц. Третье на dsPIC30F3010 AG>> вполне возможно сможет потянуть уже частоту дискретизации 400-500 кГц.

MP> Если сначала устраивало 15кгц а потом вдруг стало надо 500 имеет место MP> неправильная постановка задачи.

В первой группе экспериментов, для которой создавался прибор, полоса по ТЗ была 15 кГц, во второй требуется полоса 25 кГц и под неё создётся новая версия прибора (как минимум нужны новые фильтры, используются совершенно иные датчики). 500 кГц это частота выборок. 30 каналов при частоте дискретизации

100 кГц в типичном случае опрашиваются с циклом 1...3 секунды, при 500 кГц цикл будет впятеро короче. Это намного удобнее в работе.

MP> Поскольку вот просто так контроллер за MP> бакс контроллером за 15 баксов не заменяют.

Заменяют если надо и на $1500. Например, мне нужно было купить 2 (два!) фильтра от Maxim по цене $6, а поставщики согласились минимум линейку (около

50 шт). И я купил. В результате мне 2 фильтра обошлись более чем в $300 (остальные валяются и теперь уже вряд ли когда-нибудь понадобятся), а ты мне рассказываешь сказки про 15-долларовый МК. Иногда нужно просто решить задачу (и именно это составляет проблему), а сколько она будет стоить дело третье.

Другой уже вполне серийный прибор для комерческого учёта, я начинал делать на PIC16F876 и с трудом, но втиснул туда поставленную задачу. Потом изменились требования (вышли новые ГОСТы, появились пожелания нового заказчика, мы прошли долгий путь по отладке аналоговых узлов и датчиков), появился сначала PIC18C252, а потом PIC18F252 и задача была перенесена на него и на ЯВУ. Сейчас подходят к концу ресурсы 252-го и я буду переходить на PIC18F2610. При этом удорожание комплекстации на $2...5 вообще никто не заметит. Один только безмозглый датчик давления стоит больше $100, не говоря уже о перепаднике.

AG>> Это обычное итеративное развитие ставшее возможным именно благодаря AG>> развитию соответствующей элементной базы.

MP> Основанное на желании левой пятки прикрутить к рабочему устройству модную MP> мульку, и не обоснованное технологической необходимостью.

Это домыслы на пустом месте.

AG>> Hу и хорошо. Hо не у всех же проблемы с "молочением впустую". Бывают и AG>> проблемы с производительностью

MP> Ошибка на стадии выбора элементарной базы, переоценка своих возможностей.

Из чего было из того и выбирали и задачу решили. Появились новые возможности ориентируемся на них. Не нужно со своей местечковой колокольни давать советы вселенского масштаба. У каждого свои задачи и свои пути их решения.

Reply to
Alexander Golov

Привет!

Mon Jul 26 2004 11:30, Harry Zhurov wrote to Alexander Golov:

...

GS>>>>> Hе можешь. 16 МГц на сегодня предельная частота GS>>>>> AVR-контроллеров. У PIC-ов - 40 МГц,

AG>>>> Hу почему же, для dsPIC30F предел -- 120 МГц (30 МГц на ядре).

GS>>> Вообще-то у меня есть определённые сомнения насчёт упоминания GS>>> в этом контексте dsPIC. Всё-таки эта штука несколько "из другой GS>>> оперы", с другой системой команд.

AG>> Hу не скажи. Система команд конечно другая (так она и у PIC18 не такая AG>> как у PIC16), но всё же это именно PIC до мозга костей.

HZ> Ага, особенно до мозга вычислительных костей! Что-то не припомню я в HZ> ПИКах ни одного даже упоминания о MAC'ах!

Я, по-моему, прямо сказал, что его DSP Engine не рассматриваю. dsPIC30F как раз очень хорош как универсальный МК, в отличие от (как минимум некоторых) настоящих DSP. Все достоинства PIC'ов по быстрому доступу к памяти (а значит и манипуляциями портами) сохранены.

HZ> [...]

AG>> 2-адресные операции память-память и всё за один цикл!

HZ> Это куда больше на ADSP-21xx похоже, нежели на ПИК.

Каждый видит что хочет. Мне на данный момент большого дела до MAC'ов нет и я пытался прикрутить dsPIC30F к реальной задаче выполнявшейся PIC18 но медленнее. Я был впечатлён, насколько эффективный и быстрый код можно на нём написать, причём любого класса и "махание ножкой" и локальные вычислительно-манипуляционные алгоритмы.

Reply to
Alexander Golov
Reply to
Michael Belousoff
Reply to
George Shepelev
Reply to
George Shepelev
Reply to
George Shepelev
Reply to
George Shepelev
Reply to
George Shepelev

Привет!

Mon Jul 26 2004 17:50, Harry Zhurov wrote to Alexander Golov:

...

AG>>>> Hу не скажи. Система команд конечно другая (так она и у PIC18 не такая AG>>>> как у PIC16), но всё же это именно PIC до мозга костей.

HZ>>> Ага, особенно до мозга вычислительных костей! Что-то не припомню я HZ>>> в ПИКах ни одного даже упоминания о MAC'ах!

AG>> Я, по-моему, прямо сказал, что его DSP Engine не рассматриваю. dsPIC30F AG>> как раз очень хорош как универсальный МК,

HZ> А как у него с потреблением и ценой? Ведь этот DSP Engine - не HZ> бесплатная вещь. Он и место на кристалле занимает (цена), и энергию жрет, HZ> причем из-за своей толщины весьма приличную.

Если не используется, то вполне возможно и не жрёт, а сколько он там места занимает относительно остального мне, конечно же не известно, только очевидно, что само ядро dsPIC30F схемотехнически существенно сложнее того же PIC18 и, возможно на этом фоне DSP-фичи не так уж и сильно тянут. Типично большая память, также заметно снижает вес ядра в площади кристалла.

HZ> В итоге потребление на полной скорости в полтораста мА

Это не правда. Например, для 2010 типовое потребление при 30 MIPS и 5 В -- 67 мА. Широкий диапазон рабочих напряжений даёт место для манёвра, например, при

20 MIPS и 3,3 В потребление лишь 26 мА. При 10 MIPS он потребляет лишь немногим больше чем PIC18. (Для упоминавшегося ниже 5011 эти параметры на данный момент TBD и оценить их заочно невозможно.)

HZ> и цена среднего кристалла (5011) в розницу (Digi-Key) под два HZ> десятка баксов.

В реальности там со склада доступны лишь несколько моделей (6014 и т.п.) по цене около $30 и есть куча "non-stock" ссылок на цены от $5,7 за 2010 (1600 шт.). Что будет на самом деле покажет время, dsPIC30F только что вышли на рынок.

HZ> В итоге в нише AVR/PIC/MSP430 по этим (важнейшим) показателям он не HZ> конкурент,

Пожалуй единственное чем упоминаемые выше семейства могут конкурировать с dsPIC30F на скоростных задачах это цена (и то это не факт). Но большинство задач которые 30-му вполне по плечу для остальных не оставляют никаких шансов.

HZ> а в нише тех, кто более ровня, он до многих недотягивает так HZ> же по основным показателям, таким как производительность да и HZ> периферийные навороты. Hапример, TMS320F2810 по производительности имеет HZ> dsPIC без вопросов в разы (!),

При впятеро больше частоте? Скорее всего так, во всяком случае на вычислительных задачах. Наверное это отличный DSP (я в этом слабо разбираюсь), но это не очень хороший универсальный МК. Огромный конвейер делает из переходов муки, у него не слишком быстрый доступ к портам и повышенные накладные расходы на обработку прерываний, запреты/разрешения и т.п., медленная Flash. Встречаются очень странные решения; например непрерываемый REPEAT это что-то! В dsPIC30F таких пенок не встретишь, даже 18-цикловое деление выполняется под прерываемым REPEAT'ом, то же касается и DO.

Я не изучал конкретно 28x, но ранее примерялся к 24x и сравнение с ним dsPIC30F было подавляющим (в те самые разы при равной частоте). Я понимаю, что

28x это не 24x, что у него многие многоцикловые команды 24x стали одноцикловыми, но ведь есть и обратные примеры (прежде всего переходы). При этом, факт, он не делает ничего быстрее чем dsPIC30F, но многое делает медленнее (я ещё раз подчёркиваю, что говорю только о фичах типичных для МК, не затрагивая DSP-Функциональности).

HZ> а по периферии где-то похож (два UART'а, HZ> один SPI причем каждый с буфером FIFO на 16 на прием и передачу, eCAN, HZ> пачка таймеров с ШИМами, в т.ч. парафазными с "мертвыми" зонами, с HZ> захватами/сравнениями, с модулями работы с квадратурными енкодерами, с HZ> 32К ОЗУ, кучей флеши, 52 ноги на ввод/вывод, 12 бит АЦП с 12.5 HZ> мегавыборок в секунду и возможностью оцифровки одновременно по двум HZ> каналам и складывания данных в буфер с генерацией прерывания по HZ> заполнении буфера), при сравнимой цене (21 бакс в том же каталоге при HZ> единичных количествах) и потреблении - на 150 МИПС где-то около двух HZ> сотен мА (при меньшей скорости, ессно, потребление пропорционально HZ> меньше).

Мои глаза мне говорят, что всё не так радужно. Во-первых, 2810 это 128-ногий монстр с шагом выводов 0,4 мм (ещё та прелесть!), тогда как мне подчас и

44-ног много. Во-вторых, с потреблением у 2810, мягко говоря, дела обстоят по хуже чем ты тут нарисовал. При том, что ядро питается очень низким напряжением (1,9 В) _суммарное_ типовое потребление при 150 МГц немногим меньше 300 мА (по графику что-то около 280 мА). При тактовой частоте 30 МГц потребление по графику более 100 мА (около 115 мА), что более чем вчетверо превышает потребление 20 МГц dsPIC30F2010 при 3,3 В питании (по моим прикидкам производительность 30 МГц 2810 на характерных для универсального МК задачах вряд ли будет больше чем у 20 МГц dsPIC30F). Для 30 МГц dsPIC30F2010 и питании 5 В, разрыв, конечно, будет меньше, но всё равно стоимость производительности в пересчёте на ток будет вдвое меньше. И всё это на фоне весьма жёстких и неудобных требованиях к питанию у 2810.

Цену dsPIC30F я оспаривать не буду, возможно она сейчас и такова, но я знаю, что Microchip своего никогда не упустит и в конечном итоге цена будет такой, какая устроит рынок.

...

HZ> Т.ч. вполне может статься, что на сегодняшний день не особенно HZ> теплые объятия ждут это семейство - вот выйди оно три года назад, когда HZ> об этом пошли разговоры, то это другое дело. А сегодня уже альтернативных HZ> решений мешок, и для dsPIC осталась достаточно, имхо, узкая щелочка между HZ> обычными МК и толстыми ЦОСобразными.

Нет. В некоторых своих задачах я не вижу им никакой реальной альтернативы. Рассматривать тот же TMS320F2810 как альтернативу dsPIC30F2010 (даже абстрактно от потребления) серьёзно вряд ли кто-то станет.

AG>> в отличие от (как минимум некоторых) настоящих DSP.

HZ> Было бы странно, если бы настоящие ПЦОС были лучше настоящих МК в HZ> качестве таковых. dsPIC - это МК. Его корректно сравнивать с такими же HZ> МК, имеющими ЦОС фичи - например, с TMS320F2xx, TMS320F28xx, ADSP-2199x

Только упомянутые выше прежде всего DSP, а уже потом универсальные МК, а с dsPIC30F это не так.

...

AG>>>> 2-адресные операции память-память и всё за один цикл!

HZ>>> Это куда больше на ADSP-21xx похоже, нежели на ПИК.

В PIC'овском стиле было сделать всё что возможно 1-цикловым.

AG>> Каждый видит что хочет. Мне на данный момент большого дела до MAC'ов нет AG>> и я пытался прикрутить dsPIC30F к реальной задаче выполнявшейся PIC18 AG>> но медленнее. Я был впечатлён, насколько эффективный и быстрый код AG>> можно на нём написать, причём любого класса и "махание ножкой" и AG>> локальные вычислительно-манипуляционные алгоритмы.

HZ> :) А не пробовал ты это проделать на TMS320F2810? Hе исключено, HZ> эффект был бы еще более впечатляющим - возможно, ты бы после этого на HZ> dsPIC и смотреть не захотел.

Попробовал. На самом деле у 2810 очень запутанная система команд, сложно всё сразу охватить вглядом и выбрать оптимальные выражения. При этом аппноты попадаются на C, а от них в этом смысле толку мало. Вообще нелегко досконально разобраться во всех особенностях работы команд, адресаций, конвейера, вайт-стейтов, а описания недостаточно прозрачны. Например, я не понял какова реальная скорость выполнения программы из Flash-памяти, если время выборки для неё ограничена 36 нс. Подобные оценки для dsPIC30F не представляют труда.


Reply to
Alexander Golov
Reply to
Vladimir Vassilevsky
Reply to
Vladimir Vassilevsky
27-Jul-04 13:16 George Shepelev wrote to Alexey Boyko:

GS> Думаешь? А давай сравним. Вот "глупая" задачка по переносу состояния GS> линии 1 порта 0 на линию 2 порта 1:

GS> MOV C,P0+1 GS> MOV P1+2,C

GS> Выполянется за 2 цикла. Если взять "быстрое" семейство x51, оно обгонит GS> AVR с изрядным отрывом... Ой, а нельзя ли для меня, тупого, уточнить - в каких таких клонах MCS51 этот кусочек кода выполняется за ДВА цикла? Насколько я знаю, в классических и 6-тактовых это дело выполняется за ТРИ цикла (mov bit,C выполняется за два цикла), а в 4-тактовых и 1-тактовых - за ЧЕТЫРЕ цикла (у них как правило число циклов равно числу байтов в коде команды, иногда больше, никогда меньше).

AVR всё равно медленнее, у него 5 циклов, но мне эта фраза в данном контексте нравится :-) GS>>> Учись сам работать с документацией!

Reply to
Oleksandr Redchuk

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.