Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: XMEGA: будущее, которого мы так долго ждали, наступило.
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Страницы: 1, 2, 3, 4, 5
Evgeny_CD
XMEGA: будущее, которого мы так долго ждали, наступило.

Итак, на сайте Atmel появились полноценные доки по семейству. Само семейство пока еще недоступно в виде чипов на складах дистрибуторов, но такая позиция уже есть в прайсах. Совсем скоро можно будет запаивать.

Далее все рассматривается на примере ATxmega128A1

Что обращает на себя внимание.

1. ATxmega64A1/128A1/192A1/256A1 Preliminary (75 pages, revision B, updated 5/08)
http://www.atmel.com/dyn/resources/prod_do...nts/doc8067.pdf

Смотрим секцию errata smile.gif и видим - ATxmega128A1 rev. G. Т.е. предыдущие версии A-F сгинули в Atmel, так и не выйдя в свет. Вызывает уважение по сравнению с ситуацией на рынке ARM - там erratы к современным чипам просто вызывают депрессию.

Сама errata вполне терпимая. Видно, что в предыдущих errata'х народ дожимал цифровые глюки, а теперь осталось некоторое количество аналоговых - нелинейности по напряжению и пр.

То, что нет errat в части DMA, арбитража шин и т.д., и то, что это rev. G, дает некоторую надежду на вылеченность системных багов.

2. Накристальная периферия. То, ради чего все затевалось

* RC генераторы - аж целых 4 штуки: 32 kHz Int. ULP; 32 kHz Int. Osc.; 2 MHz Int. Osc.; 32 MHz Int. Osc. Просто праздник какой-то.

* 8 UART - это уже обсуждали

* 16 битный RTC с прескалером (с коэф. от 1(!) до 1024), у которого есть Compare Match регистр - это просто праздник какой-то для всех, кто, например, делает коммуникационные протоколы

* Event system - пока еще мною не познанная замолодь, но из описаний следует, что это эффективная шняга для обработки событий.
AVR1001: Getting Started With the XMEGA Event System (8 pages, revision A, updated 2/08)
http://www.atmel.com/dyn/resources/prod_do...nts/doc8071.pdf

* DMA
• The DMA Controller allows high-speed transfers with minimal CPU intervention
– from one memory area to another
– from memory area to peripheral
– from peripheral to memory area
– from peripheral to another peripheral

Заметим, что DMA во всяких там SAM - "жалкое подобие левой руки" DMA XMEGA. И меговское DMA работает на всей SRAM - привет dsPIC.

* 12 бит DAC (1 Мгц) и ADC (2 Мгц). Хоть в реальности они и получились 10 битными, все равно очень даже!

* AWeX – Advanced Waveform Extension. Внушительный блок для всяких PWM приложений.

* External Bus Interface for up to 128M bit SDRAM - токо в описании я что-то ничего про SDRAM не нашел smile.gif

3. Жручесть. В варианте ULP, RTC,WDT, BOD Enabled обещают не более 2 мка при 3.3В.

Типовой CR2016 имеет емкость 90 mAh, CR2032 - 230 mAh. 0,002*24*365*5=87.6 ма*ч энергии на 5 лет. 5 лет от CR2016 - большего на практике нафиг не надо. Т.е. дальнейшее уменьшение тока потребления суть маркетинговый развод, по технике это будет эффективно только для очень специфичных применений.

To ensure safe operation it is always recommended to have a brown-out detector (BOD) enabled. This has to be either internal in the microcontroller or an external device. The
brown-out detector will ensure that the microcontroller is held in reset if VCC is lower than minimum. The XMEGA BOD has a new and innovative sampling mode. In sampling mode,
the BOD is turned on only once per ms to check status of VCC. If everything is OK, the BOD is turned off and remains off until next checkpoint. This gives XMEGA a max power
consumption of 2 мкA in Power Save mode with a 32 kHz crystal running, Real Time Counter operating, Watchdog Timer enabled and BOD operative with max 1 ms reaction
time. To achieve the same performance, TI MSP430 devices need to enable the System Voltage Supervisor that consumes up to 15 мкA.

Тута все подробно расписано.
Introducing a New Breed of Microcontrollers for 8/16-bit Applications (White Paper, 15 pages, revision A, updated 02/08)
http://www.atmel.com/dyn/resources/prod_do...nts/doc7926.pdf

"На ходу" жручесть тоже очень даже хороша: 2 MHz VCC = 1.8V All PRR Set Internal RC 720 мкА. Или в терминах CR2032 (230 mAh) 13 суток непрерывной работы! Для CR123A (1600 mAh) это 92 дня работы.

По моему опыту - ATmega на 3.68 Мгц - это прием POCSAG 1200 бит/сек, включая 8 кратный oversampling, DPLL, БЧХ декодер и пр (C код без asm вставок! Но C код продуманный, конечно). Причем это без DMA. Так что 2 Мгц для XMEGA - это весьма немало.

При питании 1.8В - до 12 Мгц, 32 Мгц - от 2.7В. Так что процык получился весьма зажигательный. MSP430 нервно курит (понятно, что 32Мгц XMEGA будет быстрее 16 Мгц MSP430, разве только что умножитель 16х16 спасет MSP430).

4. Цены - ABN Universal,Inc., например, дает для ATXMEGA128A1-AU 9,97 $ в розницу - достаточно обнадеживающе. Это на проц с 8К RAM, 4K EEPROM, 128K FLASH, 78 IO пинов.
Для примера - MSP430F2618TPNR - FLASH 116K x 8 + 256B, SRAM 8Kx8, A/D 8x12b; D/A 2x12b, 64 IO пинов имеет в розницу цены $13.16 на www.digikey.com

Выводы:

Atmel таки сделал лучший 8 бит контроллер. И, уверен, будет заслуженно снимать с него сливки ближайшие лет 5. Конечно, будет ламье, которое с криками "32 лучше 16 лучше 8" убежит применять всякое многобитное барахло, но найдутся серьезные юзера, которые смогут выжать все из этого кристалла (а в серии 10к, я уверен, этот кристальчик даст фору по цене очень и очень многим)

http://www.atmel.com/dyn/corporate/view_de...EC_NAME=Product
Availability and Pricing.
The first devices, ATxmega128A1 and ATxmega64A1 are both offered in 100-pin TQFP and BGA packages and are available now. Volume prices for 10k units are US$3.75 and US$3.50, respectively. Other XMEGA devices will be available during 2Q or 3Q of 2008.

Что касается перспектив, то тут все просто замечательно!
AVR XMEGA 8/16-bit High Performance Low Power Flash Microcontrollers (Flyer, 4 pages, revision B, updated 03/08)
http://www.atmel.com/dyn/resources/prod_do...nts/doc7925.pdf
ATxmega384A1 384k FLASH, 4k EERPOM, 32k SRAM (!).

Основной кайф от XMEGA следующий. В общем, по своим основным параметрам, он умеренно чемпионский - MSP430 уверенно дышит в спину. Кроме одного - соотношение цены и объема памяти. 64К команд (при очень эффективной системе команд, которая хорошо ложится под С) и 8 К ОЗУ - этого вполне достаточно, чтобы использовать вполне взрослую ОСьку типа uCOS. И комфортно писать очень сложные приложения, которые будут годами работать от CR2032.

Наличие ОСьки позволяет по полной программе использовать технологию синтетических портов. Т.е., например, при разработе ZigBee девайса, можно взять платку с CPU + RF, один SPI канал, например, выделить на связь с "большим процессором", на втором XMEGA сделать конвертер SPI<->USB (FTDI), и вести разработку в Win32, при этом имея виртуальные драйвера периферии, полностью эквивалентные "боевой" периферии. При такой технологии отпадает необходимость в аццком симуляторе периферии XMEGA (такие симуляторы, как показывает практика, до конца отдебажить невозможно), а разрабатывать под Win32 (или под Linux - если профи, то без разницы), все таки куда приятнее, чем дебажить кристалл при помощи самого продвинутого джЫтага. В приведенной выше схеме за счет DMA в XMEGA можно организовать дуплексный канал связи порядка 1 Мбайт/сек (2 чипа FTDI на раные USB порты, дрова D2XX drivers дают 1 Megabyte / second ) с "большим процессором".

В упомянутом выше документе
http://www.atmel.com/dyn/resources/prod_do...nts/doc7926.pdf
на 7 странице есть чудная табличка о загрузке проца.
XMEGA UART communication with and without DMA. При 3500 бит/сек мы имеем 5.17% CPU load (непонятно, на какой тактовой, симплекс или дуплекс). Т.е. при организации 1 Мбайт/сек дуплексного канала можно ожидать загруки проца порядка 25% при тактовой 32 Мгц. Т.е. если внешняя периферия порождает поток данных не более 1 мбайт/сек, то у проца будет возможность "отогнать" его на "большой" процессор, принять обработанные данные, и потратить 75% своего времени на дополнительную обработку данных - приписать к блоку отсчетов ADC время, когда эти отсчеты были взяты, поймать время по таймеру и выплюнуть синхронного блок выходных отсчетов и т.д.

В общем, читаем pdf моих старых постов по синтетическим портам и виртуальной разработке, и можно приступать к созданию конкурентов автономных радиоканальных девайсов типа ZigBee smile.gif
zltigo
Цитата(Evgeny_CD @ May 18 2008, 16:12) *
Итак..

Итак, как всегда очередные неуемные восторги, необдуманные сравнения и восхваления, надежды на правильные цены... Нет,я не против, только чего-нибудь из перечисленного точно не будет или будет не такое sad.gif.
Цитата
Сама errata вполне терпимая.

Пока их особо еще никто не трогал smile.gif sad.gif
Цитата
Заметим, что DMA во всяких там SAM - "жалкое подобие левой руки" DMA XMEGA. И меговское DMA работает на всей SRAM - прЭвЭд dsPIC.

Не устаю замечать, что DMA на контроллерах без кэша или каких-либо специализированных архитектурных наворотов штука малоэффективная. А то, что сделано у помянутого всуе ARM7 LPC, это как раз и есть эффективное использование DMA, поскольку он работает НА ОТДЕЛЬНОЙ ШИНЕ с ОТДЕЛЬНЫМ банком. Что позволяет не тормозить контролер "контроллером DMA"
Цитата
* 12 бит DAC (1 Мгц) и ADC (2 Мгц). Хоть в реальности они и получились 10 битными, все равно очень даже!

Что в реальности расскажете после работы с живым кристаллом.
Цитата
MSP430 нервно курит (понятно, что 32Мгц XMEGA будет быстрее 16 Мгц MSP430, разве только что умножитель 16х16 спасет MSP430).

Кто там будет курить покажет жручесть и способность к автономной работе ПЕРИФЕРИИ, коея у MSP430 под это по жизни делалась.
Цитата
Выводы:

Выводы преждевременны. Тем более, что по такой цене он в обычных применения он нахрен не нужен, а в маложрущих это еще надо сильно посмотреть по отношению к MSP430
Цитата
Конечно, будет ламье, которое с криками "32 лучше 16 лучше 8" убежит применять всякое многобитное барахло, но найдутся серьезные юзера..

Несомненно одно, на звание лучшего 8-бит общего назначения от Atmel smile.gif он может явно претендавать. Только вот.. кто-нибудь сможет назвать лучший в мире 4-бит процессор??? Набежало, похоже, понимешь ламерье и с воплями "8 лучше 4" затоптало smile.gif
smile.gif
Извините за прямоту - лично Вы хоть что-то за последние годы сделали???
Evgeny_CD
Цитата(zltigo @ May 18 2008, 18:48) *
Извините за прямоту - лично Вы хоть что-то за последние годы сделали???
Работаю в основном головой (руковожу коллективом), иногда руками. Пока отношусь к категории "ламья" - AVL терминал на LPC2129, специализированная фотокамера на LPC2468 ну и всякая мелочь на LPC2103.
SasaVitebsk
Цитата(zltigo @ May 18 2008, 17:48) *
Не устаю замечать, что DMA на контроллерах без кэша или каких-либо специализированных архитектурных наворотов штука малоэффективная. А то, что сделано у помянутого всуе ARM7 LPC, это как раз и есть эффективное использование DMA, поскольку он работает НА ОТДЕЛЬНОЙ ШИНЕ с ОТДЕЛЬНЫМ банком. Что позволяет не тормозить контролер "контроллером DMA"

Естественно, сам пока не пробовал, поэтому утверждать что-либо глупо, но согласно статье DMA в xMega не будет тормозить процессор. И речь там идёт о нескольких шинах. Хотя, естественно, поживём увидим.
Цитата
Несомненно одно, на звание лучшего 8-бит общего назначения от Atmel smile.gif он может явно претендавать. Только вот.. кто-нибудь сможет назвать лучший в мире 4-бит процессор??? Набежало, похоже, понимешь ламерье и с воплями "8 лучше 4" затоптало

В общем то всё правильно, но согласитесь изделия нонче всё сложнее и интелектуальнее. А процессоры дешевеют (как в прямом смысле, так и за счёт обесценивания зелёного). Поэтому применение нескольких процов - очень удобный подход. Я, например с удовольствием применяю. Если рассматривать под этим углом, то применение синхронного, статического процессора часто бывает весьма привлекательно. И в этой нише 32-ух битные конкуренцию пока не составляют. Выпуск мелких армов с частотой 45МГц похоже имеет меньше шансов на выживание, чем тех же AVR с частотой 32 и значительной переферией.


Совершенно понятно, что они врят ли подвинут те же АРМы, они просто укрепляют звои позиции в своём сегменте. И это отнюдь не агония.
zltigo
Цитата(SasaVitebsk @ May 18 2008, 18:29) *
..согласно статье DMA в xMega не будет тормозить процессор. И речь там идёт о нескольких шинах.

Как водится недоговорки. Либо несколько шин/банков и тут уж речь не идет о "работает по всей памяти", либо нет.
Цитата
...применение синхронного, статического процессора часто бывает весьма привлекательно. И в этой нише 32-ух битные конкуренцию пока не составляют.

Зато составляют конкуренцию те-же MSP430, да и 51 с много более разнообразной периферией.
Evgeny_CD что-то про прицепить RF и конкурировать с ZigBee говорил? Так тот-же TI прикупил Chipcon с массой RF устройств в том числе и интегрированных с 51 (32 мегагерца, кстати и один такт на команду) на борту и начинает прикручивать к ним и свои MSP430 - CC2430/1 первая ласточка. А тут рассказы о прикручивании каких-нибудь RF к XMEGA в смутной надежде что-то сделать ДЕШЕВЛЕ? КРУЧЕ?
Цитата
Выпуск мелких армов с частотой 45МГц похоже имеет меньше шансов на выживание, чем тех же AVR с частотой 32 и значительной переферией.

Да оба будут соcуществовать. Достаточно долгое время.
Цитата
Совершенно понятно, что они врят ли подвинут те же АРМы, они просто укрепляют звои позиции в своём сегменте. И это отнюдь не агония.

Подвинут smile.gif. Просто цепляются за сокращающийся в результате передела рынок - более 90 штук только ARM-ов (в том числе и Atmel-ом) в секунду выпускаюся. Для 8-бит это совсем не агония, но уже далеко и не процветание. В принципе все определяет цена - для средних и выше AVR8 она просто неадекватна текущему состоянию дел на рынке. Во многих случах можно было-бы и спокойно AVR8 использовать, но лично мне уже просто не хочется чувствовать себя лохом и спонсировать Atmel, ибо за те-же и МЕНЬШИЕ деньги можно выбрать другой конроллер.
GetSmart
Цитата(Evgeny_CD)
Работаю в основном головой (руковожу коллективом), иногда руками. Пока отношусь к категории "ламья" - AVL терминал на LPC2129, специализированная фотокамера на LPC2468 ну и всякая мелочь на LPC2103.
Все мы тут ламьё smile.gif Я по крайней мере готов гордиться этим smile.gif
zltigo
Цитата(SasaVitebsk @ May 18 2008, 18:29) *
Поэтому применение нескольких процов - очень удобный подход. Я, например с удовольствием применяю.

Если говорить не о "халтурах", то в основных моих изделиях одного процессора просто не бывает в принципе smile.gif. Только вот причем здесь XMEGA?
Evgeny_CD
Цитата(SasaVitebsk @ May 18 2008, 20:29) *
Совершенно понятно, что они врят ли подвинут те же АРМы, они просто укрепляют звои позиции в своём сегменте. И это отнюдь не агония.
Полностью согласен! Они и не пытаются подвинуть ARM, dsPIC из своих ниш. Они просто пытаются сделать "новое прочтение" 8 битных процессоров.

Кучка мелких сопроцессоров вокруг большого процессора - это очень перспективная технология. ATxmega очень хорошо подходит на роль периферийного сопроцессора для сложных и основного процессора для простых и средних систем.

Думаю, когда ATxmega16A4 и ATxmega32A4 выйдут на рынок, они приятно удивят нас ценой.


Цитата(zltigo @ May 18 2008, 21:10) *
Evgeny_CD что-то про прицепить RF и конкурировать с ZigBee говорил? Так тот-же TI прикупил Chipcon с массой RF устройств в том числе и интегрированных с 51 (32 мегагерца, кстати и один такт на команду) на борту и начинает прикручивать к ним и свои MSP430 - CC2430/1 первая ласточка. А тут рассказы о прикручивании каких-нибудь RF к XMEGA в смутной надежде что-то сделать ДЕШЕВЛЕ? КРУЧЕ?
Все не так однозначно.

Для сложных систем (а качественная локальная система радиосвязи алгоритмически очень сложна - пусть никто не покупается на термин "локальный радиоканал" - задачи там такие же, как в и "большом радиоканале") стоимость разработки ПО много больше стоимости разработки железа.

Универсальность (на что метит ZigBee) - это хорошо, но для специализированных задач специализированное решение, которое ограниченные ресурсы (батарею, емкость канала) более эффективно использует, чем ZigBee, пока будет иметь выигрыш - и ничего с этим не сделаешь.

Так вот, для среднетиражных проектов - сотни в мес - снижение приведенной стоимости труда программистов куда важнее, чем экономия нескольких $ за счет засовывания всего на свете на один кристалл. И вообще, RF Silicon и Digital Silicon - это все-таки разные технологии. Иначе "в среднем на всадника и лошадь приходится по три ноги".
zltigo
Цитата(Evgeny_CD @ May 18 2008, 19:16) *
Они просто пытаются сделать "новое прочтение" 8 битных процессоров.

Новое прочтение _AVR8_ контролеров. Процесс естественный и обязательный для любой фирмы.
Посему м стоит воспринимать сие спокойно, а отнюдь не как Заботу Партии и Правительства о Советском человеке smile.gif.
Цитата
Кучка мелких сопроцессоров вокруг большого процессора - это очень перспективная технология.

Ну почему сразу вокруг большого? Мне лично на данном этапе нравится много средних smile.gif, дабы при взрыве ядренной бомбы или просто стихийном бедствии smile.gif хоть что-то осталось работоспособным.
Цитата
ATxmega очень хорошо подходит на роль периферийного сопроцессора для сложных и основного процессора для простых и средних систем.

Не лучше, чем многие другие контроллеры, если вдруг, случайно не будет попадание в 10 с какими-нибудь 8шт UART. У меня, например, мелкие LPC живут и STM32 наверное будут. В старом примитивном оборудовании ATTiny живут - хватало.
Цитата
Думаю, когда ATxmega16A4 и ATxmega32A4 выйдут на рынок, они приятно удивят нас ценой.

Или Да smile.gif или Нет sad.gif. Поймите меня правильно - я никоми образом не завязываюсь на конкретные архитектуры/производителей, я двумя руками за то, что-бы меня удивили, но ....







Цитата(Evgeny_CD @ May 18 2008, 19:25) *
Универсальность (на что метит ZigBee) - это хорошо, но для специализированных задач

Я не о ZigBee - что-то там не то не то sad.gif кривовато. Некоторые, типа NXP и производить уже перестали и из Альянса вышли.. Я просто о массовом железе на котором можно делать любые протоколы.
Цитата
И вообще, RF Silicon и Digital Silicon - это все-таки разные технологии. Иначе "в среднем на всадника и лошадь приходится по три ноги".

Тем не менее результаты совмещения даже всего и вся (GSM-Wi-Fi-BT-FM-..) есть и совсем не плохие.
А с учетом того, что тот-же TI выпускает как интегрированные, так и отдельные решения, то ничего кроме свободы выбора Вам не грозит smile.gif. И уж точно не угрожает концепции разработки.
Evgeny_CD
Цитата(zltigo @ May 18 2008, 21:34) *
Или Да smile.gif или Нет sad.gif. Поймите меня правильно - я никоми образом не завязываюсь на конкретные архитектуры/производителей, я двумя руками за то, что-бы меня удивили, но ....
Когда я работал в одном большом проекте, я как-то пришел к его руководителю и сказал: "А давай сделаем вот так... И юзера офигеют!" А он мудро мне ответил: "Дурак! Они не офигеть, они заплатить должны".

Так и тут. Удивить просто так никого не получится - Атмел и не пытается. Но вот для думающих набор фич ATxmegа очень даже хорош

* доведенный кристалл. Да, может errata маленькая от того, что его мало кто гонял, но rev. G говорит о многом. Или кто-то фанатеет от errat современных недопатченных ARM'ов?

* DMA. Можно долго спорить о ее реализации, но даже в простейшем случае, когда DMA тормозит проц, она дает выиграш в разы.

Смотрите. Пусть мы принимаем по UART 3500кбит/сек. Это дает нам (1 старт и стоп) 350 кбайт/сек. Если работать по опросу - то нифига кроме приема потока не сделам. Либо очень извратное программирование - всосали, 10 тактов что-то поделали, снова всосали.

IF по прерываниям - 350 кгц прерывания угробят кого угодно, не только AVR smile.gif

Пусть DMA тормозит проц на 3 такта при пересылке 1 байта (захват шины, передача, освобождение). Но при при этом нифига, кроме просто стояния, не делает. Итого за 1 сек при скорости 350 кбайт/сек мы затормозили проц на 1050 к тактов. Или 1050/32000, или 3% процессорного времени!!!! (у атмеля получилось 5% при той же скорости).

Так что даже простейший DMA, без кеша, TCM и пр. очень даже эффективен!

* маложручесть.

* память, возможность юзать толстую ОСь.


Кто понимает - готов за это доплатить 1$ за кристалл. А Атмелу большего и не надоsmile.gif

Цитата(zltigo @ May 18 2008, 21:43) *
Я не о ZigBee - что-то там не то не то sad.gif кривовато. Некоторые, типа NXP и производить уже перестали и из Альянса вышли..
Народ протрезвел и понял, что чего-то универсального и простого типа Ethernet не получается - а без этого тиражи не оправдывают стоимость. Специфические решения оказываются проще и дешевле супермегауниверсальныхsmile.gif
Цитата(zltigo @ May 18 2008, 21:43) *
Тем не менее результаты совмещения даже всего и вся (GSM-Wi-Fi-BT-FM-..) есть и совсем не плохие.
Верно!!! Но это все-таки специализированные, хоть и интегрированные решения. И их разработка встает ох в какие бабки....

Кроме того, например в GPS чипах, в одном BGA корпусе часто живут два кристалла - RF и Digital. Понятно, что производитель об этом умалчивает smile.gif
SasaVitebsk
Цитата(zltigo @ May 18 2008, 20:16) *
Если говорить не о "халтурах", то в основных моих изделиях одного процессора просто не бывает в принципе smile.gif. Только вот причем здесь XMEGA?

smile.gif
А почему бы не XMEGA? Чем XMEGA то не устраивает? Всё в цену упирается и если она пойдёт с сопоставимой ценой, то будет очень приятно. Мелкие армы при той же структуре флэш/озу оказываются не так уж и привлекательны так как озу, как минимум требуется больше. AVR эффективнее использует. Опять таки скорость ногодрыганья у XMEGA выше и предсказуема без выкрунтасов, что также бывает востребовано. MSP, PIC и х51 естественно в том же вагоне что и AVR, именно поэтому появление некоторых новых фичей и вызывает интерес. Это же повлекёт за собой движение всего рынка восьмибитников.

Совершенно не понятно почему вы не хотите финансировать Atmel. smile.gif То есть NXP и STM и ARM вы финансировать согласны, а вот Atmel - нет. smile.gif Не вижу разницы.

К появлению одного монстра такой подход уже привёл. Теперь его не сковырнуть не как. Давайте теперь двумя руками и ногами создавать другого в области МК. Зато все проги будут совместимы. А там и виндоуз подоспеет.
Evgeny_CD
Цитата(SasaVitebsk @ May 18 2008, 21:57) *
Мелкие армы при той же структуре флэш/озу оказываются не так уж и привлекательны так как озу, как минимум требуется больше. AVR эффективнее использует. Опять таки скорость ногодрыганья у XMEGA выше и предсказуема без выкрунтасов, что также бывает востребовано.
Именно! Только после появления Cortex ARM стал так же эффективен по FLASH, как и AVR. Иначе просто маразм получался. Сложить два регистра - 4 байта из FLASH улетело. THUMB - это круто, но маразм: вначале мы разгоняет ядро до 60 Мгц, затем трмозим его в полтора раза на декодировании. Мы хотим платить за такой цирк?

Как я уже писал, именно 16 битная система команд является оптимальной для большинства современных задач - AVR, CF, Cortex, SH, ... Она дает возможность эффективно манипулировать разумным количество регистров, и достаточно экономична.

Кроме того, на технологии 0.18 токи утечки не позволят просто так получить менее 1 мка ток кристалла в режиме сна. Тут сильно стараться надо. AVR, насколько я понимаю, чуть ли не до сих пор по 0.35 делают.
zltigo
Цитата(Evgeny_CD @ May 18 2008, 19:53) *
Или кто-то фанатеет от errat современных недопатченных ARM'ов?

LPC2468, говорите используете? Вопрос на засыпку - сколько пунктов в Errata? Ревизия, кстати, всего-лишь "B". Если лень посмотреть, то сообщу - два пункта. Один из них относится к ядру ARM и не правится полагаю ввиду того, что так уже "принято". Теперь посмотрите на Atmel-овские erata на многие годы уде выпускаемые чипы - во уж действительно печальная картина "пипл хавает" называется sad.gif.
Цитата
Так что даже простейший DMA, без кеша, TCM и пр. очень даже эффективен!

И FIFO тоже эффективен вполне. А FIFO + отдельный банк вообще прилично.
Цитата
Кроме того, например в GPS чипах, в одном BGA корпусе часто живут два кристалла - RF и Digital. Понятно, что производитель об этом умалчивает smile.gif

Некоторые не умалчивают, и говорят, что на одном кристалле в последних разработках начали делать.
Evgeny_CD
Цитата(zltigo @ May 18 2008, 22:14) *
LPC2468, говорите используете? Вопрос на засыпку - сколько пунктов в Errata? Ревизия, кстати, всего-лишь "B". Если лень посмотреть, то сообщу - два пункта. Один из них относится к ядру ARM и не правится полагаю ввиду того, что так уже "принято".
Ревизия А там вообще малоюзабельная была. Да, LPC2468 - неплохой кристалл.
Цитата(zltigo @ May 18 2008, 22:14) *
Теперь посмотрите на Atmel-овские erata на многие годы уде выпускаемые чипы - во уж действительно печальная картина "пипл хавает" называется sad.gif.
Atmel ARM я использовал только AT91R40008. Там errat'ы нет - чудный кристалл! smile.gif

На SAM лично мне просто противно смотреть - вот я их и "не хаваю".
zltigo
Цитата(Evgeny_CD @ May 18 2008, 20:05) *
Именно! Только после появления Cortex ARM стал так же эффективен по FLASH, как и AVR.

Да ну? Вообще-то разница во многих случаях просто ничтожна. Для интереса можете по этому форуму поискать - народ не раз и не два удивлялся smile.gif.
Цитата
Сложить два регистра - 4 байта из FLASH улетело.

Ну так уж и только сложить smile.gif не передергивайте и сводите систему команд ARM "к сложить" - и сложить, и сдвинуть и условие проверить и все это - за одну команду в 4 байта. В формате 32-бит команды указываеся до 3х регистра/константы, проверяются 4 флага и дополнительный сдвиг до 32 бит. А что у нас у AVR - сколько там Flash кушать придется? А адресоваться подальше 256 байт?
Цитата
THUMB - это круто

Это в подавляющем большинстве случаев, если не писать сильно ориентированные вещи просто не эффективно. Это я Вам, как имеющий большую практику человек говорю.
Evgeny_CD
Цитата(zltigo @ May 18 2008, 22:29) *
Ну так уж и только сложить smile.gif не передергивайте и сводите систему команд ARM "к сложить" - и сложить, и сдвинуть и условие проверить и все это - за одну команду в 4 байта. В формате 32-бит команды указываеся до 3х регистра/константы, проверяются 4 флага и дополнительный сдвиг до 32 бит. А что у нас у AVR - сколько там Flash кушать придется? А адресоваться подальше 256 байт?
Вот она, сила маркетинга!!! Возникает вопрос - а как часто мне необходимо все это "и сложить, и сдвинуть и условие проверить". Например, если только каждую пятую операцию - нафига же я тогда потратил 4*(2 лишних байта)=8 байт FLASH?

Это будет эффективно при жестком асмовом кодинге - но для ARM обычно так не принято smile.gif

Ладно, спор ни о чем - идеальная CPU архитектура пока не создана.
Dog Pawlowa
Цитата(Evgeny_CD @ May 18 2008, 21:05) *
Как я уже писал, именно 16 битная система команд является оптимальной для большинства современных задач - AVR, CF, Cortex, SH, ... Она дает возможность эффективно манипулировать разумным количество регистров, и достаточно экономична.

Собственно, тогда к чему тогда весь разговор? smile.gif
Лично для меня использование 8-битных AVR обусловлено только наличием "доступных" средств программирования и отладки. В случае 'X' этого преимущества не существует (в настоящее время).
К ламерью не отношусь smile.gif , выше 16 бит ничего делать не хочу и не буду, но постоянно переключаясь между MSP430 и AVR в проектах хоть сколь-нибудь реального времени, вижу, насколько удобнее использовать 16-битные контроллеры.
XMEGA - всего лишь для узкой ниши.
Evgeny_CD
Цитата(zltigo @ May 18 2008, 22:14) *
И FIFO тоже эффективен вполне. А FIFO + отдельный банк вообще прилично.
Отдельный банк - это отдельный геморой. Его надо по особому обслуживать и т.д. А если весь необходимый буфер не влазит в отдельный банк - процом данные таскать?

В общем, я пока не встречал случаев, чтобы DMA проиграло по CPU load процессорной обработке.


Цитата(Dog Pawlowa @ May 18 2008, 22:49) *
Лично для меня использование 8-битных AVR обусловлено только наличием "доступных" средств программирования и отладки. В случае 'X' этого преимущества не существует (в настоящее время).
Может, я чего не понял, но что мешает использовать AVR Studio + WinAVR для ATxmega? Ядро то то же самое, хидеры атмел вроде родил.

mkII денег стоит - ну не таких уж и страшных, что-то типа 8000р. Не думаю, что это критичная величина - покупается раз и на долгие годы.
Цитата(Dog Pawlowa @ May 18 2008, 22:49) *
выше 16 бит ничего делать не хочу и не буду, но постоянно переключаясь между MSP430 и AVR в проектах хоть сколь-нибудь реального времени, вижу, насколько удобнее использовать 16-битные контроллеры.
Спорный вопрос. If писать на С - мало волнует, как там код исполняется, лишь бы успевало. ASM кодинг - он только для малых проектов или небольших кусков сложных проектов эффективен. По размерам C код за счет грамотного написания, полного использования всех квалификаторов и #pragma для данного конкретного компилера можно всегда хорошо ужать.
svs39
[quote name='zltigo' date='May 18 2008, 17:48' post='413027']
Только вот.. кто-нибудь сможет назвать лучший в мире 4-бит процессор??? Набежало, похоже, понимешь ламерье и с воплями "8 лучше 4" затоптало smile.gif
smile.gif

8-битный- объективная реальность в современном байт-ориентированном мире (лично я использую от 1 до 6МК и переходить на 16-32 не собираюсь- естественно аудио-видео потоки не обрабатываю)
Dog Pawlowa
Цитата(Evgeny_CD @ May 18 2008, 21:59) *
mkII денег стоит - ну не таких уж и страшных, что-то типа 8000р. Не думаю, что это критичная величина - покупается раз и на долгие годы.

Подсчитали недавно - на фирме больше десятка клонов JTAG ICE. Ведущему программисту, руководителю проекта, наладка, сервис, студенты и т.д. Для всех купить mkII? Не то, что невозможно, но цена вопроса другая и нужно все взвесить.

Цитата(Evgeny_CD @ May 18 2008, 21:59) *
Спорный вопрос. If писать на С - мало волнует, как там код исполняется, лишь бы успевало. ASM кодинг - он только для малых проектов или небольших кусков сложных проектов эффективен. По размерам C код за счет грамотного написания, полного использования всех квалификаторов и #pragma для данного конкретного компилера можно всегда хорошо ужать.

Это все понятно, но прикидка быстродействия требуется поточнее, да и покажите мне того программиста, который будет сразу писать грамотно (с точки зрения быстродействия), если это сначала не требуется. Все будет делаться потом, внося озлобленность в жизнь smile.gif
Да и чего стоит обращение к многобайтовым переменным. Мелочь, но неприятно.
Rst7
Цитата(zltigo @ May 18 2008, 17:48) *
Не устаю замечать, что DMA на контроллерах без кэша или каких-либо специализированных архитектурных наворотов штука малоэффективная. А то, что сделано у помянутого всуе ARM7 LPC, это как раз и есть эффективное использование DMA, поскольку он работает НА ОТДЕЛЬНОЙ ШИНЕ с ОТДЕЛЬНЫМ банком. Что позволяет не тормозить контролер "контроллером DMA"


Я одного понять не могу. Почему-то Вы упорно забываете о том, что шина у AVR не занята постоянным потоком чтения комманд, ведь адресные простанства совсем отдельные, Гарвард все-таки (это я сравниваю с ARM7, ARM9 - там все пучком, там кеш есть). Поэтому на AVR DMA имеет полное право на жизнь, ведь запись-чтение из памяти данных происходит очень редко, пустого места по времени - море. Даже такой код
Код
LOOP:
LD R16,X+
ST Z+,R16
DEC R17
BRNE LOOP

имеет на XMega 4 пустых цикла доступа на шину данных. Даже таким способом

Код
LD R16,X+
ST Z+,R16
LD R16,X+
ST Z+,R16
LD R16,X+
ST Z+,R16
LD R16,X+
ST Z+,R16
LD R16,X+
ST Z+,R16
LD R16,X+
ST Z+,R16
....


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

Так что DMA тут рулит.
Evgeny_CD
Цитата(Dog Pawlowa @ May 18 2008, 23:27) *
Это все понятно, но прикидка быстродействия требуется поточнее, да и покажите мне того программиста, который будет сразу писать грамотно (с точки зрения быстродействия), если это сначала не требуется. Все будет делаться потом, внося озлобленность в жизнь smile.gif
Да и чего стоит обращение к многобайтовым переменным. Мелочь, но неприятно.
О! Вот с этого все и начинается! Ради чего я так и возбудился smile.gif

Как учит теория TDD - лучший способ завалить проект - начать его сразу и по всем параметрам оптимизировать. Результат гарантирован smile.gif.

В той идеологии, что я описал, и чему посвящена куча PDF в начале топика, вначале пишутся только дрова (они едва ли сожрут все место во FLASH), и затем они "телепортируются" на писюк.

Затем на писюке в синтетическом порту пишется целевой код, и проверяется на правильность решения целевой задачи.

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

В конце концов, может, все так ужмется, что и XMEGA будет не нужна smile.gif
zltigo
Цитата(Rst7 @ May 18 2008, 21:31) *
Гарвард все-таки...

Естественно это увеличивает пользу от DMA. Если поднять мои давнишние выступления по DMA, то они относились прежде всего к SAM7 - сейчас это я так - "старое помянул" smile.gif встретив старого знакомого.
Rst7
А вообще, лично меня другой момент интересует...

Вот смотрим на таблицу комманд. Видим:

LD Rd,X+ - 2 такта
ST X+,Rd - 1 такт

Все понятно, во втором случае можно выполнить запись в процессе обработки следующей комманды. Так же понятно, почему STD X+disp,Rd - 2 такта, это происходит из-за того, что такт заняло вычисление адреса.

Но теперь очень интересный вопрос. Возле всех комманд LD стоит примечание 2. Оно гласит - "один дополнительный цикл должен быть добавлен при доступе во внутреннюю SRAM".... Причем, возле комманд ST этого примечания нет... Вот тут я чето совсем не понял...
И как это согласуется с утверждением в разделе 7.1 - "Single cycle access from CPU"? Почему в одну сторону (запись) действительно single, а в другую - double???

Ну про SBIS/SBIC я давно удивлялся, почему стало 2 такта минимум...
defunct
Цитата(zltigo @ May 18 2008, 17:48) *
Не устаю замечать, что DMA на контроллерах без кэша или каких-либо специализированных архитектурных наворотов штука малоэффективная.


Цитата
то они относились прежде всего к SAM7 - сейчас это я так - "старое помянул"

Полностью опробовав DMA SAM7 (для всей его периферии). Категорически несогласен с этим высказыванием.
Эффективность DMA каналов SAM7 очень значительная.

при передаче 100 байт по SPI, без DMA канала проц 100 раз войдет в прерывание для подгрузки очередного байта, т.о. 100 раз займет шину на перегонку байта, +100 раз произойдет немерянный оверхед на исполнение кода обслуживающего прерывание.
При передаче через DMA канал - DMA отминет только 100 циклов шины пямяти.
Так что эффективнее?

Что DMA работает именно так как я описал (захватывает шину когда периферий модуль "готов" принять, и отпускает когда периф. модуль не готов принимать), сомнений у меня нет, могу привести ссылки из Д/Ш.
zltigo
Цитата(Evgeny_CD @ May 18 2008, 20:49) *
Возникает вопрос - а как часто мне необходимо все это "и сложить, и сдвинуть и условие проверить".

Часто. Компилятор это пользует часто. Настолько часто, что на сколь-нибудь ральных задачах, написанных с умом и даже в общем-то не заточенных под 32 бита - обычные коммуникационные задачи.
Проигрыша в размере кода в общем-то нет - когда больше, когда меньше. Никакого "маркетинга" - чистая реальная СОБСТВЕННАЯ практика. Если мне не верите - то уже говорил - посмотрите на форуме.
aaarrr
Цитата(defunct @ May 18 2008, 23:59) *
Так что эффективнее?

Можно я отвечу? Эффективнее DMA+FIFO на отдельной шине кешированного процессора smile.gif

Это, конечно, так, но уважаемый zltigo очень уж любит сгущать краски.
zltigo
Цитата(SasaVitebsk @ May 18 2008, 19:57) *
Чем XMEGA то не устраивает? Всё в цену упирается и если она пойдёт с сопоставимой ценой, то будет очень приятно.

Вот после "если" и продолжим разговор. Пока старые ATMEGA стоят неразумных денег и меня терзают смутные сомнения, что XMEGA вдруг резко опустят по цене. Поднимть - не поднимут, скорее всего так и оставят. Посему лично для меня сколь-нибудь привлекательными будут что-то типа Тинек.
Цитата
Мелкие армы при той же структуре флэш/озу оказываются не так уж и привлекательны
так как озу, как минимум требуется больше. AVR эффективнее использует.

Неправда Ваша опять sad.gif ОЗУ оно и в Африке ОЗУ. Если обильно использовать битовые переменные щедрой рукой отдавая по ячейке под каждую, то тогда да. Только вот RAM жрут больше байтовые буфера всякие. А прочие данные надо просто в структуры, поля и паковать. Тут всякие "ненужные" ARM команды вполне эффективно работают и RAM попусту не тратится. Единственно, что заметно больше кушает RAM это более широкий стек. Но в общем никакого сташного расхода RAM нет.
Цитата
Совершенно не понятно почему вы не хотите финансировать Atmel. smile.gif То есть NXP и STM и ARM вы финансировать согласны, а вот Atmel - нет. smile.gif Не вижу разницы.

Разница в том, что за меньшие деньги я получаю, например, больше памяти и мегагерцев. Кроме экономии денег, я получаю большие возможности для сопровождения и модернизации софта и менее в этом стеснен. Платить налог на костность я не желаю.
defunct
Цитата(aaarrr @ May 18 2008, 23:05) *
Можно я отвечу? Эффективнее DMA+FIFO на отдельной шине кешированного процессора smile.gif

Да это все понятно.

Но я например не представляю как можно сделать DSP обработку звука (оцифровка 44.1kHz, обработка и выдача результата через DAC) на типа более эффективном с т.з. zltigo LPC (с MAM) не имея DMA каналов. Для SAM7 же такая задачка по плечу и только благодаря наличию DMA каналов. Плюс еще остается время на ethernet, консольки и прочую фигню.
zltigo
Цитата(aaarrr @ May 18 2008, 22:05) *
Это, конечно, так, но уважаемый zltigo очень уж любит сгущать краски.

Есть такое - несколько неадекватная реакция на достаточно частые повторения мантры "DMA-DMA-DMA-..." без особых на то причин sad.gif
Rst7
Цитата
Вот смотрим на таблицу комманд. Видим:LD Rd,X+ - 2 такта


Это я малость не то написал, немного не туда глянул. Как раз LD Rd,X или X+, или другая регистровая пара, не суть - 1 такт, но если SRAM, то плюс еще один... Вот этот "плюс еще один" и не ясен. Хотя, с другой стороны, все равно имеем выигрыш, в виде 2+1=3 такта на пару LD Rx,X+/ST Z+,Rx вместо 2+2=4 такта в классическом ядре AVR. А вот с LDD/STD имеем небольшой проигрыш. Абыдно, но ладно.

PS Видимо, этот дополнительный такт доступа к SRAM - из-за наличия коммутации процессор/DMA.
zltigo
Цитата(defunct @ May 18 2008, 22:21) *
Но я например не представляю как можно сделать DSP обработку звука (оцифровка 44.1kHz, обработка и выдача результата через DAC) на типа более эффективном с т.з. zltigo LPC (с MAM) не имея DMA каналов. Плюс еще остается время на ethernet, консольки и прочую фигню.

1. У LPC23/24 есть DMA, причем макмимально для ARM7 правильный
2. У Всех LPC есть FIFO
3. Я вообще-то даже на LPC214x обрабатываю. Вот прямо сейчас буферизирую, переповторяю и прочее... 64-килобитные фреймы и в Ethernet (на SPI висит) складываю и консолька на 115K в полный рост отладку гонит...
4. Еще конфигурацию на ходу в EEPROM лить можно...
5. Ну а речевыми каналами, наигыванием музыки, суммировнием, ослаблением и прочей обработкой рядом стоящая FPGA занимется smile.gif у нее это тоже без DMA получается smile.gif. И что характерно стоит на уровне 10 баксов и даже трудно представить сколько XMEG с их 8 UART потребуется дабы изобразить то количество UART, которых можно задить в этот чиклончик. Это я к тому, что идея обвешивать центральный контроллер массой маленьких это тоже далеко не всегда разумное решение.
6. Вот только "фигни" вроде нет - ну разве только светодиодики мигают, но они тоже полезные.
Evgeny_CD
Цитата(zltigo @ May 19 2008, 00:41) *
...3. Я вообще-то даже на LPC214x обрабатываю. ...5. Ну а речевыми каналами, наигыванием музыки, суммировнием, ослаблением и прочей обработкой рядом стоящая FPGA занимется smile.gif у нее это тоже без DMA получается smile.gif.
И как же у Вас FPGA к LPC прикручена? Не уж то по SPI?
SasaVitebsk
Цитата(zltigo @ May 18 2008, 23:20) *
Разница в том, что за меньшие деньги я получаю, например, больше памяти и мегагерцев. Кроме экономии денег, я получаю большие возможности для сопровождения и модернизации софта и менее в этом стеснен. Платить налог на костность я не желаю.

С этим я практически согласен. С одним ограничением. Удобство и костность - разные понятия. Можно ездить на жигулях за меньшие деньги. Я езжу на Тойоте. Как то себе спокойнее. Переплачиваю правда ...
Evgeny_CD
Цитата(SasaVitebsk @ May 19 2008, 01:03) *
...Можно ездить на жигулях за меньшие деньги. Я езжу на Тойоте. Как то себе спокойнее. Переплачиваю правда ...
Цитата(Evgeny_CD @ May 18 2008, 21:53) *
...Кто понимает - готов за это доплатить 1$ за кристалл. А Атмелу большего и не надоsmile.gif...
defunct
Цитата(zltigo @ May 18 2008, 23:41) *
1. У LPC23/24 есть DMA, причем макмимально для ARM7 правильный

Но 23/24 дороже SAM'a будут..

Цитата
2. У Всех LPC есть FIFO

FIFO меня бы неустроило.
Самое главное в моей задачке оцифровка и update DAC'a без jitter'a. Это нерешаемо без DMA.

Цитата
3. Я вообще-то даже на LPC214x обрабатываю. Вот прямо сейчас буферизирую, переповторяю и прочее... 64-килобитные фреймы и в Ethernet (на SPI висит) складываю и консолька на 115K в полный рост отладку гонит...

Я прекрасно понимаю, что "мощности" процессора для обработки хватит (раз даже SAM7 справляется), LPC214x хороший камень для своих задач. Но вот на вводе/выводе он менее эффективен - мест где он не обеспечит real-time больше чем на SAM'е..

Цитата
5. Ну а речевыми каналами, наигыванием музыки, суммировнием, ослаблением и прочей обработкой рядом стоящая FPGA занимется у нее это тоже без DMA получается .

Охотно верю, что у нее и без DMA получается, и даже без проца. Но это дорого sad.gif

Цитата
И что характерно стоит на уровне 10 баксов и даже трудно представить сколько XMEG с их 8 UART потребуется дабы изобразить то количество UART, которых можно задить в этот чиклончик.

В этом плане согласен. xmega не лучший вариант для периферийного сопроцессора. Больше в качестве основного для систем средней / малой сложности.
zltigo
Цитата(SasaVitebsk @ May 18 2008, 23:03) *
Удобство и костность - разные понятия.

??? В чем удобство, если ездить на Жигулях приплачивая АвтоВАЗ стоимость Тойоты? Чем 16-32 битовики вдруг "неудобны" стали?


Цитата(Evgeny_CD @ May 18 2008, 23:02) *
И как же у Вас FPGA к LPC прикручена? Не уж то по SPI?

Да к 213/4x по SPI. Как Вы, надеюсь, понимате, никаих ограничений по реализации SPI в FPGA нет, посему нормальная работа на 15/30MHz 16it*8FIFO. Несколько 64Kbit потоков без малейших проблем. На 2468/2378 на параллельной шине.
Evgeny_CD
Цитата(zltigo @ May 19 2008, 01:20) *
На 2468/2378 на параллельной шине.
Именно! Параллельная внешняя шина - колоссальная фича LPC24XX/LPC23XX. По этой причине меня дико бесит "выбор" PIC24: либо параллельный порт, либо DMA.

Внешнаяя параллельная шина в ATxmega - еще один приятный +.
zltigo
Цитата(defunct @ May 18 2008, 23:12) *
Но 23/24 дороже SAM'a будут..

Младшие 23 что-то на уровне 120 рублей в MT-System. Дороже?

Посмотрел:
LPC2364FBD100,551 NXP (Philips) 114.14 131.7
LPC2366FBD100,551 NXP (Philips) 136.63 157.65
LPC2368FBD100,551 ver.A NXP (Philips) 157.04 181.2
LPC2378FBD144,551 NXP (Philips) 181.48 209.4
LPC2378FBD144,551 ver.A NXP (Philips) 181.48 209.4
LPC2378FBD144,551 ver.B NXP (Philips) 181.48 209.4
LPC2368FBD100,551 ver.B NXP (Philips) 181.25 195.75
LPC2364FBD100,551 ver.B NXP (Philips) 114.14 131.7
LPC2366FBD100,551 ver.B NXP (Philips) 136.63 157.65
LPC2387FBD100,551 NXP (Philips) 163.41 188.55
LPC2388FBD144,551 NXP (Philips) 198.9 229.5
LPC2365FBD100,551 NXP (Philips) 115.44 133.2
LPC2364FET100,518 NXP (Philips) 114.14 131.7

*Цены указаны в рублях с учетом всех налогов

А это цены, причем "за морем - полушка.." , которые почему-то внушают оптимизм Автору топика:
Цитата
Цены - ABN Universal,Inc., например, дает для ATXMEGA128A1-AU 9,97 $ в розницу - достаточно обнадеживающе. Это на проц с 8К RAM, 4K EEPROM, 128K FLASH, 78 IO пинов.

Может кто-то без расскзов про Тойоту объяснить чего я не понимаю?
P.S. За последний год трижды использовал изделия от Atmel Atmega169P , Atmega162, ATtiny2313. Первые два почти штучная работа использовалось готовое железо которе можно было приспособить и из-за наличия LCD контроллера у 169P. А 2313 это действительно дешевый массовый контроллер - с умножением (генерация псевдослучайной последовательности в реальном времени) пришлось поизврашаться, но массовость и дешевизна того стоила. Ничего похожего на езду на Тойоте (хотя .... хотя руль-то всетаки левый! smile.gif ) не испытал. Впрочем, как и какого-либо отвращения. Все нормально. Мелюзгу буду использовать и впредь. Но старшие модели незачем.
defunct
Цитата(zltigo @ May 19 2008, 00:29) *
Младшие 23 что-то на уровне 120 рублей в MT-System. Дороже?

Посмотрел каталог MT-System, что-то там не так, действительно там LPC дешевле.
В Киеве все в точности до наоборот, видать зависит от прямых/непрямых поставок.

SAM7S64 - сам лично брал по $5.2 (это должно быть меньше 120 руб если не ошибаюсь с курсом).
SAM7X256 - по $8

SAM7S32 - вообще по $4 в розницу (в виакоме)

Цитата(zltigo @ May 19 2008, 00:29) *
Может кто-то без расскзов про Тойоту объяснить чего я не понимаю?

Цены ж "в розницу".
К примеру LPC2366 в розницу можно найти за 14$. LPC2378 за 18$ тут
так что 10$ получается типа как меньше.
zltigo
Цитата(defunct @ May 19 2008, 00:09) *
В Киеве все в точности до наоборот, видать зависит от прямых/непрямых поставок.

Можете заняться сравнением и где-нибудь в "третьей стране". Или цен за 10K у крупных поставщиков... На ARM цены от Atmel будут сопоставимы с прочими производителями. Это нормально.


Цитата(defunct @ May 19 2008, 00:09) *
Посмотрел каталог MT-System, что-то там не так, действительно там LPC дешевле.

smile.gif
alexander55
Цитата(Evgeny_CD @ May 18 2008, 22:05) *
Кроме того, на технологии 0.18 токи утечки не позволят просто так получить менее 1 мка ток кристалла в режиме сна.

Можно, при более низком напряжении. Есть такое понятие - пробивное напряжение. Оно зависит только от геометрии.

Цитата(Evgeny_CD @ May 18 2008, 22:05) *
Тут сильно стараться надо. AVR, насколько я понимаю, чуть ли не до сих пор по 0.35 делают.

Это для совместимости с 3.3 В питанием.

Цитата(defunct @ May 19 2008, 02:09) *
Посмотрел каталог MT-System, что-то там не так, действительно там LPC дешевле.
В Киеве все в точности до наоборот, видать зависит от прямых/непрямых поставок.

... и от объема закупок.
608
Цитата(Evgeny_CD @ May 18 2008, 17:12) *
Наличие ОСьки позволяет по полной программе использовать технологию синтетических портов. Т.е., например,....

Что такое "технологию синтетических портов". Впервые встречаю это. Уточните, если можно суть и преимущества.
Еще говорилось где-то, что для XMEGA компилятор IAR в процессе улучшения и нужно еще подождать пока. Т.е. как с доступным софтом?
Dog Pawlowa
Цитата(Evgeny_CD @ May 18 2008, 22:34) *
Затем начинаем его по кусочкам утаскивать на целевой проц, проверяя размер и быстродействие. И оптимизируя по мере необходимости.

Я имею некоторый опыт такого "портирования". Больших преимуществ, кроме удобства отладки целевого кода, быстроты внесения изменений, возможности работы в команде, возможности согласования UI с заказчиком без собственно прибора, он не имеет. Но это не всегда нужно. А ужимать и оптимизировать при переносе - двойная работа и большой риск.

Собственно, я не очень то против самой первой фразы "Xmega - самый лучший микроконтроллер среди 8-разрядных". Посмотрим smile.gif
zltigo
Цитата(Dog Pawlowa @ May 19 2008, 07:42) *
Я имею некоторый опыт такого "портирования". Больших преимуществ...

Все зависит от сложности поднимаемых протоколов и вообще возможности их отладки. Даже какой-нибудь до невозможности обсосанный TCP/IP писать и отлаживать на реальном железе просто неудобно. Если говорить о чем-нибудь более сложном, то реальное железо просто будет мешать, ибо на самом деле сколь-нибудь отладить такое возможно только на модели с тестбенчами и прочим. Ни одно "реальное" применение не даст ничего подобного полной картине. Да и не протокольные вещи тоже - классический пример - ну как Вы собираетесь отлаживать, напрмер, какой-нибудь алгоритм сжатия залив его реальное железо?
Rst7
Цитата
ну как Вы собираетесь отлаживать, напрмер, какой-нибудь алгоритм сжатия залив его реальное железо?


Ну и что, реальное железо тоже поддается отладке. А, например, может быть и так - вот я тут на днях написал кодер JPEG, и отладил его в AVR Studio. Вообще без железа, но писал сразу для целевого проца, отладил в симуляторе. И ничего, не умер, как ни странно. Хотя, конечно, другим так делать не посоветую wink.gif
Dog Pawlowa
Цитата(zltigo @ May 19 2008, 09:03) *
Все зависит от сложности поднимаемых протоколов и вообще возможности их отладки. Даже какой-нибудь до невозможности обсосанный TCP/IP писать и отлаживать на реальном железе просто неудобно. Если говорить о чем-нибудь более сложном, то реальное железо просто будет мешать, ибо на самом деле сколь-нибудь отладить такое возможно только на модели с тестбенчами и прочим. Ни одно "реальное" применение не даст ничего подобного полной картине. Да и не протокольные вещи тоже - классический пример - ну как Вы собираетесь отлаживать, напрмер, какой-нибудь алгоритм сжатия залив его реальное железо?

Удобнее - да, единственно возможно - нет.
Если речь идет о протоколах, то сложные протоколы, как правило, все равно сертифицируются с помощью инструментов, предоставляемых организацией, создавшей стандарт, на реальном устройстве, а все уровни взаимодействия прописаны детально. Модели - это всего лишь костыли smile.gif
Что касается непротокольных вещей, то отладка через JTAG дает пусть неудобный и недостаточный, но достаточно эффективный контроль целевым устройством.
GetSmart
Цитата(Rst7)
А, например, может быть и так - вот я тут на днях написал кодер JPEG,
Да, JPEG идеально ложится на 8-битник smile.gif Там вроде бы пол алгоритма считается на плавучке. Кстати, не поделитесь инфой о быстродействии получившегося алгоритма? Просто любопытно.
aaarrr
Плавучка для JPEG'а вовсе не обязательна. А вот отлаживать его в симуляторе - это сильно. Не знаю, как в AVR Studio, но под VDSP у меня не хватило терпения: вычисления идут на много (4-6) порядков медленнее, чем в железе.
Rst7
Цитата
Там вроде бы пол алгоритма считается на плавучке


Только целые. Причем 16 бит.

Цитата
Кстати, не поделитесь инфой о быстродействии получившегося алгоритма? Просто любопытно.


А потом Вы будете меня убеждать, что на ARM быстрее? wink.gif

Тестовая картинка 320*240 пакуется примерно за 12 миллионов тактов. Т.е. примерно секунду (кварц планируется 14-16МГц). Для последующей передачи через GPRS, например, такое малокадровое телевидение - самое оно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.