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

 
 
> AT91SAM7X и LPC2388 - что выбрать?, Вопрос новичка в АRМ
Александр Куличо...
сообщение Oct 20 2009, 14:38
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 6-03-06
Из: Украина, г. Винница
Пользователь №: 15 017



С АВР напрограммировался достаточно. Теперь хочу начать изучение/работу с ARM.
Остановился на 2х кристаллах - AT91SAM7X256 и LPC2388. В основном, из-за их доставабельности.
Предполагаю использовать ethernet и USB, с которыми тоже никогда не работал (wiznet+авр не в счет).

Остановился на 2х кристаллах - AT91SAM7X256 и LPC2388. В основном, из-за их доставабельности.
Собственно говоря, интересуют плюсы и минусы каждого из них в общем и в частности:
- максимальная производительность ethernet и USB - интерфейсов
- доступность бесплатных/самодельных средств программирования/отладки.

Есть еще целая туча вопросов, но это попозже.
Буду также благодарен за ссылки на литературу типа "ARM для чайников", где было бы описаны ньюансы работы с АРМ.
К примеру, дерганье ногами. В АВР все просто - sbi - и через такт-два единичка на выходе. А как в АРМе?
Что и как влияет на время выполнения команд? Можно ли добится от того же АТ91SAM7X линейного выполнения кода с максимальной частотой 55МГц, если скорость выборки из флеш "Up to 30 MHz". Вроде бы нельзя. Но может я чего-то не знаю? В общем, вопросов все больше и они только накапливаются при чтении даташитов.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Александр Куличо...
сообщение Oct 20 2009, 21:30
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 6-03-06
Из: Украина, г. Винница
Пользователь №: 15 017



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

И заодно следующая партия вопросов smile.gif

SAM-BA - это, как я понимаю, загрузчик кода для АТ91 контроллеров. Есть ли что-то похожее для NXP?

Вопрос по ДМА. (Далее привожу свои рассуждения и прошу меня поправить в местах, где я ошибаюсь)
Допустим, я хочу сделать 2-направленную передачу данных между четырмя перифериными блоками и памятью с высокой скоростью.
При этом ядро "делает что-то очень важное" ((с)Черновецкий - украинцы поймут smile.gif ), и отвлекатся ему нежелательно.
В случае с АТ91 я на каждый блок настраиваю ДМА и данные от периферийных блоков автоматически поступают в отведенное им место в ОЗУ (и оттуда же передаются). Это похоже на то, что каждому мериферийному блоку из общего объема ОЗУ выделили по 2 буфера FIFO (для приема и передачи). Причем размер этих буферов я задаю сам.

В случае с LPC это не пройдет, так как, на мой взгляд (как новичка), блок ДМА здесь довольно ограничен:
- Только 2 однонаправленных канала (выделенные ДМА под эзернет и ЮСБ не считаем)
- ДМА может создавать каналы:
GPDMA (2 однонаправленных канала):
1. между периферийным блоком на шине АРB и блоком памяти на 16кБайт на АНВ1
2. между периферийным блоком на шине АРB и внешней памятью
3. между внешней памятью и блоком памяти на 16кБайт на АНВ1
USB DMA - между памятью ЮСБ (4кБайт) и тем же блоком памяти на 16кБайт на АНВ1
ethernet DMA - между блоком ethernet и блоком памяти на 16кБайт на АНВ2, который, по сути, служит буфером эзернет. А передавать данные от эзернет во внешнюю память или на периферию можно только по одному.

Еще вопрос.
Что означает описание "reserved for the ARM processor exclusive use" к блоку памяти на 64к на local bus? то, что она недоступна по ДМА?

Про endpoint'ы ЮСБ.
Имеем 4 kB endpoint buffer RAM. Еndpoit'ов всего 32 (физических).
Т.е., память всех реализованных эндпойнтов нужно распределить так, чтобы их суммарный объем не превышал 4 кБайта?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 20 2009, 21:39
Сообщение #3


Гуру
******

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



Цитата(Александр Куличок @ Oct 21 2009, 01:30) *
Вопрос по ДМА. (Далее привожу свои рассуждения и прошу меня поправить в местах, где я ошибаюсь)
Допустим, я хочу сделать 2-направленную передачу данных между четырмя перифериными блоками и памятью с высокой скоростью.
При этом ядро "делает что-то очень важное" ((с)Черновецкий - украинцы поймут smile.gif ), и отвлекатся ему нежелательно.
В случае с АТ91 я на каждый блок настраиваю ДМА и данные от периферийных блоков автоматически поступают в отведенное им место в ОЗУ (и оттуда же передаются). Это похоже на то, что каждому мериферийному блоку из общего объема ОЗУ выделили по 2 буфера FIFO (для приема и передачи). Причем размер этих буферов я задаю сам.

Только нужно учитывать, что DMA сидит на той же шине, что и ядро, поэтому последнее будет "делать что-то очень важное" немного медленнее. Но в 99% случаев замедление не помешает нормальной работе.

В приведенном мной выше примере с двумя 72Мбит/с потоками было еще два 18Мбит/с потока наружу через SPI, и не могу сказать, что это как-то мешало.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Александр Куличок   AT91SAM7X и LPC2388 - что выбрать?   Oct 20 2009, 14:38
- - aaarrr   Цитата(Александр Куличок @ Oct 20 2009, 18...   Oct 20 2009, 14:49
|- - prottoss   Цитата(aaarrr @ Oct 20 2009, 22:49) ...а ...   Oct 20 2009, 15:20
|- - aaarrr   Цитата(prottoss @ Oct 20 2009, 19:20) Раз...   Oct 20 2009, 15:36
- - evgen2   Цитата(Александр Куличок @ Oct 20 2009, 18...   Oct 20 2009, 20:00
- - aaarrr   Через EMAC SAM7X @ 55MHz вполне получается протаск...   Oct 20 2009, 20:48
|- - zltigo   Цитата(Александр Куличок @ Oct 21 2009, 00...   Oct 20 2009, 21:44
|- - aaarrr   Цитата(zltigo @ Oct 21 2009, 01:44) Все с...   Oct 20 2009, 22:11
||- - zltigo   Цитата(aaarrr @ Oct 21 2009, 01:11) Это у...   Oct 20 2009, 22:50
|- - VslavX   Цитата(zltigo @ Oct 21 2009, 00:44) Все с...   Oct 21 2009, 11:05
|- - zltigo   Цитата(VslavX @ Oct 21 2009, 14:05) Именн...   Oct 21 2009, 13:15
- - Александр Куличок   2 zltigo За перенос - спасибо. Просто не сразу наш...   Oct 20 2009, 22:56
|- - zltigo   Цитата(Александр Куличок @ Oct 21 2009, 01...   Oct 21 2009, 08:21
- - aaarrr   Цитата(zltigo @ Oct 21 2009, 02:50) Да-д...   Oct 21 2009, 11:09


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

 


RSS Текстовая версия Сейчас: 4th August 2025 - 23:41
Рейтинг@Mail.ru


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