AVR vs PIC

Jun 20, 2004 Last reply: 21 years ago 988 Replies

Maxim, ÔÙ Åݣ ÚÄÅÓØ ÓÉÄÉÛØ?

ðÑÔÎÉÃÁ éÀÌØ 30 2004 02:22, Maxim Polyanskiy wrote to Oleksandr Redchuk:

GS>>> ÓÏÓÔÏÑÎÉÑ ÌÉÎÉÉ 1 ÐÏÒÔÁ 0 ÎÁ ÌÉÎÉÀ 2 ÐÏÒÔÁ 1: GS>>> MOV C,P0+1 GS>>> MOV P1+2,C OR>> ïÊ, Á ÎÅÌØÚÑ ÌÉ ÄÌÑ ÍÅÎÑ, ÔÕÐÏÇÏ, ÕÔÏÞÎÉÔØ - × ËÁËÉÈ ÔÁËÉÈ OR>> ËÌÏÎÁÈ MCS51 ÜÔÏÔ ËÕÓÏÞÅË ËÏÄÁ ×ÙÐÏÌÎÑÅÔÓÑ ÚÁ ä÷á ÃÉËÌÁ? OR>> HÁÓËÏÌØËÏ Ñ ÚÎÁÀ, × MP> óÔÒÁÎÎÏ ÞÔÏ ÔÅÂÑ ÎÅ ÓÍÕÝÁÅÀÔ ÐÌÀÓÙ ×ÍÅÓÔÏ ÔÏÞËÉ, ËÏÔÏÒÙÅ ÏÚÎÁÞÁÀÔ ÎÕ MP> ÓÏ×ÓÅÍ ÄÒÕÇÕÀ ÏÐÃÉÀ ;)

äÁ×ÁÊ ÎÅ ÂÕÄÅÍ ÏÂÓÕÖÄÁÔØ _ÓÉÎÔÁËÓÉÓ_ _ËÏÎËÒÅÔÎÏÇÏ_ ËÏÍÐÉÌÑÔÏÒÁ, ÄÁ?

çÅÏÒÇÉÊ

2-Aug-04 15:27 George Shepelev wrote to Maxim Polyanskiy:

GS>>>> состояния линии 1 порта 0 на линию 2 порта 1: GS>>>> MOV C,P0+1 GS>>>> MOV P1+2,C OR>>> Ой, а нельзя ли для меня, тупого, уточнить - в каких таких OR>>> клонах MCS51 этот кусочек кода выполняется за ДВА цикла? OR>>> Hасколько я знаю, в MP>> Странно что тебя не смущаеют плюсы вместо точки, которые означают ну MP>> совсем другую опцию ;)

GS> Давай не будем обсуждать _синтаксис_ _конкретного_ компилятора, да?

Да не будем, не будем. Я уже когда отправил ответ на это - подумал, что по сути MCS51-й архитектуры setb P3+1 *должен* жрать *любой* ассемблер для неё.

Но действительно выглядит непривычно по сравнению с каноническим (и жрущимся и 2500 A.D., и Avocet-ом, и keil-ом) setb P3.1 Интересно, есть ли какой-то *приличный* ассемблер для MCS51, который не понимает P3.1 ? В смысле неужели в ассемблере с богатыми возможностями имеет смысл экономить на коде разбора и всё равно необходимую addr+const делать, а addr.const не делать?

А в привычке писать P2+offset есть свои плюсы :-) setb P2+15 clr P0+11 и пусть кто не помнит наизусть всю таблицу SFR 51-го разбирается :-)

Привет!

Прошу прощения за длительные паузы.

Wed Jul 28 2004 12:24, Harry Zhurov wrote to Alexander Golov:

...

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

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

...

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

AG>> Это не правда. Hапример, для 2010 типовое потребление при 30 MIPS и 5 В AG>> -- 67 мА. Широкий диапазон рабочих напряжений даёт место для манёвра, AG>> например, при 20 MIPS и 3,3 В потребление лишь 26 мА. При 10 MIPS он AG>> потребляет лишь немногим больше чем PIC18. (Для упоминавшегося ниже 5011 AG>> эти параметры на данный момент TBD и оценить их заочно невозможно.)

HZ> Hе знаю, откуда ты взял эти данные.

Из даташита на dsPIC30F2010 (DS70118C).

HZ> Я вот смотрю даташит (70083F.PDF), там таблицы приведены. HZ> Из 23-1 следует, что на при 3.3 В HZ> максимальная производительность вообще 15 МИПС!

У 2010-30I -- 30 МГц от 4,5 В, 20 МГц от 3,0 В и 10 МГЦ от 2,5 В. На самом деле все даташиты "Preliminary", нужно ждать когда ляпы поправят и заполнят все клетки таблиц. В реальности же, так как имеет место противоречивая информация, нужно всё проверить. Как только я смогу дотянуться до того же 2010 я залью в него несколько тестов и проверю потребление. О результатах расскажу.

...

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

AG>> В реальности там со склада доступны лишь несколько моделей (6014 и т.п.) AG>> по цене около $30...

...

HZ> Именно. Когда Атмел толкал АВРы, цены он предлагал очень приемлемые, HZ> хотя, как говорили на семинарах, делал это чуть ли не в ущерб себе - HZ> стремился влезть на рынок, переманить потребителя. В случае с дсПИКами HZ> Микрочип, похоже, сделать этого не может. Интересно, на что он HZ> рассчитывает, предлагая кристаллы по 30 баксов в той нише, где существует HZ> уже масса альтернативных решений?

Да причём тут Microchip? Это Digi-Key химичит. Зайди на Mouser, там со склада по 1 шт. предлагаются 2010 за $6...7 (в зависимости от исполнения), а самый жирный -- 6014 за $17...20.

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

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

HZ> Hе забывай про потребление! В очень многих случаях 20 МГц АВР вполне HZ> рулит.

Есть задачи (в частности у меня в данный момент) где упоминаемые выше не рулят. Например, при 2,5 В и 10 MIPS потребление 2010 скорее всего не более 11 мА (14,3 мА при 3,3 В). При этом никто из вышеупомянутых не способен обеспечить 10 MIPS при питании до 3,0 В (и тем более 20 MIPS до 3,6 В), не говоря уж от том, что "вес" их MIPS'а существенно ниже чем у dsPIC30F.

HZ> А уж где не требуется высокая тактовая, то с МСП дсПИКам по потреблению и HZ> близко не стоять.

Там где не нужна относительно высокая производительность dsPIC30F вообще делать нечего, у той же Microchip для этого есть куча других МК различных ценовых категорий.

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

AG>> При впятеро больше частоте?

HZ> Hасколько я понял, дсПИК имеет тактовую 120 МГц и она делится HZ> вчетверо, образуя машинный цикл? Вот это действительно атрибут ПИКа.

Давай мы раз и на всегда договоримся не толочь эту воду в ступе про 120 МГц у dsPIC30F. У него ядро тактуется 30 МГц максимум, а что там происходит внутри и что на что делится, это его внутреннее дело. Частота x4 нигде в dsPIC30F не присутствует даже в периферии (в отличие от тех же PIC18 у которых ей тактуется UART, или ШИМ) и её даже нельзя подать снаружи (по крайней мере именно 120 МГц).

HZ> Разница в том, что ТМС не делит эту частоту, а с помощью конвейера HZ> стремится использовать каждый такт. Отсюда и производительность

Глубокий конвейер штука коварная. Он может обеспечить высочайшую пиковую производительность, но он же и здорово тормозит при переходах и ожиданиях завершения предыдущих команд.

AG>> Скорее всего так, во всяком случае на вычислительных задачах.

HZ> Да уж всяко. :) Особенно, если учесть, что он 32-х разрядный.

Но 32-разрядные вычисления не вполне типичная задача для МК. По мне и

16-разрядность dsPIC30F в отрыве от адресной арифметики вещь далеко не первой необходимости, а в 32-разрядной арифметике в МК в отрыве от ЦОС-применений смысла не вижу вообще. Зато бросается в глаза очень бедная функциональность при работе с 8-разрядными данными в TMS320F2810.

AG>> Hаверное это отличный DSP (я в этом слабо разбираюсь), AG>> но это не очень хороший универсальный МК.

HZ> А вот батоны по ЦОС считают его, как раз, посредственным DSP в HZ> сравнении с тем же C55xx или блэкфином, а как МК он котируется. Сама ТИ HZ> (на семинаре) заявляла, что управляющий (МКшный) код на нем не хуже, чем HZ> на таком стройном МК, как АРМ7 (там приводилась какая-то ссылка на некий HZ> тест на эффективность МКшного кода, на котором АРМы и проверяют. Точнее HZ> не скажу, давно это было, а я тогда особенно внимания на такие вещи не HZ> обращал). Hо сравнивая архитектурные фичи с традиционно МКшными, могу HZ> сказать, что такие заявления не лишены оснований - 6 штук широких шин, HZ> богатые средства косвенной адресации со смещениями, пре- и HZ> постинкрементом, адресация памяти за один цикл - все это рулит.

Там не всё так идеально. Скажем конвейер не позволит за 1 цикл в соседних командах записать, а потом прочитать что-то из памяти. Придётся ждать дополнительно 3 цикла. Такие же проблемы встречаются и при некоторых операциях с регистрами. В адресации, разочаровывают слишком скромные возможности прямой адресации и двухадресных операций память-память.

AG>> Огромный конвейер делает из переходов муки,

HZ> Да нет там никаких мук! Уже не более, чем на дсПИКе - ты забываешь, HZ> что одноцикловость дсПИКа базируется на четырех циклах тактовой. Реально HZ> условные переходы у Ф28 бывают 4/2 цикла, 4/4, самый длинный - 7/4.

Давай разберёмся что там к чему. 4/2 это переходы по содержимому регистров. Переходы по флажкам обязаны дожидаться завершения предыдущих команд, поэтому имеем жёстко удлинённый 7/4. И наконец "быстрые" варианты условных переходов заранее производящие выборку команд в конвейер по обеим веткам.

Причём всё выглядит так, только если код выполняется из ОЗУ, или при тактовой не более 25 МГц. В случае работы с Flash при пересечении границы страницы из

128 слов мы имеем дополнительный wait-state в 5 циклов при 150 МГц. Это означает увеличение перехода 4/2 до 9/2, перехода 7/4 до 12/4, а перехода 4/4, как я понимаю, аж до 14/14 (нужно ведь выбирать обе ветки, а это чистой воды "Random access" выполненный дважды).

Выглядит это весьма грустно. 30 MIPS dsPIC30F может выполнить 15 млн. переходов любого вида из любого состояния, 150 MIPS TMS320F2810 в лучшем случае 37,5 млн. (4), в среднем 21,4 (7), а в худшем 10,7 (14).

AG>> у него не слишком быстрый доступ к портам

HZ> Поскольку порты у него замаплены на память, к которой доступ HZ> осуществляется за один такт, то я бы так не говорил. Единственный момент HZ> - из-за конвейера запись в порт происходит не непосредственно в цикле HZ> обращения к нему, а с задержкой в два или три цикла (точнее не помню). HZ> Если взять Ф28 и дсПИК при одинаковой тактовой 120 МГц (больше дсПИК, HZ> вроде, не может), то время обращения к порту у первого будет не хуже уж HZ> точно.

Основная масса периферии лежит во фреймах 1 и 2 для которых фиксированно определены 2 цикла ожидания как раз при чтении. Потом не нужно забывать, что прямая адресация основной массы команд это всего 64 слова, а значит в большинстве случаев обращение к порту сопровождается префиксной командой загрузки DP. Т.е. скажем установка бита составит не менее 3 циклов, а скорее всего 4, причём если этот же порт понадобится следующей команде, ей придётся ждать ещё 3 дополнительных цикла.

AG>> и повышенные накладные расходы на обработку прерываний, AG>> запреты/разрешения

HZ> Из накладных я бы отнес только сброс конвейера, что влечет за собой 8 HZ> циклов, пока он полностью за заполнится. Это два дсПИКовых цикла. HZ> Остальное - полезные действия по частичному сохранению контекста, которое HZ> он делает несколькими 32-разрядными (!) копированиями.

В TMS320F2810 мы имеем прямые накладные расходы в виде 16 циклов на вход и выход из прерываний. Автоматическое сохранение 8-ми регистров это конечно хорошо, но если нужно было сохранить лишь 1, зачем ждать лишние циклы?

Но важнее другое -- это довольно большая и трудновычислимая задержка прерывания. Во-первых, нужно завершить весь конвейер, а это может потянуть циклов на 10 (достоверно я это выяснить не смог, TI крайне скупо описывает процесс выполнения прерываний), нужно сделать выборки вектора и страница обработчика, а это, если они не в ОЗУ, потребует по 5 дополнительных wait-state'ов.

Далее, насколько я понял, нормальной приоритетной системы у 2810 нет, нужно явно разрешать прерывания в обработчике, а значит часть оверхеда низкоприоритетного обработчика будет суммироваться с оверхедом высокоприоритетного. Ну и наконец непрерываемость REPEAT'а может растянуть задержку, на насколько сотен циклов, а как я понял именно REPEAT позволяет достигнуть максимум производительности различных MAC'ов.

dsPIC30F из любого положения через 4 цикла после запроса начинает выполнять обработчик (максимум 5, но это очень редкая ситуация и её нетрудно избежать, если необходимо), при этом сохранён STATUS. Приоритеты сделаны по честному через STATUS. Возврат -- 3 цикла, итого весь оверхед 7...8 циклов. На каждое дополнительное сохранение/восстановление + 2 цикла. Очень гибкий и предсказуемый механизм, какой и нужен для МК.

...

AG>> Я не изучал конкретно 28x, но ранее примерялся к 24x и сравнение с ним AG>> dsPIC30F было подавляющим (в те самые разы при равной частоте). Я AG>> понимаю, что 28x это не 24x, что у него многие многоцикловые команды AG>> 24x стали одноцикловыми, но ведь есть и обратные примеры (прежде всего AG>> переходы). При этом, факт, он не делает ничего быстрее чем dsPIC30F,

HZ> ??? А работа с памятью (а значит и с портами)? Если пересчитывать на HZ> тактовую (что и имеет значение на деле, т.к. именно тактовая и определяет HZ> соотношение производительность/потребление), а не на машинные циклы, то HZ> Ф28 почти во всем быстрее!

Иногда он может отстать даже по абсолютным показателям. Например, при последовательном выполнении операций над отдельными линиями порта в лучшем случае изменение состояния будет происходить раз в 6 циклов, т.е. 25 млн./с, а dsPIC30F может это делать 30 млн./с. При одинаковой тактовой между ними уже будет целая пропасть.

...

AG>> но многое делает медленнее

HZ> Hапример, что при одинаковой тактовой (в 120 МГц)?

При одинаковой -- 30 МГц.

...

...

HZ>>> сотен мА (при меньшей скорости, ессно, потребление пропорционально HZ>>> меньше).

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

HZ> По мне что шаг 0.5, что 0.4 - один хрен мелко. А размер маленький, HZ> это хорошо.

Ну нет. Даже переход от 0,65 к 0,5 уже крайне неприятен для ручного монтажа, связываться же с 0,4 у меня вообще не никакого желания. А маленькие корпуса это 6-миллиметровые 28-ногие MLF, ну максимум 8-миллиметровые 44-ногие.

AG>> Во-вторых, с потреблением у 2810, мягко говоря, дела обстоят по хуже чем AG>> ты тут нарисовал. При том, что ядро питается очень низким напряжением AG>> (1,9 В) _суммарное_ типовое потребление при 150 МГц немногим меньше 300 AG>> мА (по графику что-то около 280 мА).

HZ> Да, там приведено максимальное потребление, когда ядро маслает на HZ> полной скорости с использованием своего 32-разрядного умножителя, когда HZ> периферия работает также на максимальной скорости (все ШИМы, которых там HZ> аж 12 штук, выдают по 100 кГц, когда оба УАРТа и КАH непрерывно передают

100 кГц для полутора десятков линий 150 МГц МК это на уровне 1% потребления. Скорее всего там немалое "статическое" потребление и если частоту, снизить скажем до 1 кГц потребление заметно не изменится. Радикальный способ -- полное отключение модуля.

HZ> и принимают, когда включен АЦП (у которого тоже не каких-то 100 HZ> киловыборок, а аж 12.5 мега), а то еще 40 мА).

Потребление АЦП практически не изменяется с ростом тактовой частоты, значит это потребление аналоговых узлов. Получается за работу на необходимых мне

500...1000 кГц я должен всегда "платить" 40 мА?

HZ> Периферия ввода-вывода, работающая на полной скорости, дает еще 10-20 мА. HZ> Hу, и флешь, когда она HZ> включена (когда программа исполняется из нее или пишет в нее), жрет еще HZ> около 40 мА. Кстати, в ряде случаев можно код скопировать в ОЗУ, которого HZ> там немало, и работать из него. Это даст экономию в эти 40 мА и HZ> увеличение производительности в полтора раза (при максимальной скорости).

HZ> Интересно знать, при каких условиях Микрочип дает значения HZ> потребления? Что-то мне подсказывает, что это далеко не на полной HZ> загрузке всех своих составных частей.

Собственно информации о реальной загрузке 2810 для приведённых условий у нас тоже нет, может там ядро 70% времени стоит в ожидании Flash? Уровень загрузки периферии (кроме ШИМов) тоже никак не отражён.

AG>> При тактовой частоте 30 МГц потребление по графику более 100 мА (около AG>> 115 мА),

HZ> Ядро при 30 МГц потребляет 50 мА, остальная добавка - это, в HZ> основном, потребление аналоговой части (АЦП), ну, и, как уже сказано, HZ> периферия маслает на полной скорости.

HZ> Кроме того, если уж говорить про энергопотребление, то надо не ток HZ> считать, а мощность. А 150mА * 5V = 750 mW дсПИКа против (считаю по HZ> самому максимуму, включая все - и ввод/вывод, и флешь, и аналог) HZ> 1.9V*195mА + 3.3V*15mA + 3.3V*40mA + 3.3V*40mA = 684 mW. Т.е. при питании HZ> от батареи с учетом КПД преобразователей где-то под 750 мВт и выйдет.

(КПД больше 90% для преобразователей 3 В -> 1,9 В при выходной мощности 400 мВт? Это нужно очень постараться...)

Я рассчитываю на 90 мВт при 3,3 В и 20 MIPS на dsPIC30F2010. Практическим минимумом для 2810 можно считать 400 мВт.

...

AG>> (по моим прикидкам производительность 30 МГц 2810 на характерных AG>> для универсального МК задачах вряд ли будет больше чем у 20 МГц AG>> dsPIC30F). Для 30 МГц dsPIC30F2010 и питании 5 В, разрыв, конечно, AG>> будет меньше, но всё равно стоимость производительности в пересчёте на AG>> ток будет вдвое меньше.

HZ> А не надо его гонять на низких тактовых, у него при понижении HZ> тактовой понижение потребления непропорциональное. Поэтому 30 МИПСовый HZ> (120 МГц) дсПИК надо сравнивать с 120 МГц Ф28. Если брать кристалл со HZ> сравнимыми характеристиками, то потребление у них будет похожим, а вот по HZ> производительности разница составит в разы даже не на ЦОС операциях.

Как не считай потребление 20 MIPS dsPIC30F2010 и любого реального варианта тактирования 2810 не будут соизмеримы. Если же я не буду снижать производительность МК до достаточного уровня, выгадывая в потребляемой мощности, то задача не будет решена: батарейка CR123A от которой питается мой прибор через несколько минут постоянного потребления 750 мВт, просто взорвётся.

HZ> Вообще, тут следует сказать следующее: оба девайса не попадают в HZ> разряд мелкопотребляющих, и если нет возможности широко использовать HZ> режимы микропотребления, то оба почти не годятся в приборы с батарейным HZ> питанием - тут младшие (АВРы/ПИКи/МСПшники) рулят.

Я не вижу никаких причин не позволяющих мне широко использовать режимы микропотребления у dsPIC30F.

HZ> А раз так, и питание HZ> неавтономное, то большой разницы 100-150 или 200 мА нет, и на первый план HZ> выходят другие факторы вроде цены, требуемой производительности, HZ> соответствия периферии, габаритов, сложности разработки и проч.

В данном конкретном случае я имею автономное питание и давление со стороны факторов производительности, периферии, габаритов ну и наверное сложности разработки.

...

HZ> Мое мнение: Ф28 в значительной мере накрывает старшую часть семейства HZ> дсПИКов и по цене, и по потреблению, и по производительности. У него при HZ> необходимости можно использовать внешнюю память - шина для этого имеется. HZ> А у дсПИКов можно снаружи память прикрутить?

HZ> У младших ситуация намного лучше, но тоже не все радужно. В их нише HZ> есть, например, АДшные ADMCF, которые вполне соответствуют им по МИПсам HZ> (а уж МИПСы-то у них что надо - все до одного одноцикловые).

При работе из Flash? Никаких шансов, он не может делать больше одной выборки за цикл из Flash. А значит, да здравствуют простои, прощай одноцикловые переходы... Всё видимое быстродействие кода AD21xx базируется на исполнение кода из скоростного ОЗУ. Разве что AD станет делать под Flash полноразмерную подкладку из ОЗУ, но сколько это будет стоить...

HZ> Хотя АД не HZ> толкает это семейство как МК - позиционирует исключительно, как для HZ> Motion Control. А зря, имхо. Из них можно было бы сделать весьма машинку, HZ> уж не хуже дсПИКов точно! И по корпусам оно соответствует младшим HZ> дсПИКам.

Разглядывание несвязанного с DSP кода ("Software UART" из "Using the ADSP-2100 Family Volume 2") позволяет усомниться в данном утверждении даже без учёта замедления при работе с Flash. Особо впечатляют 3-командные декременты или сдвиги переменных. Бросается в глаза полное отсутствие поддержки 8-разрядных операций.

HZ> Кроме того, есть, к примеру, у Сигнала на однотактовом 51-м ядре HZ> линейка процессоров с очень приличной периферией и производительностью - HZ> уж по маханию ножками дсПИКам за ними не угнаться.

Ну если на нём зациклить команду CPL, то да, он обгонит dsPIC30F. Но уже в простейшем цикле выдачи N периодов частоты он отстанет. И чем больше будет усложняться цикл, чем больше в нём будет проверок и различных (простейших) манипуляций данными тем больше будет отставание. А если вспомнить сколь скромны возможности 51-го ядра в адресации, можно сказать, что на задачах, для которых обычно выбирают МК с 8 КБ ОЗУ и 128 КБ Flash, неизбежны активные манипуляции банками или указателями и отставание станет очень большим.

HZ> И в остальном (если не HZ> учитывать, как ты хочешь, ЦОС фичи) они выглядят привлекательнее - и по HZ> потреблению, и по цене, хотя и не дешевые.

По-моему, 25 мА при 2,7 В и 50 МГц для C8051F120 не говорит в пользу последнего при сравнении с тем же 2010 при 20 МГц и 3,3 В. Цена насколько я знаю тоже не кажется привлекательной.

HZ> У дсПИКов есть одно существенное преимущество - он проще значительно, HZ> его проще освоить, проще использовать. Кому это критично, тот HZ> потенциальный их пользователь.

Почему бы и нет. Фактор, кстати, критичный для всех.

...

HZ> К чему все это? К тому, что, как уже говорил, альтернативных решений HZ> сегодня просто вагон с тележкой.

Ну просто для примера предложи мне альтернативу решения для прибора собирающего 10-разрядные данные с 4-х (или больше) каналов с частотой 400 кГц (100...200 кГц на канал) и отправляющего их по какому-нибудь последовательному каналу. Активное потребление МК ограничим на уровне 100 мВт. Важно, что в пассивном режиме прибор должен быть микропотребляющим (среднее потребление менее 100 мкА) и переходить в активный режим по команде с интерфейса. Вариант для 200 кГц решается на PIC18F2331, для 400 кГц я намерен попробовать 2010.

...

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

HZ> Согласен. В некоторых задачах. Я и писал в прошлый раз, что есть щель HZ> между АВР/ПИК/МСП и ЦОСобразными МК, и только в ней дсПИКам климат. Hо HZ> щель, имхо, узкая.

Мне же всё таки видится, что универсализм dsPIC30F как МК повышенной производительности существенно превосходит тот же TMS320F28x, который является МК куда более нишевым.

...

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

HZ> 4-х тактовым. Тем не менее, не все ПИКовские команды одно цикловые. В HZ> отличие от ADSP-21xx, у которого все!

И у него не все: время от времени у него нужно вставлять NOP'ы, чтобы завершить предыдущие операции. И то, что это нужно делать вручную -- плюс сомнительный. Но в любом случае эта одноцикловость виртуальная, нет никакого практического смысла сравнивать процессор выполняющий программу из ОЗУ с МК изначально предназначенным для работы из Flash.

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

AG>> Попробовал. Hа самом деле у 2810 очень запутанная система команд, сложно AG>> всё сразу охватить вглядом и выбрать оптимальные выражения. При этом AG>> аппноты попадаются на C, а от них в этом смысле толку мало...

HZ> ТМС не предполагает все писать на асме. Действительно, у него (на мой HZ> вкус) дурацкое сложное ядро (по сравнению с АДшными), сотни мнемоник, HZ> ортогональностью и не пахнет. Hа асме писать все - стреляться. Hо, к HZ> счастью, это и не надо - у него хороший компилятор, который уж HZ> контроллерный код генерит как надо.

Да, но мне всего лишь нужно было оценить возможности ядра, что можно от него ожидать. А получается, что я для этого должен доставать компиллятор и, как минимум, симулятор, который все крайне запутанные особенности работы ядра

2810 симулирует.

Tue, 3 Aug 2004 23:46:21 +0000 (UTC) Alexander Golov wrote to Harry Zhurov:

[...]

AG>>> ðÒÉ ×ÐÑÔÅÒÏ ÂÏÌØÛÅ ÞÁÓÔÏÔÅ?

HZ>> HÁÓËÏÌØËÏ Ñ ÐÏÎÑÌ, ÄÓðéë ÉÍÅÅÔ ÔÁËÔÏ×ÕÀ 120 íçÃ É ÏÎÁ ÄÅÌÉÔÓÑ HZ>> ×ÞÅÔ×ÅÒÏ, ÏÂÒÁÚÕÑ ÍÁÛÉÎÎÙÊ ÃÉËÌ? ÷ÏÔ ÜÔÏ ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÁÔÒÉÂÕÔ ðéëÁ.

AG> äÁ×ÁÊ ÍÙ ÒÁÚ É ÎÁ ×ÓÅÇÄÁ ÄÏÇÏ×ÏÒÉÍÓÑ ÎÅ ÔÏÌÏÞØ ÜÔÕ ×ÏÄÕ × ÓÔÕÐÅ ÐÒÏ 120 íçà AG> Õ dsPIC30F. õ ÎÅÇÏ ÑÄÒÏ ÔÁËÔÕÅÔÓÑ 30 íçà ÍÁËÓÉÍÕÍ, Á ÞÔÏ ÔÁÍ ÐÒÏÉÓÈÏÄÉÔ AG> ×ÎÕÔÒÉ É ÞÔÏ ÎÁ ÞÔÏ ÄÅÌÉÔÓÑ, ÜÔÏ ÅÇÏ ×ÎÕÔÒÅÎÎÅÅ ÄÅÌÏ. þÁÓÔÏÔÁ x4 ÎÉÇÄÅ × AG> dsPIC30F ÎÅ ÐÒÉÓÕÔÓÔ×ÕÅÔ ÄÁÖÅ × ÐÅÒÉÆÅÒÉÉ (× ÏÔÌÉÞÉÅ ÏÔ ÔÅÈ ÖÅ PIC18 Õ AG> ËÏÔÏÒÙÈ ÅÊ ÔÁËÔÕÅÔÓÑ UART, ÉÌÉ ûéí) É ţ ÄÁÖÅ ÎÅÌØÚÑ ÐÏÄÁÔØ ÓÎÁÒÕÖÉ (ÐÏ AG> ËÒÁÊÎÅÊ ÍÅÒÅ ÉÍÅÎÎÏ 120 íçÃ).

á ÓËÏÒÏÓÔÎÏÊ ûéí Õ ÎÅÇÏ ÞÅÍ ÏÂÕÓÌÁ×ÌÉ×ÁÅÔÓÑ? 30-À íçà ÞÔÏ-ÌÉ? îÁ TMS320F28xx ÔÏÖÅ ÎÅÌØÚÑ ÐÏÄÁÔØ ÂÏÌØÛÅ 30 íçÃ, ÔÁË ÄÁ×ÁÊ ÎÅ ÂÕÄÅÍ ÔÏÌÏÞØ ×ÏÄÕ × ÓÔÕÐÅ ÐÒÏ ÅÇÏ ×ÎÕÔÒÅÎÎÉÅ 150 íçÃ?!

HZ>> òÁÚÎÉÃÁ × ÔÏÍ, ÞÔÏ ôíó ÎÅ ÄÅÌÉÔ ÜÔÕ ÞÁÓÔÏÔÕ, Á Ó ÐÏÍÏÝØÀ ËÏÎ×ÅÊÅÒÁ HZ>> ÓÔÒÅÍÉÔÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ ËÁÖÄÙÊ ÔÁËÔ. ïÔÓÀÄÁ É ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ

AG> çÌÕÂÏËÉÊ ËÏÎ×ÅÊÅÒ ÛÔÕËÁ ËÏ×ÁÒÎÁÑ. ïÎ ÍÏÖÅÔ ÏÂÅÓÐÅÞÉÔØ ×ÙÓÏÞÁÊÛÕÀ ÐÉËÏ×ÕÀ AG> ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ, ÎÏ ÏÎ ÖÅ É ÚÄÏÒÏ×Ï ÔÏÒÍÏÚÉÔ ÐÒÉ ÐÅÒÅÈÏÄÁÈ É ÏÖÉÄÁÎÉÑÈ AG> ÚÁ×ÅÒÛÅÎÉÑ ÐÒÅÄÙÄÕÝÉÈ ËÏÍÁÎÄ.

îÅÔ ÔÁÍ ÎÉÞÅÇÏ ËÏ×ÁÒÎÏÇÏ. ðÏ ÓÒÁ×ÎÅÎÉÀ Ó ÔÕÐÙÍ ÄÅÌÅÎÉÅÍ ÔÁËÔÏ× ÎÁ ÆÉËÓÉÒÏ×ÁÎÎÏÅ ÞÉÓÌÏ, ËÏÎ×ÅÊÅÒ - ÓÐÏÓÏ ÐÏÌÕÞÉÔØ ÐÒÉÒÏÓÔ ÃÅÎÏÊ ÕÓÌÏÖÎÅÎÉÑ ÐÒÏÃÅÓÓÏÒÁ. é ÐÒÉÒÏÓÔ ÜÔÏÔ ÅÓÔØ, ÄÒÕÇÏÅ ÄÅÌÏ, ÞÔÏ ÅÇÏ ÎÅ ÔÁË ÐÒÏÓÔÏ ÏÐÒÅÄÅÌÉÔØ, Ô.Ë. ÏÎ ÓÉÌØÎÏ ÚÁ×ÉÓÉÔ ÏÔ ÚÁÄÁÞÉ. îÉËÔÏ É ÎÅ ÇÏ×ÏÒÉÌ, ÞÔÏ TMS320F28xx × 5 ÒÁÚ ÂÙÓÔÒÅÅ dsPIC'Á. îÁ ÏÄÎÉÈ ÏÐÅÒÁÃÉÑÈ × 5, ÎÁ ÄÒÕÇÉÈ × 2, ÎÁ ÔÒÅÔØÉÈ ×ÏÏÂÝÅ ×ÒÏ×ÅÎØ, Á ËÏÅ-ÇÄÅ É × 10! óÒÅÄÎÀÀ ÃÉÆÒÕ, ÄÕÍÁÀ, ÎÉËÔÏ ÎÅ ×ÏÚØÍÅÔÓÑ ÐÒÉ×ÏÄÉÔØ. òÅÁÌØÎÏ ÜÔÏ ÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÔÏÌØËÏ ÎÁ ËÏÎËÒÅÔÎÏÍ ÐÒÉÌÏÖÅÎÉÉ. ëÏÎ×ÅÊÅÒ, ËÓÔÁÔÉ, ÔÁÍ ÎÅ ÔÁËÏÊ ÕÖ "ÇÌÕÂÏËÉÊ" - ×ÓÅÇÏ 8. îÅ ÓÒÁ×ÎÉÔØ ËÏÎ×ÅÊÅÒÁÍÉ × ÍÏÎÓÔÒÁÈ ÏÔ éÎÔÅÌÁ É áíä.

AG>>> óËÏÒÅÅ ×ÓÅÇÏ ÔÁË, ×Ï ×ÓÑËÏÍ ÓÌÕÞÁÅ ÎÁ ×ÙÞÉÓÌÉÔÅÌØÎÙÈ ÚÁÄÁÞÁÈ.

HZ>> äÁ ÕÖ ×ÓÑËÏ. :) ïÓÏÂÅÎÎÏ, ÅÓÌÉ ÕÞÅÓÔØ, ÞÔÏ ÏÎ 32-È ÒÁÚÒÑÄÎÙÊ.

AG> îÏ 32-ÒÁÚÒÑÄÎÙÅ ×ÙÞÉÓÌÅÎÉÑ ÎÅ ×ÐÏÌÎÅ ÔÉÐÉÞÎÁÑ ÚÁÄÁÞÁ ÄÌÑ íë. ðÏ ÍÎÅ É AG> 16-ÒÁÚÒÑÄÎÏÓÔØ dsPIC30F × ÏÔÒÙ×Å ÏÔ ÁÄÒÅÓÎÏÊ ÁÒÉÆÍÅÔÉËÉ ×ÅÝØ ÄÁÌÅËÏ ÎÅ AG> ÐÅÒ×ÏÊ ÎÅÏÂÈÏÄÉÍÏÓÔÉ, Á × 32-ÒÁÚÒÑÄÎÏÊ ÁÒÉÆÍÅÔÉËÅ × íë × ÏÔÒÙ×Å ÏÔ AG> ãïó-ÐÒÉÍÅÎÅÎÉÊ ÓÍÙÓÌÁ ÎÅ ×ÉÖÕ ×ÏÏÂÝÅ. úÁÔÏ ÂÒÏÓÁÅÔÓÑ × ÇÌÁÚÁ ÏÞÅÎØ ÂÅÄÎÁÑ AG> ÆÕÎËÃÉÏÎÁÌØÎÏÓÔØ ÐÒÉ ÒÁÂÏÔÅ Ó 8-ÒÁÚÒÑÄÎÙÍÉ ÄÁÎÎÙÍÉ × TMS320F2810.

á ÚÁÞÅÍ? åÓÔØ 16-ÒÁÚÒÑÄÎÙÅ.

AG>>> HÁ×ÅÒÎÏÅ ÜÔÏ ÏÔÌÉÞÎÙÊ DSP (Ñ × ÜÔÏÍ ÓÌÁÂÏ ÒÁÚÂÉÒÁÀÓØ), AG>>> ÎÏ ÜÔÏ ÎÅ ÏÞÅÎØ ÈÏÒÏÛÉÊ ÕÎÉ×ÅÒÓÁÌØÎÙÊ íë.

HZ>> á ×ÏÔ ÂÁÔÏÎÙ ÐÏ ãïó ÓÞÉÔÁÀÔ ÅÇÏ, ËÁË ÒÁÚ, ÐÏÓÒÅÄÓÔ×ÅÎÎÙÍ DSP × HZ>> ÓÒÁ×ÎÅÎÉÉ Ó ÔÅÍ ÖÅ C55xx ÉÌÉ ÂÌÜËÆÉÎÏÍ, Á ËÁË íë ÏÎ ËÏÔÉÒÕÅÔÓÑ. óÁÍÁ ôé HZ>> (ÎÁ ÓÅÍÉÎÁÒÅ) ÚÁÑ×ÌÑÌÁ, ÞÔÏ ÕÐÒÁ×ÌÑÀÝÉÊ (íëÛÎÙÊ) ËÏÄ ÎÁ ÎÅÍ ÎÅ ÈÕÖÅ, ÞÅÍ HZ>> ÎÁ ÔÁËÏÍ ÓÔÒÏÊÎÏÍ íë, ËÁË áòí7 (ÔÁÍ ÐÒÉ×ÏÄÉÌÁÓØ ËÁËÁÑ-ÔÏ ÓÓÙÌËÁ ÎÁ ÎÅËÉÊ HZ>> ÔÅÓÔ ÎÁ ÜÆÆÅËÔÉ×ÎÏÓÔØ íëÛÎÏÇÏ ËÏÄÁ, ÎÁ ËÏÔÏÒÏÍ áòíÙ É ÐÒÏ×ÅÒÑÀÔ. ôÏÞÎÅÅ HZ>> ÎÅ ÓËÁÖÕ, ÄÁ×ÎÏ ÜÔÏ ÂÙÌÏ, Á Ñ ÔÏÇÄÁ ÏÓÏÂÅÎÎÏ ×ÎÉÍÁÎÉÑ ÎÁ ÔÁËÉÅ ×ÅÝÉ ÎÅ HZ>> ÏÂÒÁÝÁÌ). HÏ ÓÒÁ×ÎÉ×ÁÑ ÁÒÈÉÔÅËÔÕÒÎÙÅ ÆÉÞÉ Ó ÔÒÁÄÉÃÉÏÎÎÏ íëÛÎÙÍÉ, ÍÏÇÕ HZ>> ÓËÁÚÁÔØ, ÞÔÏ ÔÁËÉÅ ÚÁÑ×ÌÅÎÉÑ ÎÅ ÌÉÛÅÎÙ ÏÓÎÏ×ÁÎÉÊ - 6 ÛÔÕË ÛÉÒÏËÉÈ ÛÉÎ, HZ>> ÂÏÇÁÔÙÅ ÓÒÅÄÓÔ×Á ËÏÓ×ÅÎÎÏÊ ÁÄÒÅÓÁÃÉÉ ÓÏ ÓÍÅÝÅÎÉÑÍÉ, ÐÒÅ- É HZ>> ÐÏÓÔÉÎËÒÅÍÅÎÔÏÍ, ÁÄÒÅÓÁÃÉÑ ÐÁÍÑÔÉ ÚÁ ÏÄÉÎ ÃÉËÌ - ×ÓÅ ÜÔÏ ÒÕÌÉÔ.

AG> ôÁÍ ÎÅ ×ӣ ÔÁË ÉÄÅÁÌØÎÏ. óËÁÖÅÍ ËÏÎ×ÅÊÅÒ ÎÅ ÐÏÚ×ÏÌÉÔ ÚÁ 1 ÃÉËÌ × ÓÏÓÅÄÎÉÈ AG> ËÏÍÁÎÄÁÈ ÚÁÐÉÓÁÔØ, Á ÐÏÔÏÍ ÐÒÏÞÉÔÁÔØ ÞÔÏ-ÔÏ ÉÚ ÐÁÍÑÔÉ. ðÒÉģÔÓÑ ÖÄÁÔØ AG> ÄÏÐÏÌÎÉÔÅÌØÎÏ 3 ÃÉËÌÁ.

ðÏÞÅÍÕ ÜÔÏ? üÔÏ ËÏÇÄÁ ÔÙ ÐÉÛÅÛØ É ÞÉÔÁÅÛØ ïäîõ É ôõ ÖÅ ÑÞÅÊËÕ (ÞÔÏ ÎÁ ÐÒÁËÔÉËÅ ×ÓÔÒÅÞÁÅÔÓÑ ÒÅÄËÏ - ÓÍÙÓÌÁ × ÜÔÏÍ ÎÅÍÎÏÇÏ). á ÒÁÚÎÙÅ ÑÞÅÊËÉ ÐÏÖÁÌÕÊÓÔÁ (ÞÔÏ ÉÍÅÅÔ ÍÅÓÔÏ ÐÒÉ ÒÁÂÏÔÅ Ó ÍÁÓÓÉ×ÁÍÉ).

AG> ôÁËÉÅ ÖÅ ÐÒÏÂÌÅÍÙ ×ÓÔÒÅÞÁÀÔÓÑ É ÐÒÉ ÎÅËÏÔÏÒÙÈ ÏÐÅÒÁÃÉÑÈ Ó ÒÅÇÉÓÔÒÁÍÉ.

îÅ ÐÏÍÎÀ ÔÁËÏÇÏ.

AG> ÷ ÁÄÒÅÓÁÃÉÉ, ÒÁÚÏÞÁÒÏ×Ù×ÁÀÔ ÓÌÉÛËÏÍ ÓËÒÏÍÎÙÅ ×ÏÚÍÏÖÎÏÓÔÉ ÐÒÑÍÏÊ ÁÄÒÅÓÁÃÉÉ

îÏÒÍÁÌØÎÙÅ ÔÁÍ ×ÏÚÍÏÖÎÏÓÔÉ. ðÒÑÍÁÑ ÁÄÒÅÓÁÃÉÑ ×ÏÏÂÝÅ ÓÁÍÙÊ ÎÅÜÆÆÅËÔÉ×ÎÙÊ ÓÐÏÓÏ ÁÄÒÅÓÁÃÉÉ (ËÒÏÍÅ PIC16).

AG> É Ä×ÕÈÁÄÒÅÓÎÙÈ ÏÐÅÒÁÃÉÊ ÐÁÍÑÔØ-ÐÁÍÑÔØ.

îÅ ÐÏÎÑÌ, ÞÔÏ ÔÙ ÔÕÔ ÉÍÅÅÛØ × ×ÉÄÕ!?

AG>>> ïÇÒÏÍÎÙÊ ËÏÎ×ÅÊÅÒ ÄÅÌÁÅÔ ÉÚ ÐÅÒÅÈÏÄÏ× ÍÕËÉ,

HZ>> äÁ ÎÅÔ ÔÁÍ ÎÉËÁËÉÈ ÍÕË! õÖÅ ÎÅ ÂÏÌÅÅ, ÞÅÍ ÎÁ ÄÓðéëÅ - ÔÙ ÚÁÂÙ×ÁÅÛØ, HZ>> ÞÔÏ ÏÄÎÏÃÉËÌÏ×ÏÓÔØ ÄÓðéëÁ ÂÁÚÉÒÕÅÔÓÑ ÎÁ ÞÅÔÙÒÅÈ ÃÉËÌÁÈ ÔÁËÔÏ×ÏÊ. òÅÁÌØÎÏ HZ>> ÕÓÌÏ×ÎÙÅ ÐÅÒÅÈÏÄÙ Õ æ28 ÂÙ×ÁÀÔ 4/2 ÃÉËÌÁ, 4/4, ÓÁÍÙÊ ÄÌÉÎÎÙÊ - 7/4.

AG> äÁ×ÁÊ ÒÁÚÂÅңÍÓÑ ÞÔÏ ÔÁÍ Ë ÞÅÍÕ. 4/2 ÜÔÏ ÐÅÒÅÈÏÄÙ ÐÏ ÓÏÄÅÒÖÉÍÏÍÕ ÒÅÇÉÓÔÒÏ×.

îÁ ÐÒÁËÔÉËÅ ÜÔÏÇÏ ÄÏÓÔÁÔÏÞÎÏ. ôÙ ÅÝÅ ÚÁÂÙÌ ÕÐÏÍÑÎÕÔØ ×ÙÚÏ×Ù ÐÏÄÐÒÏÇÒÁÍÍ, ËÏÔÏÒÙÅ ÔÏÖÅ ÚÁ 4 ÔÁËÔÁ ×ÙÐÏÌÎÑÀÔÓÑ.

AG> ðÅÒÅÈÏÄÙ ÐÏ ÆÌÁÖËÁÍ ÏÂÑÚÁÎÙ ÄÏÖÉÄÁÔØÓÑ ÚÁ×ÅÒÛÅÎÉÑ ÐÒÅÄÙÄÕÝÉÈ ËÏÍÁÎÄ, AG> ÐÏÜÔÏÍÕ ÉÍÅÅÍ ֣ÓÔËÏ ÕÄÌÉΣÎÎÙÊ 7/4.

üÔÏÔ ÍÏÍÅÎÔ Ñ ÎÅ ÁÎÁÌÉÚÉÒÏ×ÁÌ, ÎÏ, ÎÁÐÒÉÍÅÒ, ÉÎÓÔÒÕËÃÉÑ B (branch), ËÏÔÏÒÁÑ ÒÁÂÏÔÁÅÔ ÐÏ ÆÌÁÖËÁÍ, Õ ÍÅÎÑ × ÓÇÅÎÅÒÅÎÎÏÍ ËÏÄÅ (ÎÅÂÏÌØÛÏÊ ÔÅÓÔÏ×ÙÊ ÐÒÏÅËÔ, ÇÄÅ ÐÒÏ×ÅÒÑÌÉÓØ ÒÅÁÌØÎÙÅ ×ÏÚÍÏÖÎÏÓÔÉ ÐÅÒÉÆÅÒÉÉ, × ÞÁÓÔÎÏÓÔÉ, ûéíÁ) ÎÅ ÐÏÐÁÄÁÅÔÓÑ ÎÉ ÒÁÚÕ!

AG> é ÎÁËÏÎÅà "ÂÙÓÔÒÙÅ" ×ÁÒÉÁÎÔÙ ÕÓÌÏ×ÎÙÈ ÐÅÒÅÈÏÄÏ× ÚÁÒÁÎÅÅ ÐÒÏÉÚ×ÏÄÑÝÉÅ AG> ×ÙÂÏÒËÕ ËÏÍÁÎÄ × ËÏÎ×ÅÊÅÒ ÐÏ ÏÂÅÉÍ ×ÅÔËÁÍ.

þÅÍ ÜÔÏ ÐÌÏÈÏ? ðÒÅÆÅÔÞ ÌÅÖÉÔ × ÒÁÍËÁÈ ËÏÎ×ÅÊÅÒÎÏÊ ÉÄÅÏÌÏÇÉÉ, ËÏÇÄÁ ×ÓÅ, ÞÔÏ ÍÏÖÎÏ ÎÕÖÎÏ ÐÏÐÙÔÁÔØÓÑ ÓÄÅÌÁÔØ ÚÁÒÁÎÅÅ.

AG> ðÒÉޣÍ ×ӣ ×ÙÇÌÑÄÉÔ ÔÁË, ÔÏÌØËÏ ÅÓÌÉ ËÏÄ ×ÙÐÏÌÎÑÅÔÓÑ ÉÚ ïúõ, ÉÌÉ ÐÒÉ AG> ÔÁËÔÏ×ÏÊ ÎÅ ÂÏÌÅÅ 25 íçÃ. ÷ ÓÌÕÞÁÅ ÒÁÂÏÔÙ Ó Flash ÐÒÉ ÐÅÒÅÓÅÞÅÎÉÉ ÇÒÁÎÉÃÙ AG> ÓÔÒÁÎÉÃÙ ÉÚ 128 ÓÌÏ× ÍÙ ÉÍÅÅÍ ÄÏÐÏÌÎÉÔÅÌØÎÙÊ wait-state × 5 ÃÉËÌÏ× ÐÒÉ 150 AG> íçÃ. üÔÏ ÏÚÎÁÞÁÅÔ Õ×ÅÌÉÞÅÎÉÅ ÐÅÒÅÈÏÄÁ 4/2 ÄÏ 9/2, ÐÅÒÅÈÏÄÁ 7/4 ÄÏ 12/4, Á AG> ÐÅÒÅÈÏÄÁ 4/4, ËÁË Ñ ÐÏÎÉÍÁÀ, ÁÖ ÄÏ 14/14 (ÎÕÖÎÏ ×ÅÄØ ×ÙÂÉÒÁÔØ ÏÂÅ ×ÅÔËÉ, Á AG> ÜÔÏ ÞÉÓÔÏÊ ×ÏÄÙ "Random access" ×ÙÐÏÌÎÅÎÎÙÊ Ä×ÁÖÄÙ).

ôÙ ÄÌÑ ÎÁÉÈÕÄÛÅÇÏ ÓÌÕÞÁÑ ÐÏÄÓÞÉÔÁÌ. ôÅÐÅÒØ ÐÏÄÓÞÉÔÁÊ ÄÌÑ ÎÁÉÌÕÞÛÅÇÏ!?.. á ×ÏÏÂÝÅ, ÜÔÏ É ÅÓÔØ "ÔÏÌÏÞØ ×ÏÄÕ × ÓÔÕÐÅ" - ÎÁÄÏ ÎÁ ÒÅÁÌØÎÏÍ ËÏÄÅ ÓÒÁ×ÎÉ×ÁÔØ.

AG> ÷ÙÇÌÑÄÉÔ ÜÔÏ ×ÅÓØÍÁ ÇÒÕÓÔÎÏ. 30 MIPS dsPIC30F ÍÏÖÅÔ ×ÙÐÏÌÎÉÔØ 15 ÍÌÎ. AG> ÐÅÒÅÈÏÄÏ× ÌÀÂÏÇÏ ×ÉÄÁ ÉÚ ÌÀÂÏÇÏ ÓÏÓÔÏÑÎÉÑ, 150 MIPS TMS320F2810 × ÌÕÞÛÅÍ AG> ÓÌÕÞÁÅ 37,5 ÍÌÎ. (4), × ÓÒÅÄÎÅÍ 21,4 (7), Á × ÈÕÄÛÅÍ 10,7 (14).

äÁ, ÅÓÌÉ ÂÙ ÐÒÏÇÒÁÍÍÁ ÓÏÓÔÏÑÌÁ ÔÏÌØËÏ ÉÚ ÐÅÒÅÈÏÄÏ×, ÔÏ ÜÔÏ ÂÙÌÏ ÂÙ ÔÁË. îÏ, Ë ÓÞÁÓÔØÀ, × ÐÒÏÇÒÁÍÍÁÈ ËÒÏÍÅ ÐÅÒÅÈÏÄÏ× ÅÓÔØ ÅÝÅ ÍÎÏÇÏ ÞÅÇÏ.

[...]

HZ>> ??? á ÒÁÂÏÔÁ Ó ÐÁÍÑÔØÀ (Á ÚÎÁÞÉÔ É Ó ÐÏÒÔÁÍÉ)? åÓÌÉ ÐÅÒÅÓÞÉÔÙ×ÁÔØ ÎÁ HZ>> ÔÁËÔÏ×ÕÀ (ÞÔÏ É ÉÍÅÅÔ ÚÎÁÞÅÎÉÅ ÎÁ ÄÅÌÅ, Ô.Ë. ÉÍÅÎÎÏ ÔÁËÔÏ×ÁÑ É ÏÐÒÅÄÅÌÑÅÔ HZ>> ÓÏÏÔÎÏÛÅÎÉÅ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ/ÐÏÔÒÅÂÌÅÎÉÅ), Á ÎÅ ÎÁ ÍÁÛÉÎÎÙÅ ÃÉËÌÙ, ÔÏ HZ>> æ28 ÐÏÞÔÉ ×Ï ×ÓÅÍ ÂÙÓÔÒÅÅ!

AG> éÎÏÇÄÁ ÏÎ ÍÏÖÅÔ ÏÔÓÔÁÔØ ÄÁÖÅ ÐÏ ÁÂÓÏÌÀÔÎÙÍ ÐÏËÁÚÁÔÅÌÑÍ. îÁÐÒÉÍÅÒ, ÐÒÉ AG> ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÍ ×ÙÐÏÌÎÅÎÉÉ ÏÐÅÒÁÃÉÊ ÎÁÄ ÏÔÄÅÌØÎÙÍÉ ÌÉÎÉÑÍÉ ÐÏÒÔÁ × ÌÕÞÛÅÍ AG> ÓÌÕÞÁÅ ÉÚÍÅÎÅÎÉÅ ÓÏÓÔÏÑÎÉÑ ÂÕÄÅÔ ÐÒÏÉÓÈÏÄÉÔØ ÒÁÚ × 6 ÃÉËÌÏ×, Ô.Å. 25 AG> ÍÌÎ./Ó, Á dsPIC30F ÍÏÖÅÔ ÜÔÏ ÄÅÌÁÔØ 30 ÍÌÎ./Ó. ðÒÉ ÏÄÉÎÁËÏ×ÏÊ ÔÁËÔÏ×ÏÊ AG> ÍÅÖÄÕ ÎÉÍÉ ÕÖÅ ÂÕÄÅÔ ÃÅÌÁÑ ÐÒÏÐÁÓÔØ.

üÔÏ Ô×ÏÉ ÄÏÍÙÓÌÙ, ÎÅ ÂÏÌÅÅ! ÷ÏÔ ÎÅ ÐÏÌÅÎÉÌÓÑ, ×ËÌÀÞÉÌ ËÉÔ, ÎÁÐÉÓÁÌ:

for(;;) { GpioDataRegs.GPETOGGLE.all = C_MASK_1; GpioDataRegs.GPETOGGLE.all = C_MASK_1; }

üÔÏ ÎÅ ÞÔÏ ÉÎÏÅ, ËÁË ÐÅÒÅËÌÀÞÅÎÉÅ ÏÄÎÏÊ ÎÏÖËÉ ÐÏÒÔÁ å. ïÔÔÒÁÎÓÌÉÒÏ×ÁÌÏÓØ ÜÔÏ ×ÙÒÁÖÅÎÉÅ (ÐÅÒÅËÌÀÞÅÎÉÅ ÎÏÖËÉ) ×

;---------------------------------------------------- ; 121 | GpioDataRegs.GPETOGGLE.all = C_MASK_1; ;---------------------------------------------------- ! MOV @_GpioDataRegs+19,AL ; |121|

óÍÏÔÒÀ ÐÏ ÓËÏÐÕ - ×ÒÅÍÅÎÁ ÍÅÖÄÕ ÐÏÌÏÖÉÔÅÌØÎÙÍ É ÏÔÒÉÃÁÔÅÌØÎÙÍ ÆÒÏÎÔÏÍ ÉÍÐÕÌØÓÁ - 6.67 ÎÓ. ô.Å. ×ÓÅÇÏ ïäéî (!) ÔÁËÔ. é ÜÔÏ ÐÒÉ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÍ ÏÂÒÁÝÅÎÉÉ × ÔÕ ÖÅ ÑÞÅÊËÕ!

AG>>> ÎÏ ÍÎÏÇÏÅ ÄÅÌÁÅÔ ÍÅÄÌÅÎÎÅÅ

HZ>> HÁÐÒÉÍÅÒ, ÞÔÏ ÐÒÉ ÏÄÉÎÁËÏ×ÏÊ ÔÁËÔÏ×ÏÊ (× 120 íçÃ)?

AG> ðÒÉ ÏÄÉÎÁËÏ×ÏÊ -- 30 íçÃ.

ôÏÇÄÁ É Ó×ÏÉ ÌÀÂÉÍÙÅ PIC18 ÓÒÁ×ÎÉ×ÁÊ Ó AVR'ÁÍÉ ÐÒÉ ÏÄÉÎÁËÏ×ÏÊ ÔÁËÔÏ×ÏÊ - ÐÏÄÁÊ ÎÁ PIC18 ÓÎÁÒÕÖÉ 2.5 íçÃ, ÞÔÏÂÙ ×ÎÕÔÒÉ ÑÄÒÏ ÔÁËÔÉÒÏ×ÁÌÏÓØ ÏÔ 10 íçà (Õ ÎÉÈ-ÔÏ ÐÒÑÍÏ Ï ÜÔÏÍ ÓËÁÚÁÎÏ), Á ÎÁ AVR ÐÏÄÁÊ 10. é ÓÒÁ×ÎÉ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ!?

HZ>>>> ÓÏÔÅÎ Íá (ÐÒÉ ÍÅÎØÛÅÊ ÓËÏÒÏÓÔÉ, ÅÓÓÎÏ, ÐÏÔÒÅÂÌÅÎÉÅ ÐÒÏÐÏÒÃÉÏÎÁÌØÎÏ HZ>>>> ÍÅÎØÛÅ).

[...]

AG>>> ÷Ï-×ÔÏÒÙÈ, Ó ÐÏÔÒÅÂÌÅÎÉÅÍ Õ 2810, ÍÑÇËÏ ÇÏ×ÏÒÑ, ÄÅÌÁ ÏÂÓÔÏÑÔ ÐÏ ÈÕÖÅ ÞÅÍ AG>>> ÔÙ ÔÕÔ ÎÁÒÉÓÏ×ÁÌ. ðÒÉ ÔÏÍ, ÞÔÏ ÑÄÒÏ ÐÉÔÁÅÔÓÑ ÏÞÅÎØ ÎÉÚËÉÍ ÎÁÐÒÑÖÅÎÉÅÍ AG>>> (1,9 ÷) _ÓÕÍÍÁÒÎÏÅ_ ÔÉÐÏ×ÏÅ ÐÏÔÒÅÂÌÅÎÉÅ ÐÒÉ 150 íçà ÎÅÍÎÏÇÉÍ ÍÅÎØÛÅ 300 AG>>> Íá (ÐÏ ÇÒÁÆÉËÕ ÞÔÏ-ÔÏ ÏËÏÌÏ 280 Íá).

HZ>> äÁ, ÔÁÍ ÐÒÉ×ÅÄÅÎÏ ÍÁËÓÉÍÁÌØÎÏÅ ÐÏÔÒÅÂÌÅÎÉÅ, ËÏÇÄÁ ÑÄÒÏ ÍÁÓÌÁÅÔ ÎÁ HZ>> ÐÏÌÎÏÊ ÓËÏÒÏÓÔÉ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ Ó×ÏÅÇÏ 32-ÒÁÚÒÑÄÎÏÇÏ ÕÍÎÏÖÉÔÅÌÑ, ËÏÇÄÁ HZ>> ÐÅÒÉÆÅÒÉÑ ÒÁÂÏÔÁÅÔ ÔÁËÖÅ ÎÁ ÍÁËÓÉÍÁÌØÎÏÊ ÓËÏÒÏÓÔÉ (×ÓÅ ûéíÙ, ËÏÔÏÒÙÈ ÔÁÍ HZ>> ÁÖ 12 ÛÔÕË, ×ÙÄÁÀÔ ÐÏ 100 ËçÃ, ËÏÇÄÁ ÏÂÁ õáòôÁ É ëáH ÎÅÐÒÅÒÙ×ÎÏ ÐÅÒÅÄÁÀÔ

AG> 100 Ëçà ÄÌÑ ÐÏÌÕÔÏÒÁ ÄÅÓÑÔËÏ× ÌÉÎÉÊ 150 íçà íë ÜÔÏ ÎÁ ÕÒÏ×ÎÅ 1% AG> ÐÏÔÒÅÂÌÅÎÉÑ.

îÅ ÚÁÂÙ×ÁÊ, ÞÔÏ ÄÌÑ ÐÏÌÕÞÅÎÉÑ 100 Ëçà ûéíÁ ÔÁÍ ÔÁÊÍÅÒÙ ËÒÕÔÑÔÓÑ ÎÁ ÐÏÌÎÏÊ ÓËÏÒÏÓÔÉ! 16-ÂÉÔÎÙÊ ÔÁÊÍÅÒ ÎÁ 150 íçà - ÜÔÏ ÕÖÅ ËÏÅ-ÞÔÏ. á ÔÁÊÍÅÒÏ× ÔÁÍ ÔÁËÉÈ 4 ÛÔÕËÉ. é ÅÝÅ ÐÒÉ ÜÔÏÍ ÌÏÇÉËÁ ÓÒÁ×ÎÅÎÉÑ ÝÅÌËÁÅÔ ÎÁ ÜÔÏÊ ÖÅ ÞÁÓÔÏÔÅ ÐÏÓÔÏÑÎÎÏ. ô.Þ. ÐÅÒÉÆÅÒÉÑ ÜÔÁ ËÕÛÁÅÔ ÐÒÉÌÉÞÎÏ.

HZ>> É ÐÒÉÎÉÍÁÀÔ, ËÏÇÄÁ ×ËÌÀÞÅÎ áãð (Õ ËÏÔÏÒÏÇÏ ÔÏÖÅ ÎÅ ËÁËÉÈ-ÔÏ 100 HZ>> ËÉÌÏ×ÙÂÏÒÏË, Á ÁÖ 12.5 ÍÅÇÁ), Á ÔÏ ÅÝÅ 40 Íá).

[...]

HZ>> éÎÔÅÒÅÓÎÏ ÚÎÁÔØ, ÐÒÉ ËÁËÉÈ ÕÓÌÏ×ÉÑÈ íÉËÒÏÞÉÐ ÄÁÅÔ ÚÎÁÞÅÎÉÑ HZ>> ÐÏÔÒÅÂÌÅÎÉÑ? þÔÏ-ÔÏ ÍÎÅ ÐÏÄÓËÁÚÙ×ÁÅÔ, ÞÔÏ ÜÔÏ ÄÁÌÅËÏ ÎÅ ÎÁ ÐÏÌÎÏÊ HZ>> ÚÁÇÒÕÚËÅ ×ÓÅÈ Ó×ÏÉÈ ÓÏÓÔÁ×ÎÙÈ ÞÁÓÔÅÊ.

AG> óÏÂÓÔ×ÅÎÎÏ ÉÎÆÏÒÍÁÃÉÉ Ï ÒÅÁÌØÎÏÊ ÚÁÇÒÕÚËÅ 2810 ÄÌÑ ÐÒÉ×ÅģÎÎÙÈ ÕÓÌÏ×ÉÊ Õ AG> ÎÁÓ ÔÏÖÅ ÎÅÔ, ÍÏÖÅÔ ÔÁÍ ÑÄÒÏ 70% ×ÒÅÍÅÎÉ ÓÔÏÉÔ × ÏÖÉÄÁÎÉÉ Flash? õÒÏ×ÅÎØ AG> ÚÁÇÒÕÚËÉ ÐÅÒÉÆÅÒÉÉ (ËÒÏÍÅ ûéíÏ×) ÔÏÖÅ ÎÉËÁË ÎÅ ÏÔÒÁ֣Î.

ôÁÍ ÐÒÑÍÏ ÓËÁÚÁÎÏ, ÞÔÏ "The hardware multiplier is exercised.". á ÜÔÏ ÏÚÎÁÞÁÅÔ, ÞÔÏ ÑÄÒÏ ÍÁÓÌÁÅÔ ÎÁ ÐÏÌÎÏÊ ÚÁÇÒÕÚËÅ, Ô.Ë. ÕÍÎÏÖÉÔÅÌØ ÔÁÍ ÄÅÌÁÅÔ Ó×ÏÀ ÒÁÂÏÔÕ ÚÁ ÏÄÉÎ ÔÁËÔ. é ÐÒÉ ÜÔÏÍ × ÔÅÞÅÎÉÅ ÔÏÇÏ ÖÅ ÔÁËÔÁ ÅÝÅ ÍÉÎÉÍÕÍ Ä×Á ÏÐÅÒÁÎÄÁ ÐÏÄÇÒÕÖÁÀÔÓÑ ÄÌÑ ÎÏ×ÏÇÏ ÕÍÎÏÖÅÎÉÑ, Ô.Þ. É ÛÉÎÙ ÍÁÓÌÁÀÔ ÐÏ ÐÏÌÎÏÊ ÐÒÏÇÒÁÍÍÅ. [...]

AG> ñ ÎÅ ×ÉÖÕ ÎÉËÁËÉÈ ÐÒÉÞÉÎ ÎÅ ÐÏÚ×ÏÌÑÀÝÉÈ ÍÎÅ ÛÉÒÏËÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÒÅÖÉÍÙ AG> ÍÉËÒÏÐÏÔÒÅÂÌÅÎÉÑ Õ dsPIC30F.

áÎÁÌÏÇÉÞÎÏ TMS320F28xx.

[...]

HZ>> ë ÞÅÍÕ ×ÓÅ ÜÔÏ? ë ÔÏÍÕ, ÞÔÏ, ËÁË ÕÖÅ ÇÏ×ÏÒÉÌ, ÁÌØÔÅÒÎÁÔÉ×ÎÙÈ ÒÅÛÅÎÉÊ HZ>> ÓÅÇÏÄÎÑ ÐÒÏÓÔÏ ×ÁÇÏÎ Ó ÔÅÌÅÖËÏÊ.

AG> îÕ ÐÒÏÓÔÏ ÄÌÑ ÐÒÉÍÅÒÁ ÐÒÅÄÌÏÖÉ ÍÎÅ ÁÌØÔÅÒÎÁÔÉ×Õ ÒÅÛÅÎÉÑ ÄÌÑ ÐÒÉÂÏÒÁ AG> ÓÏÂÉÒÁÀÝÅÇÏ 10-ÒÁÚÒÑÄÎÙÅ ÄÁÎÎÙÅ Ó 4-È (ÉÌÉ ÂÏÌØÛÅ) ËÁÎÁÌÏ× Ó ÞÁÓÔÏÔÏÊ 400 AG> Ëçà (100...200 Ëçà ÎÁ ËÁÎÁÌ) É ÏÔÐÒÁ×ÌÑÀÝÅÇÏ ÉÈ ÐÏ ËÁËÏÍÕ-ÎÉÂÕÄØ AG> ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÍÕ ËÁÎÁÌÕ. áËÔÉ×ÎÏÅ ÐÏÔÒÅÂÌÅÎÉÅ íë ÏÇÒÁÎÉÞÉÍ ÎÁ ÕÒÏ×ÎÅ 100 AG> Í÷Ô. ÷ÁÖÎÏ, ÞÔÏ × ÐÁÓÓÉ×ÎÏÍ ÒÅÖÉÍÅ ÐÒÉÂÏÒ ÄÏÌÖÅÎ ÂÙÔØ ÍÉËÒÏÐÏÔÒÅÂÌÑÀÝÉÍ AG> (ÓÒÅÄÎÅÅ ÐÏÔÒÅÂÌÅÎÉÅ ÍÅÎÅÅ 100 ÍËá) É ÐÅÒÅÈÏÄÉÔØ × ÁËÔÉ×ÎÙÊ ÒÅÖÉÍ ÐÏ AG> ËÏÍÁÎÄÅ Ó ÉÎÔÅÒÆÅÊÓÁ. ÷ÁÒÉÁÎÔ ÄÌÑ 200 Ëçà ÒÅÛÁÅÔÓÑ ÎÁ PIC18F2331, ÄÌÑ 400 AG> ËçÃ Ñ ÎÁÍÅÒÅÎ ÐÏÐÒÏÂÏ×ÁÔØ 2010.

þÔÏ-ÔÏ Ñ ÎÅ ÐÏÎÑÌ! õ dsPIC áãð ÍÁËÓÉÍÕÍ ÍÏÖÅÔ 100 ËÉÌÏ×ÙÂÏÒÏË × ÓÅËÕÎÄÕ ÄÅÌÁÔØ. ëÁË ÜÔÏ ÔÙ ÕÍÕÄÒÑÅÛØÓÑ Ó ÎÅÇÏ 400 ÐÏÌÕÞÁÔØ? é ËÁËÁÑ, ËÓÔÁÔÉ, ÍÁËÓÉÍÁÌØÎÁÑ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ áãð Õ PIC18?

AG>>> HÅÔ. ÷ ÎÅËÏÔÏÒÙÈ Ó×ÏÉÈ ÚÁÄÁÞÁÈ Ñ ÎÅ ×ÉÖÕ ÉÍ ÎÉËÁËÏÊ ÒÅÁÌØÎÏÊ AG>>> ÁÌØÔÅÒÎÁÔÉ×Ù. òÁÓÓÍÁÔÒÉ×ÁÔØ ÔÏÔ ÖÅ TMS320F2810 ËÁË ÁÌØÔÅÒÎÁÔÉ×Õ AG>>> dsPIC30F2010 (ÄÁÖÅ ÁÂÓÔÒÁËÔÎÏ ÏÔ ÐÏÔÒÅÂÌÅÎÉÑ) ÓÅÒأÚÎÏ ×ÒÑÄ ÌÉ ËÔÏ-ÔÏ AG>>> ÓÔÁÎÅÔ.

HZ>> óÏÇÌÁÓÅÎ. ÷ ÎÅËÏÔÏÒÙÈ ÚÁÄÁÞÁÈ. ñ É ÐÉÓÁÌ × ÐÒÏÛÌÙÊ ÒÁÚ, ÞÔÏ ÅÓÔØ ÝÅÌØ HZ>> ÍÅÖÄÕ á÷ò/ðéë/íóð É ãïóÏÂÒÁÚÎÙÍÉ íë, É ÔÏÌØËÏ × ÎÅÊ ÄÓðéëÁÍ ËÌÉÍÁÔ. HÏ HZ>> ÝÅÌØ, ÉÍÈÏ, ÕÚËÁÑ.

AG> íÎÅ ÖÅ ×ӣ ÔÁËÉ ×ÉÄÉÔÓÑ, ÞÔÏ ÕÎÉ×ÅÒÓÁÌÉÚÍ dsPIC30F ËÁË íë ÐÏ×ÙÛÅÎÎÏÊ AG> ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ ÓÕÝÅÓÔ×ÅÎÎÏ ÐÒÅ×ÏÓÈÏÄÉÔ ÔÏÔ ÖÅ TMS320F28x, ËÏÔÏÒÙÊ AG> Ñ×ÌÑÅÔÓÑ íë ËÕÄÁ ÂÏÌÅÅ ÎÉÛÅ×ÙÍ.

ëÏÎÅÞÎÏ. ôÏÞÎÏ ÔÁËÖÅ, ËÁË ÕÎÉ×ÅÒÓÁÌÉÚÍ ÌÀÂÏÇÏ ÉÚ AVR/PIC ÐÒÅ×ÏÓÈÏÄÉÔ ÏÎÙÊ Õ dsPIC. þÅÍ ÐÒÏÝÅ ÐÒÏÃ, ÔÅÍ ÏÎ ÄÅÛÅ×ÌÅ, ÔÅÍ ÐÒÏÝÅ ÅÇÏ ÏÓ×ÏÉÔØ, ÔÅÍ ÂÏÌØÛÅ ÐÏÄ ÎÅÇÏ ÍÅÌËÉÈ ÚÁÄÁÞ, ËÏÔÏÒÙÈ, ÐÏÎÑÔÎÏÅ ÄÅÌÏ, ×ÓÅÇÄÁ × ÒÁÚÙ ÂÏÌØÛÅ, ÞÅÍ ËÒÕÐÎÙÈ. ñ ÕÖÅ ÓËÁÚÁÌ, ÞÔÏ ÍÅÌËÉÅ dsPIC'É TMS320F28xx ÎÅ ÎÁËÒÙ×ÁÅÔ ÎÉ ÐÏ ËÏÒÐÕÓÕ, ÎÉ ÐÏ ÃÅÎÅ, ÎÉ ÐÏ ÐÏÔÒÅÂÌÅÎÉÀ. îÏ ÄÌÑ ÎÉÈ ÅÓÔØ ÁÌØÔÅÒÎÁÔÉ×ÎÙÅ ÒÅÛÅÎÉÑ.

Oleksandr, ÔÙ Åݣ ÚÄÅÓØ ÓÉÄÉÛØ?

÷ÔÏÒÎÉË á×ÇÕÓÔ 03 2004 09:03, Oleksandr Redchuk wrote to George Shepelev:

MP>>> óÔÒÁÎÎÏ ÞÔÏ ÔÅÂÑ ÎÅ ÓÍÕÝÁÅÀÔ ÐÌÀÓÙ ×ÍÅÓÔÏ ÔÏÞËÉ, ËÏÔÏÒÙÅ MP>>> ÏÚÎÁÞÁÀÔ ÎÕ ÓÏ×ÓÅÍ ÄÒÕÇÕÀ ÏÐÃÉÀ ;) GS>> äÁ×ÁÊ ÎÅ ÂÕÄÅÍ ÏÂÓÕÖÄÁÔØ _ÓÉÎÔÁËÓÉÓ_ _ËÏÎËÒÅÔÎÏÇÏ_ ËÏÍÐÉÌÑÔÏÒÁ, GS>> ÄÁ? OR> äÁ ÎÅ ÂÕÄÅÍ, ÎÅ ÂÕÄÅÍ. OR> ñ ÕÖÅ ËÏÇÄÁ ÏÔÐÒÁ×ÉÌ ÏÔ×ÅÔ ÎÁ ÜÔÏ - ÐÏÄÕÍÁÌ, ÞÔÏ ÐÏ ÓÕÔÉ MCS51-Ê OR> ÁÒÈÉÔÅËÔÕÒÙ setb P3+1 *ÄÏÌÖÅÎ* ÖÒÁÔØ *ÌÀÂÏÊ* ÁÓÓÅÍÂÌÅÒ ÄÌÑ Îţ.

éÍÅÎÎÏ. ðÒÉޣÍ ÏÄÎÏÚÎÁÞÎÏ, ÂÅÚ ÏÛÉÂÏË.

çÅÏÒÇÉÊ

Привет!

Wed Aug 04 2004 10:44, Harry Zhurov wrote to Alexander Golov:

...

AG>>>> При впятеро больше частоте?

HZ>>> Hасколько я понял, дсПИК имеет тактовую 120 МГц и она делится HZ>>> вчетверо, образуя машинный цикл? Вот это действительно атрибут ПИКа.

AG>> Давай мы раз и на всегда договоримся не толочь эту воду в ступе про 120 AG>> МГц у dsPIC30F. У него ядро тактуется 30 МГц максимум...

...

HZ> А скоростной ШИМ у него чем обуславливается? 30-ю МГц что-ли?

"Output Compare" использует 30 МГц, "Motor Control", действительно использует один дополнительный бит в схемах сравнения, т.е. имеет разрешение 60 МГц.

HZ> Hа TMS320F28xx тоже нельзя подать больше 30 МГц, так давай не будем HZ> толочь воду в ступе про его внутренние 150 МГц?!

У него 150 МГц присутствуют везде, начиная с операций ядра и заканчивая периферией, это его единица для посчёта времени, а у dsPIC30F такой единицей является 30 МГц.

...

AG>> Глубокий конвейер штука коварная...

HZ> Hет там ничего коварного. По сравнению с тупым делением тактов на HZ> фиксированное число, конвейер - способ получить прирост ценой усложнения HZ> процессора.

Это слишком общий вывод, для вполне частного схемотехнического решения. Главное что здесь позволило резко поднять частоту да ещё и без катастрофического роста энергопотребления это использование тонкого низковольтового технологического процесса.

Коварство же конвейра прежде всего в существенной разнице между пиковой и минимальной производительностью. Работа на пределе возможностей МК становится затруднительной, приходится прибегать к существенным запасам, т.е. впустую расходовать ту саму производительность за которую боролись и на которую тратится масса энергии.

HZ> И прирост этот есть, другое дело, что его не так просто HZ> определить, т.к. он сильно зависит от задачи. Hикто и не говорил, что HZ> TMS320F28xx в 5 раз быстрее dsPIC'а. Hа одних операциях в 5, на других в HZ> 2, на третьих вообще вровень, а кое-где и в 10! Среднюю цифру, думаю, HZ> никто не возьмется приводить. HZ> Реально это можно определить только на конкретном приложении.

HZ> Конвейер, кстати, там не такой уж "глубокий" - всего 8. Hе сравнить HZ> конвейерами в монстрах от Интела и АМД.

А зачем с ними сравнивать? У них другое назначение и к ним выдвигаются другие требования.

AG>>>> Скорее всего так, во всяком случае на вычислительных задачах.

HZ>>> Да уж всяко. :) Особенно, если учесть, что он 32-х разрядный.

AG>> Hо 32-разрядные вычисления не вполне типичная задача для МК. По мне и AG>> 16-разрядность dsPIC30F в отрыве от адресной арифметики вещь далеко не AG>> первой необходимости, а в 32-разрядной арифметике в МК в отрыве от AG>> ЦОС-применений смысла не вижу вообще. Зато бросается в глаза очень AG>> бедная функциональность при работе с 8-разрядными данными в AG>> TMS320F2810.

HZ> А зачем? Есть 16-разрядные.

Потому что в реальной практике байт -- очень распространённый тип данных, а внутренней памяти никогда много не бывает.

...

AG>> Там не всё так идеально. Скажем конвейер не позволит за 1 цикл в AG>> соседних командах записать, а потом прочитать что-то из памяти. AG>> Придётся ждать дополнительно 3 цикла.

HZ> Почему это? Это когда ты пишешь и читаешь ОДHУ и ТУ же ячейку (что на HZ> практике встречается редко - смысла в этом немного). А разные ячейки HZ> пожалуйста (что имеет место при работе с массивами).

Почему немного? Я конечно не знаю точно, я реальный код 2810 не видел, но по-моему, раз уж у МК есть достаточно развитая адресация к памяти в поле "destination", то логично и обращаться к сохранённым данным без лишних копирований в регистрах. Во всяком случае для PIC'ов это очень распространённые последовательности.

AG>> Такие же проблемы встречаются и при некоторых операциях с регистрами.

HZ> Hе помню такого.

Но они же описаны в разделе "Pipeline protection".

AG>> В адресации, разочаровывают слишком скромные возможности прямой AG>> адресации

HZ> Hормальные там возможности. Прямая адресация вообще самый HZ> неэффективный способ адресации (кроме PIC16).

Скромные, потому что адресуются лишь 64 слова. А что может быть нэффективного в прямой адресации я вообще не понял.

AG>> и двухадресных операций память-память.

HZ> Hе понял, что ты тут имеешь в виду!?

Что loc16(32) не может быть и слева и справа. Обязательно с одной стороны регистр в крайнем случае прямой адрес.

...

AG>> Переходы по флажкам обязаны дожидаться завершения предыдущих команд, AG>> поэтому имеем жёстко удлинённый 7/4.

HZ> Этот момент я не анализировал, но, например, инструкция B (branch), HZ> которая работает по флажкам, у меня в сгенеренном коде (небольшой HZ> тестовый проект, где проверялись реальные возможности периферии, в HZ> частности, ШИМа) не попадается ни разу!

Я верю тебе на слово, хотя и не очень понимаю как может МКшная программа работать без большого количества проверок и ветвлений (вот у ADSP чуть ли не в каждую команду переход (пропуск) встроили), как уже говорил, жаль, что нет возможности поанализировать реальный код, тогда разговор был бы более предметным.

...

AG>> Причём всё выглядит так, только если код выполняется из ОЗУ, или при AG>> тактовой не более 25 МГц...

...

AG>> Выглядит это весьма грустно. 30 MIPS dsPIC30F может выполнить 15 млн. AG>> переходов любого вида из любого состояния, 150 MIPS TMS320F2810 в лучшем AG>> случае 37,5 млн. (4), в среднем 21,4 (7), а в худшем 10,7 (14).

HZ> Да, если бы программа состояла только из переходов, то это было бы HZ> так. Hо, к счастью, в программах кроме переходов есть еще много чего.

А для кого-то к несчастью в критичном цикле на десяток команд пара переходов будет занимать больше времени чем все остальные команды вместе взятые. Есть какое-то болезненное несоответствие: 1 цикл занимает навороченный MAC и 4/7 -- примитивный переход.

...

HZ>>> ??? А работа с памятью (а значит и с портами)? Если пересчитывать HZ>>> на тактовую (что и имеет значение на деле, т.к. именно тактовая и HZ>>> определяет соотношение производительность/потребление), а не на HZ>>> машинные циклы, то Ф28 почти во всем быстрее!

AG>> Иногда он может отстать даже по абсолютным показателям. Hапример, при AG>> последовательном выполнении операций над отдельными линиями порта в AG>> лучшем случае изменение состояния будет происходить раз в 6 циклов, AG>> т.е. 25 млн./с, а dsPIC30F может это делать 30 млн./с. При одинаковой AG>> тактовой между ними уже будет целая пропасть.

HZ> Это твои домыслы, не более! Вот не поленился, включил кит, написал:

...

HZ> ;---------------------------------------------------- HZ> ; 121 | GpioDataRegs.GPETOGGLE.all = C_MASK_1; HZ> ;---------------------------------------------------- HZ> ! MOV @_GpioDataRegs+19,AL ; |121|

HZ> Смотрю по скопу - времена между положительным и отрицательным фронтом HZ> импульса - 6.67 нс. Т.е. всего ОДИH (!) такт. И это при последовательном HZ> обращении в ту же ячейку!

Согласен, я не знал про особенности реализации доступа к портам у 2810, можно сказать, что разработчики весьма искуссно заткнули эту дыру.

AG>>>> но многое делает медленнее

HZ>>> Hапример, что при одинаковой тактовой (в 120 МГц)?

AG>> При одинаковой -- 30 МГц.

HZ> Тогда и свои любимые PIC18 сравнивай с AVR'ами при одинаковой HZ> тактовой - подай на PIC18 снаружи 2.5 МГц, чтобы внутри ядро HZ> тактировалось от 10 МГц (у них-то прямо об этом сказано), а на AVR подай HZ> 10. И сравни производительность!?

Что-то я не улавливаю логики. И для dsPIC30F и для PIC18 я использую время выполнения самой короткой команды. Тоже и для AVR, тоже и для 2810. Чтобы сранивать один параметр, нужно худо-бедно привести значения других. А ты что предлагаешь, сравнивать 150 MIPS МК потребляющий 750 мВт с 30 MIPS МК потребляющим 350 мВт (или даже 20 MIPS и 90 мВт)?

...

AG>> Собственно информации о реальной загрузке 2810 для приведённых условий у AG>> нас тоже нет, может там ядро 70% времени стоит в ожидании Flash? Уровень AG>> загрузки периферии (кроме ШИМов) тоже никак не отражён.

HZ> Там прямо сказано, что "The hardware multiplier is exercised.". А это HZ> означает, что ядро маслает на полной загрузке, т.к. умножитель там делает HZ> свою работу за один такт. И при этом в течение того же такта еще минимум HZ> два операнда подгружаются для нового умножения, т.ч. и шины маслают по HZ> полной программе.

Нет там такой информации. Не может быть одновременно 100% загружен умножитель и вся периферия. Что-то в какие-то моменты времени стоит и в учёте не участвует. Сколько? Что? Одни загадки.

...

HZ>>> К чему все это? К тому, что, как уже говорил, альтернативных HZ>>> решений сегодня просто вагон с тележкой.

AG>> Hу просто для примера предложи мне альтернативу решения для прибора AG>> собирающего 10-разрядные данные с 4-х (или больше) каналов с частотой AG>> 400 кГц (100...200 кГц на канал) и отправляющего их по какому-нибудь AG>> последовательному каналу. Активное потребление МК ограничим на уровне AG>> 100 мВт. Важно, что в пассивном режиме прибор должен быть AG>> микропотребляющим (среднее потребление менее 100 мкА) и переходить в AG>> активный режим по команде с интерфейса. Вариант для 200 кГц решается на AG>> PIC18F2331, для 400 кГц я намерен попробовать 2010.

HZ> Что-то я не понял! У dsPIC АЦП максимум может 100 киловыборок в HZ> секунду делать. Как это ты умудряешься с него 400 получать?

Это у "General Purpose and Sensor Families" 12-разрядный 100 KSPS АЦП. У "Motor Control and Power Conversion Family", к которой относится dsPIC30F2010 АЦП 10-разрядный 500 KSPS.

HZ> И какая, кстати, максимальная производительность АЦП у PIC18?

У PIC18F2331 АЦП похож на 2010 (тоже может оцифровывать последовательно до четырёх каналов), но на 200 KSPS, плюс 4 уровня FIFO. Именно этот АЦП позволил сделать на PIC18 200 кГц оцифровки (на PIC18F252 с внешним AD7810 заметно больше 100 кГц было нереально).

...

AG>> Мне же всё таки видится, что универсализм dsPIC30F как МК повышенной AG>> производительности существенно превосходит тот же TMS320F28x, который AG>> является МК куда более нишевым.

HZ> Конечно. Точно также, как универсализм любого из AVR/PIC превосходит HZ> оный у dsPIC. Чем проще проц, тем он дешевле, тем проще его освоить, тем HZ> больше под него мелких задач, которых, понятное дело, всегда в разы HZ> больше, чем крупных.

И всё таки не настолько. dsPIC30F однозначно (и порой существенно) дороже

8-разрядных конкурентов, но в чисто технических характеристиках его применение может за собой не понести никаких вопросов, даже дополнительное потребление на низких частотах, особенно с учётом большей производительности ядра, невелико. И если, скажем, цена не слишком волнует, то подчас его можно применять просто потому что применял в прошлый раз.

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

HZ> Я уже сказал, что мелкие dsPIC'и TMS320F28xx не HZ> накрывает ни по корпусу, ни по цене, ни по потреблению. Hо для них есть HZ> альтернативные решения.

Альтернативные решения есть почти всегда, но не всегда они равны по характеристикам, придётся чем-то жертвовать. Решение для моего прибора на

400...500 кГц до появления dsPIC30F2010 (скорее даже 4012, у него ОЗУ больше) было просто нереальным.

Thu, 5 Aug 2004 21:21:16 +0000 (UTC) Alexander Golov wrote to Harry Zhurov:

HZ>> á ÓËÏÒÏÓÔÎÏÊ ûéí Õ ÎÅÇÏ ÞÅÍ ÏÂÕÓÌÁ×ÌÉ×ÁÅÔÓÑ? 30-À íçà ÞÔÏ-ÌÉ?

AG> "Output Compare" ÉÓÐÏÌØÚÕÅÔ 30 íçÃ, "Motor Control", ÄÅÊÓÔ×ÉÔÅÌØÎÏ AG> ÉÓÐÏÌØÚÕÅÔ ÏÄÉÎ ÄÏÐÏÌÎÉÔÅÌØÎÙÊ ÂÉÔ × ÓÈÅÍÁÈ ÓÒÁ×ÎÅÎÉÑ, Ô.Å. ÉÍÅÅÔ AG> ÒÁÚÒÅÛÅÎÉÅ 60 íçÃ.

ô.Å. Time Base ÄÌÑ ûéí ÏÓÎÏ×ÁÎÏ ÎÁ ÞÁÓÔÏÔÅ ×ÓÅÇÏ 30 íçÃ? îÕ, ÔÏÇÄÁ ÜÔÏ ÎÉ × ËÁËÏÅ ÓÒÁ×ÎÅÎÉÅ ÎÅ ÉÄÅÔ Ó 150 íçÃ Õ TMS320F28xx! ÷ÏÔ ÍÎÅ ÎÁÄÏ ÉÍÅÔØ 12-ÂÉÔÎÙÊ ûéí ÎÁ ÞÁÓÔÏÔÅ 25-30 ËçÃ, ËÁË ÂÙÔØ? [...]

AG>>> çÌÕÂÏËÉÊ ËÏÎ×ÅÊÅÒ ÛÔÕËÁ ËÏ×ÁÒÎÁÑ...

HZ>> HÅÔ ÔÁÍ ÎÉÞÅÇÏ ËÏ×ÁÒÎÏÇÏ. ðÏ ÓÒÁ×ÎÅÎÉÀ Ó ÔÕÐÙÍ ÄÅÌÅÎÉÅÍ ÔÁËÔÏ× ÎÁ HZ>> ÆÉËÓÉÒÏ×ÁÎÎÏÅ ÞÉÓÌÏ, ËÏÎ×ÅÊÅÒ - ÓÐÏÓÏ ÐÏÌÕÞÉÔØ ÐÒÉÒÏÓÔ ÃÅÎÏÊ ÕÓÌÏÖÎÅÎÉÑ HZ>> ÐÒÏÃÅÓÓÏÒÁ.

AG> üÔÏ ÓÌÉÛËÏÍ ÏÂÝÉÊ ×Ù×ÏÄ, ÄÌÑ ×ÐÏÌÎÅ ÞÁÓÔÎÏÇÏ ÓÈÅÍÏÔÅÈÎÉÞÅÓËÏÇÏ ÒÅÛÅÎÉÑ. AG> çÌÁ×ÎÏÅ ÞÔÏ ÚÄÅÓØ ÐÏÚ×ÏÌÉÌÏ ÒÅÚËÏ ÐÏÄÎÑÔØ ÞÁÓÔÏÔÕ ÄÁ Åݣ É ÂÅÚ AG> ËÁÔÁÓÔÒÏÆÉÞÅÓËÏÇÏ ÒÏÓÔÁ ÜÎÅÒÇÏÐÏÔÒÅÂÌÅÎÉÑ ÜÔÏ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÔÏÎËÏÇÏ AG> ÎÉÚËÏ×ÏÌØÔÏ×ÏÇÏ ÔÅÈÎÏÌÏÇÉÞÅÓËÏÇÏ ÐÒÏÃÅÓÓÁ.

üÔÏ ÔÉÐÏ×ÏÊ ÐÕÔØ ×ÓÅÈ ×ÅÄÕÝÉÈ ÓÅÇÏÄÎÑÛÎÉÈ ÐÒÏÉÚ×ÏÄÉÔÅÌÅÊ ÂÙÓÔÒÏÄÅÊÓÔ×ÕÀÝÉÈ ÍÉËÒÕÈ - ÐÒÏÃÅÓÓÏÒÏ×, ðìéó É Ô.Ä. ÷ ÜÔÏÍ ÎÅÔ ÎÉÞÅÇÏ ÓÔÒÁÎÎÏÇÏ, ÜÔÏ ÒÁÚÕÍÎÙÊ É ÌÏÇÉÞÎÙÊ ÐÕÔØ. çÏÒÁÚÄÏ ÂÏÌÅÅ ÇÏÒÂÁÔÏ ×ÙÇÌÑÄÑÔ ÐÏÐÙÔËÉ íÉËÒÏÞÉÐÁ ÚÁÇÎÁÔØ ÂÏÌØÛÉÅ ÔÁËÔÏ×ÙÅ ÎÁ ×ÙÓÏËÉÅ ÎÁÐÒÑÖÅÎÉÑ. óÄÅÌÁÊ ÏÎÉ dsPIC ÐÏ ÎÉÚËÏ×ÏÌØÔÎÏÊ ÔÅÈÎÏÌÏÇÉÉ, ÏÎ ÂÙ ÖÒÁÌ × ÒÁÚÙ ÍÅÎØÛÅ É ×ÐÏÌÎÅ ÍÏÇ ÂÙ ÔÑÇÁÔØÓÑ Ó 8-ÂÉÔËÁÍÉ ÐÏ ÐÏÔÒÅÂÌÅÎÉÀ.

AG> ëÏ×ÁÒÓÔ×Ï ÖÅ ËÏÎ×ÅÊÒÁ ÐÒÅÖÄÅ ×ÓÅÇÏ × ÓÕÝÅÓÔ×ÅÎÎÏÊ ÒÁÚÎÉÃÅ ÍÅÖÄÕ ÐÉËÏ×ÏÊ É AG> ÍÉÎÉÍÁÌØÎÏÊ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØÀ. òÁÂÏÔÁ ÎÁ ÐÒÅÄÅÌÅ ×ÏÚÍÏÖÎÏÓÔÅÊ íë AG> ÓÔÁÎÏ×ÉÔÓÑ ÚÁÔÒÕÄÎÉÔÅÌØÎÏÊ, ÐÒÉÈÏÄÉÔÓÑ ÐÒÉÂÅÇÁÔØ Ë ÓÕÝÅÓÔ×ÅÎÎÙÍ ÚÁÐÁÓÁÍ, AG> Ô.Å. ×ÐÕÓÔÕÀ ÒÁÓÈÏÄÏ×ÁÔØ ÔÕ ÓÁÍÕ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ ÚÁ ËÏÔÏÒÕÀ ÂÏÒÏÌÉÓØ É AG> ÎÁ ËÏÔÏÒÕÀ ÔÒÁÔÉÔÓÑ ÍÁÓÓÁ ÜÎÅÒÇÉÉ.

óÇÕÝÁÅÛØ ËÒÁÓËÉ. ÷ÓÅ ÚÎÁÞÉÔÅÌØÎÏ ÐÒÏÝÅ - ÉÚ×ÅÓÔÎÏ, ÞÔÏ ÌÉÎÅÊÎÙÊ ËÏÄ ×ÙÐÏÌÎÑÅÔÓÑ ÎÁ ÓËÏÒÏÓÔÉ, ÂÌÉÚËÏÊ Ë ÐÒÅÄÅÌØÎÏÊ É ÔÏÌØËÏ ÐÅÒÅÈÏÄÙ ÐÏÄÔÏÒÍÁÖÉ×ÁÀÔ. îÉÞÅÇÏ ÎÅ ÍÅÛÁÅÔ ÓÄÅÌÁÔØ ÂÏÌÅÅ-ÍÅÎÅÅ ÄÏÓÔÏ×ÅÒÎÕÀ ÏÃÅÎËÕ ÔÏÍÕ ÉÌÉ ÉÎÏÍÕ ËÕÓËÕ ËÏÄÁ. [...]

HZ>> á ÚÁÞÅÍ? åÓÔØ 16-ÒÁÚÒÑÄÎÙÅ.

AG> ðÏÔÏÍÕ ÞÔÏ × ÒÅÁÌØÎÏÊ ÐÒÁËÔÉËÅ ÂÁÊÔ -- ÏÞÅÎØ ÒÁÓÐÒÏÓÔÒÁΣÎÎÙÊ ÔÉÐ ÄÁÎÎÙÈ, Á AG> ×ÎÕÔÒÅÎÎÅÊ ÐÁÍÑÔÉ ÎÉËÏÇÄÁ ÍÎÏÇÏ ÎÅ ÂÙ×ÁÅÔ.

õ TMS320F28xx ÍÉÎÉÍÁÌØÎÏ ÁÄÒÅÓÕÅÍÁÑ ÑÞÅÊËÁ - 16 ÂÉÔ. üÔÏ ÔÁË. îÏ ÑÄÒÏ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÒÁÂÏÔÕ É Ó 8-ÂÉÔÎÙÍÉ ÄÁÎÎÙÍÉ. åÓÌÉ ÈÏÞÅÛØ ÜËÏÎÏÍÉÔØ ÐÁÍÑÔØ, ÔÏ ÃÅÎÏÊ ÎÅÂÏÌØÛÏÇÏ Ï×ÅÒÈÅÄÁ (ÎÁ ÕÐÁËÏ×ËÕ/ÒÁÓÐÁËÏ×ËÕ) ÍÏÖÎÏ × ÐÁÍÑÔÉ ÈÒÁÎÉÔØ É 8-ÂÉÔÎÙÅ ÄÁÎÎÙÅ. îÏ, ÐÏ×ÔÏÒÑÀ, × ÔÁËÏÍ ÕÖÅ ÄÏÓÔÁÔÏÞÎÏ ÔÏÌÓÔÏÍ ÐÒÏÃÅ ÁËÔÕÁÌØÎÏÓÔØ 8-ÂÉÔÎÙÈ ÄÁÎÎÙÈ ÓÉÌØÎÏ ÐÒÅÕ×ÅÌÉÞÅÎÁ.

AG> ...

AG>>> ôÁÍ ÎÅ ×ӣ ÔÁË ÉÄÅÁÌØÎÏ. óËÁÖÅÍ ËÏÎ×ÅÊÅÒ ÎÅ ÐÏÚ×ÏÌÉÔ ÚÁ 1 ÃÉËÌ × AG>>> ÓÏÓÅÄÎÉÈ ËÏÍÁÎÄÁÈ ÚÁÐÉÓÁÔØ, Á ÐÏÔÏÍ ÐÒÏÞÉÔÁÔØ ÞÔÏ-ÔÏ ÉÚ ÐÁÍÑÔÉ. AG>>> ðÒÉģÔÓÑ ÖÄÁÔØ ÄÏÐÏÌÎÉÔÅÌØÎÏ 3 ÃÉËÌÁ.

HZ>> ðÏÞÅÍÕ ÜÔÏ? üÔÏ ËÏÇÄÁ ÔÙ ÐÉÛÅÛØ É ÞÉÔÁÅÛØ ïäHõ É ôõ ÖÅ ÑÞÅÊËÕ (ÞÔÏ ÎÁ HZ>> ÐÒÁËÔÉËÅ ×ÓÔÒÅÞÁÅÔÓÑ ÒÅÄËÏ - ÓÍÙÓÌÁ × ÜÔÏÍ ÎÅÍÎÏÇÏ). á ÒÁÚÎÙÅ ÑÞÅÊËÉ HZ>> ÐÏÖÁÌÕÊÓÔÁ (ÞÔÏ ÉÍÅÅÔ ÍÅÓÔÏ ÐÒÉ ÒÁÂÏÔÅ Ó ÍÁÓÓÉ×ÁÍÉ).

AG> ðÏÞÅÍÕ ÎÅÍÎÏÇÏ? ñ ËÏÎÅÞÎÏ ÎÅ ÚÎÁÀ ÔÏÞÎÏ, Ñ ÒÅÁÌØÎÙÊ ËÏÄ 2810 ÎÅ ×ÉÄÅÌ, ÎÏ AG> ÐÏ-ÍÏÅÍÕ, ÒÁÚ ÕÖ Õ íë ÅÓÔØ ÄÏÓÔÁÔÏÞÎÏ ÒÁÚ×ÉÔÁÑ ÁÄÒÅÓÁÃÉÑ Ë ÐÁÍÑÔÉ × ÐÏÌÅ AG> "destination", ÔÏ ÌÏÇÉÞÎÏ É ÏÂÒÁÝÁÔØÓÑ Ë ÓÏÈÒÁΣÎÎÙÍ ÄÁÎÎÙÍ ÂÅÚ ÌÉÛÎÉÈ AG> ËÏÐÉÒÏ×ÁÎÉÊ × ÒÅÇÉÓÔÒÁÈ. ÷Ï ×ÓÑËÏÍ ÓÌÕÞÁÅ ÄÌÑ PIC'Ï× ÜÔÏ ÏÞÅÎØ AG> ÒÁÓÐÒÏÓÔÒÁΣÎÎÙÅ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ.

îÅ ÐÒÅÄÓÔÁ×ÌÑÀ ÓÅÂÅ ÓÉÔÕÁÃÉÉ, ËÏÇÄÁ ÚÁÐÉÓÁ× ÄÁÎÎÙÅ × ÑÞÅÊËÕ ÐÁÍÑÔÉ, ÎÕÖÎÏ ÔÕÔ ÖÅ ÉÈ ÉÚ ÎÅÅ ÞÉÔÁÔØ?!

AG>>> ÷ ÁÄÒÅÓÁÃÉÉ, ÒÁÚÏÞÁÒÏ×Ù×ÁÀÔ ÓÌÉÛËÏÍ ÓËÒÏÍÎÙÅ ×ÏÚÍÏÖÎÏÓÔÉ ÐÒÑÍÏÊ AG>>> ÁÄÒÅÓÁÃÉÉ

HZ>> HÏÒÍÁÌØÎÙÅ ÔÁÍ ×ÏÚÍÏÖÎÏÓÔÉ. ðÒÑÍÁÑ ÁÄÒÅÓÁÃÉÑ ×ÏÏÂÝÅ ÓÁÍÙÊ HZ>> ÎÅÜÆÆÅËÔÉ×ÎÙÊ ÓÐÏÓÏ ÁÄÒÅÓÁÃÉÉ (ËÒÏÍÅ PIC16).

AG> óËÒÏÍÎÙÅ, ÐÏÔÏÍÕ ÞÔÏ ÁÄÒÅÓÕÀÔÓÑ ÌÉÛØ 64 ÓÌÏ×Á.

÷Ï-ÐÅÒ×ÙÈ, ÐÒÑÍÏÊ ÁÄÒÅÓÁÃÉÉ × TMS320F28xx × ÞÉÓÔÏÍ ×ÉÄÅ ÎÅÔ. ôÏ, ÞÔÏ Õ ÎÉÈ ÎÁÚÙ×ÁÅÔÓÑ ÐÒÑÍÏÊ ÁÄÒÅÓÁÃÉÅÊ - ÜÔÏ × ÔÏÞÎÏÓÔÉ, ËÁË Õ PIC16/18 - ÚÁÇÒÕÚËÁ ÁÄÒÅÓÁ ÓÔÒÁÎÉÃÙ, ÐÏÔÏÍ ÏÂÒÁÝÅÎÉÅ ÐÏ ÂÏÌÅÅ ËÏÒÏÔËÏÍÕ ÓÍÅÝÅÎÉÀ - Ô.Å. ÒÁÚÎÏ×ÉÄÎÏÓÔØ ËÏÓ×ÅÎÎÏÊ ÁÄÒÅÓÁÃÉÉ. á ÐÒÑÍÁÑ ÁÄÒÅÓÁÃÉÑ - ÜÔÏ, ÎÁÐÒÉÍÅÒ, AVR'Ï×ÓËÏÅ lds/sts. üÔÁ ÒÁÚÎÏ×ÉÄÎÏÓÔØ ËÏÓ×ÅÎÎÏÊ ÁÄÒÅÓÁÃÉÉ ÜÆÆÅËÔÉ×ÎÁ ÐÒÉ ÒÁÂÏÔÅ Ó ÁÇÒÅÇÁÔÎÙÍÉ ÔÉÐÁÍÉ (ÓÔÒÕËÔÕÒÙ/ËÌÁÓÓÙ/ÍÁÓÓÉ×Ù) É ÄÌÑ ÔÁËÏÊ ÁÄÒÅÓÁÃÉÉ 64 ÓÌÏ×Á ÄÏÓÔÁÔÏÞÎÏ. ÷ AVR ×ÏÔ ÔÏÖÅ 64 ÂÁÊÔÁ ÄÏÓÔÕÐÎÏ ÐÒÉ ldd/std (ÓÁÍÙÊ ÜÆÆÅËÔÉ×ÎÙÊ ÓÐÏÓÏ ÁÄÒÅÓÁÃÉÉ × AVR), É Ñ ÎÅ ÐÏÍÎÀ, ÞÔÏÂÙ ÓÍÅÝÅÎÉÑ ÎÅ È×ÁÔÁÌÏ.

AG> á ÞÔÏ ÍÏÖÅÔ ÂÙÔØ ÎÜÆÆÅËÔÉ×ÎÏÇÏ × ÐÒÑÍÏÊ ÁÄÒÅÓÁÃÉÉ Ñ ×ÏÏÂÝÅ ÎÅ ÐÏÎÑÌ.

??? úÄÒÁÓØÔÅ!.. îÅÜÆÆÅËÔÉ×ÎÏ ÔÏ, ÞÔÏ ÐÒÉ ËÁÖÄÏÍ ÏÂÒÁÝÅÎÉÉ ÐÒÉÈÏÄÉÔÓÑ ÔÁÝÉÔØ ÷åóø ÁÄÒÅÓ, ËÏÔÏÒÙÊ × ÏÐËÏÄÅ ÚÁÎÉÍÁÅÔ ÂïÌØÛÕÀ ÞÁÓÔØ. á ËÏÇÄÁ ÁÄÒÅÓÎÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï ÂÏÌØÛÏÅ, ÔÏ ÜÔÏ ×ÏÏÂÝÅ ÓÐÌÏÛÎÁÑ ÎÅÜÆÆÅËÔÉ×ÎÏÓÔØ. ðÏÜÔÏÍÕ É ÒÕÌÑÔ ×ÓÑËÉÅ ÁÐÐÁÒÁÔÎÙÅ ÐÏÉÎÔÅÒÙ, ÁÄÒÅÓÎÙÅ ÇÅÎÅÒÁÔÏÒÙ, ÞÔÏÂÙ ÜÆÆÅËÔÉ×ÎÏÓÔØ ÐÒÉ ÁÄÒÅÓÁÃÉÉ ÐÏÄÎÑÔØ ÄÏ ÍÁËÓÉÍÕÍÁ.

AG>>> É Ä×ÕÈÁÄÒÅÓÎÙÈ ÏÐÅÒÁÃÉÊ ÐÁÍÑÔØ-ÐÁÍÑÔØ.

HZ>> HÅ ÐÏÎÑÌ, ÞÔÏ ÔÙ ÔÕÔ ÉÍÅÅÛØ × ×ÉÄÕ!?

AG> þÔÏ loc16(32) ÎÅ ÍÏÖÅÔ ÂÙÔØ É ÓÌÅ×Á É ÓÐÒÁ×Á. ïÂÑÚÁÔÅÌØÎÏ Ó ÏÄÎÏÊ ÓÔÏÒÏÎÙ AG> ÒÅÇÉÓÔÒ × ËÒÁÊÎÅÍ ÓÌÕÞÁÅ ÐÒÑÍÏÊ ÁÄÒÅÓ.

á, ÐÏÎÑÌ. ô.Å. ÔÙ ÈÏÞÅÛØ ÉÍÅÔØ ËÏÍÁÎÄÕ Ó ÓÕÐÅÒÎÅÜÆÆÅËÔÉ×ÎÏÊ ÁÄÒÅÓÁÃÉÅÊ - ÍÁÌÏ ÔÏÇÏ, ÞÔÏ ÐÒÑÍÏÊ, ÎÏ ÅÝÅ É ÐÒÑÍÏÊ ÄÌÑ ÏÂÏÉÈ ÏÐÅÒÁÎÄÏ× - ÞÔÏÂÙ × ÏÄÎÏÍ ÏÐËÏÄÅ ÔÁÝÉÔØ ÏÂÁ ÚÄÏÒÏ×ÅÎÎÙÈ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÙÈ ÁÄÒÅÓÁ! äÁÒÏÍ ÎÅ ÎÁÄÏ!! äÌÑ ÄÏÓÔÉÖÅÎÉÑ ÔÏÇÏ ÖÅ ÒÅÚÕÌØÔÁÔÁ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ Ä×Å ËÏÍÁÎÄÙ. üÆÆÅËÔÉ×ÎÏÓÔØ ÂÕÄÅÔ ÎÅ ÈÕÖÅ. á ÌÕÞÛÅ ×ÓÅ-ÔÁËÉ ÉÓÐÏÌØÚÏ×ÁÔØ ÕËÁÚÁÔÅÌÉ, ËÁË ÎÁÐÒÉÍÅÒ:

mov *xar7++,ACC

AG> ...

AG>>> ðÅÒÅÈÏÄÙ ÐÏ ÆÌÁÖËÁÍ ÏÂÑÚÁÎÙ ÄÏÖÉÄÁÔØÓÑ ÚÁ×ÅÒÛÅÎÉÑ ÐÒÅÄÙÄÕÝÉÈ ËÏÍÁÎÄ, AG>>> ÐÏÜÔÏÍÕ ÉÍÅÅÍ ֣ÓÔËÏ ÕÄÌÉΣÎÎÙÊ 7/4.

HZ>> üÔÏÔ ÍÏÍÅÎÔ Ñ ÎÅ ÁÎÁÌÉÚÉÒÏ×ÁÌ, ÎÏ, ÎÁÐÒÉÍÅÒ, ÉÎÓÔÒÕËÃÉÑ B (branch), HZ>> ËÏÔÏÒÁÑ ÒÁÂÏÔÁÅÔ ÐÏ ÆÌÁÖËÁÍ, Õ ÍÅÎÑ × ÓÇÅÎÅÒÅÎÎÏÍ ËÏÄÅ (ÎÅÂÏÌØÛÏÊ HZ>> ÔÅÓÔÏ×ÙÊ ÐÒÏÅËÔ, ÇÄÅ ÐÒÏ×ÅÒÑÌÉÓØ ÒÅÁÌØÎÙÅ ×ÏÚÍÏÖÎÏÓÔÉ ÐÅÒÉÆÅÒÉÉ, × HZ>> ÞÁÓÔÎÏÓÔÉ, ûéíÁ) ÎÅ ÐÏÐÁÄÁÅÔÓÑ ÎÉ ÒÁÚÕ!

AG> ñ ×ÅÒÀ ÔÅÂÅ ÎÁ ÓÌÏ×Ï, ÈÏÔÑ É ÎÅ ÏÞÅÎØ ÐÏÎÉÍÁÀ ËÁË ÍÏÖÅÔ íëÛÎÁÑ ÐÒÏÇÒÁÍÍÁ AG> ÒÁÂÏÔÁÔØ ÂÅÚ ÂÏÌØÛÏÇÏ ËÏÌÉÞÅÓÔ×Á ÐÒÏ×ÅÒÏË É ×ÅÔ×ÌÅÎÉÊ (×ÏÔ Õ ADSP ÞÕÔØ ÌÉ AG> ÎÅ × ËÁÖÄÕÀ ËÏÍÁÎÄÕ ÐÅÒÅÈÏÄ (ÐÒÏÐÕÓË) ×ÓÔÒÏÉÌÉ), ËÁË ÕÖÅ ÇÏ×ÏÒÉÌ, ÖÁÌØ, ÞÔÏ AG> ÎÅÔ ×ÏÚÍÏÖÎÏÓÔÉ ÐÏÁÎÁÌÉÚÉÒÏ×ÁÔØ ÒÅÁÌØÎÙÊ ËÏÄ, ÔÏÇÄÁ ÒÁÚÇÏ×ÏÒ ÂÙÌ ÂÙ ÂÏÌÅÅ AG> ÐÒÅÄÍÅÔÎÙÍ.

ñ É ÎÅ ÕÔ×ÅÒÖÄÁÀ, ÞÔÏ ÐÅÒÅÈÏÄÏ× ÎÅÔ. ñ ÇÏ×ÏÒÀ, ÞÔÏ ÜÔÁ ÍÅÄÌÅÎÎÁÑ ËÏÍÁÎÄÁ B Õ ÍÅÎÑ ÎÅ ×ÓÔÒÅÞÁÅÔÓÑ. ÷ÍÅÓÔÏ ÎÅÅ ÉÓÐÏÌØÚÕÅÔÓÑ BF, ËÏÔÏÒÁÑ 4 ÃÉËÌÁ. ÷ÏÔ ÐÒÉÍÅÒ ËÏÄÁ (ÓÒÁ×ÎÅÎÉÅ Ä×ÕÈ 32-ÂÉÔÎÙÈ ÞÉÓÅÌ É ÐÅÒÅËÌÀÞÅÎÉÅ ÎÏÖËÉ):

if(a > b) GpioDataRegs.GPETOGGLE.all = C_MASK_1;

123 | if(a > b) GpioDataRegs.GPETOGGLE.all = C_MASK_1;

------------------------------------------------------------ MOVZ DP,#_b MOVL ACC,@_b ; |123| CMPL ACC,@_a ; |123| BF L1,GEQ ; |123|

ô.Þ. ×ÐÏÌÎÅ ÐÒÉÅÍÌÅÍÏ.

HZ>> äÁ, ÅÓÌÉ ÂÙ ÐÒÏÇÒÁÍÍÁ ÓÏÓÔÏÑÌÁ ÔÏÌØËÏ ÉÚ ÐÅÒÅÈÏÄÏ×, ÔÏ ÜÔÏ ÂÙÌÏ ÂÙ HZ>> ÔÁË. HÏ, Ë ÓÞÁÓÔØÀ, × ÐÒÏÇÒÁÍÍÁÈ ËÒÏÍÅ ÐÅÒÅÈÏÄÏ× ÅÓÔØ ÅÝÅ ÍÎÏÇÏ ÞÅÇÏ.

AG> á ÄÌÑ ËÏÇÏ-ÔÏ Ë ÎÅÓÞÁÓÔØÀ × ËÒÉÔÉÞÎÏÍ ÃÉËÌÅ ÎÁ ÄÅÓÑÔÏË ËÏÍÁÎÄ ÐÁÒÁ AG> ÐÅÒÅÈÏÄÏ× ÂÕÄÅÔ ÚÁÎÉÍÁÔØ ÂÏÌØÛÅ ×ÒÅÍÅÎÉ ÞÅÍ ×ÓÅ ÏÓÔÁÌØÎÙÅ ËÏÍÁÎÄÙ ×ÍÅÓÔÅ AG> ×ÚÑÔÙÅ. åÓÔØ ËÁËÏÅ-ÔÏ ÂÏÌÅÚÎÅÎÎÏÅ ÎÅÓÏÏÔ×ÅÔÓÔ×ÉÅ: 1 ÃÉËÌ ÚÁÎÉÍÁÅÔ AG> ÎÁ×ÏÒÏÞÅÎÎÙÊ MAC É 4/7 -- ÐÒÉÍÉÔÉ×ÎÙÊ ÐÅÒÅÈÏÄ.

üËÁË ÔÙ ÐÅÒÅÈÏÄÙ ÕÄÅÌÁÌ! éÚÍÅÎÅÎÉÅ ÐÏÔÏËÁ ×ÙÐÏÌÎÅÎÉÑ ÐÒÏÇÒÁÍÍÙ ×ÏÏÂÝÅ É ÐÅÒÅÈÏÄ × ÞÁÓÔÎÏÓÔÉ - ÜÔÏ ÎÅ ÐÒÉÍÉÔÉ×ÎÏÅ ÄÅÊÓÔ×ÉÅ. ïÎÏ Ó×ÑÚÁÎÏ Ó ÉÚÍÅÎÅÎÉÅÍ ËÏÎÔÅËÓÔÁ ×ÙÐÏÌÎÅÎÉÑ ÐÒÏÇÒÁÍÍÙ (×ÏÐÒÏÓ ÔÏÌØËÏ, × ÞÅÍ ÜÔÏÔ ËÏÎÔÅËÓÔ). é ÎÁ×ÏÒÏÞÅÎÎÙÊ MAC ÔÕÔ ÎÉÞÅÍ ÎÅ ÓÌÏÖÎÅÅ - ÜÔÏ ÐÒÏÓÔÏ ÚÁÇÒÕÚËÁ ÁÐÐÁÒÁÔÎÏÇÏ ÕÚÌÁ ÐÒÏÃÅÓÓÏÒÁ ÄÁÎÎÙÍÉ, ÎÅ ÂÏÌÅÅ ÔÏÇÏ. ðÅÒÅÈÏÄÙ ×ÓÅÇÄÁ ÂÙÌÉ É ÅÓÔØ ÂÏÌÅÚÎÅÎÎÏÊ ÐÒÏÃÅÄÕÒÏÊ × ÓÍÙÓÌÅ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ. äÁÖÅ ÐÒÉÍÉÔÉ×ÎÙÊ ÄÏ ÐÒÅÄÅÌÁ PIC16 É ÔÏÔ ÔÒÁÔÉÔ ÎÁ ÐÅÒÅÈÏÄ 2 ÃÉËÌÁ. îÏ ÔÅÂÑ ÎÅ ÓÍÕÝÁÅÔ, ÞÔÏ áìõÛÎÙÅ ÏÐÅÒÁÃÉÉ, ËÏÔÏÒÙÅ ÓÕÔØ ÍÁÔÅÍÁÔÉËÁ × ÖÅÌÅÚÅ, ×ÙÐÏÌÎÑÀÔÓÑ ÔÁÍ ÚÁ ÏÄÉÎ ÃÉËÌ, Á ÐÒÉÍÉÔÉ×ÎÙÊ ÐÅÒÅÈÏÄ - Ä×Á! ðÒÏÃÅÓÓÏÒÏ×, Õ ËÏÔÏÒÙÈ ÐÅÒÅÈÏÄ ×ÙÐÏÌÎÑÅÔÓÑ ÚÁ ÏÄÉÎ ÃÉËÌ, ÐÏ ÐÁÌØÃÁÍ ÍÏÖÎÏ ÐÅÒÅÓÞÉÔÁÔØ. ñ ÚÎÁÀ ÔÏÌØËÏ ADSP-21xx, TigerSHARC É Xemics. õ ÐÅÒ×ÙÈ Ä×ÕÈ ÜÔÏ ÏÂÅÓÐÅÞÉ×ÁÅÔÓÑ ÏÞÅÎØ ÎÅÔÒÉ×ÉÁÌØÎÙÍ (ÏÓÏÂÅÎÎÏ Õ ôÉÇÒÏÛÁÒËÁ) Á×ÔÏÍÁÔÏÍ ÕÐÒÁ×ÌÅÎÉÑ ÐÏÔÏËÏÍ ×ÙÐÏÌÎÅÎÉÑ ÐÒÏÇÒÁÍÍÙ (Program Sequencer), Õ Xemics'Á ÐÒÏÓÔÏ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ ÎÉÚËÁÑ, ÏÎÉ ÔÁÍ ×ÎÕÔÒÉ ÉÍÅÀÔ ÄÏÓÔÁÔÏÞÎÏ ×ÒÅÍÅÎÉ, ÞÔÏÂÙ × ÏÄÎÏÍ ÔÁËÔÅ ÕÓÐÅÔØ ÓÞÉÔÁÔØ ÏÐËÏÄ ÐÏ ÎÏ×ÏÍÕ ÁÄÒÅÓÕ É ÕÓÐÅÔØ ×ÙÐÏÌÎÉÔØ ÅÇÏ. [...]

AG>>> éÎÏÇÄÁ ÏÎ ÍÏÖÅÔ ÏÔÓÔÁÔØ ÄÁÖÅ ÐÏ ÁÂÓÏÌÀÔÎÙÍ ÐÏËÁÚÁÔÅÌÑÍ. HÁÐÒÉÍÅÒ, ÐÒÉ AG>>> ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÍ ×ÙÐÏÌÎÅÎÉÉ ÏÐÅÒÁÃÉÊ ÎÁÄ ÏÔÄÅÌØÎÙÍÉ ÌÉÎÉÑÍÉ ÐÏÒÔÁ × AG>>> ÌÕÞÛÅÍ ÓÌÕÞÁÅ ÉÚÍÅÎÅÎÉÅ ÓÏÓÔÏÑÎÉÑ ÂÕÄÅÔ ÐÒÏÉÓÈÏÄÉÔØ ÒÁÚ × 6 ÃÉËÌÏ×, AG>>> Ô.Å. 25 ÍÌÎ./Ó, Á dsPIC30F ÍÏÖÅÔ ÜÔÏ ÄÅÌÁÔØ 30 ÍÌÎ./Ó. ðÒÉ ÏÄÉÎÁËÏ×ÏÊ AG>>> ÔÁËÔÏ×ÏÊ ÍÅÖÄÕ ÎÉÍÉ ÕÖÅ ÂÕÄÅÔ ÃÅÌÁÑ ÐÒÏÐÁÓÔØ.

HZ>> üÔÏ Ô×ÏÉ ÄÏÍÙÓÌÙ, ÎÅ ÂÏÌÅÅ! ÷ÏÔ ÎÅ ÐÏÌÅÎÉÌÓÑ, ×ËÌÀÞÉÌ ËÉÔ, ÎÁÐÉÓÁÌ:

AG> ...

HZ>> ;---------------------------------------------------- HZ>> ; 121 | GpioDataRegs.GPETOGGLE.all = C_MASK_1; HZ>> ;---------------------------------------------------- HZ>> ! MOV @_GpioDataRegs+19,AL ; |121|

HZ>> óÍÏÔÒÀ ÐÏ ÓËÏÐÕ - ×ÒÅÍÅÎÁ ÍÅÖÄÕ ÐÏÌÏÖÉÔÅÌØÎÙÍ É ÏÔÒÉÃÁÔÅÌØÎÙÍ ÆÒÏÎÔÏÍ HZ>> ÉÍÐÕÌØÓÁ - 6.67 ÎÓ. ô.Å. ×ÓÅÇÏ ïäéH (!) ÔÁËÔ. é ÜÔÏ ÐÒÉ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÍ HZ>> ÏÂÒÁÝÅÎÉÉ × ÔÕ ÖÅ ÑÞÅÊËÕ!

AG> óÏÇÌÁÓÅÎ, Ñ ÎÅ ÚÎÁÌ ÐÒÏ ÏÓÏÂÅÎÎÏÓÔÉ ÒÅÁÌÉÚÁÃÉÉ ÄÏÓÔÕÐÁ Ë ÐÏÒÔÁÍ Õ 2810, AG> ÍÏÖÎÏ ÓËÁÚÁÔØ, ÞÔÏ ÒÁÚÒÁÂÏÔÞÉËÉ ×ÅÓØÍÁ ÉÓËÕÓÓÎÏ ÚÁÔËÎÕÌÉ ÜÔÕ ÄÙÒÕ.

ëÁËÉÅ ÏÓÏÂÅÎÎÏÓÔÉ? ëÁËÕÀ ÄÙÒÕ? ôÕÔ ÏÂÙËÎÏ×ÅÎÎÏÅ ÏÂÒÁÝÅÎÉÅ Ë ÑÞÅÊËÅ ÐÁÍÑÔÉ, ÎÅ ÂÏÌÅÅ. é ÚÁÎÉÍÁÅÔ ÏÎÏ, ËÁË ÐÏÌÏÖÅÎÏ, ÏÄÉÎ ÔÁËÔ. [...]

AG>>> óÏÂÓÔ×ÅÎÎÏ ÉÎÆÏÒÍÁÃÉÉ Ï ÒÅÁÌØÎÏÊ ÚÁÇÒÕÚËÅ 2810 ÄÌÑ ÐÒÉ×ÅģÎÎÙÈ ÕÓÌÏ×ÉÊ Õ AG>>> ÎÁÓ ÔÏÖÅ ÎÅÔ, ÍÏÖÅÔ ÔÁÍ ÑÄÒÏ 70% ×ÒÅÍÅÎÉ ÓÔÏÉÔ × ÏÖÉÄÁÎÉÉ Flash? õÒÏ×ÅÎØ AG>>> ÚÁÇÒÕÚËÉ ÐÅÒÉÆÅÒÉÉ (ËÒÏÍÅ ûéíÏ×) ÔÏÖÅ ÎÉËÁË ÎÅ ÏÔÒÁ֣Î.

HZ>> ôÁÍ ÐÒÑÍÏ ÓËÁÚÁÎÏ, ÞÔÏ "The hardware multiplier is exercised.". á ÜÔÏ HZ>> ÏÚÎÁÞÁÅÔ, ÞÔÏ ÑÄÒÏ ÍÁÓÌÁÅÔ ÎÁ ÐÏÌÎÏÊ ÚÁÇÒÕÚËÅ, Ô.Ë. ÕÍÎÏÖÉÔÅÌØ ÔÁÍ ÄÅÌÁÅÔ HZ>> Ó×ÏÀ ÒÁÂÏÔÕ ÚÁ ÏÄÉÎ ÔÁËÔ. é ÐÒÉ ÜÔÏÍ × ÔÅÞÅÎÉÅ ÔÏÇÏ ÖÅ ÔÁËÔÁ ÅÝÅ ÍÉÎÉÍÕÍ HZ>> Ä×Á ÏÐÅÒÁÎÄÁ ÐÏÄÇÒÕÖÁÀÔÓÑ ÄÌÑ ÎÏ×ÏÇÏ ÕÍÎÏÖÅÎÉÑ, Ô.Þ. É ÛÉÎÙ ÍÁÓÌÁÀÔ ÐÏ HZ>> ÐÏÌÎÏÊ ÐÒÏÇÒÁÍÍÅ.

AG> îÅÔ ÔÁÍ ÔÁËÏÊ ÉÎÆÏÒÍÁÃÉÉ. îÅ ÍÏÖÅÔ ÂÙÔØ ÏÄÎÏ×ÒÅÍÅÎÎÏ 100% ÚÁÇÒÕÖÅÎ AG> ÕÍÎÏÖÉÔÅÌØ É ×ÓÑ ÐÅÒÉÆÅÒÉÑ. þÔÏ-ÔÏ × ËÁËÉÅ-ÔÏ ÍÏÍÅÎÔÙ ×ÒÅÍÅÎÉ ÓÔÏÉÔ É × AG> ÕޣÔÅ ÎÅ ÕÞÁÓÔ×ÕÅÔ.

äÁ ÐÏÞÅÍÕ ÖÅ? õÍÎÏÖÉÔÅÌØ ÍÅÞÅÔ MAC'É. ÷ ÃÉËÌÅ. ðÏ ÛÉÎÁÍ Ë ÎÅÍÕ ÄÁÎÎÙÅ ÐÏÓÔÕÐÁÀÔ - ÐÏ Ä×Á ÏÐÅÒÁÎÄÁ ÚÁ ÔÁËÔ. á ÔÁÊÍÅÒÙ ÓÅÂÅ ÍÁÓÌÁÀÔ ÎÁ ÐÏÌÎÏÊ ÓËÏÒÏÓÔÉ É ÌÏÇÉËÁ ÓÒÁ×ÎÅÎÉÑ ÆÏÒÍÉÒÕÅÔ ûéíÙ. þÔÏ ÔÁÍ ÓÔÏÉÔ? ðÏÓÌÅÄÏ×ÁÔÅÌØÎÙÅ ÐÏÒÔÙ? äÁ, ÓÏÇÌÁÓÅÎ, ÄÌÑ ÉÈ ÚÁÇÒÕÚËÉ ÎÁÄÏ ÐÒÅÒ×ÁÔØÓÑ, ÞÔÏÂÙ ÚÁËÉÎÕÔØ ÉÍ ÄÁÎÎÙÅ. üÔÏ ÄÅÌÁÅÔÓÑ ÏÄÉÎ ÒÁÚ ÎÁ 16 ÓÌÏ×, Ô.Þ. × ÏÓÎÏ×ÎÏÍ ÕÍÎÏÖÉÔÅÌØ ÚÁÎÑÔ ÏÓÎÏ×ÎÏÊ ÒÁÂÏÔÏÊ.

AG> ...

HZ>>>> ë ÞÅÍÕ ×ÓÅ ÜÔÏ? ë ÔÏÍÕ, ÞÔÏ, ËÁË ÕÖÅ ÇÏ×ÏÒÉÌ, ÁÌØÔÅÒÎÁÔÉ×ÎÙÈ HZ>>>> ÒÅÛÅÎÉÊ ÓÅÇÏÄÎÑ ÐÒÏÓÔÏ ×ÁÇÏÎ Ó ÔÅÌÅÖËÏÊ.

AG>>> HÕ ÐÒÏÓÔÏ ÄÌÑ ÐÒÉÍÅÒÁ ÐÒÅÄÌÏÖÉ ÍÎÅ ÁÌØÔÅÒÎÁÔÉ×Õ ÒÅÛÅÎÉÑ ÄÌÑ ÐÒÉÂÏÒÁ AG>>> ÓÏÂÉÒÁÀÝÅÇÏ 10-ÒÁÚÒÑÄÎÙÅ ÄÁÎÎÙÅ Ó 4-È (ÉÌÉ ÂÏÌØÛÅ) ËÁÎÁÌÏ× Ó ÞÁÓÔÏÔÏÊ AG>>> 400 Ëçà (100...200 Ëçà ÎÁ ËÁÎÁÌ) É ÏÔÐÒÁ×ÌÑÀÝÅÇÏ ÉÈ ÐÏ ËÁËÏÍÕ-ÎÉÂÕÄØ AG>>> ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÍÕ ËÁÎÁÌÕ. áËÔÉ×ÎÏÅ ÐÏÔÒÅÂÌÅÎÉÅ íë ÏÇÒÁÎÉÞÉÍ ÎÁ ÕÒÏ×ÎÅ AG>>> 100 Í÷Ô. ÷ÁÖÎÏ, ÞÔÏ × ÐÁÓÓÉ×ÎÏÍ ÒÅÖÉÍÅ ÐÒÉÂÏÒ ÄÏÌÖÅÎ ÂÙÔØ AG>>> ÍÉËÒÏÐÏÔÒÅÂÌÑÀÝÉÍ (ÓÒÅÄÎÅÅ ÐÏÔÒÅÂÌÅÎÉÅ ÍÅÎÅÅ 100 ÍËá) É ÐÅÒÅÈÏÄÉÔØ × AG>>> ÁËÔÉ×ÎÙÊ ÒÅÖÉÍ ÐÏ ËÏÍÁÎÄÅ Ó ÉÎÔÅÒÆÅÊÓÁ. ÷ÁÒÉÁÎÔ ÄÌÑ 200 Ëçà ÒÅÛÁÅÔÓÑ ÎÁ AG>>> PIC18F2331, ÄÌÑ 400 ËçÃ Ñ ÎÁÍÅÒÅÎ ÐÏÐÒÏÂÏ×ÁÔØ 2010.

HZ>> þÔÏ-ÔÏ Ñ ÎÅ ÐÏÎÑÌ! õ dsPIC áãð ÍÁËÓÉÍÕÍ ÍÏÖÅÔ 100 ËÉÌÏ×ÙÂÏÒÏË × HZ>> ÓÅËÕÎÄÕ ÄÅÌÁÔØ. ëÁË ÜÔÏ ÔÙ ÕÍÕÄÒÑÅÛØÓÑ Ó ÎÅÇÏ 400 ÐÏÌÕÞÁÔØ?

AG> üÔÏ Õ "General Purpose and Sensor Families" 12-ÒÁÚÒÑÄÎÙÊ 100 KSPS áãð. õ AG> "Motor Control and Power Conversion Family", Ë ËÏÔÏÒÏÊ ÏÔÎÏÓÉÔÓÑ AG> dsPIC30F2010 áãð 10-ÒÁÚÒÑÄÎÙÊ 500 KSPS.

ðÏÎÑÔÎÏ. á ÅÓÌÉ ÐÏÔÒÅÂÕÅÔÓÑ 12 ÒÁÚÒÑÄÏ×? éÌÉ 600 KSPS? þÔÏ ÔÙ ÄÅÌÁÔØ ÂÕÄÅÛØ? üÔÏ ×ÓÅ-ÔÁËÉ ÍÁÒÇÉÎÁÌØÎÙÅ ÓÌÕÞÁÉ. á × ÓÌÕÞÁÅ 12 ÒÁÚÒÑÄÏ× MSP430F16x ×ÐÏÌÎÅ ÐÏÒÕÌÉÔ - ÏÎ ÍÏÖÅÔ ÏÃÉÆÒÏ×Ù×ÁÔØ 12-ÒÁÚÒÑÄÎÙÅ ÄÁÎÎÙÅ ÎÁ 200 KSPS Ó 8 ËÁÎÁÌÏ×, ÚÁÐÉÓÙ×ÁÔØ ÉÈ × ÐÁÍÑÔØ, É Ó ÐÏÍÏÝØÀ DMA ÏÔÐÒÁ×ÌÑÔØ ÜÔÉ ÄÁÎÎÙÅ ÎÁ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÙÊ ËÁÎÁÌ. îÁÄÏ ÔÏÌØËÏ ÓÏÇÌÁÓÏ×ÁÔØ ÓËÏÒÏÓÔØ ÓÜÍÐÌÉÎÇÁ ÓÏ ÓËÏÒÏÓÔØÀ DMA ËÏÎÔÒÏÌÌÅÒÁ. üÔÏ ÌÅÇËÏ ÄÏÓÔÉÇÁÅÔÓÑ ÐÕÔÅÍ ÏÒÇÁÎÉÚÁÃÉÉ ÚÁÐÕÓËÁ áãð É DMA ÏÔ ÏÄÎÏÇÏ ÔÁÊÍÅÒÁ, ÂÌÁÇÏ Capture/Compare ÍÏÄÕÌÅÊ ÔÁÍ ÄÏÓÔÁÔÏÞÎÏ (3 ÎÁ ÏÄÎÏÍ ÔÁÊÍÅÒÅ É 7 ÎÁ ÄÒÕÇÏÍ). ÷ÓÅ ÜÔÏ ÂÕÄÅÔ ÄÅÌÁÔØÓÑ ×ÏÏÂÝÅ ÐÏÞÔÉ ÂÅÚ ÕÞÁÓÔÉÑ ÐÒÏÃÅÓÓÏÒÁ, Á ÐÏÔÒÅÂÌÅÎÉÅ Õ MSP430 ËÁËÏÅ, ÓÁÍ ÚÎÁÅÛØ (ÐÒÉ ÔÏÍ, ÞÔÏ CPU ÔÕÔ ×ÏÏÂÝÅ ÍÏÖÅÔ ÓÐÁÔØ). ðÏÜÔÏÍÕ ÐÏÄÇÏÎËÁ ÚÁÄÁÞÉ ÐÏÄ ×ÏÚÍÏÖÎÏÓÔÉ ËÒÉÓÔÁÌÌÁ - ÎÅ ÏÞÅÎØ ËÏÒÒÅËÔÎÏ ÄÌÑ ÓÒÁ×ÎÅÎÉÑ ×ÏÚÍÏÖÎÏÓÔÅÊ. ÷ÓÅÇÄÁ ÎÁÊÄÅÔÓÑ ÚÁÄÁÞÁ, ËÏÔÏÒÁÑ ÌÑÖÅÔ ÎÁ ÂÏÌÅÅ ÕÂÏÇÉÊ íë ÌÕÞÛÅ, ÞÅÍ ÎÁ ÂÏÌÅÅ ËÒÕÔÏÊ. [...]

AG>>> íÎÅ ÖÅ ×ӣ ÔÁËÉ ×ÉÄÉÔÓÑ, ÞÔÏ ÕÎÉ×ÅÒÓÁÌÉÚÍ dsPIC30F ËÁË íë ÐÏ×ÙÛÅÎÎÏÊ AG>>> ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ ÓÕÝÅÓÔ×ÅÎÎÏ ÐÒÅ×ÏÓÈÏÄÉÔ ÔÏÔ ÖÅ TMS320F28x, ËÏÔÏÒÙÊ AG>>> Ñ×ÌÑÅÔÓÑ íë ËÕÄÁ ÂÏÌÅÅ ÎÉÛÅ×ÙÍ.

HZ>> ëÏÎÅÞÎÏ. ôÏÞÎÏ ÔÁËÖÅ, ËÁË ÕÎÉ×ÅÒÓÁÌÉÚÍ ÌÀÂÏÇÏ ÉÚ AVR/PIC ÐÒÅ×ÏÓÈÏÄÉÔ HZ>> ÏÎÙÊ Õ dsPIC. þÅÍ ÐÒÏÝÅ ÐÒÏÃ, ÔÅÍ ÏÎ ÄÅÛÅ×ÌÅ, ÔÅÍ ÐÒÏÝÅ ÅÇÏ ÏÓ×ÏÉÔØ, ÔÅÍ HZ>> ÂÏÌØÛÅ ÐÏÄ ÎÅÇÏ ÍÅÌËÉÈ ÚÁÄÁÞ, ËÏÔÏÒÙÈ, ÐÏÎÑÔÎÏÅ ÄÅÌÏ, ×ÓÅÇÄÁ × ÒÁÚÙ HZ>> ÂÏÌØÛÅ, ÞÅÍ ËÒÕÐÎÙÈ.

AG> é ×ӣ ÔÁËÉ ÎÅ ÎÁÓÔÏÌØËÏ. dsPIC30F ÏÄÎÏÚÎÁÞÎÏ (É ÐÏÒÏÊ ÓÕÝÅÓÔ×ÅÎÎÏ) ÄÏÒÏÖÅ AG> 8-ÒÁÚÒÑÄÎÙÈ ËÏÎËÕÒÅÎÔÏ×, ÎÏ × ÞÉÓÔÏ ÔÅÈÎÉÞÅÓËÉÈ ÈÁÒÁËÔÅÒÉÓÔÉËÁÈ ÅÇÏ AG> ÐÒÉÍÅÎÅÎÉÅ ÍÏÖÅÔ ÚÁ ÓÏÂÏÊ ÎÅ ÐÏÎÅÓÔÉ ÎÉËÁËÉÈ ×ÏÐÒÏÓÏ×,

üÔÏ ËÏÍÕ ËÁË. ôÙ Ó ÎÉÍ ÕÖÅ ÐÏ×ÏÚÉÌÓÑ, ÔÅÂÅ ÐÏÎÑÔÎÏ ÍÎÏÇÏÅ ÉÚ ÔÏÇÏ, ÞÔÏ ÍÎÅ ÎÅ ÐÏÎÑÔÎÏ. á Ñ ×ÏÔ Ó TMS320F28xx ÐÏ×ÏÚÉÌÓÑ, É ÍÎÅ ÓÅÊÞÁÓ ÔÏÖÅ ÍÎÏÇÏÅ ÐÏÎÑÔÎÏ É ÎÅ ÐÕÇÁÀÔ ÍÎÏÇÉÅ ×ÅÝÉ, ËÏÔÏÒÙÈ Ñ ÐÏÎÁÞÁÌÕ ÏÐÁÓÁÌÓÑ... ë ÐÒÉÍÅÒÕ, ÞÅÍ ÛÉÔØ dsPIC?

AG> îÁÐÒÏÔÉ×, ÐÒÉÍÅÎÅÎÉÅ TMS320F28x × ÐÒÉÂÏÒÁÈ ËÏÔÏÒÙÅ ÍÙ ÒÁÚÒÁÂÁÔÙ×ÁÌÉ × AG> ÐÏÓÌÅÄÎÉÅ ÇÏÄÙ (ÄÁÖÅ ÉÓËÌÀÞÁÑ ÍÉËÒÏÐÏÔÒÅÂÌÑÀÝÉÅ) ÂÕÄÅÔ ÐÏÈÏÖÅ ÎÁ AG> ËÁÔÁÓÔÒÏÆÕ.

ðÏÞÅÍÕ? åÓÌÉ ÏÎ ÉÚÂÙÔÏÞÅÎ, ÔÏ ÜÔÏ ÄÒÕÇÏÅ ÄÅÌÏ, ÎÏ ÐÒÉ ÞÅÍ ÔÕÔ ËÁÔÁÓÔÒÏÆÁ?

AG> é ÓÌÏÖÎÏÓÔØ ÐÉÔÁÎÉÑ É ÅÇÏ ÍÁÓÛÔÁÂÙ É ÓÌÏÖÎÏÓÔØ ÍÏÎÔÁÖÁ.

óÌÏÖÎÏÓÔØ ÐÉÔÁÎÉÑ ×ÙÌÉ×ÁÅÔÓÑ × ÐÒÉÍÅÎÅÎÉÅ, ÎÁÐÒÉÍÅÒ, TPS767D301, ËÏÔÏÒÙÊ ÅÓÔØ ÓÄ×ÏÅÎÎÙÊ ÌÏÕÄÒÏÐ Ó ÆÕÎËÃÉÅÊ ÒÁÚÒÅÛÅÎÉÑ É ÓÕÐÅÒ×ÉÚÏÒÁÍÉ. é ÅÝÅ ÏÄÉÎ ÔÒÁÎÚÉÓÔÏÒ É Ä×Á ÒÅÚÉÓÔÏÒÁ Ë ÎÅÍÕ ÄÌÑ ÏÒÇÁÎÉÚÁÃÉÉ ÏÞÅÒÅÄÎÏÓÔÉ ÐÏÄÁÞÉ ÐÉÔÁÎÉÑ. ñ ÎÅ ÐÏÎÉÍÁÀ, ÐÏÞÅÍÕ, ÎÁÐÒÉÍÅÒ, Altera × Ó×ÏÉÈ ðìéóÁÈ ÍÏÖÅÔ ÓÄÅÌÁÔØ ÐÒÏÉÚ×ÏÌØÎÙÍ ÐÏÒÑÄÏË ÐÏÄÁÞÉ ÐÉÔÁÎÉÑ, Á ôé ÎÅÔ. îÏ × ËÏÎÅÞÎÏÍ ÉÔÏÇÅ ÏÓÏÂÙÈ ÐÒÏÂÌÅÍ ÜÔÏ ÎÅ ÓÏÚÄÁÅÔ. üÔÏÔ ÍÏÍÅÎÔ ÏÓ×ÁÉ×ÁÅÔÓÑ ÏÄÉÎ ÒÁÚ É ÂÏÌØÛÅ Ë ÎÅÍÕ ÎÅ ×ÏÚ×ÒÁÝÁÀÔÓÑ.

AG> îÕÖÎÁ ÓÅÒأÚÎÁÑ ÍÏÔÉ×ÁÃÉÑ ÞÔÏÂÙ ÉÄÔÉ ÎÁ ×ӣ ÜÔÏ.

íÏÔÉ×ÁÃÉÑ, ÎÁ ÓÁÍÏÍ ÄÅÌÅ, × ÏÓÎÏ×ÎÏÍ ÏÐÒÅÄÅÌÑÅÔÓÑ ÐÒÉ×ÙÞËÏÊ É ÐÒÅÄÐÏÞÔÅÎÉÑÍÉ. õ ÍÅÎÑ ÍÅÖÄÕ MSP430 É TMS320F28xx ÎÅÔ ÚÁÄÁÞ. îÉÖÎÉÊ ÐÌÁÓÔ ÎÁËÒÙ×ÁÅÔ MSP430 (ÉÌÉ ÎÁËÒÁÊÎÑË AVR), ×ÅÒÈÎÉÊ - TMS320F28xx. ñ ÅÝÅ ÎÁ áòíÙ ÓÍÏÔÒÅÌ, ÎÏ ÏÎÉ (ÉÚ ÔÅÈ, ÞÔÏ ÐÏÐÁÌÉÓØ) × ÉÔÏÇÅ ÚÁÍÅÔÎÏ ÐÒÏÉÇÒÙ×ÁÌÉ TMS320F28xx ÐÏ ÐÅÒÉÆÅÒÉÊÎÙÍ ÎÁ×ÏÒÏÔÁÍ É ÐÏ ãïó ÆÕÎËÃÉÑÍ ÔÏÖÅ (Á ËÏÅ-ÇÄÅ ÜÔÏ ÎÁÄÏ). åÝÅ Ñ ÄÏÐÕÓËÁÀ, ÞÔÏ ÐÒÉ ÂÏÌØÛÏÊ ÔÉÒÁÖÎÏÓÔÉ ÍÏÖÅÔ ÐÏÔÒÅÂÏ×ÁÔØÓÑ ÏÐÔÉÍÉÚÁÃÉÑ, ÇÄÅ MSP430 ÕÖÅ ÎÅ È×ÁÔÉÔ, Á TMS320F28xx ÂÕÄÅÔ ÔÑÖÅÌ, É ÐÒÏÍÅÖÕÔÏÞÎÏÅ ÒÅÛÅÎÉÅ ÐÏÒÕÌÉÔ. îÏ ÜÔÏ ÎÅ ÍÏÊ É ÎÅ Ô×ÏÊ ÓÌÕÞÁÊ.

Fri Jul 30 2004 21:33, George Shepelev wrote to Oleksandr Redchuk:

OR>> AVR всё равно медленнее, у него 5 циклов,

GS> "Что и требовалось доказать". Сейчас с ходу нашёл доку по C8051Fxxx - 4 GS> такта на 20 МГц - выполняется за 200 нс. AVR - 5 тактов на 24 МГц - 208 GS> нс (и я бы хотел поглядеть на этот код). Если хорошенько порыться в GS> доках, думаю, можно GS> и побыстрее 51-совместимую однокристаллку отыскать...

т.е. 51-ый быстрее АВР?

Тогда считаем еще раз. пусть: в 51-ом каждая команда выполняется за 12 тактов (лучший случай). пусть: в АВР каждая команда выполняется за 2 такта (в среднем).

тогда, если 51-ый заводить кварцом 20МГц, то реальная чаотота будет 1.6 Мгц. а если заводить АВР кварцом 24МГц, то реально получается 12Мгц.

4 команды на 51-ом выполняется при таком раскладе за 2,5мкс 5 команд на АВР за 0,41мкс.

СУВ.

Alexander, ÔÙ Åݣ ÚÄÅÓØ ÓÉÄÉÛØ?

óÕÂÂÏÔÁ á×ÇÕÓÔ 07 2004 11:54, Alexander Golovlev wrote to All:

GS>> "þÔÏ É ÔÒÅÂÏ×ÁÌÏÓØ ÄÏËÁÚÁÔØ". óÅÊÞÁÓ Ó ÈÏÄÕ ÎÁۣÌ ÄÏËÕ ÐÏ GS>> C8051Fxxx - 4 ÔÁËÔÁ ÎÁ 20 íçà - ×ÙÐÏÌÎÑÅÔÓÑ ÚÁ 200 ÎÓ. AVR - 5 GS>> ÔÁËÔÏ× ÎÁ 24 íçà - 208 ÎÓ (É Ñ ÂÙ ÈÏÔÅÌ ÐÏÇÌÑÄÅÔØ ÎÁ ÜÔÏÔ ËÏÄ). GS>> åÓÌÉ ÈÏÒÏÛÅÎØËÏ ÐÏÒÙÔØÓÑ × ÄÏËÁÈ, ÄÕÍÁÀ, ÍÏÖÎÏ É ÐÏÂÙÓÔÒÅÅ GS>> 51-ÓÏ×ÍÅÓÔÉÍÕÀ ÏÄÎÏËÒÉÓÔÁÌÌËÕ ÏÔÙÓËÁÔØ... AG> Ô.Å. 51-ÙÊ ÂÙÓÔÒÅÅ á÷ò?

ðÏ ÒÁÓޣÔÁÍ ×ÙÛÅ ÉÍÅÎÎÏ ÔÁË É ÐÏÌÕÞÁÅÔÓÑ.

AG> ôÏÇÄÁ ÓÞÉÔÁÅÍ ÅÝÅ ÒÁÚ. AG> ÐÕÓÔØ: × 51-ÏÍ ËÁÖÄÁÑ ËÏÍÁÎÄÁ ×ÙÐÏÌÎÑÅÔÓÑ ÚÁ 12 ÔÁËÔÏ× (ÌÕÞÛÉÊ AG> ÓÌÕÞÁÊ).

ðÌÏÈÏ ÓÞÉÔÁÅÛØ. ÷ÙÛÅ ÒÁÓÓÍÁÔÒÉ×ÁÌÓÑ ×ÁÒÉÁÎÔ ËÏÎÔÒÏÌÌÅÒÁ Ó 4-È ÔÁËÔÎÙÍ ÃÉËÌÏÍ.

çÅÏÒÇÉÊ

Hello George.

29 Jul 04 21:11, you wrote to me:

GS>>>>> ôÏÌØËÏ ÄÌÑ ÏÇÒÁÎÉÞÅÎÎÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á ÐÏÒÔÏ×, ÔÏÌØËÏ ÄÌÑ GS>>>>> ÏÇÒÁÎÉÞÅÎÎÏÇÏ ÎÁÂÏÒÁ ËÏÍÁÎÄ? ðÌÏÈÏÅ ÒÅÛÅÎÉÅ. AB>>>> ðÒÁËÔÉËÁ ÐÏËÁÚÙ×ÁÅÔ, ÞÔÏ ÈÏÒÏÛÅÅ. GS>>> õ ÔÅÂÑ ÏÇÒÁÎÉÞÅÎÎÁÑ ÐÒÁËÔÉËÁ. AB>> HÅ ÔÏÌØËÏ Õ ÍÅÎÑ. CISC ÐÒÏÃÅÓÓÏÒÙ ÕÖÅ ÎÅ ÒÁÚÒÁÂÙÔÙ×ÁÀÔ. AB>> ÷ÓÅ ÎÏ×ÙÅ ÒÁÚÒÁÂÏÔËÉ ÉÍÅÀÔ ÓÏËÒÁÝÅÎÎÙÊ ÎÁÂÏÒ ËÏÍÁÎÄ. GS> é ÞÔÏ? òÅÞØ ÉģÔ ÎÅ Ï _ËÏÌÉÞÅÓÔ×Å_ ÐÒÏÃÅÓÓÏÒÎÙÈ ËÏÍÁÎÄ,

HÅÔ, ×ÙÛÅ ÒÅÞØ ÛÌÁ Ï ËÏÌÉÞÅÓÔ×Å ËÏÍÁÎÄ.

GS> Á Ï ÅÇÏ ÁÒÈÉÔÅËÔÕÒÅ, ×ÏÚÍÏÖÎÏÓÔÉ "ÓÉÍÍÅÔÒÉÞÎÏÊ" ÒÁÂÏÔÙ ÓÏ ×ÓÅÍ GS> ÁÄÒÅÓÎÙÍ ÐÒÏÓÔÒÁÎÓÔ×ÏÍ ÄÁÎÎÙÈ É ÒÅÇÉÓÔÒÏ×. ëÁË ÎÁ CISC, ÔÁË É ÎÁ RISC GS> ÐÒÏÃÅÓÓÏÒÅ ÜÔÏ ÍÏÖÎÏ ÓÄÅÌÁÔØ ËÒÁÓÉ×Ï ÉÌÉ ÉÚ×ÒÁÔÎÏ...

óÏÇÌÁÓÅÎ.

GS> ÒÅÇÉÓÔÒÏ×, Õ PIC - "ÓÉÍÍÅÔÒÉÞÎÁÑ", Õ AVR - "ËÕÓÏÞÅÞÎÁÑ"

é Õ AVR ÓÉÍÍÅÔÒÉÞÎÁÑ. äÁ ÅÝÅ É ÌÉÎÅÊÎÁÑ.

GS> (Á ÜÔÏ × ÒÑÄÅ ÓÌÕÞÁÅ× ÒÅÚËÏ ÓÎÉÖÁÅÔ ÜÆÆÅËÔÉ×ÎÏÓÔØ ËÏÄÁ).

á "ËÕÓÏÞÎÏÓÔØ" ÐÒÉÌÅÐÌÅÎÁ ÓÂÏËÕ ÄÌÑ ÏÐÔÉÍÉÚÁÃÉÉ. é × ÒÑÄÅ ÓÌÕÞÁÅ× ÐÏ×ÙÛÁÅÔ ÜÆÆÅËÔÉ×ÎÏÓÔØ ËÏÄÁ.

AB>>>> ñ ÜÔÏ × ÉÎÓÔÉÔÕÔÅ ÉÚÕÞÁÌ. GS>>> íÁÌÏ ÌÉ ÞÔÏ ÔÙ ÉÚÕÞÁÌ. ÷Ï-ÐÅÒ×ÙÈ, ×Ï×ÓÅ ÎÅ ÆÁËÔ, ÞÔÏ ÔÁÍ GS>>> ÐÒÁ×ÉÌØÎÏ ÕÞÉÌÉ (ÐÏÄÔ×ÅÒÖÄÅÎÉÅÍ ÓÌÕÖÉÔ ÓÏÓÔÏÑÎÉÅ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÊ GS>>> ÏÔÒÁÓÌÉ × "ÓÏ×ËÅ" É ÛÔÁÔÁÈ), ×Ï-×ÔÏÒÙÈ, ÍÎÏÇÉÅ ÕÞÁÔÓÑ × GS>>> ÉÎÓÔÉÔÕÔÅ ÐÏ ÐÒÉÎÃÉÐÕ "ÓÄÁÌ É ÚÁÂÙÌ" ;) AB>> ðÒÉÍÉ ÎÁ ×ÅÒÕ. GS> íÙ ÎÅ × ÃÅÒË×É, ÔÙ ÎÅ ÐÏÐ! ;)

á ÔÙ ×ÓÅ ÔÁËÉ ÐÒÉÍÉ.

GS>>> äÕÍÁÅÛØ? á ÄÁ×ÁÊ ÓÒÁ×ÎÉÍ. ÷ÏÔ "ÇÌÕÐÁÑ" ÚÁÄÁÞËÁ ÐÏ ÐÅÒÅÎÏÓÕ GS>>> ÓÏÓÔÏÑÎÉÑ ÌÉÎÉÉ 1 ÐÏÒÔÁ 0 ÎÁ ÌÉÎÉÀ 2 ÐÏÒÔÁ 1: GS>>> MOV C,P0+1 GS>>> MOV P1+2,C GS>>> ÷ÙÐÏÌÑÎÅÔÓÑ ÚÁ 2 ÃÉËÌÁ. AB>> HÁ AVR-Å 4 ÃÉËÌÁ. GS> ó "ÁÔÏÍÁÒÎÏÊ" ÍÏÄÉÆÉËÁÃÉÅÊ Ó ÔÏÞÎÏÓÔØÀ ÄÏ ÔÁËÔÁ? ëÏÄ ÐÒÉ×ÅÄÉ, ÄÁ?

úÁÞÅÍ? ôÙ ÖÅ ÎÅ ÐÒÉ×ÅÌ Ó "ÁÔÏÍÁÒÎÏÊ" ÍÏÄÉÆÉËÁÃÉÅÊ.

AB>> ëÓÔÁÔÉ, Õ ÍÅÎÑ ÔÁËÁÑ ÚÁÄÁÞÁ ÎÉ ÒÁÚÕ ÎÅ ×ÏÚÎÉËÌÁ. GS> ðÏÔÏÍÕ É ÓËÁÚÁÎÏ, ÞÔÏ ÚÁÄÁÞËÁ "ÇÌÕÐÁÑ" ;)))

óÏÇÌÁÓÅÎ.

GS>>> åÓÌÉ ×ÚÑÔØ "ÂÙÓÔÒÏÅ" ÓÅÍÅÊÓÔ×Ï x51, ÏÎÏ GS>>> ÏÂÇÏÎÉÔ AVR Ó ÉÚÒÑÄÎÙÍ ÏÔÒÙ×ÏÍ... AB>> ïÔÓÔÁÎÅÔ ÐÏ ÃÅÎÅ É ÐÏÔÒÅÂÌÅÎÉÀ. GS> åÓÌÉ ÎÕÖÎÁ ÉÍÅÎÎÏ _ÓËÏÒÏÓÔØ_ ÂÉÔÏ×ÏÊ ÏÂÒÁÂÏÔËÉ, ÃÅÎÁ É ÐÏÔÒÅÂÌÅÎÉÅ GS> ×ÔÏÒÉÞÎÙ.

á, ËÓÔÁÔÉ, ÓËÏÌØËÏ ×ÙÐÏÌÎÑÅÔÓÑ ËÏÍÁÎÄÁ mov bit,C ÎÁ "ÂÙÓÔÒÏÍ" x51?

Alexey

Hello George.

29 Jul 04 21:06, you wrote to me:

AB>>>> Á ÑÄÒÏ ×ÏÏÂÝÅ ÎÅ ÉÍÅÅÔ ÎÉÞÅÇÏ ÏÂÝÅÇÏ. GS>>> óÒÁ×ÎÉ ÑÄÒÏ 12-ÔÉ É 16-ÔÉ ÂÉÔÎÏÇÏ PIC'Á ;) AB>> ëÁË Ñ ÉÈ ÓÒÁ×ÎÀ? GS> äÏËÕ ÏÔËÒÏÊ É ÐÏÞÉÔÁÊ! úÁ ÔÅÂÑ ÜÔÏ ÎÉËÔÏ ÎÁ ÈÁÌÑ×Õ ÄÅÌÁÔØ ÎÅ ÂÕÄÅÔ!

÷ ÄÏËÅ ÏÐÉÓÁÎÏ ÕÓÔÒÏÊÓÔ×Ï ÑÄÒÁ ðéëÁ? ;)

AB>> ðÅÒÅÓÞÉÔÁÊ ÄÌÑ 6 ÔÁËÔÏ× AB>> É ×ÓÅ ÒÁ×ÎÏ ÜÔÏ ÂÕÄÅÔ ÂÙÓÔÒÅÅ. GS> þÅÍ ÎÁ SX? óëáúïþHéë! ;))))

þÅÍ ÎÁ ðéë. ôÙ ÔÁË ÒØÑÎÏ ÄÏËÁÚÙ×ÁÌ, ÞÔÏ ðéë ÂÙÓÔÒÅÅ, ÞÔÏ ËÏÇÄÁ ÏËÁÚÁÌÏÓØ, ÞÔÏ ÜÔÏ ÎÅ ÔÁË ÒÅÛÉÌ ÏÂÒÁÔÉÔØÓÑ ÚÁ ÐÏÍÏÝØÀ Ë SX?

GS>>> äÁ×ÁÊ ÓÞÉÔÁÔØ _ÚÁÄÅÊÓÔ×Ï×ÁÎÎÙÅ_ GS>>> ÎÏÖËÉ, Á ÎÅ ×Ù×ÏÄÙ Ó ÎÁÄÐÉÓØÀ NC... AB>> äÁ×ÁÊ. çÒÁÎÉÃÁ ÔÏ, ×ÓÅ ÒÁ×ÎÏ ÐÒÏÈÏÄÉÔ ÐÏ 32 ÎÏÇÁÍ. ;) GS> HÅ ×ÉÖÕ ÓÍÙÓÌÁ ÓÞÉÔÁÔØ "ÐÕÓÔÙÅ" ÎÏÖËÉ. ôÏÌØËÏ Ó ÔÏÌËÕ ÓÂÉ×ÁÅÔ...

÷ÏÔ É ÎÅ ÓÞÉÔÁÊ. ÷ 32-È ÎÏÇÉÈ AVR-ÁÈ ÚÁÄÅÊÓÔ×Ï×ÁÎÙ ×ÓÅ ÎÏÖËÉ. õÞÉÓØ ÞÉÔÁÔØ ÄÏËÕÍÅÎÔÁÃÉÀ (Ó) Ô×ÏÊ.

GS>>> ëÁË ÍÏÖÅÔ È×ÁÔÉÔØ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ, ÅÓÌÉ AVR ÎÅ × ÓÏÓÔÏÑÎÉÉ GS>>> ÆÏÒÍÉÒÏ×ÁÔØ ûéí Ó ÎÕÖÎÏÊ ÞÁÓÔÏÔÏÊ? AB>> ïÂÁÌÄÅÔØ ËÒÉÔÅÒÉÊ. á ×ÏÔ ÐÒÅÄÓÔÁר ÓÅÂÅ - È×ÁÔÁÅÔ. GS> äÌÑ _Ô×ÏÉÈ_ ÚÁÄÁÞ? ÷ÅÒÀ.

é ÄÌÑ ÍÎÏÇÉÈ ÄÒÕÇÉÈ.

GS>>> ëÏÇÄÁ Ô×ÏÊ ËÏÄ ÎÅ ×ÌÅÚÅÔ × ÐÁÍÑÔØ ÉÌÉ ÎÅ ÏÂÅÓÐÅÞÉÔ GS>>> ÂÙÓÔÒÏÄÅÊÓÔ×ÉÅ, ÔÙ ÐÏÊͣÛØ, ÞÔÏ ÜÔÏ ÎÅ ÁÂÓÔÒÁËÃÉÑ, Á ÏÂßÅËÔÉ×ÎÁÑ GS>>> ÒÅÁÌØÎÏÓÔØ... AB>> ÷ÏÚØÍÕ ËÏÎÔÒÏÌÌÅÒ ÐÏÂÏÌØÛÅ. GS> é ÂÕÄÅÛØ ×ÓÀ ÐÌÁÔÕ ÐÅÒÅÄÅÌÙ×ÁÔØ, ÐÏÔÏÍÕ ÞÔÏ ÎÏÖÅË ÂÕÄÅÔ ÇÏÒÁÚÄÏ GS> ÂÏÌØÛÅ?

úÁÞÅÍ? ðÏÞÅÍÕ ÔÙ ÒÅÛÉÌ, ÞÔÏ Õ ÎÅÇÏ ÎÏÖÅË ÂÏÌØÛÅ? ïÂÙÞÎÏ ÅÓÔØ ÞÅÍ ÚÁÍÅÎÉÔØ × ÔÏÍ ÖÅ ËÏÒÐÕÓÅ.

Alexey

Alexey, ÔÙ Åݣ ÚÄÅÓØ ÓÉÄÉÛØ?

ðÏÎÅÄÅÌØÎÉË á×ÇÕÓÔ 09 2004 09:03, Alexey Boyko wrote to George Shepelev:

AB>>>>> Á ÑÄÒÏ ×ÏÏÂÝÅ ÎÅ ÉÍÅÅÔ ÎÉÞÅÇÏ ÏÂÝÅÇÏ. GS>>>> óÒÁ×ÎÉ ÑÄÒÏ 12-ÔÉ É 16-ÔÉ ÂÉÔÎÏÇÏ PIC'Á ;) AB>>> ëÁË Ñ ÉÈ ÓÒÁ×ÎÀ? GS>> äÏËÕ ÏÔËÒÏÊ É ÐÏÞÉÔÁÊ! úÁ ÔÅÂÑ ÜÔÏ ÎÉËÔÏ ÎÁ ÈÁÌÑ×Õ ÄÅÌÁÔØ ÎÅ GS>> ÂÕÄÅÔ! AB> ÷ ÄÏËÅ ÏÐÉÓÁÎÏ ÕÓÔÒÏÊÓÔ×Ï ÑÄÒÁ ðéëÁ? ;)

÷ ÄÏËÅ ÏÐÉÓÁÎÁ ÓÉÓÔÅÍÁ ËÏÍÁÎÄ É ÐÒÏÞÉÅ ÎÀÁÎÓÙ ÁÒÈÉÔÅËÔÕÒÙ ÑÄÒÁ ËÁÖÄÏÇÏ ÉÚ ÓÅÍÅÊÓÔ× ËÏÎÔÒÏÌÌÅÒÏ×.

AB>>> ðÅÒÅÓÞÉÔÁÊ ÄÌÑ 6 ÔÁËÔÏ× AB>>> É ×ÓÅ ÒÁ×ÎÏ ÜÔÏ ÂÕÄÅÔ ÂÙÓÔÒÅÅ. GS>> þÅÍ ÎÁ SX? óëáúïþHéë! ;)))) AB> þÅÍ ÎÁ ðéë.

SX - ÜÔÏ PIC-ÐÏÄÏÂÎÙÊ ÐÒÏÃÅÓÓÏÒ. ëÁË AT89 - ÓÅÍÅÊÓÔ×Ï i51.

AB> ôÙ ÔÁË ÒØÑÎÏ ÄÏËÁÚÙ×ÁÌ, ÞÔÏ ðéë ÂÙÓÔÒÅÅ, ÞÔÏ ËÏÇÄÁ ÏËÁÚÁÌÏÓØ, ÞÔÏ ÜÔÏ AB> ÎÅ ÔÁË ÒÅÛÉÌ ÏÂÒÁÔÉÔØÓÑ ÚÁ ÐÏÍÏÝØÀ Ë SX?

á ÐÏÞÅÍÕ ÂÙ É ÎÅ ÏÂÒÁÔÉÔØÓÑ? õ ÍÅÎÑ ÎÅÔ ÒÅÌÉÇÉÏÚÎÙÈ ÐÒÅÄÒÁÓÓÕÄËÏ× ;)

GS>>>> äÁ×ÁÊ ÓÞÉÔÁÔØ _ÚÁÄÅÊÓÔ×Ï×ÁÎÎÙÅ_ GS>>>> ÎÏÖËÉ, Á ÎÅ ×Ù×ÏÄÙ Ó ÎÁÄÐÉÓØÀ NC... AB>>> äÁ×ÁÊ. çÒÁÎÉÃÁ ÔÏ, ×ÓÅ ÒÁ×ÎÏ ÐÒÏÈÏÄÉÔ ÐÏ 32 ÎÏÇÁÍ. ;) GS>> HÅ ×ÉÖÕ ÓÍÙÓÌÁ ÓÞÉÔÁÔØ "ÐÕÓÔÙÅ" ÎÏÖËÉ. ôÏÌØËÏ Ó ÔÏÌËÕ ÓÂÉ×ÁÅÔ... AB> ÷ÏÔ É ÎÅ ÓÞÉÔÁÊ. ÷ 32-È ÎÏÇÉÈ AVR-ÁÈ ÚÁÄÅÊÓÔ×Ï×ÁÎÙ ×ÓÅ ÎÏÖËÉ.

÷ tiny? óÓÙÌÏÞËÕ, ÐÌÉÚ!

GS>>>> ëÁË ÍÏÖÅÔ È×ÁÔÉÔØ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ, ÅÓÌÉ AVR ÎÅ × ÓÏÓÔÏÑÎÉÉ GS>>>> ÆÏÒÍÉÒÏ×ÁÔØ ûéí Ó ÎÕÖÎÏÊ ÞÁÓÔÏÔÏÊ? AB>>> ïÂÁÌÄÅÔØ ËÒÉÔÅÒÉÊ. á ×ÏÔ ÐÒÅÄÓÔÁר ÓÅÂÅ - È×ÁÔÁÅÔ. GS>> äÌÑ _Ô×ÏÉÈ_ ÚÁÄÁÞ? ÷ÅÒÀ. AB> é ÄÌÑ ÍÎÏÇÉÈ ÄÒÕÇÉÈ.

äÁÌÅËÏ ÎÅ ÄÌÑ ×ÓÅÈ.

GS>>>> ëÏÇÄÁ Ô×ÏÊ ËÏÄ ÎÅ ×ÌÅÚÅÔ × ÐÁÍÑÔØ ÉÌÉ ÎÅ ÏÂÅÓÐÅÞÉÔ GS>>>> ÂÙÓÔÒÏÄÅÊÓÔ×ÉÅ, ÔÙ ÐÏÊͣÛØ, ÞÔÏ ÜÔÏ ÎÅ ÁÂÓÔÒÁËÃÉÑ, Á GS>>>> ÏÂßÅËÔÉ×ÎÁÑ ÒÅÁÌØÎÏÓÔØ... AB>>> ÷ÏÚØÍÕ ËÏÎÔÒÏÌÌÅÒ ÐÏÂÏÌØÛÅ. GS>> é ÂÕÄÅÛØ ×ÓÀ ÐÌÁÔÕ ÐÅÒÅÄÅÌÙ×ÁÔØ, ÐÏÔÏÍÕ ÞÔÏ ÎÏÖÅË ÂÕÄÅÔ ÇÏÒÁÚÄÏ GS>> ÂÏÌØÛÅ? AB> úÁÞÅÍ?

úÁÔÅÍ.

AB> ðÏÞÅÍÕ ÔÙ ÒÅÛÉÌ, ÞÔÏ Õ ÎÅÇÏ ÎÏÖÅË ÂÏÌØÛÅ? ïÂÙÞÎÏ ÅÓÔØ ÞÅÍ ÚÁÍÅÎÉÔØ × AB> ÔÏÍ ÖÅ ËÏÒÐÕÓÅ.

íÏÖÎÏ ÐÒÉÍÅÒ "ÍÅÇÉ" × 20-ÎÏÇÏÍ JEDEC ËÏÒÐÕÓÅ (ÎÅ ÔÒÅÂÕÅÔ ÕÈÉÝÒÅÎÉÊ ÐÒÉ ÍÏÎÔÁÖÅ)? õ×ÅÌÉÞÅÎÉÅ ÐÁÍÑÔÉ ÄÌÑ tiny26/2313. ïÞÅÎØ ÂÌÉÚËÉÊ ÐÒÉÍÅÒ ÄÌÑ PIC - ÍÏÖÎÏ ÓÐÅÒ×Á ÓÄÅÌÁÔØ ÕÓÔÒÏÊÓÔ×Ï ÎÁ PIC16F818 (18 ÎÏÖÅË, 1792 ÂÁÊÔÁ ÐÁÍÑÔÉ) É ÐÒÉ ÎÅÏÂÈÏÄÉÍÏÓÔÉ ÐÅÒÅÈÏÄÉÔØ ÎÁ "ÓÔÁÒÛÉÅ" PIC'É, Ë ÐÒÉÍÅÒÕ PIC18F1320 (18 ÎÏÖÅË, 8192 ÂÁÊÔÁ ÐÁÍÑÔÉ), ÐÒÁËÔÉÞÅÓËÉ ÂÅÚ ÉÚÍÅÎÅÎÉÊ ÔÅÈÐÒÏÃÅÓÓÁ ×ÙÐÕÓËÁ ÉÚÄÅÌÉÊ.

çÅÏÒÇÉÊ

Привет!

Fri Aug 06 2004 11:15, Harry Zhurov wrote to Alexander Golov:

...

HZ>>> А скоростной ШИМ у него чем обуславливается? 30-ю МГц что-ли?

AG>> "Output Compare" использует 30 МГц, "Motor Control", действительно AG>> использует один дополнительный бит в схемах сравнения, т.е. имеет AG>> разрешение 60 МГц.

HZ> Т.е. Time Base для ШИМ основано на частоте всего 30 МГц? Hу, тогда HZ> это ни в какое сравнение не идет с 150 МГц у TMS320F28xx! Вот мне надо HZ> иметь 12-битный ШИМ на частоте 25-30 кГц, как быть?

Лично я ниразу не использовал встроенные в МК ШИМ кроме как для тактирования различных внешних схем. А вообще по обстоятельствам. Скорее всего можно безболезнено урезать разрядность, можно ЦАП взять. Если тебе, скажем завтра

300 кГц (или 16 разрядов) сигнал понядобится, ты же не станешь 1,5 ГГц микроконтроллер искать, тем более что вряд ли в результате что-то путное получится (как впрочем, боюсь, и в случае 150 МГц).

...

HZ>>> По сравнению с тупым делением тактов на фиксированное число, HZ>>> конвейер - способ получить прирост ценой усложнения процессора.

AG>> Это слишком общий вывод, для вполне частного схемотехнического решения. AG>> Главное что здесь позволило резко поднять частоту да ещё и без AG>> катастрофического роста энергопотребления это использование тонкого AG>> низковольтового технологического процесса.

HZ> Это типовой путь всех ведущих сегодняшних производителей HZ> быстродействующих микрух - процессоров, ПЛИС и т.д. В этом нет ничего HZ> странного, это разумный и логичный путь.

Да ради бога, просто в целом значимость именно конвейера тут невелика.

HZ> Гораздо более горбато выглядят попытки Микрочипа загнать большие HZ> тактовые на высокие напряжения.

Если они способны решить схемотехнически задачу, которая другим даётся только технологически то это их козырь, почему же они не должны это использовать? А уж "горбато" или не "горбато" пусть рынок судит. Лично меня больше устраивают МК работающие в широком диапазоне питающих напряжений.

HZ> Сделай они dsPIC по низковольтной технологии, он бы жрал в разы меньше HZ> и вполне мог бы тягаться с 8-битками по потреблению.

Они и так вполне тягаются, но, естественно, не могут быть лучше потому что и

8-разрядным доступны все те же ухищрения. Только ни изготовители большинства других 8-разрядок, ни Microchip в рамках dsPIC30F не слишком активно прибегают к низковольтовым процессам, видимо не считая возможным терять соответствующую функциональность.

AG>> Коварство же конвейра прежде всего в существенной разнице между пиковой AG>> и минимальной производительностью. Работа на пределе возможностей МК AG>> становится затруднительной, приходится прибегать к существенным запасам, AG>> т.е. впустую расходовать ту саму производительность за которую боролись AG>> и на которую тратится масса энергии.

HZ> Сгущаешь краски. Все значительно проще - известно, что линейный код HZ> выполняется на скорости, близкой к предельной и только переходы HZ> подтормаживают. HZ> Hичего не мешает сделать более-менее достоверную оценку тому или иному HZ> куску кода.

И что дальше делать с этими оценками? Вот крутятся у меня на нижнем уровне десяток задач и выполняется десяток обработчиков прерываний разной приоритетности пару сотен тыс. раз в секунду. Вот попробуй оценить латентность для критичных обработчиков. Применительно к 2810 я не вижу другого способа как просуммировать самые наихудшие случаи и получить многие десятки циклов максимальной задержки (это если без REPEATE) и рассчитывать на это, зная что в реальной практике этот случай будет проявляться раз в месяц, а в среднем будет чуть ли не в десять раз меньше.

...

AG>>>> Там не всё так идеально. Скажем конвейер не позволит за 1 цикл в AG>>>> соседних командах записать, а потом прочитать что-то из памяти. AG>>>> Придётся ждать дополнительно 3 цикла.

HZ>>> Почему это? Это когда ты пишешь и читаешь ОДHУ и ТУ же ячейку (что HZ>>> на практике встречается редко - смысла в этом немного). А разные HZ>>> ячейки пожалуйста (что имеет место при работе с массивами).

AG>> Почему немного? Я конечно не знаю точно, я реальный код 2810 не видел, AG>> но по-моему, раз уж у МК есть достаточно развитая адресация к памяти в AG>> поле "destination", то логично и обращаться к сохранённым данным без AG>> лишних копирований в регистрах. Во всяком случае для PIC'ов это очень AG>> распространённые последовательности.

HZ> Hе представляю себе ситуации, когда записав данные в ячейку памяти, HZ> нужно тут же их из нее читать?!

Что значит записав? Я модифицировал какую-то переменную, при этом мне нужно это новое значение для дальнейших операций. Если не подразумевается, что это может понадобиться зачем вообще в командном наборе делать операции над памятью? Можно ограничиться MOV.

AG>>>> В адресации, разочаровывают слишком скромные возможности прямой AG>>>> адресации

HZ>>> Hормальные там возможности. Прямая адресация вообще самый HZ>>> неэффективный способ адресации (кроме PIC16).

AG>> Скромные, потому что адресуются лишь 64 слова.

HZ> Во-первых, прямой адресации в TMS320F28xx в чистом виде нет. То, что HZ> у них называется прямой адресацией - это в точности, как у PIC16/18 - HZ> загрузка адреса страницы, потом обращение по более короткому смещению - HZ> т.е. разновидность косвенной адресации. А прямая адресация - это, HZ> например, AVR'овское lds/sts.

Это не адресация это конкретная команда MOV, такая и у PIC18 есть. А адресация это когда как операнд в различных командах. Я же имею ввиду адекватность адресации реальным задачам. У PIC18 и dsPIC30F прямая адресация не накрывает всю память данных, но она практически полностью снимает проблему адресации к SFR'ам и статическим переменным без каких-либо префиксных операций.

HZ> Эта разновидность косвенной адресации эффективна при работе с HZ> агрегатными типами (структуры/классы/массивы) и для такой адресации 64 HZ> слова достаточно.

Не похоже что она была изначально придумана для этого. В таком случае DP должен бы был не замещать старшие разряды, а суммироваться с прямым адресом. А так получается, что могут адресоваться лишь выровненные по 64 слова структуры данных.

HZ> В AVR вот тоже 64 байта доступно при ldd/std (самый HZ> эффективный способ адресации в AVR), и я не помню, чтобы смещения не HZ> хватало.

Вот у AVR это действительно вполне нормальная косвенная адресация со смещением, правда как всегда только в виде одной операции -- MOV.

AG>> А что может быть нэффективного в прямой адресации я вообще не понял.

HZ> ??? Здрасьте!.. Hеэффективно то, что при каждом обращении приходится HZ> тащить ВЕСЬ адрес, который в опкоде занимает бОльшую часть.

Ну занимает и что? Команду же на две не поделишь всё равно что декремент регистра, что переменной будет занимать один целый опкод.

HZ> А когда адресное пространство большое, то это вообще сплошная HZ> неэффективность.

Я не нахожу в dsPIC30F потерь эффективности всвязи с этим.

HZ> Поэтому и рулят всякие аппаратные поинтеры, адресные генераторы, чтобы HZ> эффективность при адресации поднять до максимума.

Ну одно другому не мешает.

...

AG>> Что loc16(32) не может быть и слева и справа. Обязательно с одной AG>> стороны регистр в крайнем случае прямой адрес.

HZ> А, понял. Т.е. ты хочешь иметь команду с супернеэффективной HZ> адресацией - мало того, что прямой, но еще и прямой для обоих операндов - HZ> чтобы в одном опкоде тащить оба здоровенных непосредственных адреса!

Нет. Я говорю об общем случае loc16 и loc32, а это любой способ адресации предоставляемый 2810, не только прямую но и все варианты косвенной, циклической, по стеку. Мне кажется логичным иметь такие операнды с обеих сторон операции без необходимости промежуточного хранения в регистре.

HZ> Даром не надо!! Для достижения того же результата можно использовать две HZ> команды. Эффективность будет не хуже. А лучше все-таки использовать HZ> указатели, как например:

HZ> mov *xar7++,ACC

Я имел ввиду что-нибудь вроде:

mov *xar7++, xar6++

...

HZ>>> Да, если бы программа состояла только из переходов, то это было бы HZ>>> так. Hо, к счастью, в программах кроме переходов есть еще много чего.

AG>> А для кого-то к несчастью в критичном цикле на десяток команд пара AG>> переходов будет занимать больше времени чем все остальные команды вместе AG>> взятые. Есть какое-то болезненное несоответствие: 1 цикл занимает AG>> навороченный MAC и 4/7 -- примитивный переход.

HZ> Экак ты переходы уделал! Изменение потока выполнения программы вообще HZ> и переход в частности - это не примитивное действие. Оно связано с HZ> изменением контекста выполнения программы (вопрос только, в чем этот HZ> контекст). И навороченный MAC тут ничем не сложнее - это просто загрузка HZ> аппаратного узла процессора данными, не более того. Переходы всегда были HZ> и есть болезненной процедурой в смысле производительности. Даже HZ> примитивный до предела PIC16 и тот тратит на переход 2 цикла. Hо тебя не HZ> смущает, что АЛУшные операции, которые суть математика в железе, HZ> выполняются там за один цикл, а примитивный переход - два!

Не смущает потому что мне достоверно известно, что это не выполнение за 2 цикла, а ожидание выборки из медленной программной памяти. У 2810 не тот случай, за ожидание там берут ещё 5 дополнительных wait-state'ов.

HZ> Процессоров, у HZ> которых переход выполняется за один цикл, по пальцам можно пересчитать. Я HZ> знаю только ADSP-21xx, TigerSHARC и Xemics. У первых двух это HZ> обеспечивается очень нетривиальным (особенно у Тигрошарка) автоматом HZ> управления потоком выполнения программы (Program Sequencer), у Xemics'а HZ> просто производительность низкая, они там внутри имеют достаточно HZ> времени, чтобы в одном такте успеть считать опкод по новому адресу и HZ> успеть выполнить его.

...

AG>>>> Иногда он может отстать даже по абсолютным показателям. Hапример, при AG>>>> последовательном выполнении операций над отдельными линиями порта в AG>>>> лучшем случае изменение состояния будет происходить раз в 6 циклов,

...

HZ>>> ! MOV @_GpioDataRegs+19,AL ; |121|

HZ>>> Смотрю по скопу - времена между положительным и отрицательным HZ>>> фронтом импульса - 6.67 нс. Т.е. всего ОДИH (!) такт. И это при HZ>>> последовательном обращении в ту же ячейку!

AG>> Согласен, я не знал про особенности реализации доступа к портам у 2810, AG>> можно сказать, что разработчики весьма искуссно заткнули эту дыру.

HZ> Какие особенности? Какую дыру? Тут обыкновенное обращение к ячейке HZ> памяти, не более. И занимает оно, как положено, один такт.

Оперирование битом требует двух обращений к памяти. И у 2810 эти обращения к портам делает не ядро, а специальный периферийный автомат, ядро обращается к нему только один раз по записи. Если бы бит перебрасывало ядро (скажем командами XOR loc16,#16bit), то были бы те самые 6 циклов.

...

AG>>>> Собственно информации о реальной загрузке 2810 для приведённых условий AG>>>> у нас тоже нет...

HZ>>> Там прямо сказано, что "The hardware multiplier is exercised.". А HZ>>> это означает, что ядро маслает на полной загрузке...

AG>> Hет там такой информации. Hе может быть одновременно 100% загружен AG>> умножитель и вся периферия. Что-то в какие-то моменты времени стоит и в AG>> учёте не участвует.

HZ> Да почему же? Умножитель мечет MAC'и. В цикле. По шинам к нему данные HZ> поступают - по два операнда за такт. А таймеры себе маслают на полной HZ> скорости и логика сравнения формирует ШИМы. Что там стоит? HZ> Последовательные порты? Да, согласен, для их загрузки надо прерваться, HZ> чтобы закинуть им данные. Это делается один раз на 16 слов, т.ч. в HZ> основном умножитель занят основной работой.

Но там всё таки немножко больше периферии чем два SCI и ШИМы. Есть SPI, ещё какой-то последовательный порт, CAN, АЦП. Был бы код, можно было бы обсуждать, а так приходится делать догадки.

...

HZ>>> Что-то я не понял! У dsPIC АЦП максимум может 100 киловыборок в HZ>>> секунду делать. Как это ты умудряешься с него 400 получать?

AG>> Это у "General Purpose and Sensor Families" 12-разрядный 100 KSPS АЦП. У AG>> "Motor Control and Power Conversion Family", к которой относится AG>> dsPIC30F2010 АЦП 10-разрядный 500 KSPS.

HZ> Понятно. А если потребуется 12 разрядов? Или 600 KSPS? Что ты делать HZ> будешь? Это все-таки маргинальные случаи.

Достижение предельного практически всегда маргинально ну и что?

12 разрядов мне вряд ли когда-нибудь понадобятся: даже 10 разрядов в такой полосе частот от нихромовых тензодатчиков, работающих при температурах до 1000 С, уже крайне нетревиально. А частоту я выбираю такую, до какой могу дотянуться: был PIC18F2331 было 200 KSPS, появился dsPIC30F хочу попробовать 400 KSPS.

HZ> А в случае 12 разрядов HZ> MSP430F16x вполне порулит - он может оцифровывать 12-разрядные данные на HZ> 200 KSPS с 8 каналов, записывать их в память, и с помощью DMA отправлять HZ> эти данные на последовательный канал. Hадо только согласовать скорость HZ> сэмплинга со скоростью DMA контроллера. Это легко достигается путем HZ> организации запуска АЦП и DMA от одного таймера, благо Capture/Compare HZ> модулей там достаточно (3 на одном таймере и 7 на другом). Все это будет HZ> делаться вообще почти без участия процессора, а потребление у MSP430 HZ> какое, сам знаешь (при том, что CPU тут вообще может спать).

Прежде всего, задача на 200 KSPS решается на PIC18 без DMA и тут не нужен dsPIC30F.

Теперь по поводу MSP430. Я конечно рассматривал их и тут первая проблема это скорость канала. У PIC18 UART позволяет вести обмен на скорости 2,5 Мбод (на меньшей 200 KSPS не передать, там нужен ещё обратный канал управления), насколько я разобрался, MSP это не под силу. Вариант -- использовать SPI (он наверное сможет обмениваться на повышенной частоте?), но он потребует внешнего кодека для обмена по оптике. Зачем я буду это делать эти непростые навороты на dsPIC30F я понимаю, ради 400 KSPS, а на MSP это чистые доп. затраты. И конечно же соединить DMA-каналом АЦП и последовательный канал (а ядру спать) не суждено. DMA-канал может только буферировать данные в ОЗУ, а ядро должно преобразовывать 10...12-разрядные данные в байтовые дельты, упаковывать их в блоки, включать туда дополнительную информацию (вроде напряжения батареи, температуры прибора), считать контрольные суммы. Необходимо принимать данные обратного канала, выполнять команды, переключать режимы работы, управлять мультиплексорами.

HZ> Поэтому подгонка задачи под возможности кристалла - не очень HZ> корректно для сравнения возможностей. Всегда найдется задача, которая HZ> ляжет на более убогий МК лучше, чем на более крутой.

В смысле "подгонка задачи"? Объём решаемой задачи (частота сэмплинга) действительно ограничен кристаллом. Выходят новые кристаллы с новыми возможностями и я расширяю рамки. А как ещё может быть? Снизить требования к частоте до 25 кГц и обнаружить, что целая куча МК без труда сможет её решить? И какой в этом смысл?

...

HZ> Это кому как. Ты с ним уже повозился, тебе понятно многое из того, HZ> что мне не понятно. А я вот с TMS320F28xx повозился, и мне сейчас тоже HZ> многое понятно и не пугают многие вещи, которых я поначалу опасался...

HZ> К примеру, чем шить dsPIC?

У меня Microchip'овский PRO MATE II с модулем ICSP. Там поддержка появляется раньше чем становятся доступы кристаллы.

AG>> Hапротив, применение TMS320F28x в приборах которые мы разрабатывали в AG>> последние годы (даже исключая микропотребляющие) будет похоже на AG>> катастрофу.

HZ> Почему? Если он избыточен, то это другое дело, но при чем тут HZ> катастрофа?

AG>> И сложность питания и его масштабы и сложность монтажа.

HZ> Сложность питания выливается в применение, например, TPS767D301, HZ> который есть сдвоенный лоудроп с функцией разрешения и супервизорами. И HZ> еще один транзистор и два резистора к нему для организации очередности HZ> подачи питания.

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

HZ> Я не понимаю, почему, например, Altera в своих ПЛИСах HZ> может сделать произвольным порядок подачи питания, а ТИ нет. Hо в HZ> конечном итоге особых проблем это не создает. Этот момент осваивается HZ> один раз и больше к нему не возвращаются.

Я Altera применял последний раз году, кажется в 97-м. Я тех пор ниразу, жрут они по меркам моих задач чрезмерно.

AG>> Hужна серьёзная мотивация чтобы идти на всё это.

HZ> Мотивация, на самом деле, в основном определяется привычкой и HZ> предпочтениями.

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

HZ> У меня между MSP430 и TMS320F28xx нет задач. Hижний пласт HZ> накрывает MSP430 (или накрайняк AVR), верхний - TMS320F28xx.

В общем-то я вне вот этой задачи пока dsPIC30F применять не планирую. Но тем кому нужна производительность уровня максимума PIC18 и до порядка вдвое выше, особенно при 3-вольтовом питании рекомендую присмотреться.

Wed, 11 Aug 2004 22:08:44 +0000 (UTC) Alexander Golov wrote to Harry Zhurov:

AG>>> "Output Compare" ÉÓÐÏÌØÚÕÅÔ 30 íçÃ, "Motor Control", ÄÅÊÓÔ×ÉÔÅÌØÎÏ AG>>> ÉÓÐÏÌØÚÕÅÔ ÏÄÉÎ ÄÏÐÏÌÎÉÔÅÌØÎÙÊ ÂÉÔ × ÓÈÅÍÁÈ ÓÒÁ×ÎÅÎÉÑ, Ô.Å. ÉÍÅÅÔ AG>>> ÒÁÚÒÅÛÅÎÉÅ 60 íçÃ.

HZ>> ô.Å. Time Base ÄÌÑ ûéí ÏÓÎÏ×ÁÎÏ ÎÁ ÞÁÓÔÏÔÅ ×ÓÅÇÏ 30 íçÃ? HÕ, ÔÏÇÄÁ HZ>> ÜÔÏ ÎÉ × ËÁËÏÅ ÓÒÁ×ÎÅÎÉÅ ÎÅ ÉÄÅÔ Ó 150 íçÃ Õ TMS320F28xx! ÷ÏÔ ÍÎÅ ÎÁÄÏ HZ>> ÉÍÅÔØ 12-ÂÉÔÎÙÊ ûéí ÎÁ ÞÁÓÔÏÔÅ 25-30 ËçÃ, ËÁË ÂÙÔØ?

AG> ìÉÞÎÏ Ñ ÎÉÒÁÚÕ ÎÅ ÉÓÐÏÌØÚÏ×ÁÌ ×ÓÔÒÏÅÎÎÙÅ × íë ûéí ËÒÏÍÅ ËÁË ÄÌÑ AG> ÔÁËÔÉÒÏ×ÁÎÉÑ ÒÁÚÌÉÞÎÙÈ ×ÎÅÛÎÉÈ ÓÈÅÍ.

óÏÂÓÔ×ÅÎÎÏ, ûéí ÎÅ ÄÌÑ ÜÔÏÇÏ, ËÁË ÔÙ ÚÎÁÅÛØ. é ÄÌÑ ÔÁËÔÉÒÏ×ÁÎÉÑ ÓÏÂÓÔ×ÅÎÎÏ ÛÉÒÏÔÎÏ-ÉÍÐÕÌØÓÎÁÑ ÍÏÄÕÌÑÃÉÑ ÎÅ ÎÕÖÎÁ. äÌÑ ÜÔÏÇÏ ÄÏÓÔÁÔÏÞÎÏ Output Compare, ÞÔÏ ÅÓÔØ ×Ï ×ÓÅÈ ÐÒÉÌÉÞÎÙÈ íë ÓÅÇÏÄÎÑ.

AG> á ×ÏÏÂÝÅ ÐÏ ÏÂÓÔÏÑÔÅÌØÓÔ×ÁÍ. óËÏÒÅÅ ×ÓÅÇÏ ÍÏÖÎÏ ÂÅÚÂÏÌÅÚÎÅÎÏ ÕÒÅÚÁÔØ AG> ÒÁÚÒÑÄÎÏÓÔØ,

îÅÔ, ÎÅ ÂÅÚÂÏÌÅÚÎÅÎÎÏ! îÁÄÏ 12 ÒÁÚÒÑÄÏ× ÉÌÉ ÏËÏÌÏ ÔÏÇÏ.

AG> ÍÏÖÎÏ ãáð ×ÚÑÔØ.

áÇÁ É Õ×ÅÌÉÞÉÔØ É ÃÅÎÕ, É ÓÌÏÖÎÏÓÔØ. îÏ × ÍÏÅÍ ÓÌÕÞÁÅ É ãáð ÎÅ × ÔÅÍÕ - ÕÐÒÁ×ÌÅÎÉÅ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ Ä×ÉÇÁÔÅÌÅÍ, ÇÄÅ ÕÓÒÅÄÎÅÎÉÅ ÐÒÏÉÚ×ÏÄÉÔÓÑ ÎÁ ÉÎÄÕËÔÉ×ÎÏÓÔÉ ÏÂÍÏÔËÉ.

AG> åÓÌÉ ÔÅÂÅ, ÓËÁÖÅÍ ÚÁ×ÔÒÁ 300 Ëçà (ÉÌÉ 16 ÒÁÚÒÑÄÏ×) ÓÉÇÎÁÌ ÐÏÎÑÄÏÂÉÔÓÑ, ÔÙ AG> ÖÅ ÎÅ ÓÔÁÎÅÛØ 1,5 ççà ÍÉËÒÏËÏÎÔÒÏÌÌÅÒ ÉÓËÁÔØ,

÷ÒÑÄ ÌÉ ÐÏÎÁÄÏÂÉÔÓÑ - ÚÁÄÁÞÁ: ÕÐÒÁ×ÌÑÔØ ÍÏÍÅÎÔÎÙÍ Ä×ÉÇÁÔÅÌÅÍ, ÐÏÓÔÏÑÎÎÁÑ ×ÒÅÍÅÎÉ ÐÏÒÑÄËÁ 100 ÍËÓ, ÕÇÌÏ×ÏÅ ÒÁÚÒÅÛÅÎÉÅ 10-20 ÓÅËÕÎÄ. ðÏ ÏÃÅÎËÁÍ ÎÁÄÏ ÐÒÉÍÅÒÎÏ 11-12 ÂÉÔ ÒÁÚÒÅÛÅÎÉÑ É ÞÁÓÔÏÔÁ 20-30 Ëçà (ÏÐÒÅÄÅÌÑÅÔÓÑ ÐÏÓÔÏÑÎÎÏÊ ×ÒÅÍÅÎÉ Ä×ÉÇÁÔÅÌÑ). ôÕÔ TMS320F28xx ÏÞÅÎØ ÈÏÒÏÛÏ ÐÏÄÈÏÄÉÔ ÓÏ Ó×ÏÉÍÉ 150 íçÃ. âÏÌØÛÅÅ ÚÎÁÞÅÎÉÅ ×ÒÑÄ ÌÉ ÎÅÏÂÈÏÄÉÍÏ, Ô.Ë. ÐÏÓÔÏÑÎÎÁÑ ×ÒÅÍÅÎÉ Ä×ÉÇÁÔÅÌÑ É ÔÁË ÍÁÌÁ, ÍÅÎØÛÅ ÏÎÁ ÕÖÅ ÎÅ ÂÕÄÅÔ. é ÂÏÌØÛÅÅ ÕÇÌÏ×ÏÅ ÒÁÚÒÅÛÅÎÉÅ ÐÒÉ ÔÒÅÂÕÅÍÏÊ ÄÉÎÁÍÉËÅ ÔÏÖÅ ÔÒÕÄÎÏÄÏÓÔÉÖÉÍÏ (ÐÏÌÕÞÉÔØ ÂÙ ÜÔÏ), Ô.Þ. íë ÜÔÏÔ Ó×ÏÉÍÉ ×ÏÚÍÏÖÎÏÓÔÑÍÉ ÌÅÖÉÔ ÇÄÅ-ÔÏ ×ÏÚÌÅ ×ÅÒÈÎÅÊ ÇÒÁÎÉÃÙ ÐÒÉÍÅÎÉÍÏÓÔÉ.

AG> ÔÅÍ ÂÏÌÅÅ ÞÔÏ ×ÒÑÄ ÌÉ × ÒÅÚÕÌØÔÁÔÅ ÞÔÏ-ÔÏ ÐÕÔÎÏÅ ÐÏÌÕÞÉÔÓÑ (ËÁË ×ÐÒÏÞÅÍ, AG> ÂÏÀÓØ, É × ÓÌÕÞÁÅ 150 íçÃ).

[...]

HZ>> óÄÅÌÁÊ ÏÎÉ dsPIC ÐÏ ÎÉÚËÏ×ÏÌØÔÎÏÊ ÔÅÈÎÏÌÏÇÉÉ, ÏÎ ÂÙ ÖÒÁÌ × ÒÁÚÙ ÍÅÎØÛÅ HZ>> É ×ÐÏÌÎÅ ÍÏÇ ÂÙ ÔÑÇÁÔØÓÑ Ó 8-ÂÉÔËÁÍÉ ÐÏ ÐÏÔÒÅÂÌÅÎÉÀ.

AG> ïÎÉ É ÔÁË ×ÐÏÌÎÅ ÔÑÇÁÀÔÓÑ, ÎÏ, ÅÓÔÅÓÔ×ÅÎÎÏ, ÎÅ ÍÏÇÕÔ ÂÙÔØ ÌÕÞÛÅ ÐÏÔÏÍÕ ÞÔÏ AG> É 8-ÒÁÚÒÑÄÎÙÍ ÄÏÓÔÕÐÎÙ ×ÓÅ ÔÅ ÖÅ ÕÈÉÝÒÅÎÉÑ.

ôÅÍ ÎÅ ÍÅÎÅÅ 16-ÒÁÚÒÑÄÎÙÊ MSP430 × ÜÔÏÍ ×ÏÐÒÏÓÅ ÄÅÌÁÅÔ ÉÈ ×ÓÅÈ Ó ÔÁËÉÍ ÏÔÒÙ×ÏÍ, ÞÔÏ Ï ÜÔÏÍ ÄÁÖÅ ÇÏ×ÏÒÉÔØ ÎÅ ÐÒÉÈÏÄÉÔÓÑ! [...]

HZ>> óÇÕÝÁÅÛØ ËÒÁÓËÉ. ÷ÓÅ ÚÎÁÞÉÔÅÌØÎÏ ÐÒÏÝÅ - ÉÚ×ÅÓÔÎÏ, ÞÔÏ ÌÉÎÅÊÎÙÊ ËÏÄ HZ>> ×ÙÐÏÌÎÑÅÔÓÑ ÎÁ ÓËÏÒÏÓÔÉ, ÂÌÉÚËÏÊ Ë ÐÒÅÄÅÌØÎÏÊ É ÔÏÌØËÏ ÐÅÒÅÈÏÄÙ HZ>> ÐÏÄÔÏÒÍÁÖÉ×ÁÀÔ. HZ>> HÉÞÅÇÏ ÎÅ ÍÅÛÁÅÔ ÓÄÅÌÁÔØ ÂÏÌÅÅ-ÍÅÎÅÅ ÄÏÓÔÏ×ÅÒÎÕÀ ÏÃÅÎËÕ ÔÏÍÕ ÉÌÉ ÉÎÏÍÕ HZ>> ËÕÓËÕ ËÏÄÁ.

AG> é ÞÔÏ ÄÁÌØÛÅ ÄÅÌÁÔØ Ó ÜÔÉÍÉ ÏÃÅÎËÁÍÉ? ÷ÏÔ ËÒÕÔÑÔÓÑ Õ ÍÅÎÑ ÎÁ ÎÉÖÎÅÍ ÕÒÏ×ÎÅ AG> ÄÅÓÑÔÏË ÚÁÄÁÞ É ×ÙÐÏÌÎÑÅÔÓÑ ÄÅÓÑÔÏË ÏÂÒÁÂÏÔÞÉËÏ× ÐÒÅÒÙ×ÁÎÉÊ ÒÁÚÎÏÊ AG> ÐÒÉÏÒÉÔÅÔÎÏÓÔÉ ÐÁÒÕ ÓÏÔÅÎ ÔÙÓ. ÒÁÚ × ÓÅËÕÎÄÕ. ÷ÏÔ ÐÏÐÒÏÂÕÊ ÏÃÅÎÉÔØ AG> ÌÁÔÅÎÔÎÏÓÔØ ÄÌÑ ËÒÉÔÉÞÎÙÈ ÏÂÒÁÂÏÔÞÉËÏ×.

á ÞÔÏ ÔÁËÏÅ "ËÒÉÔÉÞÎÙÊ ÏÂÒÁÂÏÔÞÉË"? âÅÚ ÞÅÔËÏÇÏ ÐÏÎÉÍÁÎÉÑ ÜÔÏÇÏ ÔÒÕÄÎÏ ÏÔ×ÅÔÉÔØ ËÏÎËÒÅÔÎÏ. é ËÁËÁÑ ÄÏÌÖÎÁ ÂÙÔØ ÌÁÔÅÎÔÎÏÓÔØ É ÐÏÞÅÍÕ?

AG>>>>> ôÁÍ ÎÅ ×ӣ ÔÁË ÉÄÅÁÌØÎÏ. óËÁÖÅÍ ËÏÎ×ÅÊÅÒ ÎÅ ÐÏÚ×ÏÌÉÔ ÚÁ 1 ÃÉËÌ × AG>>>>> ÓÏÓÅÄÎÉÈ ËÏÍÁÎÄÁÈ ÚÁÐÉÓÁÔØ, Á ÐÏÔÏÍ ÐÒÏÞÉÔÁÔØ ÞÔÏ-ÔÏ ÉÚ ÐÁÍÑÔÉ. AG>>>>> ðÒÉģÔÓÑ ÖÄÁÔØ ÄÏÐÏÌÎÉÔÅÌØÎÏ 3 ÃÉËÌÁ.

HZ>>>> ðÏÞÅÍÕ ÜÔÏ? üÔÏ ËÏÇÄÁ ÔÙ ÐÉÛÅÛØ É ÞÉÔÁÅÛØ ïäHõ É ôõ ÖÅ ÑÞÅÊËÕ (ÞÔÏ HZ>>>> ÎÁ ÐÒÁËÔÉËÅ ×ÓÔÒÅÞÁÅÔÓÑ ÒÅÄËÏ - ÓÍÙÓÌÁ × ÜÔÏÍ ÎÅÍÎÏÇÏ). á ÒÁÚÎÙÅ HZ>>>> ÑÞÅÊËÉ ÐÏÖÁÌÕÊÓÔÁ (ÞÔÏ ÉÍÅÅÔ ÍÅÓÔÏ ÐÒÉ ÒÁÂÏÔÅ Ó ÍÁÓÓÉ×ÁÍÉ).

AG>>> ðÏÞÅÍÕ ÎÅÍÎÏÇÏ? ñ ËÏÎÅÞÎÏ ÎÅ ÚÎÁÀ ÔÏÞÎÏ, Ñ ÒÅÁÌØÎÙÊ ËÏÄ 2810 ÎÅ ×ÉÄÅÌ, AG>>> ÎÏ ÐÏ-ÍÏÅÍÕ, ÒÁÚ ÕÖ Õ íë ÅÓÔØ ÄÏÓÔÁÔÏÞÎÏ ÒÁÚ×ÉÔÁÑ ÁÄÒÅÓÁÃÉÑ Ë ÐÁÍÑÔÉ × AG>>> ÐÏÌÅ "destination", ÔÏ ÌÏÇÉÞÎÏ É ÏÂÒÁÝÁÔØÓÑ Ë ÓÏÈÒÁΣÎÎÙÍ ÄÁÎÎÙÍ ÂÅÚ AG>>> ÌÉÛÎÉÈ ËÏÐÉÒÏ×ÁÎÉÊ × ÒÅÇÉÓÔÒÁÈ. ÷Ï ×ÓÑËÏÍ ÓÌÕÞÁÅ ÄÌÑ PIC'Ï× ÜÔÏ ÏÞÅÎØ AG>>> ÒÁÓÐÒÏÓÔÒÁΣÎÎÙÅ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ.

HZ>> HÅ ÐÒÅÄÓÔÁ×ÌÑÀ ÓÅÂÅ ÓÉÔÕÁÃÉÉ, ËÏÇÄÁ ÚÁÐÉÓÁ× ÄÁÎÎÙÅ × ÑÞÅÊËÕ ÐÁÍÑÔÉ, HZ>> ÎÕÖÎÏ ÔÕÔ ÖÅ ÉÈ ÉÚ ÎÅÅ ÞÉÔÁÔØ?!

AG> þÔÏ ÚÎÁÞÉÔ ÚÁÐÉÓÁ×? ñ ÍÏÄÉÆÉÃÉÒÏ×ÁÌ ËÁËÕÀ-ÔÏ ÐÅÒÅÍÅÎÎÕÀ, ÐÒÉ ÜÔÏÍ ÍÎÅ ÎÕÖÎÏ AG> ÜÔÏ ÎÏ×ÏÅ ÚÎÁÞÅÎÉÅ ÄÌÑ ÄÁÌØÎÅÊÛÉÈ ÏÐÅÒÁÃÉÊ.

îÕ É × ÞÅÍ ÐÒÏÂÌÅÍÁ-ÔÏ? íÏÄÉÆÉËÁÃÉÑ ÐÅÒÅÍÅÎÎÏÊ ÐÒÏÉÚ×ÏÄÉÔÓÑ × ÒÅÇÉÓÔÒÅ, Á ÎÅ × ÐÁÍÑÔÉ - × ÐÁÍÑÔÉ ÏÎÁ ÔÏÌØËÏ ÈÒÁÎÉÔÓÑ. ôÁË ×ÏÔ, ÓÞÉÔÁÌ ÐÅÒÅÍÅÎÎÕÀ × ÒÅÇÉÓÔÒ, ÍÏÄÉÆÉÃÉÒÏ×ÁÌ ÅÅ, ÚÁÐÉÓÁÌ × ÐÁÍÑÔØ. îÏ × ÒÅÇÉÓÔÒÅ-ÔÏ ÏÎÁ ÏÔ ÜÔÏÇÏ ÎÅ ÉÓÐÏÒÔÉÌÁÓØ - ÉÓÐÏÌØÚÕÊ ÎÁ ÚÄÏÒÏרŠÓËÏÌØËÏ ×ÌÅÚÅÔ. úÁÞÅÍ ÅÅ ÉÚ ÐÁÍÑÔÉ-ÔÏ ÞÉÔÁÔØ? üÔÏ ÖÅ ÎÅ PIC16 ÕÂÏÇÉÊ, ÇÄÅ ×ÓÅ × ÐÁÍÑÔÉ ÈÒÁÎÉÔÓÑ É ÎÕÖÎÏ ÐÏÜÔÏÍÕ ÔÏÌØËÏ Ó ÎÅÊ É ÒÁÂÏÔÁÔØ ÐÏÓÔÏÑÎÎÏ. ðÁÍÑÔØ - ÄÌÑ ÈÒÁÎÅÎÉÑ. òÅÇÉÓÔÒÙ - ÄÌÑ ÒÁÂÏÔÙ. ôÁË ÕÓÔÒÏÅÎ TMS320F28xx (ÒÁ×ÎÏ ËÁË É AVR, É ÍÎÏÇÉÅ ÄÒÕÇÉÅ ÐÒÏÃÅÓÓÏÒÙ), ÈÏÔÑ É ÏÎ ÄÏÐÕÓËÁÅÔ ÏÐÅÒÁÃÉÉ Ó ÐÁÍÑÔØÀ. ôÙ ÓÌÉÛËÏÍ ÍÎÏÇÏ ÒÁÂÏÔÁÌ Ó PIC'ÁÍÉ - ÜÔÏ ÎÁÌÏÖÉÌÏ ÏÔÐÅÞÁÔÏË ÎÁ ÏÂÒÁÚ Ô×ÏÉÈ ÍÙÓÌÅÊ. :) îÁÄÏ ÌÏÍÁÔØ ÓÔÅÒÅÏÔÉÐÙ... éÌÉ ÐÒÅÄÌÏÖÉ ÒÅÁÌØÎÙÊ ËÏÄ, ÇÄÅ ÅÓÔØ ÎÁÓÔÏÑÔÅÌØÎÁÑ ÎÅÏÂÈÏÄÉÍÏÓÔØ ÚÁÐÉÓÁÔØ ÐÅÒÅÍÅÎÎÕÀ × ÐÁÍÑÔØ É ÔÕÔ ÖÅ ÓÎÏ×Á ÉÚ ÎÅÅ ÞÉÔÁÔØ (äÌÑ ÐÒÏÃÅÓÓÏÒÁ Ó ÒÁÂÏÞÉÍÉ ÒÅÇÉÓÔÒÁÍÉ É ÐÁÍÑÔØÀ ÄÌÑ ÈÒÁÎÅÎÉÑ, ËÁËÉÍ Ñ×ÌÑÅÔÓÑ É TMS320F28xx)?

AG> åÓÌÉ ÎÅ ÐÏÄÒÁÚÕÍÅ×ÁÅÔÓÑ, ÞÔÏ ÜÔÏ ÍÏÖÅÔ ÐÏÎÁÄÏÂÉÔØÓÑ ÚÁÞÅÍ ×ÏÏÂÝÅ × AG> ËÏÍÁÎÄÎÏÍ ÎÁÂÏÒÅ ÄÅÌÁÔØ ÏÐÅÒÁÃÉÉ ÎÁÄ ÐÁÍÑÔØÀ? íÏÖÎÏ ÏÇÒÁÎÉÞÉÔØÓÑ MOV.

á ÏÐÅÒÁÃÉÉ ÎÁÄ ÐÁÍÑÔØÀ - ÜÔÏ É ÅÓÔØ mov! ðÁÍÑÔØ - ÜÔÏ ÈÒÁÎÉÌÉÝÅ, Á ÄÌÑ ÈÒÁÎÉÌÉÝÁ ÏÂßÅËÔÉ×ÎÏ ÎÅÏÂÈÏÄÉÍÙ ÔÏÌØËÏ ÏÐÅÒÁÃÉÉ ×ÉÄÁ "ÐÏÌÏÖÉÔØ ×" É "ÉÚ×ÌÅÞØ ÉÚ". åÓÌÉ ÅÓÔØ ÅÝÅ ÞÔÏ-ÔÏ, ÔÏ ÜÔÏ ÈÒÁÎÉÌÉÝÅ ÕÖÅ ÎÅ ÈÒÁÎÉÌÉÝÅ × ÞÉÓÔÏÍ ×ÉÄÅ, Á ÅÝÅ É ÎÅÞÔÏ ÉÎÏÅ. îÁÄ ÔÏÂÏÊ ÄÏ×ÌÅÅÔ ×ÓÅ ÔÁ ÖÅ PIC'Ï×ËÁÑ ÉÄÅÏÌÏÇÉÑ, ÇÄÅ ÐÁÍÑÔØ - ÂÏÌØÛÅ ÒÅÇÉÓÔÒÏ×ÙÊ ÆÁÊÌ, ÎÅÖÅÌÉ ÐÁÍÑÔØ. çÄÅ ÉÚ-ÚÁ ÏÔÓÕÔÓÔ×ÉÑ ÒÁÂÏÞÉÈ ÒÅÇÉÓÔÒÏ× ÉÈ ÆÕÎËÃÉÑ ×ÙÎÅÓÅÎÁ ÎÁ ÕÒÏ×ÅÎØ ÓÔÒÁÎÉÃÙ ïúõ. ÷ ÓÌÕÞÁÅ Ó PIC'ÏÍ ÜÔÏ ÐÒÏÈÏÄÉÔ - ÔÁÍ ÐÁÍÑÔÉ ÍÁÌÏ. îÏ × ÂÏÌÅÅ ÔÏÌÓÔÙÈ ÁÒÈÉÔÅËÔÕÒÁÈ Ó ÂÏÌØÛÉÍ ÌÉÎÅÊÎÙÍ ÁÄÒÅÓÎÙÍ ÐÒÏÓÔÒÁÎÓÔ×ÏÍ ÜÔÏÔ ÐÏÄÈÏÄ ÕÖÅ ÎÅ ÒÕÌÉÔ, Á ÎÁ ÐÅÒ×ÏÅ ÍÅÓÔÏ ×ÙÈÏÄÑÔ load/store ÁÒÈÉÔÅËÔÕÒÙ Ó ÒÁÚ×ÉÔÙÍÉ ÓÒÅÄÓÔ×ÁÍÉ ËÏÓ×ÅÎÎÏÊ ÁÄÒÅÓÁÃÉÉ.

AG>>>>> ÷ ÁÄÒÅÓÁÃÉÉ, ÒÁÚÏÞÁÒÏ×Ù×ÁÀÔ ÓÌÉÛËÏÍ ÓËÒÏÍÎÙÅ ×ÏÚÍÏÖÎÏÓÔÉ ÐÒÑÍÏÊ AG>>>>> ÁÄÒÅÓÁÃÉÉ

HZ>>>> HÏÒÍÁÌØÎÙÅ ÔÁÍ ×ÏÚÍÏÖÎÏÓÔÉ. ðÒÑÍÁÑ ÁÄÒÅÓÁÃÉÑ ×ÏÏÂÝÅ ÓÁÍÙÊ HZ>>>> ÎÅÜÆÆÅËÔÉ×ÎÙÊ ÓÐÏÓÏ ÁÄÒÅÓÁÃÉÉ (ËÒÏÍÅ PIC16).

AG>>> óËÒÏÍÎÙÅ, ÐÏÔÏÍÕ ÞÔÏ ÁÄÒÅÓÕÀÔÓÑ ÌÉÛØ 64 ÓÌÏ×Á.

HZ>> ÷Ï-ÐÅÒ×ÙÈ, ÐÒÑÍÏÊ ÁÄÒÅÓÁÃÉÉ × TMS320F28xx × ÞÉÓÔÏÍ ×ÉÄÅ ÎÅÔ. ôÏ, ÞÔÏ HZ>> Õ ÎÉÈ ÎÁÚÙ×ÁÅÔÓÑ ÐÒÑÍÏÊ ÁÄÒÅÓÁÃÉÅÊ - ÜÔÏ × ÔÏÞÎÏÓÔÉ, ËÁË Õ PIC16/18 - HZ>> ÚÁÇÒÕÚËÁ ÁÄÒÅÓÁ ÓÔÒÁÎÉÃÙ, ÐÏÔÏÍ ÏÂÒÁÝÅÎÉÅ ÐÏ ÂÏÌÅÅ ËÏÒÏÔËÏÍÕ ÓÍÅÝÅÎÉÀ - HZ>> Ô.Å. ÒÁÚÎÏ×ÉÄÎÏÓÔØ ËÏÓ×ÅÎÎÏÊ ÁÄÒÅÓÁÃÉÉ. á ÐÒÑÍÁÑ ÁÄÒÅÓÁÃÉÑ - ÜÔÏ, HZ>> ÎÁÐÒÉÍÅÒ, AVR'Ï×ÓËÏÅ lds/sts.

AG> üÔÏ ÎÅ ÁÄÒÅÓÁÃÉÑ ÜÔÏ ËÏÎËÒÅÔÎÁÑ ËÏÍÁÎÄÁ MOV, ÔÁËÁÑ É Õ PIC18 ÅÓÔØ. á AG> ÁÄÒÅÓÁÃÉÑ ÜÔÏ ËÏÇÄÁ ËÁË ÏÐÅÒÁÎÄ × ÒÁÚÌÉÞÎÙÈ ËÏÍÁÎÄÁÈ. ñ ÖÅ ÉÍÅÀ ××ÉÄÕ AG> ÁÄÅË×ÁÔÎÏÓÔØ ÁÄÒÅÓÁÃÉÉ ÒÅÁÌØÎÙÍ ÚÁÄÁÞÁÍ. õ PIC18 É dsPIC30F ÐÒÑÍÁÑ AG> ÁÄÒÅÓÁÃÉÑ ÎÅ ÎÁËÒÙ×ÁÅÔ ×ÓÀ ÐÁÍÑÔØ ÄÁÎÎÙÈ, ÎÏ ÏÎÁ ÐÒÁËÔÉÞÅÓËÉ ÐÏÌÎÏÓÔØÀ AG> ÓÎÉÍÁÅÔ ÐÒÏÂÌÅÍÕ ÁÄÒÅÓÁÃÉÉ Ë SFR'ÁÍ É ÓÔÁÔÉÞÅÓËÉÍ ÐÅÒÅÍÅÎÎÙÍ ÂÅÚ ËÁËÉÈ-ÌÉÂÏ AG> ÐÒÅÆÉËÓÎÙÈ ÏÐÅÒÁÃÉÊ.

üÔÏ ÔÙ ÞÔÏ-ÔÏ ÎÏ×ÏÅ ÐÒÏ ÁÄÒÅÓÁÃÉÀ ÐÒÉÄÕÍÁÌ! áÄÒÅÓÁÃÉÑ - ÓÐÏÓÏ ÏÂÒÁÝÅÎÉÑ × ÐÁÍÑÔØ. îÅ ÂÏÌÅÅ ÔÏÇÏ. á ÞÔÏ ÐÒÉ ÜÔÏÍ ÄÅÌÁÅÔÓÑ Ó ÑÞÅÊËÏÊ ÐÁÍÑÔÉ - ÐÒÏÓÔÏ ÌÉ ÏÎÁ ËÏÐÉÒÕÅÔÓÑ, ÕÞÁÓÔ×ÕÅÔ ÌÉ ÏÎÁ × ÁÒÉÆÍÅÔÉÞÅÓËÉÈ ÏÐÅÒÁÃÉÑÈ ÉÌÉ ÂÉÔÏ×ÙÈ ÏÐÅÒÁÃÉÑÈ - ÜÔÏ ÕÖÅ ÄÅÔÁÌÉ. é ÓÞÉÔÁÔØ, ÞÔÏ ×ÔÏÒÏÅ - ÜÔÏ ÁÄÒÅÓÁÃÉÑ, Á ÐÅÒ×ÏÅ - ÎÅÔ, ÎÅ ÂÏÌÅÅ ÞÅÍ ÄÏÍÙÓÌÙ.

HZ>> üÔÁ ÒÁÚÎÏ×ÉÄÎÏÓÔØ ËÏÓ×ÅÎÎÏÊ ÁÄÒÅÓÁÃÉÉ ÜÆÆÅËÔÉ×ÎÁ ÐÒÉ ÒÁÂÏÔÅ Ó HZ>> ÁÇÒÅÇÁÔÎÙÍÉ ÔÉÐÁÍÉ (ÓÔÒÕËÔÕÒÙ/ËÌÁÓÓÙ/ÍÁÓÓÉ×Ù) É ÄÌÑ ÔÁËÏÊ ÁÄÒÅÓÁÃÉÉ 64 HZ>> ÓÌÏ×Á ÄÏÓÔÁÔÏÞÎÏ.

AG> îÅ ÐÏÈÏÖÅ ÞÔÏ ÏÎÁ ÂÙÌÁ ÉÚÎÁÞÁÌØÎÏ ÐÒÉÄÕÍÁÎÁ ÄÌÑ ÜÔÏÇÏ. ÷ ÔÁËÏÍ ÓÌÕÞÁÅ DP AG> ÄÏÌÖÅÎ ÂÙ ÂÙÌ ÎÅ ÚÁÍÅÝÁÔØ ÓÔÁÒÛÉÅ ÒÁÚÒÑÄÙ, Á ÓÕÍÍÉÒÏ×ÁÔØÓÑ Ó ÐÒÑÍÙÍ AG> ÁÄÒÅÓÏÍ. á ÔÁË ÐÏÌÕÞÁÅÔÓÑ, ÞÔÏ ÍÏÇÕÔ ÁÄÒÅÓÏ×ÁÔØÓÑ ÌÉÛØ ×ÙÒÏ×ÎÅÎÎÙÅ ÐÏ 64 AG> ÓÌÏ×Á ÓÔÒÕËÔÕÒÙ ÄÁÎÎÙÈ.

ïÔËÒÏÀ ÄÌÑ ÔÅÂÑ ÎÏ×ÏÓÔØ: ÅÓÌÉ ÚÁ×ÅÓÔÉ × ÐÒÏÇÒÁÍÍÅ (ÎÁ ó) ÐÁÒÕ ÍÁÓÓÉ×Ï×, ÓÕÍÍÁÒÎÙÊ ÒÁÚÍÅÒ, ËÏÔÏÒÙÈ ÂÏÌØÛÅ 64 ÓÌÏ×, ÔÏ, ÕÄÉ×ÉÔÅÌØÎÏ, ÐÏÓÌÅ ÓÂÏÒËÉ ÏÎÉ ÏËÁÚÙ×ÁÀÔÓÑ ×ÙÒÏ×ÎÅÎÎÙÍÉ ÉÍÅÎÎÏ ÐÏ ÇÒÁÎÉÃÅ ÓÔÒÁÎÉÃ. á "ÄÙÒËÁ" ÍÅÖÄÕ ÎÉÍÉ ÚÁÐÏÌÎÑÅÔÓÑ ÄÒÕÇÉÍÉ ÐÅÒÅÍÅÎÎÙÍÉ. ôÁË ÄÅÊÓÔ×ÕÅÔ ÐÁËÅÔ CCS. íÅÎÑ ÐÏÎÁÞÁÌÕ ÜÔÏ ÕÄÉ×ÉÌÏ - ÎÉËÏÇÄÁ ÒÁÎØÛÅ ÎÅ ÓÔÁÌËÉ×ÁÌÓÑ Ó ÔÁËÉÍ ÐÏÄÈÏÄÏÍ, ÎÏ ÐÏÔÏÍ ÐÏÎÑÌ - ÜÔÏ ÄÅÌÁÅÔÓÑ ÎÁÍÅÒÅÎÎÏ, ÞÔÏÂÙ Ó ÍÁËÓÉÍÁÌØÎÏÊ ÜÆÆÅËÔÉ×ÎÏÓÔØÀ ÉÓÐÏÌØÚÏ×ÁÔØ ÜÔÕ "ÐÒÑÍÕÀ" ÁÄÒÅÓÁÃÉÀ, ËÏÔÏÒÁÑ, ÐÏ-Ô×ÏÅÍÕ, ÐÒÉÄÕÍÁÎÁ ÎÅ ÄÌÑ ÏÐÔÉÍÁÌØÎÏÊ ÒÁÂÏÔÙ Ó ÁÇÒÅÇÁÔÎÙÍÉ ÏÂßÅËÔÁÍÉ.

HZ>> ÷ AVR ×ÏÔ ÔÏÖÅ 64 ÂÁÊÔÁ ÄÏÓÔÕÐÎÏ ÐÒÉ ldd/std (ÓÁÍÙÊ HZ>> ÜÆÆÅËÔÉ×ÎÙÊ ÓÐÏÓÏ ÁÄÒÅÓÁÃÉÉ × AVR), É Ñ ÎÅ ÐÏÍÎÀ, ÞÔÏÂÙ ÓÍÅÝÅÎÉÑ ÎÅ HZ>> È×ÁÔÁÌÏ.

AG> ÷ÏÔ Õ AVR ÜÔÏ ÄÅÊÓÔ×ÉÔÅÌØÎÏ ×ÐÏÌÎÅ ÎÏÒÍÁÌØÎÁÑ ËÏÓ×ÅÎÎÁÑ ÁÄÒÅÓÁÃÉÑ ÓÏ AG> ÓÍÅÝÅÎÉÅÍ, ÐÒÁ×ÄÁ ËÁË ×ÓÅÇÄÁ ÔÏÌØËÏ × ×ÉÄÅ ÏÄÎÏÊ ÏÐÅÒÁÃÉÉ -- MOV.

AVR ÐÒÉ ÜÔÏÍ ÚÁÄÅÊÓÔ×ÕÅÔ ÁÐÐÁÒÁÔÎÙÊ ÐÏÉÎÔÅÒ. TMS320F28xx × ÔÁËÏÍ ÒÁÚÅ ÏÂÌÁÄÁÅÔ ÎÅ ÍÅÎØÛÅÊ ÎÏÒÍÁÌØÎÏÓÔØÀ ËÏÓ×ÅÎÎÏÊ ÁÄÒÅÓÁÃÉÉ - Õ ÎÅÇÏ É ÐÏÉÎÔÅÒÏ× ÎÅÓÒÁ×ÎÅÎÎÏ ÂÏÌØÛÅ, É ÇÉÂÞÅ ÏÎÉ, É ÓÍÅÝÅÎÉÑ ÂÏÌØÛÅ, É ÁÄÒÅÓÎÁÑ ÁÒÉÆÍÅÔÉËÁ Ó ÎÉÍÉ ÐÒÏÉÚ×ÏÄÉÔÓÑ ÜÆÆÅËÔÉ×ÎÅÅ. ô.Þ. AVR'Õ ÔÕÔ ÎÅ ÔÑÇÁÔØÓÑ Ó TMS320F28xx.

AG>>> á ÞÔÏ ÍÏÖÅÔ ÂÙÔØ ÎÜÆÆÅËÔÉ×ÎÏÇÏ × ÐÒÑÍÏÊ ÁÄÒÅÓÁÃÉÉ Ñ ×ÏÏÂÝÅ ÎÅ ÐÏÎÑÌ.

HZ>> ??? úÄÒÁÓØÔÅ!.. HÅÜÆÆÅËÔÉ×ÎÏ ÔÏ, ÞÔÏ ÐÒÉ ËÁÖÄÏÍ ÏÂÒÁÝÅÎÉÉ ÐÒÉÈÏÄÉÔÓÑ HZ>> ÔÁÝÉÔØ ÷åóø ÁÄÒÅÓ, ËÏÔÏÒÙÊ × ÏÐËÏÄÅ ÚÁÎÉÍÁÅÔ ÂïÌØÛÕÀ ÞÁÓÔØ.

AG> îÕ ÚÁÎÉÍÁÅÔ É ÞÔÏ? ëÏÍÁÎÄÕ ÖÅ ÎÁ Ä×Å ÎÅ ÐÏÄÅÌÉÛØ ×ӣ ÒÁ×ÎÏ ÞÔÏ ÄÅËÒÅÍÅÎÔ AG> ÒÅÇÉÓÔÒÁ, ÞÔÏ ÐÅÒÅÍÅÎÎÏÊ ÂÕÄÅÔ ÚÁÎÉÍÁÔØ ÏÄÉÎ ÃÅÌÙÊ ÏÐËÏÄ.

á ÔÏ, ÞÔÏ ÐÏÌÎÙÊ ÁÄÒÅÓ ÓÁÍ ÐÏ ÓÅÂÅ ÂÏÌØÛÅ, ÞÅÍ ÓÏÂÓÔ×ÅÎÎÏ ÉÎÓÔÒÕËÃÉÑ × ÏÐËÏÄÅ. ÷ÏÔ × ÔÏÍ ÖÅ AVR'Å lds/sts ÚÁÎÉÍÁÅÔ ÎÅ ÏÄÎÏ ÓÌÏ×Ï, ËÁË ×ÓÅ ÏÓÔÁÌØÎÙÅ ËÏÍÁÎÄÙ, Á Ä×Á, ×ÔÏÒÏÅ ÉÚ ËÏÔÏÒÙÈ - ÅÓÔØ ÎÅ ÞÔÏ ÉÎÏÅ, ËÁË ÐÏÌÎÙÊ ÁÄÒÅÓ ÑÞÅÊËÉ ÐÁÍÑÔÉ. ðÒÏÓÔÏ ÔÕÐÏ ÔÁÝÉÔÓÑ 16 ÂÉÔ ÁÄÒÅÓÁ × ÏÐËÏÄÅ. ÷ ÉÔÏÇÅ ÜÔÏÔ ÓÐÏÓÏ ÁÄÒÅÓÁÃÉÉ ÜÆÆÅËÔÉ×ÎÅÅ (É ÔÏÌØËÏ ÐÏ ×ÒÅÍÅÎÉ ÜÆÆÅËÔÉ×ÎÅÅ) ÔÏÌØËÏ ÐÒÉ ÏÂÒÁÝÅÎÉÉ ÏÄÉÎ ÒÁÚ Ë ÏÄÎÏÊ ÑÞÅÊËÅ ÐÁÍÑÔÉ. åÓÌÉ ÎÁÄÏ ÈÏÔÑ ÂÙ Ä×Á ÏÂÒÁÝÅÎÉÑ, ÔÏ ÕÖÅ ×ÙÇÏÄÎÅÅ ÚÁÇÒÕÚÉÔØ ÁÄÒÅÓ × ÐÏÉÎÔÅÒ É ÁÄÒÅÓÏ×ÁÔØÓÑ ÐÏ ÎÅÍÕ. á ÅÓÌÉ ÁÄÒÅÓÎÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï ÎÅ 16 ÂÉÔ Á ÂÏÌØÛÅ, ÔÏ ÐÒÏÂÌÅÍÁ ÐÒÑÍÏÊ ÁÄÒÅÓÁÃÉÉ ÕÓÕÇÕÂÌÑÅÔÓÑ. ëÓÔÁÔÉ, ÇÌÁ×ÎÏÅ ÐÒÅÉÍÕÝÅÓÔ×Ï × ËÏÄÏÇÅÎÅÒÁÃÉÉ Õ ÔÏÇÏ ÖÅ IAR'Á ÐÅÒÅÄ GCC (ÄÌÑ AVR) × ÔÏÍ, ÞÔÏ ÐÅÒ×ÙÊ ÜÆÆÅËÔÉ×ÎÏ ÉÓÐÏÌØÚÕÅÔ ×ÏÚÍÏÖÎÏÓÔÉ ËÏÓ×ÅÎÎÏÊ ÁÄÒÅÓÁÃÉÉ ÄÁÖÅ ÔÁÍ, ÇÄÅ ÜÔÏ ÍÏÖÎÏ ÄÅÌÁÔØ ÐÒÑÍÏÊ, Á ×ÔÏÒÏÊ ÔÕÐÏ lds'ÉÔ (sts'ÉÔ), ÉÚ-ÚÁ ÞÅÇÏ ÒÁÚÄÕ×ÁÅÔÓÑ ËÏÄ. îÅ ÂÕÄØ × AVR ÜÔÉÈ ËÏÍÁÎÄ ÐÒÑÍÏÊ ÁÄÒÅÓÁÃÉÉ, ÇÌÑÄÉÛØ, GCC ÍÏÖÅÔ É ÎÅ ÕÓÔÕÐÁÌ ÂÙ IAR'Õ × ÜÔÏÍ ×ÏÐÒÏÓÅ.

HZ>> á ËÏÇÄÁ ÁÄÒÅÓÎÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï ÂÏÌØÛÏÅ, ÔÏ ÜÔÏ ×ÏÏÂÝÅ ÓÐÌÏÛÎÁÑ HZ>> ÎÅÜÆÆÅËÔÉ×ÎÏÓÔØ.

AG> ñ ÎÅ ÎÁÈÏÖÕ × dsPIC30F ÐÏÔÅÒØ ÜÆÆÅËÔÉ×ÎÏÓÔÉ ×Ó×ÑÚÉ Ó ÜÔÉÍ.

óÉÌØÎÙÊ ÁÒÇÕÍÅÎÔ.

HZ>> ðÏÜÔÏÍÕ É ÒÕÌÑÔ ×ÓÑËÉÅ ÁÐÐÁÒÁÔÎÙÅ ÐÏÉÎÔÅÒÙ, ÁÄÒÅÓÎÙÅ ÇÅÎÅÒÁÔÏÒÙ, ÞÔÏÂÙ HZ>> ÜÆÆÅËÔÉ×ÎÏÓÔØ ÐÒÉ ÁÄÒÅÓÁÃÉÉ ÐÏÄÎÑÔØ ÄÏ ÍÁËÓÉÍÕÍÁ.

AG> îÕ ÏÄÎÏ ÄÒÕÇÏÍÕ ÎÅ ÍÅÛÁÅÔ.

åÝÅ ËÁË ÍÅÛÁÅÔ. ðÒÑÍÁÑ ÁÄÒÅÓÁÃÉÑ ÓÁÍÁ ÐÏ ÓÅÂÅ ÔÒÅÂÕÅÔ ÐÏÄÄÅÒÖËÉ × ÖÅÌÅÚÅ, ÖÒÅÔ ÏÐËÏÄÙ É ÕÓÌÏÖÎÑÅÔ ÐÒÏÃÅÓÓÏÒ. õÄÏÂÓÔ×Ï ÏÔ ÎÅÅ ÔÏÌØËÏ ÐÒÉ ÐÉÓÁÎÉÉ ÎÁ ÁÓÍÅ. îÁ ñ÷õ ÜÔÉÈ ÐÒÏÂÌÅÍ ÎÅÔ - ËÏÍÐÉÌÑÔÏÒ ÐÒÅËÒÁÓÎÏ ÏÒÇÁÎÉÚÏ×Ù×ÁÅÔ ÏÂÒÁÝÅÎÉÅ ÞÅÒÅÚ ÁÐÐÁÒÁÔÎÙÅ ÕËÁÚÁÔÅÌÉ.

AG> ...

AG>>> þÔÏ loc16(32) ÎÅ ÍÏÖÅÔ ÂÙÔØ É ÓÌÅ×Á É ÓÐÒÁ×Á. ïÂÑÚÁÔÅÌØÎÏ Ó ÏÄÎÏÊ AG>>> ÓÔÏÒÏÎÙ ÒÅÇÉÓÔÒ × ËÒÁÊÎÅÍ ÓÌÕÞÁÅ ÐÒÑÍÏÊ ÁÄÒÅÓ.

HZ>> á, ÐÏÎÑÌ. ô.Å. ÔÙ ÈÏÞÅÛØ ÉÍÅÔØ ËÏÍÁÎÄÕ Ó ÓÕÐÅÒÎÅÜÆÆÅËÔÉ×ÎÏÊ HZ>> ÁÄÒÅÓÁÃÉÅÊ - ÍÁÌÏ ÔÏÇÏ, ÞÔÏ ÐÒÑÍÏÊ, ÎÏ ÅÝÅ É ÐÒÑÍÏÊ ÄÌÑ ÏÂÏÉÈ ÏÐÅÒÁÎÄÏ× - HZ>> ÞÔÏÂÙ × ÏÄÎÏÍ ÏÐËÏÄÅ ÔÁÝÉÔØ ÏÂÁ ÚÄÏÒÏ×ÅÎÎÙÈ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÙÈ ÁÄÒÅÓÁ!

AG> îÅÔ. ñ ÇÏ×ÏÒÀ Ï ÏÂÝÅÍ ÓÌÕÞÁÅ loc16 É loc32, Á ÜÔÏ ÌÀÂÏÊ ÓÐÏÓÏ ÁÄÒÅÓÁÃÉÉ AG> ÐÒÅÄÏÓÔÁ×ÌÑÅÍÙÊ 2810, ÎÅ ÔÏÌØËÏ ÐÒÑÍÕÀ ÎÏ É ×ÓÅ ×ÁÒÉÁÎÔÙ ËÏÓ×ÅÎÎÏÊ, AG> ÃÉËÌÉÞÅÓËÏÊ, ÐÏ ÓÔÅËÕ. íÎÅ ËÁÖÅÔÓÑ ÌÏÇÉÞÎÙÍ ÉÍÅÔØ ÔÁËÉÅ ÏÐÅÒÁÎÄÙ Ó ÏÂÅÉÈ AG> ÓÔÏÒÏÎ ÏÐÅÒÁÃÉÉ ÂÅÚ ÎÅÏÂÈÏÄÉÍÏÓÔÉ ÐÒÏÍÅÖÕÔÏÞÎÏÇÏ ÈÒÁÎÅÎÉÑ × ÒÅÇÉÓÔÒÅ.

HZ>> äÁÒÏÍ ÎÅ ÎÁÄÏ!! äÌÑ ÄÏÓÔÉÖÅÎÉÑ ÔÏÇÏ ÖÅ ÒÅÚÕÌØÔÁÔÁ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ Ä×Å HZ>> ËÏÍÁÎÄÙ. üÆÆÅËÔÉ×ÎÏÓÔØ ÂÕÄÅÔ ÎÅ ÈÕÖÅ. á ÌÕÞÛÅ ×ÓÅ-ÔÁËÉ ÉÓÐÏÌØÚÏ×ÁÔØ HZ>> ÕËÁÚÁÔÅÌÉ, ËÁË ÎÁÐÒÉÍÅÒ:

HZ>> mov *xar7++,ACC

AG> ñ ÉÍÅÌ ××ÉÄÕ ÞÔÏ-ÎÉÂÕÄØ ×ÒÏÄÅ:

AG> mov *xar7++, xar6++

úÁ ÏÄÉÎ ÔÁËÔ ÏÂÒÁÔÉÔØÓÑ × ÏÄÎÕ É ÔÕ ÖÅ ÐÁÍÑÔØ ÏÎ ÎÅ ÍÏÖÅÔ - ÛÉÎÁ-ÔÏ ÏÄÎÁ, ÜÔÏ ÅÓÔÅÓÔ×ÅÎÎÏ (Á ËÔÏ ÍÏÖÅÔ?). îÏ ÔÁÍ, ÇÄÅ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ Ä×Å ÛÉÎÙ, ÍÏÖÎÏ ÓÄÅÌÁÔØ É Ä×Á ÏÂÒÁÝÅÎÉÑ, ÎÁÐÒÉÍÅÒ:

MAC P,*XAR2++,*XAR7++

ÉÌÉ

PREAD *XAR6++,*XAR7

[...]

HZ>> üËÁË ÔÙ ÐÅÒÅÈÏÄÙ ÕÄÅÌÁÌ! éÚÍÅÎÅÎÉÅ ÐÏÔÏËÁ ×ÙÐÏÌÎÅÎÉÑ ÐÒÏÇÒÁÍÍÙ ×ÏÏÂÝÅ HZ>> É ÐÅÒÅÈÏÄ × ÞÁÓÔÎÏÓÔÉ - ÜÔÏ ÎÅ ÐÒÉÍÉÔÉ×ÎÏÅ ÄÅÊÓÔ×ÉÅ. ïÎÏ Ó×ÑÚÁÎÏ Ó HZ>> ÉÚÍÅÎÅÎÉÅÍ ËÏÎÔÅËÓÔÁ ×ÙÐÏÌÎÅÎÉÑ ÐÒÏÇÒÁÍÍÙ (×ÏÐÒÏÓ ÔÏÌØËÏ, × ÞÅÍ ÜÔÏÔ HZ>> ËÏÎÔÅËÓÔ). é ÎÁ×ÏÒÏÞÅÎÎÙÊ MAC ÔÕÔ ÎÉÞÅÍ ÎÅ ÓÌÏÖÎÅÅ - ÜÔÏ ÐÒÏÓÔÏ ÚÁÇÒÕÚËÁ HZ>> ÁÐÐÁÒÁÔÎÏÇÏ ÕÚÌÁ ÐÒÏÃÅÓÓÏÒÁ ÄÁÎÎÙÍÉ, ÎÅ ÂÏÌÅÅ ÔÏÇÏ. ðÅÒÅÈÏÄÙ ×ÓÅÇÄÁ ÂÙÌÉ HZ>> É ÅÓÔØ ÂÏÌÅÚÎÅÎÎÏÊ ÐÒÏÃÅÄÕÒÏÊ × ÓÍÙÓÌÅ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ. äÁÖÅ HZ>> ÐÒÉÍÉÔÉ×ÎÙÊ ÄÏ ÐÒÅÄÅÌÁ PIC16 É ÔÏÔ ÔÒÁÔÉÔ ÎÁ ÐÅÒÅÈÏÄ 2 ÃÉËÌÁ. HÏ ÔÅÂÑ ÎÅ HZ>> ÓÍÕÝÁÅÔ, ÞÔÏ áìõÛÎÙÅ ÏÐÅÒÁÃÉÉ, ËÏÔÏÒÙÅ ÓÕÔØ ÍÁÔÅÍÁÔÉËÁ × ÖÅÌÅÚÅ, HZ>> ×ÙÐÏÌÎÑÀÔÓÑ ÔÁÍ ÚÁ ÏÄÉÎ ÃÉËÌ, Á ÐÒÉÍÉÔÉ×ÎÙÊ ÐÅÒÅÈÏÄ - Ä×Á!

AG> îÅ ÓÍÕÝÁÅÔ ÐÏÔÏÍÕ ÞÔÏ ÍÎÅ ÄÏÓÔÏ×ÅÒÎÏ ÉÚ×ÅÓÔÎÏ, ÞÔÏ ÜÔÏ ÎÅ ×ÙÐÏÌÎÅÎÉÅ ÚÁ 2 AG> ÃÉËÌÁ, Á ÏÖÉÄÁÎÉÅ ×ÙÂÏÒËÉ ÉÚ ÍÅÄÌÅÎÎÏÊ ÐÒÏÇÒÁÍÍÎÏÊ ÐÁÍÑÔÉ.

:))) á ËÁËÁÑ ÒÁÚÎÉÃÁ-ÔÏ? îÁ ÐÅÒÅÈÏÄ ÔÒÁÔÉÔÓÑ Ä×Á ÔÁËÔÁ, üôï æáëô! é ÎÅ ×ÁÖÎÏ, ÞÔÏ ÏÎ ÔÁÍ ×ÎÕÔÒÉ ÄÅÌÁÌ (ÍÏÖÅÔ ÐÁÐÉÒÏÓÕ ËÕÒÉÌ ÐÏÌÔÏÒÁ ÔÁËÔÁ). õ ÔÅÂÑ ÐÏÌÕÞÁÅÔÓÑ, ÞÔÏ ÅÓÌÉ ÐÒÏÃ × ËÏÎÅÞÎÏÍ ÉÔÏÇÅ ÄÅÌÁÅÔ ÐÅÒÅÈÏÄ ÚÁ 2 ÔÁËÔÁ, ÔÏ ÜÔÏ ÐÌÏÈÏ, ÐÅÒÅÖÉ×ÁÎÉÑ, Á ÅÓÌÉ ÓÁÍ ÐÒÏà ÐÅÒÅÈÏÄ-ÔÏ ÍÏÖÅÔ É ÚÁ ÔÁËÔ ÓÄÅÌÁÔØ, ÎÏ ×ÏÔ ×ÙÂÏÒËÁ ÉÎÓÔÒÕËÃÉÉ ÅÝÅ ÏÄÉÎ ÔÁËÔ ÖÒÅÔ É × ÉÔÏÇÅ ×ÓÅ ÒÁ×ÎÏ Ä×Á ×ÙÈÏÄÉÔ, ÔÏ ÜÔÏ ÎÏÒÍÁÌØÎÏ - ÐÒÏÃ-ÔÏ ÂÙÓÔÒÙÊ, Á ÐÁÍÑÔØ ÍÅÄÌÅÎÎÁÑ - ÏÎÁ ×ÉÎÏ×ÁÔÁ, Á ÐÒÏà - ÏÎ ÈÏÒÏÛÉÊ, ÐÏÜÔÏÍÕ ÄÕÛÅ×ÎÙÊ ËÏÍÆÏÒÔ É ÒÁ×ÎÏ×ÅÓÉÅ. èÏÔÑ ×ÓÅ ÒÁ×ÎÏ Ä×Á ÔÁËÔÁ.

é ÔÕÔ ÎÅ × ÍÅÄÌÅÎÎÏÊ ÐÁÍÑÔÉ ÄÅÌÏ (ÓËÏÒÏÓÔÉ ÅÅ ×ÐÏÌÎÅ È×ÁÔÁÅÔ ÄÌÑ PIC'Á), Á × ÔÏÍ, ÞÔÏ × ÔÏÍ ÖÅ PIC'Å ËÏÎ×ÅÊÅÒ ÔÏÖÅ ÅÓÔØ - ÐÏËÁ ÔÅËÕÝÁÑ ËÏÍÁÎÄÁ ×ÙÐÏÌÎÑÅÔÓÑ, ÓÌÅÄÕÀÝÁÑ ×ÙÂÉÒÁÅÔÓÑ ÉÚ ÐÁÍÑÔÉ. á ÐÒÉ ÐÅÒÅÈÏÄÅ, ËÏÇÄÁ PC ÓÏÄÅÒÖÉÔ ÎÏ×ÙÊ ÁÄÒÅÓ, ÓÞÉÔÁÎÎÏÊ ÉÎÓÔÒÕËÃÉÉ ÐÏ ÎÏ×ÏÍÕ ÁÄÒÅÓÕ ÅÝÅ ÎÅÔ, ×ÏÔ É ÎÁÄÏ ÏÄÉÎ ÔÁËÔÉË ÐÏÔÒÁÔÉÔØ ÎÁ ×ÙÂÏÒËÕ. ðÒÏÓÔÏ ËÏÎ×ÅÊÅÒ Õ PIC'Á ËÏÒÏÔÅÎØËÉÊ, ÐÏÜÔÏÍÕ ×ÓÅÇÏ ÏÄÉÎ ÔÁËÔ ÚÁÄÅÒÖËÉ. é Õ AVR ÐÏ ÜÔÏÊ ÖÅ ÐÒÉÞÉÎÅ ÐÅÒÅÈÏÄÙ ÚÁÎÉÍÁÀÔ Ä×Á ÔÁËÔÁ - ÔÁÍ ÔÏÖÅ ËÏÎ×ÅÊÅÒ, ËÏÔÏÒÙÊ ÐÒÉ ÐÅÒÅÈÏÄÅ ÏÂÎÕÌÑÅÔÓÑ, É ÎÕÖÅÎ ÏÄÉÎ ÄÏÐÏÌÎÉÔÅÌØÎÙÊ ÔÁËÔ, ÞÔÏÂÙ ÓÞÉÔÁÔØ ÉÎÓÔÒÕËÃÉÀ Ó ÎÏ×ÏÇÏ ÁÄÒÅÓÁ. [...]

HZ>>>> ! MOV @_GpioDataRegs+19,AL ; |121|

HZ>>>> óÍÏÔÒÀ ÐÏ ÓËÏÐÕ - ×ÒÅÍÅÎÁ ÍÅÖÄÕ ÐÏÌÏÖÉÔÅÌØÎÙÍ É ÏÔÒÉÃÁÔÅÌØÎÙÍ HZ>>>> ÆÒÏÎÔÏÍ ÉÍÐÕÌØÓÁ - 6.67 ÎÓ. ô.Å. ×ÓÅÇÏ ïäéH (!) ÔÁËÔ. é ÜÔÏ ÐÒÉ HZ>>>> ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÍ ÏÂÒÁÝÅÎÉÉ × ÔÕ ÖÅ ÑÞÅÊËÕ!

AG>>> óÏÇÌÁÓÅÎ, Ñ ÎÅ ÚÎÁÌ ÐÒÏ ÏÓÏÂÅÎÎÏÓÔÉ ÒÅÁÌÉÚÁÃÉÉ ÄÏÓÔÕÐÁ Ë ÐÏÒÔÁÍ Õ 2810, AG>>> ÍÏÖÎÏ ÓËÁÚÁÔØ, ÞÔÏ ÒÁÚÒÁÂÏÔÞÉËÉ ×ÅÓØÍÁ ÉÓËÕÓÓÎÏ ÚÁÔËÎÕÌÉ ÜÔÕ ÄÙÒÕ.

HZ>> ëÁËÉÅ ÏÓÏÂÅÎÎÏÓÔÉ? ëÁËÕÀ ÄÙÒÕ? ôÕÔ ÏÂÙËÎÏ×ÅÎÎÏÅ ÏÂÒÁÝÅÎÉÅ Ë ÑÞÅÊËÅ HZ>> ÐÁÍÑÔÉ, ÎÅ ÂÏÌÅÅ. é ÚÁÎÉÍÁÅÔ ÏÎÏ, ËÁË ÐÏÌÏÖÅÎÏ, ÏÄÉÎ ÔÁËÔ.

AG> ïÐÅÒÉÒÏ×ÁÎÉÅ ÂÉÔÏÍ ÔÒÅÂÕÅÔ Ä×ÕÈ ÏÂÒÁÝÅÎÉÊ Ë ÐÁÍÑÔÉ. é Õ 2810 ÜÔÉ ÏÂÒÁÝÅÎÉÑ AG> Ë ÐÏÒÔÁÍ ÄÅÌÁÅÔ ÎÅ ÑÄÒÏ, Á ÓÐÅÃÉÁÌØÎÙÊ ÐÅÒÉÆÅÒÉÊÎÙÊ Á×ÔÏÍÁÔ, ÑÄÒÏ AG> ÏÂÒÁÝÁÅÔÓÑ Ë ÎÅÍÕ ÔÏÌØËÏ ÏÄÉÎ ÒÁÚ ÐÏ ÚÁÐÉÓÉ. åÓÌÉ ÂÙ ÂÉÔ ÐÅÒÅÂÒÁÓÙ×ÁÌÏ ÑÄÒÏ AG> (ÓËÁÖÅÍ ËÏÍÁÎÄÁÍÉ XOR loc16,#16bit), ÔÏ ÂÙÌÉ ÂÙ ÔÅ ÓÁÍÙÅ 6 ÃÉËÌÏ×.

"åÓÌÉ ÂÙ ÄÁ ËÁÂÙ"... ðÒÉÞÅÍ ÔÕÔ ×ÏÏÂÝÅ ÏÐÅÒÉÒÏ×ÁÎÉÅ ÂÉÔÏÍ? ôÙ ÎÁÞÁÌ ÐÒÏ ÏÂÒÁÝÅÎÉÅ × ÐÁÍÑÔØ ÇÏ×ÏÒÉÔØ, ÞÔÏ, ÄÅÓËÁÔØ, ÏÎÏ ÂÅÚÏÂÒÁÚÎÏ ÍÅÄÌÅÎÎÏÅ. ÷ÏÔ Ñ ÔÅÂÅ É ÐÒÏÄÅÍÏÎÓÔÒÉÒÏ×ÁÌ, ÞÔÏ ÏÂÒÁÝÅÎÉÅ × ÐÁÍÑÔØ, ÄÁÖÅ × ÏÄÎÕ É ÔÕ ÖÅ ÑÞÅÊËÕ ÐÏ ÚÁÐÉÓÉ ÉÌÉ ÐÏ ÞÔÅÎÉÀ ÔÁÍ ÍÁËÓÉÍÁÌØÎÏ ÂÙÓÔÒÏÅ - ÏÄÉÎ ÔÁËÔ! á ÔÏ, ÞÔÏ × ÐÒÉÍÅÒÅ ÂÙÌÁ ÉÓÐÏÌØÚÏ×ÁÎÁ ÉÎ×ÅÒÓÉÑ ÂÉÔÁ, Ë ÄÅÌÕ ÏÔÎÏÛÅÎÉÑ ÎÅ ÉÍÅÅÔ - Ñ ÍÏÇ ÂÙ ÔÕÄÁ É ÐÏÌÎÏÃÅÎÎÏÅ ÞÉÓÌÏ ÚÁÐÉÓÁÔØ ×Ï ×ÓÀ ÑÞÅÊËÕ, Á ÎÅ × ÏÄÉÎ ÂÉÔ.

á ÔÏ, ÞÔÏ ÏÎÉ ÉÚÂÁ×ÉÌÉÓØ ÏÔ ÓÈÅÍÙ Read-Modify-Write ÐÒÉ ÒÁÂÏÔÅ Ó ÐÏÒÔÁÍÉ, ÜÔÏ ÕÖÅ ÓÌÅÄÕÀÝÉÊ ÍÏÍÅÎÔ. åÓÌÉ ÔÁË ÓÄÅÌÁÌÉ, ÚÎÁÞÉÔ ÐÏÓÞÉÔÁÌÉ ×ÁÖÎÙÍ, ÞÔÏÂÙ ÄÅÒÇÁÎÉÅ ÎÏÖËÁÍÉ ÂÙÌÏ ÛÕÓÔÒÙÍ, Ñ ÎÅ ÐÒÏÔÉ× ÜÔÏÇÏ, Ë ÍÅÓÔÕ, ×ÏÚÍÏÖÎÏ, ÂÕÄÅÔ ËÓÔÁÔÉ. îÏ Ë ÒÁÂÏÔÅ ÐÒÏÃÅÓÓÏÒÁ Ó ÐÁÍÑÔØÀ ÜÔÏ ÏÔÎÏÛÅÎÉÑ ÎÅ ÉÍÅÅÔ. [...]

HZ>>>> þÔÏ-ÔÏ Ñ ÎÅ ÐÏÎÑÌ! õ dsPIC áãð ÍÁËÓÉÍÕÍ ÍÏÖÅÔ 100 ËÉÌÏ×ÙÂÏÒÏË × HZ>>>> ÓÅËÕÎÄÕ ÄÅÌÁÔØ. ëÁË ÜÔÏ ÔÙ ÕÍÕÄÒÑÅÛØÓÑ Ó ÎÅÇÏ 400 ÐÏÌÕÞÁÔØ?

AG>>> üÔÏ Õ "General Purpose and Sensor Families" 12-ÒÁÚÒÑÄÎÙÊ 100 KSPS áãð. õ AG>>> "Motor Control and Power Conversion Family", Ë ËÏÔÏÒÏÊ ÏÔÎÏÓÉÔÓÑ AG>>> dsPIC30F2010 áãð 10-ÒÁÚÒÑÄÎÙÊ 500 KSPS.

HZ>> ðÏÎÑÔÎÏ. á ÅÓÌÉ ÐÏÔÒÅÂÕÅÔÓÑ 12 ÒÁÚÒÑÄÏ×? éÌÉ 600 KSPS? þÔÏ ÔÙ ÄÅÌÁÔØ HZ>> ÂÕÄÅÛØ? üÔÏ ×ÓÅ-ÔÁËÉ ÍÁÒÇÉÎÁÌØÎÙÅ ÓÌÕÞÁÉ.

AG> äÏÓÔÉÖÅÎÉÅ ÐÒÅÄÅÌØÎÏÇÏ ÐÒÁËÔÉÞÅÓËÉ ×ÓÅÇÄÁ ÍÁÒÇÉÎÁÌØÎÏ ÎÕ É ÞÔÏ?

é ÐÏÔÅÎÃÉÁÌØÎÏ ÏÐÁÓÎÏ, Ô.Ë. ÎÅÔ ÎÉËÁËÏÇÏ ÚÁÐÁÓÁ ÎÁ ÒÁÚ×ÉÔÉÅ É ÄÌÑ ÍÁÎÅ×ÒÁ × ÓÌÕÞÁÅ ÏÛÉÂÏË É ÎÅÏÂÈÏÄÉÍÏÓÔÉ ËÏÒÒÅËÔÉÒÏ×ÏË.

AG> 12 ÒÁÚÒÑÄÏ× ÍÎÅ ×ÒÑÄ ÌÉ ËÏÇÄÁ-ÎÉÂÕÄØ ÐÏÎÁÄÏÂÑÔÓÑ: ÄÁÖÅ 10 ÒÁÚÒÑÄÏ× × ÔÁËÏÊ AG> ÐÏÌÏÓÅ ÞÁÓÔÏÔ ÏÔ ÎÉÈÒÏÍÏ×ÙÈ ÔÅÎÚÏÄÁÔÞÉËÏ×, ÒÁÂÏÔÁÀÝÉÈ ÐÒÉ ÔÅÍÐÅÒÁÔÕÒÁÈ ÄÏ AG> 1000 ó, ÕÖÅ ËÒÁÊÎÅ ÎÅÔÒÅ×ÉÁÌØÎÏ. á ÞÁÓÔÏÔÕ Ñ ×ÙÂÉÒÁÀ ÔÁËÕÀ, ÄÏ ËÁËÏÊ ÍÏÇÕ AG> ÄÏÔÑÎÕÔØÓÑ: ÂÙÌ PIC18F2331 ÂÙÌÏ 200 KSPS, ÐÏÑ×ÉÌÓÑ dsPIC30F ÈÏÞÕ AG> ÐÏÐÒÏÂÏ×ÁÔØ 400 KSPS.

îÕ, Ô.Å. ×ÓÅ ÕÐÉÒÁÅÔÓÑ × ÕÓÌÏ×ÉÑ Ô×ÏÅÊ ÚÁÄÁÞÉ. á ÎÁÄÏ ÂÕÄÅÔ 12 ÂÉÔ É ÐÒÏÌÅÔÉÔ Ô×ÏÊ dsPIC ÁËÉ ÆÁÎÅÒÁ ÎÁ ðÁÒÉÖÅÍ - ÄÁÖÅ ÄÏ MSP430 ÎÅ ÄÏÔÑÎÅÔÓÑ.

HZ>> á × ÓÌÕÞÁÅ 12 ÒÁÚÒÑÄÏ× HZ>> MSP430F16x ×ÐÏÌÎÅ ÐÏÒÕÌÉÔ - ÏÎ ÍÏÖÅÔ ÏÃÉÆÒÏ×Ù×ÁÔØ 12-ÒÁÚÒÑÄÎÙÅ ÄÁÎÎÙÅ ÎÁ HZ>> 200 KSPS Ó 8 ËÁÎÁÌÏ×, ÚÁÐÉÓÙ×ÁÔØ ÉÈ × ÐÁÍÑÔØ, É Ó ÐÏÍÏÝØÀ DMA ÏÔÐÒÁ×ÌÑÔØ HZ>> ÜÔÉ ÄÁÎÎÙÅ ÎÁ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÙÊ ËÁÎÁÌ. HÁÄÏ ÔÏÌØËÏ ÓÏÇÌÁÓÏ×ÁÔØ ÓËÏÒÏÓÔØ HZ>> ÓÜÍÐÌÉÎÇÁ ÓÏ ÓËÏÒÏÓÔØÀ DMA ËÏÎÔÒÏÌÌÅÒÁ. üÔÏ ÌÅÇËÏ ÄÏÓÔÉÇÁÅÔÓÑ ÐÕÔÅÍ HZ>> ÏÒÇÁÎÉÚÁÃÉÉ ÚÁÐÕÓËÁ áãð É DMA ÏÔ ÏÄÎÏÇÏ ÔÁÊÍÅÒÁ, ÂÌÁÇÏ Capture/Compare HZ>> ÍÏÄÕÌÅÊ ÔÁÍ ÄÏÓÔÁÔÏÞÎÏ (3 ÎÁ ÏÄÎÏÍ ÔÁÊÍÅÒÅ É 7 ÎÁ ÄÒÕÇÏÍ). ÷ÓÅ ÜÔÏ ÂÕÄÅÔ HZ>> ÄÅÌÁÔØÓÑ ×ÏÏÂÝÅ ÐÏÞÔÉ ÂÅÚ ÕÞÁÓÔÉÑ ÐÒÏÃÅÓÓÏÒÁ, Á ÐÏÔÒÅÂÌÅÎÉÅ Õ MSP430 HZ>> ËÁËÏÅ, ÓÁÍ ÚÎÁÅÛØ (ÐÒÉ ÔÏÍ, ÞÔÏ CPU ÔÕÔ ×ÏÏÂÝÅ ÍÏÖÅÔ ÓÐÁÔØ).

AG> ðÒÅÖÄÅ ×ÓÅÇÏ, ÚÁÄÁÞÁ ÎÁ 200 KSPS ÒÅÛÁÅÔÓÑ ÎÁ PIC18 ÂÅÚ DMA É ÔÕÔ ÎÅ ÎÕÖÅÎ AG> dsPIC30F.

÷ ÓÌÕÞÁÅ 10 ÂÉÔ. á × ÓÌÕÞÁÅ 12 ÂÉÔ ÎÅ ÒÅÛÁÅÔÓÑ. ÷ÓÅÇÄÁ ÍÏÖÎÏ ×ÙÐÑÔÉÔØ ËÁËÕÀ-ÎÉÂÕÄØ ÆÉÞÕ ÔÏÇÏ ÉÌÉ ÉÎÏÇÏ íë, ÎÁ ËÏÔÏÒÕÀ ÄÒÕÇÏÊ (ÄÁÖÅ ÂÏÌÅÅ ËÒÕÔÏÊ É ÄÏÒÏÇÏÊ) ÎÅ ÎÁÔÑÎÅÔÓÑ.

AG> ôÅÐÅÒØ ÐÏ ÐÏ×ÏÄÕ MSP430. ñ ËÏÎÅÞÎÏ ÒÁÓÓÍÁÔÒÉ×ÁÌ ÉÈ É ÔÕÔ ÐÅÒ×ÁÑ ÐÒÏÂÌÅÍÁ AG> ÜÔÏ ÓËÏÒÏÓÔØ ËÁÎÁÌÁ. õ PIC18 UART ÐÏÚ×ÏÌÑÅÔ ×ÅÓÔÉ ÏÂÍÅÎ ÎÁ ÓËÏÒÏÓÔÉ 2,5 AG> íÂÏÄ (ÎÁ ÍÅÎØÛÅÊ 200 KSPS ÎÅ ÐÅÒÅÄÁÔØ, ÔÁÍ ÎÕÖÅÎ Åݣ ÏÂÒÁÔÎÙÊ ËÁÎÁÌ AG> ÕÐÒÁ×ÌÅÎÉÑ), ÎÁÓËÏÌØËÏ Ñ ÒÁÚÏÂÒÁÌÓÑ, MSP ÜÔÏ ÎÅ ÐÏÄ ÓÉÌÕ.

éÓÐÏÌØÚÏ×ÁÔØ ÁÓÉÎÈÒÏÎÎÙÊ ËÁÎÁÌ ÎÁ ÔÁËÏÊ ÓËÏÒÏÓÔÉ, ÉÍÈÏ, ÎÅ ÌÕÞÛÁÑ ÉÄÅÑ, ÍÑÇËÏ ÇÏ×ÏÒÑ.

AG> ÷ÁÒÉÁÎÔ -- ÉÓÐÏÌØÚÏ×ÁÔØ SPI (ÏÎ ÎÁ×ÅÒÎÏÅ ÓÍÏÖÅÔ ÏÂÍÅÎÉ×ÁÔØÓÑ ÎÁ ÐÏ×ÙÛÅÎÎÏÊ AG> ÞÁÓÔÏÔÅ?), ÎÏ ÏÎ ÐÏÔÒÅÂÕÅÔ ×ÎÅÛÎÅÇÏ ËÏÄÅËÁ ÄÌÑ ÏÂÍÅÎÁ ÐÏ ÏÐÔÉËÅ.

õ ÎÅÇÏ ÐÏÌÏ×ÉÎÁ ÔÁËÔÏ×ÏÊ ÐÒÏÃÁ, Ô.Å. ÐÒÉ 8 íçÃ, 4 íâÏÄÁ. îÅ ÐÏÎÑÌ ÐÒÏ ÏÐÔÉËÕ É ÐÒÏ ËÏÄÅË. åÓÌÉ ÔÙ ÉÍÅÅÛØ × ×ÉÄÕ, ÞÔÏ ÄÁÎÎÙÅ ÕÈÏÄÑÔ ÞÅÒÅÚ ÇÁÌØ×ÁÎÉÞÅÓËÉ ÒÁÚ×ÑÚÁÎÎÙÊ ÏÐÔÒÏÎÏÍ ËÁÎÁÌ, ÔÏ ÔÕÔ ÚÁÄÁÞÁ ÒÅÛÁÅÔÓÑ ÐÒÉÍÅÎÅÎÉÅÍ ADuM1401CRW. ïÔÌÉÞÎÏÅ ÒÅÛÅÎÉÅ.

AG> úÁÞÅÍ Ñ ÂÕÄÕ ÜÔÏ ÄÅÌÁÔØ ÜÔÉ ÎÅÐÒÏÓÔÙÅ ÎÁ×ÏÒÏÔÙ ÎÁ dsPIC30F Ñ ÐÏÎÉÍÁÀ, ÒÁÄÉ AG> 400 KSPS, Á ÎÁ MSP ÜÔÏ ÞÉÓÔÙÅ ÄÏÐ. ÚÁÔÒÁÔÙ. é ËÏÎÅÞÎÏ ÖÅ ÓÏÅÄÉÎÉÔØ AG> DMA-ËÁÎÁÌÏÍ áãð É ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÙÊ ËÁÎÁÌ (Á ÑÄÒÕ ÓÐÁÔØ) ÎÅ ÓÕÖÄÅÎÏ. AG> DMA-ËÁÎÁÌ ÍÏÖÅÔ ÔÏÌØËÏ ÂÕÆÅÒÉÒÏ×ÁÔØ ÄÁÎÎÙÅ × ïúõ, Á ÑÄÒÏ ÄÏÌÖÎÏ AG> ÐÒÅÏÂÒÁÚÏ×Ù×ÁÔØ 10...12-ÒÁÚÒÑÄÎÙÅ ÄÁÎÎÙÅ × ÂÁÊÔÏ×ÙÅ ÄÅÌØÔÙ, ÕÐÁËÏ×Ù×ÁÔØ ÉÈ AG> × ÂÌÏËÉ, ×ËÌÀÞÁÔØ ÔÕÄÁ ÄÏÐÏÌÎÉÔÅÌØÎÕÀ ÉÎÆÏÒÍÁÃÉÀ (×ÒÏÄÅ ÎÁÐÒÑÖÅÎÉÑ ÂÁÔÁÒÅÉ, AG> ÔÅÍÐÅÒÁÔÕÒÙ ÐÒÉÂÏÒÁ), ÓÞÉÔÁÔØ ËÏÎÔÒÏÌØÎÙÅ ÓÕÍÍÙ. îÅÏÂÈÏÄÉÍÏ ÐÒÉÎÉÍÁÔØ AG> ÄÁÎÎÙÅ ÏÂÒÁÔÎÏÇÏ ËÁÎÁÌÁ, ×ÙÐÏÌÎÑÔØ ËÏÍÁÎÄÙ, ÐÅÒÅËÌÀÞÁÔØ ÒÅÖÉÍÙ ÒÁÂÏÔÙ, AG> ÕÐÒÁ×ÌÑÔØ ÍÕÌØÔÉÐÌÅËÓÏÒÁÍÉ.

îÕ ×ÏÔ, ÕÖÅ ËÁËÉÅ-ÔÏ ÄÏÐ. ÕÓÌÏ×ÉÑ ÐÏÌÅÚÌÉ, ËÁËÉÅ-ÔÏ ËÏÎÔÒÏÌØÎÙÅ ÓÕÍÍÙ. þÔÏ-ÔÏ ÓÏÍÎÉÔÅÌØÎÏ ÍÎÅ, ÞÔÏ PIC18 ÐÒÉ ÞÁÓÔÏÔÅ ÓÜÍÐÌÉÒÏ×ÁÎÉÑ 200 Ëçà ÂÕÄÅÔ ÕÓÐÅ×ÁÔØ ÅÝÅ É ËÏÎÔÒÏÌØÎÙÅ ÓÕÍÍÙ ÓÞÉÔÁÔØ. 200 Ëçà - 5 ÍËÓ, ÐÒÉ ÍÁËÓÉÍÁÌØÎÏÊ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ × 10 íéðó ÜÔÏ ×ÓÅÇÏ 50 ÔÁËÔÏ×. á ÅÝÅ ÅÍÕ ÎÁÄÏ ËÁÎÁÌÙ ÐÅÒÅËÌÀÞÁÔØ, "ÐÒÉÎÉÍÁÔØ ÄÁÎÎÙÅ ÏÂÒÁÔÎÏÇÏ ËÁÎÁÌÁ, ÐÅÒÅËÌÀÞÁÔØ ÒÅÖÉÍÙ ÒÁÂÏÔÙ" É Ô.Ä. þÔÏ ËÁÓÁÅÔÓÑ MSP430, ÔÏ ÔÕÔ ÎÉËÁËÉÈ ÄÅÊÓÔ×ÉÊ ÐÏ ÐÅÒÅËÌÀÞÅÎÉÀ ËÁÎÁÌÏ× ÎÅ ÔÒÅÂÕÅÔÓÑ, ÒÁÚÂÉÅÎÉÑ ÎÁ ÂÁÊÔÏ×ÙÅ ÄÅÌØÔÙ ÎÅ ÔÒÅÂÕÅÔÓÑ: áãð × 430-Í ÕÍÅÅÔ Á×ÔÏÍÁÔÉÞÅÓËÉ ÏÃÉÆÒÏ×Ù×ÁÔØ ÏÞÅÒÅÄØ ÉÚ 16 ÚÎÁÞÅÎÉÊ, ËÁÖÄÏÅ ÉÚ ËÏÔÏÒÙÈ ÓÏ Ó×ÏÉÍÉ ÕÓÔÁÎÏ×ËÁÍÉ - ÎÏÍÅÒ ËÁÎÁÌÁ (8 ×ÎÅÛÎÉÈ ËÁÎÁÌÏ× É 4 ×ÎÕÔÒÅÎÎÉÈ), ËÏÎÆÉÇÕÒÁÃÉÑ ÏÐÏÒÙ É Ô.Ä. üÔÁ ÏÂÌÁÓÔØ (Conversion Memory) ÒÁÓÐÏÌÁÇÁÅÔÓÑ Õ ÎÅÇÏ × ÅÇÏ ÌÉÎÅÊÎÏÍ ÁÄÒÅÓÎÏÍ ÐÒÏÓÔÒÁÎÓÔ×Å É ÄÏÓÔÕÐÎÁ ×ÓÅÍÕ, ÞÔÏ ÍÏÖÅÔ ÒÁÂÏÔÁÔØ Ó ÐÁÍÑÔØÀ. òÅÇÉÓÔÒÙ SPI ÔÏÖÅ ÌÅÖÁÔ × ïúõ É ÄÏÓÔÕÐÎÙ ÔÏÞÎÏ ÔÁË ÖÅ. ôÁËÉÍ ÏÂÒÁÚÏÍ, íë ÍÏÖÅÔ Á×ÔÏÍÁÔÉÞÅÓËÉ × ÃÉËÌÅ ÏÃÉÆÒÏ×Ù×ÁÔØ ÄÁÎÎÙÅ É ÐÅÒÅÓÙÌÁÔØ ÉÈ ÉÚ Conversion Memory × ÒÅÇÉÓÔÒ ÄÁÎÎÙÈ SPI ÐÏÒÔÁ ÐÏ ÂÁÊÔÁÍ (ÁËÔÉ×ÎÏÓÔØ DMA ÄÏÌÖÎÁ ÂÙÔØ, ËÏÎÅÞÎÏ, × Ä×Á ÒÁÚÁ ×ÙÛÅ, ÞÅÍ áãð, Ô.Ë. ÐÅÒÅÓÙÌËÁ ×ÅÄÅÔÓÑ ÐÏ ÐÏÌÏ×ÉÎËÅ ÓÌÏ×Á, Á áãð ËÌÁÄÅÔ ÓÒÁÚÕ ÃÅÌÏÅ ÓÌÏ×Ï), ÏÔËÕÄÁ ÏÎÉ ÂÕÄÕÔ ÏÔÐÒÁ×ÌÑÔØÓÑ ÈÏÔØ ÎÁ ÓËÏÒÏÓÔÉ 4 íâÏÄÁ. úÁÐÕÓË É áãð, É ðäð, ËÁË Ñ ÕÖÅ ÇÏ×ÏÒÉÌ, ÌÅÇËÏ ÏÒÇÁÎÉÚÏ×ÁÔØ Ó ÐÏÍÏÝØÀ ÔÁÊÍÅÒÁ ÄÁÖÅ × ÔÁËÏÍ ÒÅÖÉÍÅ. ðäð ÉÓÐÏÌØÚÕÅÔ ÔÕ ÖÅ ÛÉÎÕ ÄÁÎÎÙÈ, ÞÔÏ É ÐÒÏÃ, ÐÏÜÔÏÍÕ ×Ï ×ÒÅÍÑ ÐÅÒÅÓÙÌËÅ ÐÏ ËÁÎÁÌÕ ðäð ÐÒÏà ÏÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ ÎÁ 2 ÔÁËÔÁ. ÷ÓÅ ÏÓÔÁÌØÎÏÅ ×ÒÅÍÑ CPU Ó×ÏÂÏÄÅÎ ÄÌÑ Ô×ÏÉÈ ÎÕÖÄ - ÍÏÖÅÔ ÐÅÒÅÓÔÒÁÉ×ÁÔØ ÏÞÅÒÅÄØ ÏÃÉÆÒÏ×ËÉ, ÍÏÖÅÔ ÏÂÒÁÂÁÔÙ×ÁÔØ ÄÁÎÎÙÅ ÉÚ ÏÂÒÁÔÎÏÇÏ ËÁÎÁÌÁ É Ô.Ä. é ÄÁÖÅ ÐÒÉ ÐÏÌÎÏÊ ÁËÔÉ×ÎÏÓÔÉ ÅÇÏ ÐÏÔÒÅÂÌÅÎÉÅ ÎÅ ÓÒÁ×ÎÉÔÓÑ ÄÁÖÅ Ó PIC18, ÎÅ ÇÏ×ÏÒÑ ÕÖÅ Ï dsPIC'ÁÈ.

HZ>> ðÏÜÔÏÍÕ ÐÏÄÇÏÎËÁ ÚÁÄÁÞÉ ÐÏÄ ×ÏÚÍÏÖÎÏÓÔÉ ËÒÉÓÔÁÌÌÁ - ÎÅ ÏÞÅÎØ HZ>> ËÏÒÒÅËÔÎÏ ÄÌÑ ÓÒÁ×ÎÅÎÉÑ ×ÏÚÍÏÖÎÏÓÔÅÊ. ÷ÓÅÇÄÁ ÎÁÊÄÅÔÓÑ ÚÁÄÁÞÁ, ËÏÔÏÒÁÑ HZ>> ÌÑÖÅÔ ÎÁ ÂÏÌÅÅ ÕÂÏÇÉÊ íë ÌÕÞÛÅ, ÞÅÍ ÎÁ ÂÏÌÅÅ ËÒÕÔÏÊ.

AG> ÷ ÓÍÙÓÌÅ "ÐÏÄÇÏÎËÁ ÚÁÄÁÞÉ"? ïÂߣÍ ÒÅÛÁÅÍÏÊ ÚÁÄÁÞÉ (ÞÁÓÔÏÔÁ ÓÜÍÐÌÉÎÇÁ) AG> ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÏÇÒÁÎÉÞÅÎ ËÒÉÓÔÁÌÌÏÍ. ÷ÙÈÏÄÑÔ ÎÏ×ÙÅ ËÒÉÓÔÁÌÌÙ Ó ÎÏ×ÙÍÉ AG> ×ÏÚÍÏÖÎÏÓÔÑÍÉ É Ñ ÒÁÓÛÉÒÑÀ ÒÁÍËÉ. á ËÁË Åݣ ÍÏÖÅÔ ÂÙÔØ?

óÔÒÁÎÎÙÅ ËÁËÉÅ-ÔÏ ÔÒÅÂÏ×ÁÎÉÑ. ïÂÙÞÎÏ ÅÓÌÉ ÔÒÅÂÕÅÔÓÑ ÞÔÏ-ÔÏ, ÔÏ ÜÔÏ ÎÁÄÏ ×ÙÐÏÌÎÉÔØ, ËÁË ÔÒÅÂÕÅÔÓÑ, Á ÎÅ ÎÁÓÔÏÌØËÏ, ÎÁÓËÏÌØËÏ ÐÏÚ×ÏÌÑÀÔ ×ÏÚÍÏÖÎÏÓÔÉ ËÒÉÓÔÁÌÌÁ. åÓÌÉ ÎÁÂÏÒÔÎÙÊ áãð íë ÎÅ ÔÑÎÅÔ, ÎÁÄÏ ÓÔÁ×ÉÔØ ×ÎÅÛÎÉÊ, Á ÎÅ ÏÇÒÁÎÉÞÉ×ÁÔØ ÞÁÓÔÏÔÕ, ÞÔÏÂÙ ÜÔÏ ÍÏÖÎÏ ÂÙÌÏ ÓÄÅÌÁÔØ ÎÁ PIC'Å.

AG> óÎÉÚÉÔØ ÔÒÅÂÏ×ÁÎÉÑ Ë ÞÁÓÔÏÔÅ ÄÏ 25 ËçÃ É ÏÂÎÁÒÕÖÉÔØ, ÞÔÏ ÃÅÌÁÑ ËÕÞÁ íë ÂÅÚ AG> ÔÒÕÄÁ ÓÍÏÖÅÔ ţ ÒÅÛÉÔØ? é ËÁËÏÊ × ÜÔÏÍ ÓÍÙÓÌ?

áÇÁ, ÚÁÔÏ Õ ÔÅÂÑ ×ÙÈÏÄÉÔ ÂÏÌØÛÏÊ ÓÍÙÓÌ ÓÎÉÚÉÔØ ÞÁÓÔÏÔÕ ÔÁË, ÞÔÏÂÙ ËÏÎËÒÅÔÎÙÊ ÞÉÐ ÉÚ ÓÅÍÅÊÓÔ×Á 18-È PIC'Ï× ÓÍÏÇ ÜÔÏ ÓÄÅÌÁÔØ, ÄÁÂÙ ÐÒÏÄÅÍÏÎÓÔÒÉÒÏ×ÁÔØ ÅÇÏ ÐÒÅÉÍÕÝÅÓÔ×Ï ÎÁÄ ×ÓÅÍÉ ÏÓÔÁÌØÎÙÍÉ! îÅÔ Õ ÎÅÇÏ ÐÒÅÉÍÕÝÅÓÔ×Á ÄÁÖÅ ÎÁÄ MSP430.

HZ>> ë ÐÒÉÍÅÒÕ, ÞÅÍ ÛÉÔØ dsPIC?

AG> õ ÍÅÎÑ Microchip'Ï×ÓËÉÊ PRO MATE II Ó ÍÏÄÕÌÅÍ ICSP. ôÁÍ ÐÏÄÄÅÒÖËÁ AG> ÐÏÑ×ÌÑÅÔÓÑ ÒÁÎØÛÅ ÞÅÍ ÓÔÁÎÏ×ÑÔÓÑ ÄÏÓÔÕÐÙ ËÒÉÓÔÁÌÌÙ.

á ÓËÏËÁ ÓÔïÉÔ ÜÔÏ ÞÕÄÏ? á ÅÓÔØ ÌÉ ×ÎÕÔÒÉÓÈÅÍÎÁÑ ÏÔÌÁÄËÁ?

[...]

HZ>> ñ ÎÅ ÐÏÎÉÍÁÀ, ÐÏÞÅÍÕ, ÎÁÐÒÉÍÅÒ, Altera × Ó×ÏÉÈ ðìéóÁÈ HZ>> ÍÏÖÅÔ ÓÄÅÌÁÔØ ÐÒÏÉÚ×ÏÌØÎÙÍ ÐÏÒÑÄÏË ÐÏÄÁÞÉ ÐÉÔÁÎÉÑ, Á ôé ÎÅÔ. HÏ × HZ>> ËÏÎÅÞÎÏÍ ÉÔÏÇÅ ÏÓÏÂÙÈ ÐÒÏÂÌÅÍ ÜÔÏ ÎÅ ÓÏÚÄÁÅÔ. üÔÏÔ ÍÏÍÅÎÔ ÏÓ×ÁÉ×ÁÅÔÓÑ HZ>> ÏÄÉÎ ÒÁÚ É ÂÏÌØÛÅ Ë ÎÅÍÕ ÎÅ ×ÏÚ×ÒÁÝÁÀÔÓÑ.

AG> ñ Altera ÐÒÉÍÅÎÑÌ ÐÏÓÌÅÄÎÉÊ ÒÁÚ ÇÏÄÕ, ËÁÖÅÔÓÑ × 97-Í.

ñ Altera ÕÐÏÍÑÎÕÌ ÔÏÌØËÏ ËÁË ÐÒÉÍÅÒ, ÞÔÏ ÍÏÖÎÏ ÓÄÅÌÁÔØ ÞÉÐ ÂÅÚ ÔÒÅÂÏ×ÁÎÉÊ Ë ÏÞÅÒÅÄÎÏÓÔÉ ÐÏÄÁÞÉ ÐÉÔÁÎÉÑ. üÔÏÔ ÍÏÍÅÎÔ Õ ôé ÍÎÅ ÎÅ ÎÒÁ×ÉÔÓÑ É ÍÏÔÉ×Ï× ÓÅÒØÅÚÎÙÈ ÄÌÑ ÔÁËÏÇÏ ÉÈ ÒÅÛÅÎÉÑ Ñ ÎÅ ×ÉÖÕ.

AG> ñ ÔÅÈ ÐÏÒ ÎÉÒÁÚÕ, ÖÒÕÔ ÏÎÉ ÐÏ ÍÅÒËÁÍ ÍÏÉÈ ÚÁÄÁÞ ÞÒÅÚÍÅÒÎÏ.

ôÙ, ×ÉÄÎÏ, MAX'Ù ÉÈ ÉÍÅÅÛØ × ×ÉÄÕ? îÕ, ÔÁË Ó ÔÅÈ ÐÏÒ ×ÏÄÙ-ÔÏ ÕÖ ÕÔÅËÌÏ. ÷Ï-ÐÅÒ×ÙÈ, FPGA ÎÅ ÔÁËÉÅ ÕÖ É ÖÒÕÞÉÅ - ÓÔÁÔÉÞÅÓËÉÊ ÔÏË ÅÄÉÎÉÃÙ Íá (Á Õ FLEX8000 ÔÁË ×ÏÏÂÝÅ × ÐÒÅÄÅÌÁÈ Íá), ÎÏ ÉÈ ÚÁÇÒÕÖÁÔØ ÎÁÄÏ - ÅÓÌÉ ÌÏÇÉËÉ ÍÎÏÇÏ ÎÅ ÔÒÅÂÕÅÔÓÑ, ÔÏ ÜÔÏ ÎÅ ËÁÔÉÔ. èÏÔÑ Ó×ÑÚËÁ MSP430F149 + EP1K10TI100 ×ÐÏÌÎÅ ÓÅÂÅ ÎÉÞÅÇÏ: ðìéóÉÎÁ ÉÍÅÅÔ 576 ÑÞÅÅË ÂÙÓÔÒÏÊ ÌÏÇÉËÉ, ÚÁÇÒÕÖÁÅÔÓÑ ÐÒÑÍÏ ÉÚ ÆÌÅÛÉ 430-ÇÏ, ÐÒÏÛÉ×ËÁ ÚÁÎÉÍÁÅÔ ÐÒÉ ÜÔÏÍ 22 ËÂÁÊÔÁ ÉÚ 60, É ÔÒÅÂÕÅÔÓÑ 5 ÎÏÖÅË ××ÏÄÁ-×Ù×ÏÄÁ ÏÔ íë ÉÚ 48-ÍÉ. òÅÁÌØÎÏ Õ ÍÅÎÑ ÔÁËÁÑ ðìéó ÐÒÉ ÚÁÇÒÕÚËÅ ÏËÏÌÏ 200 ÑÞÅÅË ÎÁ ÞÁÓÔÏÔÅ 8 íçà ÐÏÔÒÅÂÌÑÌÁ ÏËÏÌÏ 12 Íá. éÚ ÎÉÈ ÇÄÅ-ÔÏ 7-8 Íá ÓÔÁÔÉÞÅÓËÏÅ ÐÏÔÒÅÂÌÅÎÉÅ. ÷Ï-×ÔÏÒÙÈ, ÎÁ Altera Ó×ÅÔ ËÌÉÎÏÍ ÎÅ ÓÏÛÅÌÓÑ - ÅÓÔØ ÅÝÅ, ÎÁÐÒÉÍÅÒ, Xilinx, Õ ËÏÔÏÒÏÇÏ ÅÓÔØ ÏÞÅÎØ ÈÏÒÏÛÅÅ ÓÅÍÅÊÓÔ×Ï CPLD CoolRunner. ðÏ ÆÕÎËÃÉÏÎÁÌØÎÏÓÔÉ ËÁË ÁÌØÔÅÒÏ×ÓËÉÅ ÍÁËÓÙ, ÎÏ true digital design, ËÁË ÏÎÉ ÐÉÛÕÔ. óÔÁÔÉÞÅÓËÏÅ ÐÏÔÒÅÂÌÅÎÉÅ ÎÁÐÒÉÍÅÒ Õ XCR3064 (64 ÍÁËÒÏÑÞÅÊËÉ) ×ÓÅÇÏ 17 ÍËá. ó ÞÁÓÔÏÔÏÊ ÒÁÓÔÅÔ, ËÁË É ÐÏÄÏÂÁÅÔ ëíïð ÍÉËÒÕÈÅ, ÎÏ ÕÍÅÒÅÎÎÏ - ÄÉÚÁÊÎ, ÓÏÓÔÏÑÝÉÊ ÉÚ ÓÄ×ÉÇÏ×ÏÇÏ ÒÅÇÉÓÔÒÁ (8 ÂÉÔ), ÂÕÆÅÒÎÏÇÏ ÒÅÇÉÓÔÒÁ É ÌÏÇÉÞÅÓËÏÊ ÏÂ×ÑÚËÉ ÎÁ ÔÁËÔÏ×ÏÊ 1 íçà ÐÏÔÒÅÂÌÑÌ ÐÏÒÑÄËÁ ÓÏÔÅÎ ÍËá. íÎÅ ÜÔÁ ÛÔÕËÁ ÏÞÅÎØ ËÓÔÁÔÉ ÐÒÉÛÌÁÓØ × ÐÁÒÕ Ë MSP430, ËÏÇÄÁ ÆÕÎËÃÉÏÎÁÌØÎÏÓÔÉ ÅÇÏ ÐÅÒÉÆÅÒÉÉ ÎÅ È×ÁÔÉÌÏ (ÓÌÕÞÁÊ ÍÁÒÇÉÎÁÌØÎÙÊ ÐÏÐÁÌÓÑ :), ÔÒÅÂÏ×ÁÌÏÓØ ÍÉÎÉÍÁÌØÎÏÅ ÐÏÔÒÅÂÌÅÎÉÅ. åÝÅ ÅÓÔØ ÐÏÄÏÂÎÙÅ ÞÉÐÙ ÏÔ Actel, ÎÏ Ñ Ó ÎÉÍÉ ÎÅ ÒÁÚÂÉÒÁÌÓÑ, ÍÎÅ ËÕÌÒÁÎÎÅÒÏ× È×ÁÔÉÌÏ.

Mon Aug 09 2004 00:38, George Shepelev wrote to Alexander Golovlev: AG>> Тогда считаем еще раз. AG>> пусть: в 51-ом каждая команда выполняется за 12 тактов (лучший случай).

GS> Плохо считаешь. Выше рассматривался вариант контроллера с 4-х тактным GS> циклом. Может быть я плохо читаю, но не считаю:

пусть: в 51-ом каждая команда выполняется за 4 такта (в четырехтактном). пусть: в АВР каждая команда выполняется за 2 такта (в среднем).

тогда, если 51-ый заводить кварцом 20МГц, то реальная чаотота будет 4.8 Мгц. а если заводить АВР кварцом 24МГц, то реально получается 12Мгц.

4 команды на 51-ом выполняется при таком раскладе за 0,83мкс 5 команд на АВР за 0,41мкс.

СУВ.

Привет!

Thu Aug 12 2004 16:25, Harry Zhurov wrote to Alexander Golov:

...

AG>> Лично я ниразу не использовал встроенные в МК ШИМ кроме как для AG>> тактирования различных внешних схем.

HZ> Собственно, ШИМ не для этого, как ты знаешь. И для тактирования HZ> собственно широтно-импульсная модуляция не нужна. Для этого достаточно HZ> Output Compare, что есть во всех приличных МК сегодня.

ШИМ позволяет формировать импульсы заданной длительности, а несколько ШИМов -- импульсы сдвинутые относительно друг-друга на заданную величину и всё это без вмешательства ядра. С Output Compare этого достигнуть нельзя.

...

AG>> Если тебе, скажем завтра 300 кГц (или 16 разрядов) сигнал понядобится, AG>> ты же не станешь 1,5 ГГц микроконтроллер искать,

HZ> Вряд ли понадобится - задача: управлять моментным двигателем, HZ> постоянная времени порядка 100 мкс, угловое разрешение 10-20 секунд. По HZ> оценкам надо примерно 11-12 бит разрешения и частота 20-30 кГц HZ> (определяется постоянной времени двигателя). Тут TMS320F28xx очень хорошо HZ> подходит со своими 150 МГц.

Я конечно не специалист, но на вскидку мне кажется, что реализация во всей цепочке управление -- мощность фактического фазового разрешения даже на уровне

16,7 нс (dsPIC30F) уже не сахар.

...

HZ> Тем не менее 16-разрядный MSP430 в этом вопросе делает их всех с HZ> таким отрывом, что об этом даже говорить не приходится!

С каким таким отрывом? Насколько мне известно потребление самых "лёгких" MSP430 при 3 В это около 300 мкА при 1 MIPS у более "тяжёлых" -- 500 мкА. PIC16F последнего поколения потребляют при тех же условиях практически те же

320...370 мкА (в зависимости от вида тактирования), а "обрубки" PIC10F столько потребляют при 5 В. Не слишком навороченные PIC18F достигли потребления на уровне PIC16C -- 580...680 мкА. dsPIC30F потребляет в три раза больше "тяжёлых" MSP430 из расчёта на MIPS, но он и существенно производительнее. Думаю в лучшем случае MSP430 имеет 1,5-кратный выигрыш по потреблению и это на фоне того, что в отличие от последнего основное назначение dsPIC30F вовсе не решение микропотребляющих задач.

...

HZ> А что такое "критичный обработчик"? Без четкого понимания этого HZ> трудно ответить конкретно. И какая должна быть латентность и почему?

Какое тут может быть двойное толкование? Нужно реагировать на событие в течение жёстко лимитированного времени превышать которое недопустимо. Лимиты обычно определяются внешними аппаратными узлами. Альтернатива -- дополнительная аппаратная поддержка.

...

HZ> Hу и в чем проблема-то? Модификация переменной производится в HZ> регистре, а не в памяти - в памяти она только хранится. Так вот, считал HZ> переменную в регистр, модифицировал ее, записал в память. Hо в HZ> регистре-то она от этого не испортилась - используй на здоровье сколько HZ> влезет. Зачем ее из памяти-то читать?

В результате требуются лишние примитивные операции для обеспечения трафика между регистрами и(или) памятью. Я понимаю когда такая модель выбрана изначально (скажем в AVR), но на фоне развитой адресации в Dst у 2810 всё это выглядит не слишком логично.

...

HZ> Это ты что-то новое про адресацию придумал! Адресация - способ HZ> обращения в память. Hе более того. А что при этом делается с ячейкой HZ> памяти - просто ли она копируется, участвует ли она в арифметических HZ> операциях или битовых операциях - это уже детали. И считать, что второе - HZ> это адресация, а первое - нет, не более чем домыслы.

На мой взгляд если существует лишь одна операция выполняемая с данным видом адресации говорить об этой адресации отдельно от той операции бессмысленно.

...

HZ> Открою для тебя новость: если завести в программе (на С) пару HZ> массивов, суммарный размер, которых больше 64 слов, то, удивительно, HZ> после сборки они оказываются выровненными именно по границе страниц. А HZ> "дырка" между ними заполняется другими переменными. Так действует пакет HZ> CCS. Меня поначалу это удивило - никогда раньше не сталкивался с таким HZ> подходом, но потом понял - это делается намеренно, чтобы с максимальной HZ> эффективностью использовать эту "прямую" адресацию, которая, по-твоему, HZ> придумана не для оптимальной работы с агрегатными объектами.

Естественно это не оптимально. Выравнивание ограничивает число этих объектов не объёмом памяти, а величиной M/64 слова. Даже для твоего могучего

18-килобайтного МК это меньше 150 единиц, а если бы памяти было всего пара килобайт? И не очень понятно зачем это нужно (адресовать 8 мегабайт статических переменных?), сделали бы нормальное суммирование адреса и не нужно было бы ничего выравнивать и потерь не было бы.

...

AG>> Вот у AVR это действительно вполне нормальная косвенная адресация со AG>> смещением, правда как всегда только в виде одной операции -- MOV.

HZ> AVR при этом задействует аппаратный поинтер. TMS320F28xx в таком разе HZ> обладает не меньшей нормальностью косвенной адресации - у него и HZ> поинтеров несравненно больше, и гибче они, и смещения больше, и адресная HZ> арифметика с ними производится эффективнее. Т.ч. AVR'у тут не тягаться с HZ> TMS320F28xx.

Что-то я не понял. AVR нормально может прибавлять к указателю константное смещение без каких-либо выравниваний. У TMS320F28xx я нахожу такую адресацию только к SP, или 3-разрядное смещение к другим косвенным адресам. Большее смещение только по AR0, а это совсем не тоже самое.

...

HZ>>> ??? Здрасьте!.. Hеэффективно то, что при каждом обращении HZ>>> приходится тащить ВЕСЬ адрес, который в опкоде занимает бОльшую часть.

AG>> Hу занимает и что? Команду же на две не поделишь всё равно что декремент AG>> регистра, что переменной будет занимать один целый опкод.

HZ> А то, что полный адрес сам по себе больше, чем собственно инструкция HZ> в опкоде. Вот в том же AVR'е lds/sts занимает не одно слово, как все HZ> остальные команды, а два, второе из которых - есть не что иное, как HZ> полный адрес ячейки памяти. Просто тупо тащится 16 бит адреса в опкоде. В HZ> итоге этот способ адресации эффективнее (и только по времени эффективнее) HZ> только при обращении один раз к одной ячейке памяти. Если надо хотя бы HZ> два обращения, то уже выгоднее загрузить адрес в поинтер и адресоваться HZ> по нему. А если адресное пространство не 16 бит а больше, то проблема HZ> прямой адресации усугубляется.

У dsPIC30F опкод 24-разряда, прямой адрес -- 13 (исключая MOV, которая накрывает все 64 К). Этого вполне достаточно для непосредственного оперирования SFR'амии и статическими переменными без дополнительных задержек. Никаких страшных потерь опкодов не наблюдается и дополнительные слова не требуются.

...

HZ>>> А когда адресное пространство большое, то это вообще сплошная HZ>>> неэффективность.

AG>> Я не нахожу в dsPIC30F потерь эффективности всвязи с этим.

HZ> Сильный аргумент.

Зачем мне аргументировать не мной высказанные положения? Доказывать неэфективность прямой адресации взялся ты.

...

HZ> Прямая адресация сама по себе требует поддержки в железе, жрет опкоды HZ> и усложняет процессор. Удобство от нее только при писании на асме.

С асмом это вообще слабо связано.

HZ> Hа ЯВУ этих проблем нет - компилятор прекрасно организовывает обращение HZ> через аппаратные указатели.

...

HZ>>> mov *xar7++,ACC

AG>> Я имел ввиду что-нибудь вроде:

AG>> mov *xar7++, xar6++

HZ> За один такт обратиться в одну и ту же память он не может - шина-то HZ> одна, это естественно (а кто может?).

dsPIC30F выполняет такую операцию за 1 цикл.

...

AG>> Hе смущает потому что мне достоверно известно, что это не выполнение за AG>> 2 цикла, а ожидание выборки из медленной программной памяти.

HZ> :))) А какая разница-то? Hа переход тратится два такта, ЭТО ФАКТ! И HZ> не важно, что он там внутри делал (может папиросу курил полтора такта).

...

Разница в том, что 2810 и переход за 4/7 циклов выполняет и ещё и память 5 циклов выборку из памяти ждёт если понадобится. А PIC только выборку ждёт.

HZ> И тут не в медленной памяти дело (скорости ее вполне хватает для HZ> PIC'а), а в том, что в том же PIC'е конвейер тоже есть - пока текущая HZ> команда выполняется, следующая выбирается из памяти.

Дело только в медленной памяти. У 2810 Flash имеет время выборки 36 нс, у dsPIC30F она вряд ли радикально быстее. Другого способа выполнять 30 млн. команд кроме как делать предварительные выборки нет (отображение в SRAM я не рассматриваю). Декодировок команды в предыдущих циклах PIC не производит.

...

HZ> А при переходе, когда PC содержит новый адрес, считанной инструкции HZ> по новому адресу еще нет, вот и надо один тактик потратить на выборку.

Её потому и нет, что память медленная. Если бы инструкцию можно было выбрать за 8,3 нс он бы её и выбрал в 1-м такте своего цикла и не вставлял бы лишний цикл при чтении программной памяти.

...

AG>> Оперирование битом требует двух обращений к памяти. И у 2810 эти AG>> обращения к портам делает не ядро, а специальный периферийный автомат, AG>> ядро обращается к нему только один раз по записи. Если бы бит AG>> перебрасывало ядро (скажем командами XOR loc16,#16bit), то были бы те AG>> самые 6 циклов.

HZ> "Если бы да кабы"... Причем тут вообще оперирование битом? Ты начал HZ> про обращение в память говорить, что, дескать, оно безобразно медленное.

Что значит "причём"? Я написал:

(AG>> Иногда он может отстать даже по абсолютным показателям. Hапример, при AG>> последовательном выполнении операций над отдельными линиями порта в AG>> лучшем случае изменение состояния будет происходить раз в 6 циклов, AG>> т.е. 25 млн./с, а dsPIC30F может это делать 30 млн./с. При одинаковой AG>> тактовой между ними уже будет целая пропасть.)

Управление отдельными линиями порта это и есть битовые обращения. И их выполненение над памятью или над SFR'ами будет делаться именно так как я описал выше.

HZ> Вот я тебе и продемонстрировал, что обращение в память, даже в одну и ту HZ> же ячейку по записи или по чтению там максимально быстрое - один такт!

HZ> А то, что они избавились от схемы Read-Modify-Write при работе с HZ> портами, это уже следующий момент. Если так сделали, значит посчитали HZ> важным, чтобы дергание ножками было шустрым, я не против этого, к месту, HZ> возможно, будет кстати. Hо к работе процессора с памятью это отношения не HZ> имеет.

Это как раз самый важный момент, без него тут всё очень не здорово.

...

HZ> Hу, т.е. все упирается в условия твоей задачи. А надо будет 12 бит и HZ> пролетит твой dsPIC аки фанера на Парижем - даже до MSP430 не дотянется.

Начальные условия -- тензоизмерения в полосе до 25 кГц с частотой выборок 100 кГц с разрешением 8-разрядов мультиплексно в 30 каналах. 12 разрядов это в лучшем случае порядка 0,1 мкВ на МЗР. Как я уже говорил, даже 10 разрядов в таком прямом рассмотрении не сахар, а там ещё есть несколько ухудшающих жизнь условий.

...

AG>> Прежде всего, задача на 200 KSPS решается на PIC18 без DMA и тут не AG>> нужен dsPIC30F.

HZ> В случае 10 бит. А в случае 12 бит не решается. Всегда можно выпятить HZ> какую-нибудь фичу того или иного МК, на которую другой (даже более крутой HZ> и дорогой) не натянется.

Ну не решается и что? Она ведь в таком случае ни на чём не решается.

...

HZ> Использовать асинхронный канал на такой скорости, имхо, не лучшая HZ> идея, мягко говоря.

Это практически идеальный вариант для скоростей до 4 Мбод с приёмопередатчиком IrDA FIR. Из обвязки нужен только простой формирователь импульсов на передачу и триггер и схема синхро-сброса на приёмник. Вот только МК с UART'ами более

2,5 Мбод днём с огнём не сыщешь, разве что тот же 2810.

AG>> Вариант -- использовать SPI (он наверное сможет обмениваться на AG>> повышенной частоте?), но он потребует внешнего кодека для обмена по AG>> оптике.

HZ> У него половина тактовой проца, т.е. при 8 МГц, 4 МБода. Hе понял про HZ> оптику и про кодек. Если ты имеешь в виду, что данные уходят через HZ> гальванически развязанный оптроном канал, то тут задача решается HZ> применением ADuM1401CRW. Отличное решение.

Развязка механическая через 250 мм свободного пространства (прибор вращается вместе объектом исследования).

...

HZ> Hу вот, уже какие-то доп. условия полезли, какие-то контрольные HZ> суммы. HZ> Что-то сомнительно мне, что PIC18 при частоте сэмплирования 200 кГц будет HZ> успевать еще и контрольные суммы считать. 200 кГц - 5 мкс, при HZ> максимальной производительности в 10 МИПС это всего 50 тактов. А еще ему HZ> надо каналы переключать, "принимать данные обратного канала, переключать HZ> режимы работы" и т.д.

У 2331 на АЦП FIFO на 4 отсчёта, прерывания он получает каждые 200 циклов. Обработчик считает время и буферирует отсчёты. Когда данных наберётся полный фрейм, его отправку (с формированием суммы и т.п.) и приём встречной информации осуществляет другая задача, она же формирует из фреймов блоки, выполняет и другие действия в основном в промежутках между формированием блоков.

...

HZ> Таким образом, МК может автоматически в цикле оцифровывать данные и HZ> пересылать их из Conversion Memory в регистр данных SPI порта по байтам HZ> (активность DMA должна быть, конечно, в два раза выше, чем АЦП, т.к. HZ> пересылка ведется по половинке слова, а АЦП кладет сразу целое слово), HZ> откуда они будут отправляться хоть на скорости 4 МБода. Запуск и АЦП, и HZ> ПДП, как я уже говорил, легко организовать с помощью таймера даже в таком HZ> режиме. ПДП использует ту же шину данных, что и проц, поэтому во время HZ> пересылке по каналу ПДП проц останавливается на 2 такта. Все остальное HZ> время CPU свободен для твоих нужд - может перестраивать очередь HZ> оцифровки, может обрабатывать данные из обратного канала и т.д. И даже HZ> при полной активности его потребление не сравнится даже с PIC18, не HZ> говоря уже о dsPIC'ах.

Для того, что ты тут описал вообще никакой МК не нужен, АЦП с SPI пруд-пруди, даже с мастерным есть. Добавить счётчик перебирающий каналы и вперёд. Вот только смысла в этом нет.

...

HZ> Странные какие-то требования. Обычно если требуется что-то, то это HZ> надо выполнить, как требуется, а не настолько, насколько позволяют HZ> возможности кристалла. Если набортный АЦП МК не тянет, надо ставить HZ> внешний, а не ограничивать частоту, чтобы это можно было сделать на HZ> PIC'е.

Обычно требуется улучшить качество эксперимента и конца этим пожеланиям не будет никогда. И если пределы улучшения на данный момент диктуются доступной элементной базой (и далеко не только МК), то что уж тут поделаешь?

AG>> Снизить требования к частоте до 25 кГц и обнаружить, что целая куча МК AG>> без труда сможет её решить? И какой в этом смысл?

HZ> Ага, зато у тебя выходит большой смысл снизить частоту так, чтобы HZ> конкретный чип из семейства 18-х PIC'ов смог это сделать, дабы HZ> продемонстрировать его преимущество над всеми остальными! HZ> Hет у него преимущества даже над MSP430.

Не улавливаю логики. 2331 обеспечивает 200 KSPS без сколь-либо сложных внешних довесков. Ближайший конкурент (ATmega на 20 МГц) требует внешнего АЦП и логики мультиплексирования, кроме того будет крайне перегружен по запросам на прерывание. MSP430 требует внешнего кодека для синхронного интерфейса (который ещё не понятно как сделать) и вряд ли обеспечит управление трафиком 200 КБ/с. При всём этом данный этап пройден, я обсуждаю следующий на 400 KSPS, на котором из упоминавшихся только 2810 обеспечивает функциональное решение (возможно он может обеспечить его и на 800 KSPS), к сожалению не физическое.

HZ>>> К примеру, чем шить dsPIC?

AG>> У меня Microchip'овский PRO MATE II с модулем ICSP. Там поддержка AG>> появляется раньше чем становятся доступы кристаллы.

HZ> А скока стОит это чудо? А есть ли внутрисхемная отладка?

Нет, это просто программатор, причём дорогой (под $1000). А внутрисхемная отладка это, видимо ICD 2, но я этой штукой никогда не пользовался.

...

HZ> Во-вторых, на Altera свет клином не сошелся - есть еще, например, HZ> Xilinx, у которого есть очень хорошее семейство CPLD CoolRunner...

Это уже интересно. Например, тот же кодек для обмена по оптике через SPI сделать.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required