Инициализация канала DMA
Для инициализации канала программа должна выполнить следующие шаги:
- сбросить триггер байтов командой записи в регистр 0Ch;
- задать режим работы канала, выполнив запись по адресу 0Bh в регистр режима MR;
- записать младшие 16 бит 20-битового адреса области памяти, которая будет использована для передачи данных, в регистр базового адреса. Адрес порта зависит от номера канала: канал 0 использует адрес 00h, канал 1 - 02h, канал 2 - 04h, канал 3 - 06h;
- записать номер страницы (старшие 4 бита 20-битового адреса) в регистр страниц 81h;
- загрузить регистр циклов прямого доступа к памяти CWR значением, на 1 меньшим требуемого количества передаваемых байт. Адреса соответствующих портов для каналов 0-3, равны, соответственно, 01h, 03h, 05h и 07h;
- разрешить работу канала, выполнив запись в регистр маски каналов по адресу 0Ah.
Сразу после разрешения канал начинает передачу данных. После окончания передачи устройство обычно вырабатывает прерывание, которое служит признаком окончания операции ввода или вывода данных.
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий