Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Stenin Lab / C8051F60-67-устройство МК.pdf
Скачиваний:
196
Добавлен:
10.02.2015
Размер:
5.19 Mб
Скачать

C8051F060/1/2/3/4/5/6/7

6. Интерфейс прямого доступа к памяти (DMA0).

Интерфейс прямого доступа к памяти DMA0 (Direct Memory Access Interface) работает совместно с АЦП0 и АЦП1 и позволяет записывать результат преобразования АЦП непосредственно в определенную область памяти XRAM. Интерфейс DMA настраивается программно с помощью регистров специального назначения (см. рис.6.1). В буфере команд можно запрограммировать до 64 команд, определив тем самым последовательность выполнения операций DMA. Команды из буфера команд считываются схемой управления DMA, которая собирает необходимые данные от АЦП и управляет процессом записи в XRAM. Команды DMA указывают схеме управления DMA, от какого АЦП следует ожидать результата преобразования, но они не запускают сам процесс преобразования. Поэтому до запуска интерфейса DMA необходимо настроить модули АЦП, определив для них источник запуска, источник опорного напряжения и частоту дискретизации. Подробная информация о настройке АЦП приведена в разделе 5.

Рисунок 6.1. Структурная схема DMA0.

 

Адрес

 

 

 

 

 

Данные

 

команд

 

 

 

 

 

команд

 

DMA0

 

 

 

 

 

 

DMA0

 

DMA0IPT

 

 

 

 

 

DMA0IDT

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Схема записи

 

 

Текущий адрес

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DMA0ISW

 

 

 

 

Буфер

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Начальный адрес

 

 

 

команд

 

 

 

(64 байта)

 

 

 

 

 

 

 

 

DMA0BND

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CCNV

DIFFSEL

ADC1EN

ADC0EN

 

 

 

 

 

 

 

AIN0

АЦП0

AIN0G

AIN1

АЦП1

AIN1G

DMA0CTH

 

DMA0CF

DMA0CN

DMA0HLT DMA0XBY

DMA0CIE DMA0CI DMA0EOE DMA0EO

DMA0EN DMA0INT DMA0MD DMA0DE1 DMA0DE0 DMA0DOE DMA0DO1 DMA0DO0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Память

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Шина адреса

 

XRAM

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Схема

 

 

 

 

 

(внутренняя

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

или

 

 

 

управления

 

 

 

 

 

 

 

 

 

 

 

 

 

внешняя)

 

 

 

 

DMA

 

 

 

 

 

Шина данных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DMA0DSH

DMA0DSL

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Текущий адрес памяти XRAM

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DMA0DAH

 

DMA0DAL

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Начальный адрес памяти XRAM

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DMA0CTL

 

 

DMA0CSH

 

DMA0CSL

Граница счетчика повторений

Текущее значение счетчика повторений

6.1. Запись в буфер команд.

Буфер команд имеет 64 8-разрядные ячейки, которые можно запрограммировать последовательностью команд интерфейса DMA. Заполнение буфера команд осуществляется с помощью регистров специального назначения DMA0IPT (регистр адреса команд DMA0, см. рис.6.6) и DMA0IDT (регистр данных команд DMA0, см. рис.6.7). Команда записывается в ячейку буфера команд, на которую указывает регистр DMA0IPT, в тот момент, когда командное слово записывается в регистр DMA0IDT. Операция чтения регистра DMA0IDT возвратит в качестве результата командное слово из ячейки буфера команд, на которую указывает регистр DMA0IPT. После выполнения операций чтения или записи регистра DMA0IDT произойдет автоматический инкремент содержимого регистра DMA0IPT, который после этого будет указывать на следующую ячейку буфера команд.

75

Ред. 1.2