|
Эффективность DMA в SAM7, Выделено из "ARM много,..." |
|
|
|
Sep 27 2008, 13:58
|

Знающий
   
Группа: Свой
Сообщений: 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) Не могу согласиться. Это специально придумали назло Вам, а мне -- для облегчения жизни  (Нельзя сравнивать пурген и аспирин. И то и другое -- таблетки. Назначение разное!)
--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
|
|
|
|
|
 |
Ответов
|
Sep 28 2008, 19:30
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Результат еще интереснее. Как я уже писал, очень похоже, что шина Flash отделена. Flash 0WS: Код ошибка Незначительное ускорение не случайное, повторяется стабильно. Расхождение результатов с симулятором связано с обращением к периферийному регистру, но не очень понятно, почему возникает именно такое замедление.
|
|
|
|
|
Sep 28 2008, 19:48
|

Гуру
     
Группа: Свой
Сообщений: 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
|
|
|
|
|
Sep 28 2008, 19:59
|
Гуру
     
Группа: Свой
Сообщений: 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, а с другой напрямую к периферийным модулям.
|
|
|
|
|
Sep 28 2008, 20:09
|

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

|
Цитата(aaarrr @ Sep 28 2008, 21:59)  Я и считаю такты. Тьфу, привычка по другому организовывать тесты  Цитата ...а с другой напрямую к периферийным модулям. Как-бы да, в действительности каналы DMA у SAM7 не общего назначения разделяемые ресурсы, а исключительно интимные узлы периферии.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Sep 28 2008, 20:33
|

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

|
Цитата(singlskv @ Sep 28 2008, 22:18)  ...конечно они нифига не разделяймые ресурсы, а очень было надо ? На Atmel свет клином не сошелся  . Cуществуют оба варианта Dedicated/General, обычно вместе. Кроме жестких и относительно простых каналов DMA заточенных под переферийное железо, используются и "общего назначения" более сложные DMA с наворотами, например, типа организации обслуживания кольцевых буферов, burst, fifo, big/little endian трансляцией... Они подключаются к периферийным устройствам по необходимости, в том числе и не к у устройствам, а для пересылки память-память. И между устройствами. Надо.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|