- Vote on answer
- posted
19 years ago
AVR vs PIC
- Vote on answer
- posted
19 years ago
Привет!
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> Ошибка на стадии выбора элементарной базы, переоценка своих возможностей.
Из чего было из того и выбирали и задачу решили. Появились новые возможности ориентируемся на них. Не нужно со своей местечковой колокольни давать советы вселенского масштаба. У каждого свои задачи и свои пути их решения.
- Vote on answer
- posted
19 years ago
Привет!
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 но медленнее. Я был впечатлён, насколько эффективный и быстрый код можно на нём написать, причём любого класса и "махание ножкой" и локальные вычислительно-манипуляционные алгоритмы.
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
Привет!
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 не представляют труда.
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
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>>> Учись сам работать с документацией!