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

 
 
> Эффективность DMA в SAM7, Выделено из "ARM много,..."
zhevak
сообщение Sep 27 2008, 13:58
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(Cemen @ Sep 27 2008, 16:18) *
...
Направьте на верный путь, товарищи!

Это мы сечас! Это мы мигом! Уж чего-чего, а советы давать -- это мы умеем! Нас хлебом не корми, дай только возможность кого-нибудь на путь истинный поставить. Ну, теперь, Cemen, держись! Ибо вопрос Ваш прележит области религии.

Итак, будучи в аналогичном невменяемом состоянии по вопросам АРМов и задвшись таким же вопросом я попытался сравнить AT91SAM7 и LPC2000. Я не стал все мануалы и даташиты подряд читать, а сделал упор только на достаточно легковесные вещи, которые не отнимают для своего понимания много времени. Короче. Я попытался сравнить, как организованы вотч-доги и часы реального времени в SAM-ах и LPC. Мое мнение -- у LPC все это сделано как-то более правильно, продуманно. У SAM -- не очень продуманно, имеется какая-то надуманная функциональность. (ВАЖНО! Это моя субъективная точка зрения. Она может не совпадать с мнениями других людей.)

Что мне особенно нравится в LPC, кроме продуманности. Более быстрая работа ядра (72МГц против 55МГц), более четко составлено описание. Больше номенклатура изделий. Что не нравится -- два питания (+3.3В и +1.8В), но есть чипы и со встренным LDO-стабилизатором.

Наличие USB (за исключением SAM7S32) у всех SAM7 не приносит особого опреимущества. Это скорее заморочка, чем помощь. Вы делаете единичные изделия. Какая разница сколько будет стоить та или иная микросхема для Вашего устройства? -- Итоговая стоимость Вашего устройства будет на два порядка дороже самой дорогой микросхемы. Ибо Вы делаете не сотни Фордов, а Бентли ручной сборки. Научитесь ценить свое время (== себя) и все сразу встанет на свои места. Так вот, возвращаясь к USB, скажу, что если у Вас возникнет необходимость подцепить Ваш замечательный девайс к компу через USB, то цена вопроса каких-то полторы сотни рублей с одно стороны (FT232R) и неделя убитая на освоение встроенного в SAM7 USB с другой стороны. Я уже проходил это и говорб Вам с практической точки зрения. (Мой девайс собирал "живой" сигнал с датчика и отправлял поток данных в комп. Данные собирались в полевых условиях, т.е. 220В не было. Использовался ноутбук. У нотика были только USB-дырки. Прикупив FT323B и потратив полдня на прикручивание ее к девайсу, я легко закрыл проблему. Не представляю, сколько времени я вымучивал-бы USB, изучал, отлаживал... но мне кажется ну ни как не полдня. Сэкономленное время -- теже дньги!)

Стартовые платы Олмекса достаточно хорошие. Сам их юзаю, когда нужно быстро соорудить какой-нибудь стенд для исследования/производства. Что мне у них нравится -- это как правило большое монтажное поле (дырок много!!!) и наличие крепежных отверстий по краям платы. Собранная и отлаженная плата достаточно легко монтируется в подходящий по размерам корпус на стоечки. Хочу обратить Ваше внимание также на платы П.Иванченко (http://www.starterkit.ru). Не взирая на их незначительные "косячки" на них все-таки стоит посмотреть, ибо стоят они даже дешевле, чем болгарские. ("Косячки": отсутствие крепежных дырочек, вульгарно торчащий часовой кварц,... пожайлуй хватит!).

DpInRock
Цитата
1) нормальную 4-х слойку заказывать. Это 200 баксов. Но зато все есть. Прям как у людей.
2) А филипсы - не люблю. Они дикий I2C придумали. Назло людям.
SPI - вот отличный ответ. Быстро, выгодно, удобно.

1) Цель оправдывает средства. Средства = 200 баксов. А какая цель?
2) Не могу согласиться. Это специально придумали назло Вам, а мне -- для облегчения жизни smile.gif
(Нельзя сравнивать пурген и аспирин. И то и другое -- таблетки. Назначение разное!)


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Proton
сообщение Sep 27 2008, 14:36
Сообщение #2


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

Группа: Свой
Сообщений: 185
Регистрация: 3-08-05
Из: Новосибирск
Пользователь №: 7 334



В своё время стоял перед выбором между SAM7 и LPC, решающим стало наличие DMA у SAM7. До этого работал с DSP и уже с трудом представляю как без него(DMA) обходиться.


--------------------
Всяк хорошая мысля к нам приходит опосля.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 28 2008, 19:30
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Результат еще интереснее. Как я уже писал, очень похоже, что шина Flash отделена.

Flash 0WS:
Код
ошибка


Незначительное ускорение не случайное, повторяется стабильно.

Расхождение результатов с симулятором связано с обращением к периферийному регистру, но не очень понятно, почему возникает именно такое замедление.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 28 2008, 19:48
Сообщение #4


Гуру
******

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



Цитата(aaarrr @ Sep 28 2008, 21:30) *
Результат еще интереснее. Как я уже писал, очень похоже, что шина Flash отделена.

Странее! Не покидает мысль, что что-то не то. А разделить буфера приема передачи и организовать в тесте хоть какую-то рекцию(обработку) на окончание цикла работы DMA? И вообще, при исполнении IDLE из RAM на 55MHz получаем скорость РАВНУЮ до такта! скорости исполнения из FLASH на 30MHz. Что это c тестом?
Цитата(singlskv @ Sep 28 2008, 21:41) *
Нет никагого смысла располагать флеш на той же шине...

Это понятно, что слова Нейман/Гарвард почти пустой звук по нынешнмм временам, но предполагал, что это все-же пока не для достаточно простых ARM7 ядер.
Цитата(singlskv @ Sep 28 2008, 21:41) *
То есть 3 раза это уже фантазия ?(ну это про разы...)

50% это замедление в ДВА раза при ОДНОМ WS.Чего непонятного? Никаких фантазий.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 28 2008, 19:59
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(zltigo @ Sep 28 2008, 23:46) *
Странее! Не покидает мысль, что что-то не то. А разделить буфера приема передачи и организовать в тесте хоть какую-то рекцию(обработку) на окончание цикла работы DMA?

Тогда нужно время теста укорачивать, у меня нет столько свободной памяти. Попробую.
Могу еще проконтролировать время окончания цикла DMA.


Цитата(zltigo @ Sep 28 2008, 23:48) *
И вообще, при исполнении IDLE из RAM на 55MHz получаем скорость РАВНУЮ до такта! скорости исполнения из FLASH на 30MHz. Что это c тестом?

Я и считаю такты. А они одинаковые, хоть на 30, хоть на 55MHz.


С более скоростым доступом к периферии со стороны DMA все понятно - процессор имеет доступ через медленную APB, в то время как DMA подключен с одной стороны к ASB, а с другой напрямую к периферийным модулям.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 28 2008, 20:09
Сообщение #6


Гуру
******

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



Цитата(aaarrr @ Sep 28 2008, 21:59) *
Я и считаю такты.

Тьфу, привычка по другому организовывать тесты sad.gif
Цитата
...а с другой напрямую к периферийным модулям.

Как-бы да, в действительности каналы DMA у SAM7 не общего назначения разделяемые ресурсы, а исключительно интимные узлы периферии.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
singlskv
сообщение Sep 28 2008, 20:18
Сообщение #7


дятел
*****

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



Цитата(zltigo @ Sep 29 2008, 00:09) *
Как-бы да, в действительности каналы DMA у SAM7 не общего назначения разделяемые ресурсы, а исключительно интимные узлы периферии.
А у SAM9 или AVR32 они что, что-то совсем обособленное ?
конечно они нифига не разделяймые ресурсы, а очень было надо ?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 28 2008, 20:33
Сообщение #8


Гуру
******

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



Цитата(singlskv @ Sep 28 2008, 22:18) *
...конечно они нифига не разделяймые ресурсы, а очень было надо ?

На Atmel свет клином не сошелся smile.gif. Cуществуют оба варианта Dedicated/General, обычно вместе. Кроме жестких и относительно простых каналов DMA заточенных под переферийное железо, используются и "общего назначения" более сложные DMA с наворотами, например, типа организации обслуживания кольцевых буферов, burst, fifo, big/little endian трансляцией... Они подключаются к периферийным устройствам по необходимости, в том числе и не к у устройствам, а для пересылки память-память. И между устройствами.
Надо.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
singlskv
сообщение Sep 28 2008, 20:40
Сообщение #9


дятел
*****

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



Цитата(zltigo @ Sep 29 2008, 00:33) *
в том числе и не к у устройствам, а для пересылки память-память.
Надо.
Согласен, про память-память не подумал, просто для ARM7 это вроде как не актуально...
Для АРМ9 итд. может быть действительно актуально...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 28 2008, 20:46
Сообщение #10


Гуру
******

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



Цитата(singlskv @ Sep 28 2008, 22:40) *
Согласен, про память-память не подумал, просто для ARM7 это вроде как не актуально...

Актуально, у ARM7 LPC23/24 кроме локальной еще 2 AHB шины со своми банками памяти.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
singlskv
сообщение Sep 28 2008, 20:54
Сообщение #11


дятел
*****

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



Цитата(zltigo @ Sep 29 2008, 00:46) *
Актуально, у LPC23/24 кроме локальной еще 2 AHB шины со своми банками памяти.
Не знаю толком этих семейств, но это("еще 2 AHB шины со своми банками памяти")
уже не очень похоже на ARM7, подходы совсем другие,
вероятно нечто промежуточное между ARM7 и ARM9.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 28 2008, 21:37
Сообщение #12


Гуру
******

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



Цитата(singlskv @ Sep 28 2008, 22:54) *
уже не очень похоже на ARM7, подходы совсем другие,

Отнюдь, какая разница на одну или две шины дешифрировать адресное пространство - ядро знать не знает. Все достаточно архитектурно просто. В приложении простенькая картинка.

Цитата(aaarrr @ Sep 28 2008, 23:01) *
Такие вот пирожки с котятами.

Тем неменее внесена определенная ясность, и это уже хорошо, ибо даже если не все радужно, то praemonitus praemunitus!
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 28 2008, 21:47
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(zltigo @ Sep 29 2008, 01:37) *
Тем неменее внесена определенная ясность, и это уже хорошо, ибо даже если не все радужно, то praemonitus praemunitus!

Ну да, не все радужно, конечно smile.gif Но пользоваться вполне можно. Тем более, что перелопатить такой поток, на котором встал DMA, процессор все равно не сможет.

Цитата(zltigo @ Sep 29 2008, 01:44) *
существенно

По мне так лучше бы оно вставало совсем - у меня процессор стоит в качестве дешевой замены FPGA, думать ему особо не приходится smile.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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