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

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

6.2. Формат команд DMA0.

Команды DMA могут запрашивать от обоих АЦП (АЦП0 и АЦП1) результат преобразования как однофазных, так и дифференциальных сигналов. Формат команды идентичен формату регистра DMA0IDT (см. рис.6.7). В зависимости от того, какие биты в командном слове установлены в 1, в каждом командном цикле DMA в память XRAM будут записаны либо 2, либо 4 байта данных (кроме команд окончания операции). В таблице 6.1 приведены все возможные команды DMA. Команды, отсутствующие в данной таблице, нельзя использовать в качестве команд DMA. Следует иметь ввиду, что микроконтроллер может самостоятельно управлять модулями АЦП, когда их выходы не опрашиваются интерфейсом DMA.

Таблица 6.1. Набор команд DMA0.

 

 

Первые данные,

Вторые данные,

Командное

Описание

записываемые в

записываемые в

слово

память XRAM

память XRAM

 

 

 

(2 байта)

(2 байта)

00000000b

Окончание операции

нет

нет

 

 

 

 

10000000b

Окончание операции с непрерывным

нет

нет

 

преобразованием

 

 

x0010000b

Извлечение данных АЦП0

ADC0H:ADC0L

нет

 

 

 

 

x0100000b

Извлечение данных АЦП1

ADC1H:ADC1L

нет

 

 

 

 

x0110000b

Извлечение данных АЦП0 и АЦП1

ADC0H:ADC0L

ADC1H:ADC1L

 

 

 

 

 

Извлечение результата преобразования

ADC0H:ADC0L

 

x10x0000b

(результат преобразова-

нет

 

дифференциального входного сигнала

ния дифференциального

 

 

 

сигнала от обоих АЦП)

 

 

Извлечение результата преобразования

ADC0H:ADC0L

 

x11x0000b

дифференциального входного сигнала и

(результат преобразова-

ADC1H:ADC1L

 

данных АЦП1

ния дифференциального

 

 

сигнала от обоих АЦП)

 

 

 

 

6.3. Адресация и настройка XRAM.

Интерфейс DMA можно настроить для доступа либо к внутренней, либо к внешней памяти XRAM. Все операции записи во внутреннюю память XRAM, управляемые интерфейсом DMA, осуществляются в тот момент, когда процессорное ядро не обращается к внутренней памяти XRAM. Это гарантирует, что интерфейс DMA не будет препятствовать ходу выполнения команд процессора.

Управление доступом к внешней памяти XRAM осуществляется с помощью бита DMA0HLT регистра конфигурации DMA (DMA0CF, см. рис.6.5). Интерфейс DMA будет иметь полный доступ к внешней памяти XRAM, когда этот бит сброшен в 0. Процессорное ядро будет иметь полный доступ к внешней памяти XRAM, когда этот бит установлен в 1. Бит DMA0HLT следует устанавливать/сбрасывать программно, когда либо процессорному ядру, либо интерфейсу DMA необходим доступ к адресному пространству данных внешней памяти XRAM. Перед установкой в 1 бита DMA0HLT необходимо программно проверить состояние бита DMA0XBY и убедиться, что интерфейс DMA в данный момент не обращается к внешней памяти XRAM. Процессорное ядро не может обращаться к внешней памяти XRAM, пока бит DMA0HLT сброшен в 0. Процессор продолжит выполнение программы, как будто он имеет доступ к внешней памяти XRAM, однако данные не будут записываться во внешнюю память XRAM или считываться из нее. Когда процессорное ядро закончит выполнять операции с внешней памятью XRAM, бит DMA0HLT необходимо программно сбросить в 0, чтобы возвратить управление интерфейсу DMA. Схема управления DMA будет ожидать сброса в 0 бита DMA0HLT и лишь после этого запишет данные во внешнюю память XRAM. Если новые данные станут доступны интерфейсу DMA прежде, чем предыдущие данные будут записаны в память, то произойдет переполнение и новое слово данных может быть потеряно.

Регистры указателя адреса данных (DMA0DSH и DMA0DSL) содержат 16-разрядный адрес ячейки памяти XRAM, в которую интерфейс DMA будет записывать данные. Если интерфейс DMA включается первый раз, то регистры указателя адреса данных DMA инициализируются значениями, содержащимися в регистрах начального адреса данных DMA (DMA0DAH и DMA0DAL). Регистры указателя адреса данных автоматически инкрементируются на 2 или 4 после каждой операции записи данных, выполняемой интерфейсом DMA.

Ред. 1.2

76