Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Devid0 - регистр 0 идентификатора МК
В регистрах DEVID0, DEVID1 и DEVID2 хранится трехбайтный идентификационный код, позволяющий программно определить тип МК. Точное значение идентификационного кода уточните в документации на МК. Обзор регистров контроллера энергонезависимой памяти
Обзор регистров Fuse- и Lock-бит
Обзор регистров кода сигнатуры производителя
Обзор регистров ввода-вывода общего назначения
Обзор регистров управления микроконтроллером
Векторы прерываний контроллера энергонезависимой памяти Таблица 4.14. Векторы прерываний и их смещение по отношению к базовому адресу контроллера энергонезависимой памяти
Контроллер прямого доступа к памяти (DMA-контроллер) Отличительные особенности 1. DMA-контроллер отвечает за высокоскоростную передачу данных при минимальном участии ЦПУ 2. из одной области памяти в другую 3. из области памяти в УВВ 4. из УВВ в область памяти 5. из одного УВВ в другое УВВ 6. Четыре канала DMA с отдельными: 7. источниками запуска передачи 8. векторами прерываний 9. режимами адресации 10. Передача за одну транзакцию от 1 байта до 16 Мбайт 11. Передача блоков размером до 64 кбайт с режимом повтора 12. Передача 1, 2, 4 или 8 байтного потока 13. Внутренние и внешние источники запуска передачи 14. Несколько режимов адресации 15. статический 16. инкрементный 17. декрементный 18. Опциональная перезагрузка адреса источника и назначения в конце каждого 19. потока 20. блока 21. транзакции 22. Опциональное прерывание по окончании транзакции 23. Программируемый приоритет канала Обзор Контроллер прямого доступа к памяти (DMA-контроллер) микроконтроллеров XMEGA предназначен для передачи данных между встроенными запоминающими устройствами и УВВ при минимальном участии ЦПУ. DMA-контроллер поддерживает возможность гибкой конфигурации приоритетов каждого канала, несколько режимов адресации, возможности двойной буферизации и передачу блоков больших размеров. DMA-контроллер может передавать данные между запоминающими устройствами и УВВ, между запоминающими устройствами, а также между регистрами УВВ. Всего предусмотрено четыре канала DMA. Для каждого из них отдельно задаются источники и получатели данных, источники запуска передачи и размеры блоков. В каждом из каналов предусмотрены возможности раздельной конфигурации (функций управления и прерываний) и отдельные векторы прерываний. Запросы прерываний могут генерироваться, как при завершении транзакции, так и обнаружении DMA-контроллером ошибки в канале DMA. После поступления запроса от DMA-канала на передачу данных, арбитр шины ожидает, когда ЦПУ AVR освободить шину данных, а затем разрешает DMA-контроллеру передавать данные. Передачи выполняются потоками из 1, 2, 4 или 8 байт. Адресация может быть статической, инкрементной или декрементной. По окончании передачи каждого пакета и блока, при необходимости, может быть выполнена автоматическая перезагрузка адреса источника и/или получателя. Запуск DMA-передачи могут инициировать программа, УВВ и события. Транзакция DMA Полная операция DMA чтения и записи между запоминающими устройствами и/или УВВ называется DMA-транзакцией. Транзакция выполняется блоками данных, а размер транзакции (количество байт для передачи) задается программно посредством настройки размера блока и счетчика повторов. Передача каждого блока разделяется на пакеты меньшего размера. Передача блока и повтор Размер передаваемого блока задается через регистр счетчика байт при передаче блока и может быть любым из диапазона от 1 байта до 64 кбайт. При необходимости задания количества повторов передач блоков до завершения транзакции, необходимо соответствующим образом настроить регистр счетчика повторов. Количество повторов может быть от 1 до 255 и неограниченным, если в регистр счетчика повторов записать нуль.
Передача пакета Поскольку ЦПУ AVR и DMA-контроллер используют общие шины данных, то передача блоков разделяется на передачи пакетов меньшего размера. Размер пакета может быть задан равным 1, 2, 4 или 8 байт. Это означает, что, если DMA-контроллер получит доступ к шине данных и отправит запрос на передачу, то он сможет занимать шину до тех пор, пока не завершится передача всех байт передаваемого пакета. Задачей арбитра шины является управление доступом к шине для DMA-контроллера или ЦПУ AVR. Приоритет всегда отдается за ЦПУ. Это означает, что до тех пор, пока ЦПУ запрашивает доступ к шине, все остальные отправленные запросы на передачу пакетов будут ожидать освобождения шины. ЦПУ запрашивает доступ к шине при выполнении инструкций записи или чтения SRAM, памяти ввода-вывода, EEPROM и интерфейса внешней шины. Более детально об арбитраже доступа к шине см. в подразделе 4.5 "Память данных". Рисунок 5.1. Транзакция DMA Запуск передачи DMA-передачи стартуют только при условии обнаружения запроса на DMA-передачу. Запрос на передачу может быть инициирован программно, внешним источником (УВВ) или событием. Предусмотрена возможность раздельного выбора источника запуска передачи для каждого из DMA-каналов. Доступные источники запуска могут отличаться у разных МК, что зависит от фактического набора модулей и УВВ, присутствующих у МК. Попытка использования источника запуска передачи (полный перечень см. в 5.4.14 "TRIGSRC - источник запуска DMA-канала") для модуля и УВВ, которых нет в МК, не окажет никакого эффекта. По умолчанию, источник запуска инициирует запуск передачи блока. Передача длится до завершения передачи одного блока, после чего канал будет ожидать появления очередного запуска и только после этого начнет передачу следующего блока. Предусмотрена возможность такой настройки, чтобы после запуска стартовала передача не блока, а пакета. Такая передача называется "single shot". Новый запуск инициирует старт передачи очередного пакета. Если активизировать режим повтора, то для старта передачи очередного блока не требуется ожидание ее запуска - передача начнется сразу по завершении передачи предыдущего блока. Если источник запуска генерирует запрос на передачу по ходу выполняющейся передачи, данный запрос будет запомнен и выполнен сразу по завершению текущей передачи. Предусмотрена возможность запоминания только одного запроса. Это означает, что, если во время выполняющейся передачи будут сгенерировано более одного запроса, то все они будут потеряны.
Адресация Применительно к источнику и получателю данных DMA-передачи можно раздельно выбрать следующие режимы обработки адреса источника и получателя: статический, инкрементный или декрементный. Если используется инкрементный или декрементный режим, то адрес будет соответствующим образом модифицироваться после каждого доступа. Исходный адрес источника и получателя запоминаются DMA-контроллером, а перезагрузку адресов источника и получателя можно настроить на выполнение в следующих точках: 1. по окончании передачи каждого пакета 2. по окончании передачи каждого блока 3. по окончании транзакции 4. перезагрузка не выполняется Приоритеты каналов В случае, если передачу одновременно запрашивают несколько каналов, применяется схема приоритетов. Программно можно задать, у скольких каналов приоритет будет фиксированным и к скольким каналам будет применена карусельная схема (Round Robin). При карусельной схеме, наименьший приоритет имеет тот канал, который последним передавал данные. Двойная буферизация Чтобы гарантировать непрерывность передачи, оба канала должны взаимодействовать таким образом, чтобы второй канал вступал в работу сразу после завершения передачи первым каналом и, наоборот. Этого позволяет добиться двойная буферизация. Когда передача завершается в первом канале, разрешается работа второго канала. При обнаружении запроса во втором канале, начинается передача, а по ее завершении - вновь разрешается работа первого канала. Передача буферов У каждого DMA-канала имеется внутренний буфер передачи, который используется при передачах пакетов размером 2, 4 и 8 байт. После запуска передачи, фактическая передача по DMA-каналу начинается при появлении в буфере передачи двух байт. При передаче 4- или 8-байтных пакетов, остальные байты будут отправляться по мере готовности их к передаче по DMA-каналу. Использование буфера позволяет снизить нагрузку на шину со стороны DMA-контроллера. После программного отключения DMA-контроллера или DMA-канала, вначале будет выполнена передача всех оставшихся в буфере данных, а затем уже будет выполнено заданное отключение. Этим гарантируется синхронизированность регистров адреса источника и получателя. Обнаружение ошибок DMA-контроллер поддерживает возможности обнаружения ошибок. В каждом из каналов DMA предусмотрена возможность раздельного обнаружения следующих ошибок: 1. Запись в отображаемое в памяти данных EEPROM 2. Чтение из EEPROM, когда оно отключено (переведено в экономичный режим работы). 3. DMA-контроллер или занятый канал отключен программно во время передачи Программный сброс DMA-контроллер и канал DMA поддерживают возможность программного сброса. После сброса DMA-контроллера, все связанные с ним регистры очищаются. Программный сброс можно выполнить, только если DMA-контроллер отключен.
Защита Для гарантирования безопасной работы некоторые регистры защищаются на время выполнения транзакции. До тех пор пока будет установлен флаг занятости DMA-канала (CHnBUSY), пользователь имеет возможность модификации следующих регистров и их бит: 1. Регистр CTRL 2. Регистр INTFLAGS 3. Регистры TEMP 4. Биты CHEN, CHRST, TRFREQ, REPEAT регистра канала CTRL 5. Регистр TRIGSRC Прерывания DMA-контроллер может генерировать прерывания при обнаружении ошибки в DMA-канале или по завершении транзакции в DMA-канале. У каждого из DMA-каналов имеется отдельный вектор прерывания и отдельные флаги прерываний по обнаружению ошибки и завершению транзакции. Если функция повтора неактивна, то флаг завершения транзакции устанавливается по завершении передачи блока. Если же активизировать функцию неограниченных повторов, то флаг завершения транзакции будет устанавливаться по завершении передачи каждого блока.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-12-30; просмотров: 295; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 34.226.141.207 (0.11 с.) |