|
DMA унд ARM, Принцип работы несколько непонятен |
|
|
|
Oct 5 2007, 08:56
|
Частый гость
 
Группа: Validating
Сообщений: 169
Регистрация: 10-11-04
Из: Челябинск
Пользователь №: 1 088

|
Итак, ARM9, конкретно Самсунг S3c2440. Есть две микрухи памяти, по 16 магабайт каждая. Каждая содержит в себе 4 банка (х.з., что такое), имеет 16 разрядную шину данных. Планируется подключение их каждую на свою половину шины данных, стало быть, вдвоём они будут на шине 32 бита. Гимор с сигналами выбора банка (полагаю, что их можно прицепить на пару сраших адресных линий), и самый большой гимор с сигналами *DQM (UDQM, LDQM - их там пара). Вот что делать с ними - неизвестно. На схеме отладочной платы для at91rm9200, которую глянул ради интереса, они подключены к чему-то непонятному: одна к младшей адресной линии, другая к сигналу разрешения записи, что-ли, не вдавался.
Подскажите, плз, как понимать эти ножки ? По скудным описаниям SDRAM в инете - увязать всё по нормальному не могу.
Спасибо.
|
|
|
|
|
 |
Ответов
|
Sep 19 2008, 09:10
|
Частый гость
 
Группа: Validating
Сообщений: 169
Регистрация: 10-11-04
Из: Челябинск
Пользователь №: 1 088

|
Привет всем. Опять у меня дошли руки до АРМ-процов. Читаю доку на Samsung S3C2440. Интересует пересылка данных посредством DMA с подключенного внешнего устройства. Судя по прочтённому получается, что общение блоками состоит из: 1. Инициализация (подробности опущу). 2. 4 операции чтения + 4 операции записи (можно меньше, наверное). 3. Проверка готовности DMA 4. Если готов - продолжаем на шаг #2 5. Завершение (опускаю подробности). Требуется понять: нафига обязательные 4 чтения перед записью, если я хочу только писать ? Или наоборот ? Может, я как-то не так понял ? Как на других контроллерах сделано ? Цитата(impatt @ Sep 19 2008, 14:48)  Требуется понять: нафига обязательные 4 чтения перед записью, если я хочу только писать ? Или наоборот ? Может, я как-то не так понял ? Как на других контроллерах сделано ? Э-э.. Кажется, я начинаю догонять. Сначала читается из того места, откуда берутся данные, потом пишется в целевое место, кусками по 4 слова. Так, что-ли ?..
|
|
|
|
|
Sep 19 2008, 10:23
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(impatt @ Sep 19 2008, 12:10)  Э-э.. Кажется, я начинаю догонять. Сначала читается из того места, откуда берутся данные, потом пишется в целевое место, кусками по 4 слова. Так, что-ли ?.. Хм, мне казалось, что принципы DMA не изменились - чтение и запись происходят одновременно. Direct memory access, yes? Может, с википедии начать? http://en.wikipedia.org/wiki/Direct_memory_access
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Sep 20 2008, 03:42
|
Частый гость
 
Группа: Validating
Сообщений: 169
Регистрация: 10-11-04
Из: Челябинск
Пользователь №: 1 088

|
Цитата(Dog Pawlowa @ Sep 19 2008, 16:23)  чтение и запись происходят одновременно. Ну, я ж не спрашиваю, что такое DMA ?  Так что, сэр, предлагаю поразмыслить над тем, как имея одну шину адреса и одну шину данных, к которым подключен источник и получатаель, можно читать и писать _одновременно_. Типа, шина адреса будет сразу два адреса удерживать (источника и получателя), так что-ли ?  Собсна, ввиду того, что такое невозможно, становится ясно, почему в ARM-ах а-ля PXA270 и S3C2440 сделано сходно и именно таким образом. Вопрос снят. ЗЫ: а за ссылочку спасибо - что-то я позабыл про cache coherency problem, вовремя вспомнил благодаря ссылочке
|
|
|
|
|
Sep 22 2008, 06:25
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(impatt @ Sep 20 2008, 06:42)  Так что, сэр, предлагаю поразмыслить над тем, как имея одну шину адреса и одну шину данных, к которым подключен источник и получатаель, можно читать и писать _одновременно_. Типа, шина адреса будет сразу два адреса удерживать (источника и получателя), так что-ли ?  И я ссылочку посмотрел  В википедии вруть: " is a feature of modern computers " 30 лет назад DMA успешно работал в системе с 8080 (контроллер 8057 или 8257 - забыл  ). Это режим memory-to-memory появился сравнительно недавно, вот некоторые могли бы уточнить режим, а не взывать к телепатии. Тем более, что (опять по ссылке) "A slave interface is similar to programmed I/O through which the software (running on embedded CPU, e.g. ARM) can write/read I/O registers or (less commonly) local memory blocks inside the device"
--------------------
Уходя, оставьте свет...
|
|
|
|
Сообщений в этой теме
impatt DMA унд ARM Oct 5 2007, 08:56 PrSt а что сказано в даташите на этот Самсунг S3c2440, ... Oct 5 2007, 10:53 impatt Цитата(PrSt @ Oct 5 2007, 16:53) а что ск... Oct 8 2007, 02:12  aaarrr Цитата(impatt @ Oct 8 2007, 06:12) Это в ... Oct 8 2007, 02:44   impatt Цитата(aaarrr @ Oct 8 2007, 08:44) Зато е... Oct 8 2007, 03:01 PSP Банк в SDRAM это совсем не то, что в SRAM. Если кр... Oct 5 2007, 19:11 Yra ЦитатаИтак, ARM9, конкретно Самсунг S3c2440.
Есть ... Feb 21 2009, 15:18
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|