Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
367
Добавлен:
21.05.2015
Размер:
7.55 Mб
Скачать
      1. Status - Регистр статуса dma

Бит

7

6

5

4

3

2

1

0

 

+0х05

CH3BUSY

CH2BUSY

CH1BUSY

CH0BUSY

CH3PEND

CH2PEND

CH1PEND

CH0PEND

STATUS

Чтение/запись

Чт.

Чт.

Чт.

Чт.

Чт.

Чт.

Чт.

Чт.

Начальное значение

0

0

0

0

0

0

0

0

  • Биты 7:4 - CHnBUSY[3:0]: флаг занятости канала DMA

Флаг CHnBUSY принимает единичное значение при старте транзакции в DMA-канале n. Данный флаг автоматически сбрасывается при отключении DMA-канала, при установке флага прерывания по завершении транзакции в DMA-канале n или при установке флага прерывания по ошибке в DMA-канале n.

  • Биты 3:0 - CHnPEND[3:0]: флаг отправки передачи по DMA-каналу

Флаг принимает единичное значение во время отправки передачи блока по DMA-каналу n. Данный флаг автоматически сбрасывается во время запуска передачи блока или при отмене передачи.

      1. Temph - старший байт временного регистра dmtemp

Бит

7

6

5

4

3

2

1

0

 

+0х07

DMTEMP[15:8]

TEMPH

Чтение/запись

Чт./Зап.

Чт./Зап.

Чт./Зап.

Чт./Зап.

Чт./Зап.

Чт./Зап.

Чт./Зап.

Чт./Зап.

Начальное значение

0

0

0

0

0

0

0

0

  • Биты 7:0 - DMTEMP[15:8]: старший байт временного регистра DMA-контроллера

Данный регистр используется для чтения и записи 24-битных регистров DMA-контроллера. В нем запоминается второй байт 24-битного регистра, когда запись в него выполняет ЦПУ. Здесь также хранится второй байт 24-битного регистра, когда ЦПУ считывает первый байт. При необходимости данный регистр можно считать и записать из программы пользователя.

Чтение и запись 24-битного регистра требуют особого внимания. Подробности см. в 3.11 "Доступ к 16-битным регистрам".

      1. Templ - младший байт временного регистра dmtemp

Бит

7

6

5

4

3

2

1

0

 

+0х06

DMTEMP[7:0]

TEMPL

Чтение/запись

Чт./Зап.

Чт./Зап.

Чт./Зап.

Чт./Зап.

Чт./Зап.

Чт./Зап.

Чт./Зап.

Чт./Зап.

Начальное значение

0

0

0

0

0

0

0

0

  • Биты 7:0 - DMTEMP[7:0]: младший байт временного регистра DMA-контроллера

Данный регистр используется при чтении 24- и 16-битных регистров DMA-контроллера. В нем запоминается байт 1 записываемых ЦПУ 16/24-битных регистров. Запоминание байта 1 16/24-битных регистров происходит, когда ЦПУ считывает байт 0. Данный регистр можно считывать и записывать программно.

Чтение и запись 16- и 24-битных регистров нужно выполнять с особым вниманием (см. подробности в руководстве по ядру AVR).

    1. Описание регистров dma-канала

      1. Ctrla - регистр а управления dma-каналом

Бит

7

6

5

4

3

2

1

0

 

+0х00

CHEN

CHRST

REPEAT

TRFREQ

-

SINGLE

BURSTLEN[1:0]

CTRLA

Чтение/запись

Чт./Зап.

Чт./Зап.

Чт./Зап.

Чт./Зап.

Чт.

Чт./Зап.

Чт./Зап.

Чт./Зап.

Начальное значение

0

0

0

0

0

0

0

0

  • Бит 7- CHEN: разрешение работы DMA-канала

Установка данного бита разрешает работу DMA-канала. Данный бит автоматически сбрасывается после завершения транзакции. Если DMA-канал активен и в данный бит записывается ноль, то сброс бита CHEN произойдет только после опустошения внутреннего буфера передачи, после чего DMA-передача отменяется.

  • Бит 6 - CHRST: программный сброс DMA-канала

Установка данного бита приводит к сбросу канала. Данный бит автоматически сбрасывается после завершения сброса. Установить данный бит можно, только если DMA-канал отключен (CHEN = 0).

  • Бит 5 - REPEAT: режим повтора DMA-канала

Установка данного бита активизирует режим повтора. В режиме повтора сброс этого бита выполняется автоматически при запуске передачи последнего блока. Перед установкой бита REPEAT необходимо настроить регистр REPCNT.

  • Бит 4 - TRFREQ: запрос передачи по DMA-каналу

Установка данного бита приводит к генерации запроса на передачу данных по DMA-каналу. Данный бит автоматически сбрасывается во время старта передачи данных.

  • Бит 3 - Res: резервный бит

Данный бит не задействован и зарезервирован для использования в будущем. Для совместимости с более новыми МК, при выполнении записи в этот регистр в резервные биты необходимо записывать нули.

  • Бит 2 - SINGLE: однократная передача данных по DMA-каналу

Установка данного бита активизирует режим однократной передачи. Передачу по каналу инициируется источником запуска передачи и выполнятся пакетом, размер которого задан битами BURSTLEN. Данный бит нельзя изменить, если канал занят.

  • Биты 1:0 - BURSTLEN[1:0]: пакетный режим DMA-канала

С помощью данных бит выполняется настройка пакетного режима DMA-канала (см. таблицу 5.3). Данные биты нельзя изменить, когда канал занят.

Таблица 5.3. Пакетный режим DMA-канала

BURSTLEN[1:0]

Групповая конфигурация

Описание

00

1BYTE

1-байтный пакетный режим

01

2BYTE

2-байтный пакетный режим

10

4BYTE

4-байтный пакетный режим

11

8BYTE

8-байтный пакетный режим

Соседние файлы в папке Архитектура ЭВМ