реклама на сайте
подробности

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> AVR XMEGA, Немного информации
zltigo
сообщение Sep 20 2007, 14:09
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(mse @ Sep 20 2007, 15:06) *
джиттер 1-2мкс.

Ну а теперь правда.
Если стремимся к минимальной interrupt latency, то используем FIQ а не IRQ. При этом для ARM7DTMI-S ядра с АRM-овским же PL-192 контроллером затраты на вход в прерывание составляют 7 тактов + длительность исполнения самой длинной прерванной команды LDM сохраняющей 16 регистров в память,
что составляет при памяти работающей с 0ws 20 тактов. Такие длинные групповые команды можно просто не использовать, тогда самя длинная это 8 тактов. Итого, при необходимости быстрой реакции на прерывание получаем 15 тактов.
Ну а дальше можно считать сколько времени займет вход в обработчик FIQ у типичного 60MHz ARM. Считаем. Максимальная задержка = 250ns, ну джиттер соответственно 7 тактов (причем независимо от IRQ/FIQ) = 117ns.
При этом не следует забывать, что ARM, в отличие от многих других архитектур имееет собственные банки регистров для FIQ и IRQ, что позволяет очень сэкономить время на сохранении регистров стеке для обработчика прерывания.
Так как Вы "получили" 2mks? Чего Вы там говорите добились на 20MHz контроллере, пусть и с всего 4-5 тактами latency, но и с десятком тактов затрачиваемых на сохранение регистров в стеке? А?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
CD_Eater
сообщение Sep 20 2007, 15:08
Сообщение #32


Частый гость
**

Группа: Новичок
Сообщений: 173
Регистрация: 3-09-04
Из: Moscow
Пользователь №: 595



Цитата
с десятком тактов затрачиваемых на сохранение регистров в стеке?

Зачем же в прерывании, которое почти ничего не делает, сохранять десяток регистров в стеке? У АВР достаточно регистров, чтобы пару из них выделить для эксклюзивного использования в "узком" обработчике. И вообще, мсе писал, что решил задачу поллингом. Получить время отклика 250 нс при поллинге на 20 МГц АВРке - не проблема. Именно на это обстоятельство он справедливо указывает. То есть, обошлись однобаксовым чипом. smile.gif
Жаль только, что х-меги уйдут из ниши "проворных восьмилапов", и даже "20-лапов".
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Sep 20 2007, 16:05
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



С одной стороны я поддерживаю zltigo. С той стороны, что для того чтобы лучше оценить на какой камень решаемая Вами задача лучше ложится, необходимо банально знать несколько камней. Тогда проблема выбора решается просто - знаешь любой - поставил лучший (найболее подходящий). Таким образом знания ещё никому никогда не мешали.
С другой стороны банально не хватает времени. Желательно оценивать преимущества и недостатки разных камней на максимально близких проектах. Или на нескольких разных. А времени нет. Да и лень одолевает. smile.gif Вот и работаешь с теми камнями которые использовал длительное время и знаешь если не досконально, то хорошо. А если ещё и по ассемблеру работаешь, ну тогда вообще туши свет. Перенос проекта - отнюдь не тривиальная задача. С переходом на Си как то выглядит это всё попроще.

Я для себя уже решил. Поиграюсь с разными камнями. Хотябы для своего собственного развития и повышения кругозора. К тому же тема одна позволяет. И тест производительности там встроенный и достаточно объективный (для этого изделия). Реализую его на нескольких камнях - выложу результат с коментариями на всеобщее обозрение. В плане информации конечно, а не рекомендаций.

Ну а ниша для AVR есть и будет. Это очевидно. Я думаю atmega8 применяется в количественном выражении чаще чем какой-нибудь ARM отдельно взятый.
_____________________________________________________

Если обратится непосредственно к теме данного топика, то ....
1) Похоже Atmel учло все нарекания. В том числе по порту, по уровням прерываний, по потреблению и точности генерации, по АЦП и опорному, страничная запись в EEPROM.
2) Заложило даже то чего от неё не ожидали... ПДП контроллер, AES и DES дешифратор, АЦП 12бит 1Mbps, поддержка SDRAM немыслимых размеров.

Думаю для тех кто использует эти камни (а я отношусь к числу пользователей) это приятная новость. И чего совсем уж не ожидал от Atmela, что в нарушение всех традиций отладочные средства старые подойдут!!! smile.gif
Go to the top of the page
 
+Quote Post
defunct
сообщение Sep 20 2007, 17:37
Сообщение #34


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(SasaVitebsk @ Sep 20 2007, 19:05) *
ПДП контроллер, AES и DES дешифратор, АЦП 12бит 1Mbps, поддержка SDRAM немыслимых размеров.

Думаю для тех кто использует эти камни (а я отношусь к числу пользователей) это приятная новость.
... отладочные средства старые подойдут!!! smile.gif

Да это более чем приятная новость!
Теперь важно чтоб цена осталась на уровне m128 wink.gif
Go to the top of the page
 
+Quote Post
bodja74
сообщение Sep 20 2007, 17:57
Сообщение #35


Знающий
****

Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984



Цитата(singlskv @ Sep 20 2007, 00:04) *
Перед тем как чего-нить заявлять, таки придется все точно подсчитать smile.gif

Пожалуста считайте на здоровье это FIQ,для IRQ+VIC закоментированые строчки стоит убрать ,прервание по ИНТ1
Код
#include <LPC21XX.H>
volatile long y=0xffffffff;
#pragma ARM

void FIQ_Handler(void)__fiq  {
IOSET0=0x00F00000;
EXTINT=0x00000002;
}
void IRQ_vic_int1(void)__irq  {
IOSET0=0x000F0000;
EXTINT=0x00000002;
//VICVectAddr0=0x00000000;
}

void main (void)  {

IODIR0=0x00FF0000;
PINSEL0=0x20000000;
VICIntSelect=0x00008000;
//VICVectCntl0=0x0000002F;
//VICVectAddr0=(unsigned long) IRQ_vic_int1;
VICIntEnable=0x00008000;
IOCLR0=0x00FF0000;
while(1);
}

Цитата
А кто Вам сказал что задача будет такой что потребует быстых 32битных вычислений ?

Окей ,пускай не будет 32битных вычислений.
Давайте такого плана вычисления
R0=R1+R2
это делается одной командой за один такт
ADD R0,R1,R2
Я уже не говорю о том что это может быть выполнено по условию и со сдвигом второго операнда.
Тоесть самих асм команд у АРМ может быть гораздо меньше.
Цитата
А вот здесь я с Вами даже спорить не буду, задам тока один вопрос, при шевелении ногами
АРМ, вы сами четко себе представляете когда и как он ими пошевелит ?

Наверное плохо представляю ,проверьте сами smile.gif
Код
  
#include <LPC21XX.H>
#pragma ARM
volatile long y=0xffffffff;

void main (void)  {
IODIR0=0xFFFFFFFF; //открываем все порты

__asm
{
LDR R0,0xF0000001;Выбираем какими пинами будем дергать 0,28,29,30,31
LDR R1,0x3FFFC018;Загружаем указатель на IOSET
LDR R2,0x3FFFC01C;Загружаем указатель на IOCLR
STR R0,[R1]      ; пины 0,28,29,30,31=1
STR R0,[R2]      ; пины 0,28,29,30,31=0
STR R0,[R1]      ; пины 0,28,29,30,31=1
STR R0,[R2]      ; и т.д.
}
while(1);
}

кстати шевелить можно сразу несколькими произвольными пинами,не трогая остальные ,сколько АВРу требуется для подобных маневров? smile.gif

ЗЫ я уже писал ,тут нету смысла сравнивать - это разные по классу задач контроллеры.
Go to the top of the page
 
+Quote Post
muravei
сообщение Sep 20 2007, 18:07
Сообщение #36


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Цитата(CD_Eater @ Sep 20 2007, 19:08) *
Жаль только, что х-меги уйдут из ниши "проворных восьмилапов", и даже "20-лапов".

А может. после , будут и Х-Тини ? smile.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 20 2007, 18:12
Сообщение #37


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(CD_Eater @ Sep 20 2007, 18:08) *
Зачем же в прерывании, которое почти ничего не делает....

Ах да, я все время забываю, что контроллер по условиям задачи на самом деле собственно ничего не
делает smile.gif..... Тогда да, и регистров хватит... И регистровых пар.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
lvitaly
сообщение Sep 20 2007, 18:43
Сообщение #38


Частый гость
**

Группа: Свой
Сообщений: 165
Регистрация: 27-08-04
Из: Moscow
Пользователь №: 554



Уважаемые господа!

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

у меня появились даташиты на одну из веток XMega, а именно на A1
мне как - объявить здесь, или открыть новую тему ?
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Sep 20 2007, 18:57
Сообщение #39


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(bodja74 @ Sep 20 2007, 20:57) *
кстати шевелить можно сразу несколькими произвольными пинами,не трогая остальные ,сколько АВРу требуется для подобных маневров? smile.gif


Суда по описанию в XMEGAx можно будет делать то же самое

Цитата
у меня появились даташиты на одну из веток XMega, а именно на A1
мне как - объявить здесь, или открыть новую тему ?


Давай здесь. Будем немного посмотреть. smile.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 20 2007, 18:58
Сообщение #40


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(lvitaly @ Sep 20 2007, 21:43) *
у меня появились даташиты на одну из веток XMega, а именно на A1
мне как - объявить здесь, или открыть новую тему ?

Здесь, конечно. Лично я обещаю больше не "мусорить", так-что начинаем новую жизнь!


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
singlskv
сообщение Sep 20 2007, 19:32
Сообщение #41


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(bodja74 @ Sep 20 2007, 21:57) *
Пожалуста считайте на здоровье это FIQ,для IRQ+VIC закоментированые строчки стоит убрать ,прервание по ИНТ1
ну дык и сколько тактов мин/мах у Вас получилось ?
zltigo уже вроде привел расчеты, 60Мгц АРМ оказался вполне конкурентноспособен
по сравнению с AVR на 20Мгц. smile.gif
Цитата
Окей ,пускай не будет 32битных вычислений.
Давайте такого плана вычисления
R0=R1+R2
это делается одной командой за один такт
ADD R0,R1,R2
хороший конечно пример, тока ни о чем...
В ХОРОШЕМ прерывании вобще по возможности нужно без вычислений стараться обходится.
Цитата
Наверное плохо представляю ,проверьте сами smile.gif
Код
STR R0,[R1]      ; пины 0,28,29,30,31=1
STR R0,[R2]      ; пины 0,28,29,30,31=0
STR R0,[R1]      ; пины 0,28,29,30,31=1
STR R0,[R2]      ; и т.д.

Речь все-таки шла не о тупом ногодрыганье,
прикинте сколько тактов min/max пройдет у арм от прерывания на INT и реакцией
в прерывании с выдачей чего-нить в порт.
Кстати, Вы смотрели на осциле с какой частотой меандр получается на ножке проца
при такой последовательности (STR, STR...) ?
Go to the top of the page
 
+Quote Post
lvitaly
сообщение Sep 20 2007, 19:59
Сообщение #42


Частый гость
**

Группа: Свой
Сообщений: 165
Регистрация: 27-08-04
Из: Moscow
Пользователь №: 554



Ну новую жизнь, так новую жизнь

Итак

ATXMEGA256A1, ATXMEGA128A1, ATXMEGA64A1
Advance Information
и
XMEGA A MANUAL Preliminary

/upload/MCs/AVR/ATXMEGA_A1.rar
/upload/MCs/AVR/XMEGA_A_Manual.rar

Продублировано на рапидшаре

http://rapidshare.com/files/57065647/ATXMEGA_A1.rar
http://rapidshare.com/files/57066068/XMEGA_A_Manual.rar



Кстати, судя по всему официально чипы будут объявлены в следующем месяце

Есть такая информация

TechTrends 2007
11.10.2007 08:00 - 19:00
Duisburg,
AVR Xmega Redefines the 8-bit World
Atmel is presenting the new 8-bit ‘XMEGA‘ device able to perform 32 MIPS @ 32 MHz with an outstanding analogue capability; this device will be code-compatible with the existing MEGA & TINY on which we will give you an update, followed by a presentation on the ATMEL Zlink solution, a 2.4 GHz radio bundled with the AVR of your choice.

http://www.ebv.com/services/events/techtre...dbb8df0d049f444
Go to the top of the page
 
+Quote Post
CD_Eater
сообщение Sep 20 2007, 20:12
Сообщение #43


Частый гость
**

Группа: Новичок
Сообщений: 173
Регистрация: 3-09-04
Из: Moscow
Пользователь №: 595



Цитата(zltigo @ Sep 20 2007, 22:12) *
Ах да, я все время забываю, что контроллер по условиям задачи на самом деле собственно ничего не
делает smile.gif..... Тогда да, и регистров хватит... И регистровых пар.

Ваши требования взаимно противоречивы.

1) Если критичным параметром является время реакции на внешнее событие, и мы говорим о величинах порядка 250 нс, то обработчик прерывания фактически должен "ничего не делать".

2) Если же Вы завели разговор о сохранении в стеке десятка регистров, то забудьте про 250-наносекундное время отклика (регистры сохраняли в стеке неспроста, видимо, сначала будет выполнен нехилый кусок кода, и лишь затем сможем дать корректный ответ на внешнее событие).

Выберите что-нибудь одно.


Upd.
Как классно в Xmega-х сделали I/O Memory !!! Отвели нижние 16 регистров (побитово адресуемых) для нужд юзверя! Фактически, вдобавок к РОНам теперь есть ещё 16 почти-регистров с однотактовым доступом.

Upd2
А однотактовый DES послужит хорошим генератором псевдослучайных чисел smile.gif

Сообщение отредактировал CD_Eater - Sep 20 2007, 20:52
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 20 2007, 20:55
Сообщение #44


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(CD_Eater @ Sep 20 2007, 23:12) *
Ваши требования взаимно противоречивы.

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

Все. Давайте завязываем с неумными восхвалениями, некомпетентными наездами и беспричинным смехом.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
lvitaly
сообщение Sep 20 2007, 21:37
Сообщение #45


Частый гость
**

Группа: Свой
Сообщений: 165
Регистрация: 27-08-04
Из: Moscow
Пользователь №: 554



Цитата(CD_Eater @ Sep 21 2007, 00:12) *
Upd2
А однотактовый DES послужит хорошим генератором псевдослучайных чисел smile.gif


Я склонен думать, что варианты процессоров с криптоускорителями в Россию
поставляться не будут, или этот процесс будет сопряжен с приличным геморроем.
Впрочем - скоро узнаем наверняка.
Go to the top of the page
 
+Quote Post

4 страниц V  < 1 2 3 4 >
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 13th July 2025 - 04:15
Рейтинг@Mail.ru


Страница сгенерированна за 0.01609 секунд с 7
ELECTRONIX ©2004-2016