Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: PDC на sam7x256
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Metal
какое максимальное кол-во информации можно передать используя PDC на данном МК
VladislavS
Цитата(Metal @ Jun 4 2006, 17:03) *
какое максимальное кол-во информации можно передать используя PDC на данном МК


Если не ограничивать общности рассуждений, то бесконечное. smile.gif
А если серьезно, то смотрим в даташит на предмет PDC:
• A 32-bit memory pointer register
• A 16-bit transfer count register
Что однозначно говорит о том, что за один раз можно передать 2 в 16 "штук" информации. Размер штуки зависит от разрядности устройства. Чаще всего это байт.
Metal
Цитата(VladislavS @ Jun 5 2006, 16:55) *
Цитата(Metal @ Jun 4 2006, 17:03) *

какое максимальное кол-во информации можно передать используя PDC на данном МК


Если не ограничивать общности рассуждений, то бесконечное. smile.gif
А если серьезно, то смотрим в даташит на предмет PDC:
• A 32-bit memory pointer register
• A 16-bit transfer count register
Что однозначно говорит о том, что за один раз можно передать 2 в 16 "штук" информации. Размер штуки зависит от разрядности устройства. Чаще всего это байт.

а я то все думал, че за трансфр каунт, думаю колличество трансферов, а эт оказывается сколько инфы передвать =)
Edmundo
Цитата(Metal @ Jun 5 2006, 18:46) *
а я то все думал, че за трансфр каунт, думаю колличество трансферов, а эт оказывается сколько инфы передвать =)

Ну если учесть, что есть еще Next Counter и Next Pointer, то объем действительно можно сделать бесконечным smile.gif
Metal
а какую реальную скорость передачи можно обеспечить используя PDC при передаче через SPI?
Edmundo
Цитата(Metal @ Jun 5 2006, 21:41) *
а какую реальную скорость передачи можно обеспечить используя PDC при передаче через SPI?

Ну если обеспечить непрерывность потока путем своевременной записи в регистры NPR (Next Pointer Register) и NCR (Next Counter Register), то пропускная способность определяется самим SPI. В SAM7S максимальная частота SPI = MCK/2 = до примерно 22 МГц. Следовательно имеем 22 Мбит/с. В SAM7X не знаю, надо смотреть SPI.
Metal
но через SPI передается по прежнему 16 бит за один такт? или при передаче PDC все регистры SPI пропускаются?
Edmundo
Цитата(Metal @ Jun 6 2006, 09:39) *
но через SPI передается по прежнему 16 бит за один такт? или при передаче PDC все регистры SPI пропускаются?

Не понял вопроса... Что имеется в виду под тактом? SPI передает от 8 до 16 бит в зависимости от настроек. Если между байтами/словами при передаче не ставить паузы (что также определяется настройками SPI), то данные идут непрерывно по фронту (или спаду -- все в настройках) SPCK, от старшего разряда к младшему, от старшго к младшему и т.д., пока данные не кончатся.

Если под тактом имеется в виду запись в регистр передатчика, то при использовании DMA этот регистр никогда не пустует, так как контроллер DMA отслеживает состояние SPI на предмет ready и записывает туда новое значение когда нужно. Так как регистра два (транфер-регистр и сдвиговый регистр), то все работает без простоя.
Диm
то Edmundo,Metal
типа хелп миsmile.gif,есть отладочная плата с этим камнем,как её оживить?даже родные примеры на ней не работают....говорят чтото с ремапом надо смотреть.если не затруднит,может кинете в мыло простой работающий пример я там сам разбираться буду
с уважением Дмитрий.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.