Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемВалерий Панкрашев
1 1 Лекция 4 Функционирование МПС - порты и контроллеры. Лектор: Люличева И.А.
2 2 Рассматриваются вопросы Работа с ППИ и таймером БИС последовательного интерфейса (УАПП-UART) Контроллер прерываний Контроллер прямого доступа в память
3 3 Состав МП комплектов На прошлой лекции мы обсуждали, что для работы МП системы нужны некоторые вспомогательные схемы, программируемые и непрограм- мируемые. Непрограммируемые БИС (генераторы, формирователи шин и пр.) мы оставили на самостоятельное изучение. Мы рассмотрели структурные схемы 2 программируемых БИС – Таймера, и параллельного интерфейса (ППИ).
4 4 Структурная схема МП системы (уточненная) ША ШД ШУ
5 5 Дополнительные БИС
6 6 БИС ППИ – параллельный порт
7 7 Пример программирования ППИ Вопрос – назначение параллельного порта (справа – распиновка для электрических принципиальных схем). ;Пример 2 алгоритм (текст – на доске) 1. Формируем УС 2. Модифицируем алгоритм ввода из порта. 3. Пишем программу.
8 8 Формат управляющего слова ППИ
9 9 Алгоритм и программа В уже изученный алгоритм ввода из порта добавляется ТОЛЬКО один блок – настройка ППИ на режми работы. В программу добавятся 2 строки (До начала цикла)– MOV AL, 90h OUT 0C3h
10 10 Таймер Назначение таймера – разгрузить процессор от рутинных операции подсчета времени, импульсов (в режиме счетчика) и пр. Например, вместо длинной программы задержки в ЛБ 1 можно было настроить таймер на режим программируемой задержки и ожидать прерывания от таймера.
11 11 Управляющее слово таймера D7D6D5D4D3D2D1D0 Вибор канала 00 - канал канал канал 2 Сколько и какие байты загружать 00 - читання на льоту 01 – чт/зап младшего байта 10 – чт/зап старшого байта 11 - чт/зап слова – ст И мл байта Режим работы канала 00 - режим режим режим режим режим режим 5 1- десятичны й счет 0– двоичный счет
12 12 Примеры программирования таймера ;Пример 1 настройка одного счетчика таймера в режим деления на 5 (адреса таймера -80h,81h,82h,83h) mov al,1eh; CT0,1 мл.байт, режим 3, код 2 out 83h,al; вывод упр. байта в порт УС таймера mov al,5 ; коэф. деления Kf=F1/F2=5 out 80h,al; запись Kf в 0 счетчик.
13 13 Примеры программирования таймера Пример 2. Программа инициализации 2-х счетчиков сложнее: MOV AL, B ; MOV AL, B ; 00-Режим Сч0, 01-мл. байт, 010-реж.2,1-дв/дес OUT 43H,AL ; вывод в регистр режима MOV AL, B ; 01-Режим Сч1,11-два байта,011-реж.2,1-дв/дес OUT 43H ; вывод в регистр режима MOV AL, 10H ; N деление в Сч0 OUT 40H ; Адрес Сч0 MOV AL, 00 ; мл. байт N деление в Лч1 OUT 41H ; Адрес Сч1 MOV AL, 20H ; ст. байт N деление в Лч1 OUT 41H ; Адрес Сч1
14 14 УАПП-UART Связь с удаленными устройствами или абонентами сетей может осуществляться с помощью универсального асинхронного последовательного приемо-передатчика УАПП-UART (иначе-программируемый связной интерфейс). Эта БИС полностью поддерживает стандарт интерфейса RS-232.
15 15 Структурная схема УАПП/UART К выводам RxD - приемник и TxD - передатчик через линию связи подключаются передатчик и приемник другого абонента или устройства. Если связь производится через модем, то доступны любые сети вплоть до Интернет.
16 16 УАПП-UART Поскольку БИС УСАПП имеет 2 упр. слова ее программирование несколько сложнее, чем параллельного порта ППИ или таймера. Ниже приведен пример настройки УСАПП. Алгоритм этой программы состоит из 3 блоков – сброс, передача УС1, передача УС2. Далее рассмотрен вывод массива байтов в с контролем по готовности передатчика. В программе вывода использована базовая адресация.
17 17 Пример настройки последовательного порта ; Настройка УСАПП ( адреса 9С – данные и 9D - управление) mov al, 40h; программный сброс out 9Dh, al; mov al, 0CFh;инструкция режима: 2 стоп-бита, out 9Dh, al ;нет контроля,8 бит, fTxC/ 64 mov al,01h; инструкция команды out 9Dh, al; разреш. передачи TxEN =1
18 18 Пример работы с последовательным портом ; Пример 3 Передача (вывод) массива байтов в УСАПП mov cх, 20; число символов mov BX,1000h; нач. Адрес. массива М1: mov al,[BX]; переслать байт из массива в AL out 9Ch,al; и вывести его в УСАПП wt: in al,9dh; чтение байта состояния shr al,1; символ передан в линию? (TxRDY = 1?), jnc wt;если нет, то ждать, inc bx; если да, перейти к адресу след. байта dec cх; переданы все байти? jnz М1; если нет, повторить
19 19 Контроллер прерываний Программируемый контроллер прерываний 8259 (советский аналог - КР1810ВН59А) предназначен для обработки до восьми прерываний. Имеет несколько режимов работы – с фиксированным или циклическим приоритетом, шаг – 4 или 8, которые устанавливаются программным путем с использованием 5 управляющих слов инициализации и операции.
20 20 Контроллер прерываний Есть два типа управляющих команд контролера команды инициализации и команды операции. Команда инициализации (ICW) определяет ОБЩИЙ режим функционирования ПКП. Команда операции (OCW) детально описывает небольшую операцию, например: Маскирование отдельных запросов,
21 21 Контроллер прерываний спеціальне маскування обслужених запитів; установка статусу рівнів пріоритету (по установці вихідного стану, по обслуженому запиті, за вказівкою); операції кінця переривання (звичайний кінець переривання, спеціальний кінець переривання, автоматичний кінець переривання); читання регістрів IRR, ISR, IMR.
22 22 Внешний вид
23 23 Контроллер прерываний Возможно каскадное включение до 9 ПКП. Один из контроллеров при этом – ведущий, остальные 8 – ведомые.
24 24 Контроллер прерываний Ми не будемо докладно описувати команди ініціалізації а тим більш операції контролера Бажаючих розібратися у всіх тонкостях завдання початкового режиму роботи контролера переривань ми відсилаємо до довідкової літератури по мікросхемі 8259 або її вітчизняному аналогу К1810ВН59. У персональних комп'ютерах XT й AT за первісну установку режимів роботи мікросхем 8259 відповідає BIOS. У програміста швидше за все не виникне потреба перепрограмувати контролер - це небезпечно, тому що неправильне програмування контролера приведе до порушення логіки роботи всієї системи.
25 25 Контроллер ПДП (назначение и стр схема) Назначение – разгрузить ЦП от рутинных операций ввода-вывода массивов. КПДП – это единственная из БИС, которая может изменять шину адреса. При работе в режиме ведущего все циклы передачи выполняются под управлением КПДП. МП при этом отключен от шин и находится в состоянии «захват шин».
26 26 Контроллер ПДП Прямий доступ до пам'яті (ПДП, DMA) - це метод безпосереднього звернення до пам'яті, без використання процесора. Звичайно DMA використовується для обміну великими масивами даних між системною пам'яттю і пристроями введення-виведення. В персональних компютерах підсистема DMA виконана на базі окремої ВIС – КПДП, але інших МПС можливі два інших варіанта. КПДП керує передачею даних по системній шині між пам'яттю і інтерфейсом ввода- вывода.
27 27 Контроллер ПДП Основне його призначення - звільнити МП від операцій передачі великих блоків даних. В процесі передачі контролер ПДП поміщає адреси на шину, а також видає і приймає сигнали квітування так, як це робить логіка управління шиною самого ЦП. Для цього йому треба запрошувати цикли шини у процесора.
28 28 Контроллер ПДП Мікросхема 8237 має три канали ПДП і 43 байт буферної пам'яті; вона може обслуговувати до трьох інтерфейсів введення-виведення або зовнішньої пам'яті. У деяких системах окрім контролера ПДП потрібен ще і дешифратор його наказів, наприклад, Intel Процесор відповідає тільки за програмування DMA: настройку на певний тип передачі, завдання початкової адреси і розміру масиву обмінюваних даних.
29 29 Алгоритм прямого доступа в память Загальний алгоритм прямого доступу до пам'яті Для здійснення прямого доступу до пам'яті контролер повинен виконати ряд послідовних операцій: 1.прийняти запит (DREQ) від пристрою введення-виведення; 2.сформувати запит (HRQ) в процесор на захоплення шини; 3.прийняти сигнал (HLDA), підтверджуючий захоплення шини; 4.сформувати сигнал (DACK), що повідомляє пристрій про початок обміну даними; 5.видати адресу елементу пам'яті, призначеної для обміну; 6.виробити сигнали (MEMR, IOW або MEMW, IOR), що забезпечують управління обміном; 7.після закінчення циклу DMA або повторити цикл DMA, змінивши адресу, або припинити цикл.
30 30 Контроллер ПДП Контроллер прямого доступа к памяти (КПДП) имеет несколько каналов и для машин AT состоял из двух микросхем Intel 8237A. Контроллер НГМД использует канал 2. Перед началом инициализации КПДП программа должна послать в порты 0Bh и 0Ch код операции, которая будет выполняться КПДП - 46h для операции чтения и 4Ah для операции записи. В процессе инициализации программа должна сообщить КПДП адрес буфера, куда ему следует поместить данные или откуда надо взять данные, и длину передаваемых данных в байтах.
31 31 Контроллер ПДП (пример программы) Ограничимся примером установки 2 канала для чтения одного сектора (512 байт) диска, dma - это адреса КП базовый адрес КПДП. mov al,46h ;Канал 2, чтение с диска (УС = 4Аh для записи на диск) out dma+0B, al ; Режим out dma+0C, al ; Сброс триггера FF mov al, bl ; Загрузка начального адреса памяти out dma+4,al mov al, bh out dma+4,al
32 32 Контроллер ПДП (пример программы) mov al,0 ; Счетчик=512 out dma+5,al ; младший байт=00 mov al,2 out dma+5,al; старший байт=2…. Итого 200Н==512 out dma+0A,al ; Размаскировать канал 2 - разрешить передачу. Программа настройки КПДП– линейная!!
33 33 Домашнее задание (вместо летучки) 1. Какие БИС входят в состав МПК 18101? 2. Назначение БИС параллельного и последовательного портов. 3. Назначание контроллера прерываний. 4. Какие устройства в ПК работают по прерываниям? 5. Какие устройства в ПК используют прямой доступ к памяти?
34 34 Вопросы для сдачи ЛБ 1 Что такое чипсет, что в него входит? Разработайте алгоритм ввода данных из последовательного порта в асинхронном режиме с контролем по четности Поясните назначение и принцип работы контроллера прерываний. Что такое вектор прерываний? Сколько прерываний от ВУ есть в ПК? От каких устройств эти прерывания? Поясните назначение и принцип работы контроллера прямого доступа в память. Поясните порядок программирования КПДП.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.