1 / 34

Лекция 4

Лекция 4. Функционирование МПС - порты и контроллеры. Лектор: Люличева И.А. Рассматриваются вопросы. Работа с ППИ и таймером БИС последовательного интерфейса ( УАПП-UART) Контроллер прерываний Контроллер прямого доступа в память. Состав МП комплектов.

melody
Download Presentation

Лекция 4

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Лекция 4 Функционирование МПС - порты и контроллеры. Лектор: Люличева И.А.

  2. Рассматриваются вопросы • Работа с ППИ и таймером • БИС последовательного интерфейса (УАПП-UART) • Контроллер прерываний • Контроллер прямого доступа в память

  3. Состав МП комплектов • На прошлой лекции мы обсуждали, что для работы МПсистемы нужны некоторые вспомогательные схемы, программируемые и непрограм-мируемые. Непрограммируемые БИС (генераторы, формирователи шин и пр.) мы оставили на самостоятельное изучение. • Мы рассмотрели структурные схемы 2 программируемых БИС – Таймера, и параллельного интерфейса (ППИ).

  4. Структурная схема МП системы (уточненная) • ША • ШД • ШУ CPU ПЗУ ОЗУ Таймер В.В К к

  5. Дополнительные БИС

  6. БИС ППИ – параллельный порт

  7. Пример программирования ППИ • Вопрос – назначение параллельного порта (справа – распиновка для электрических принципиальных схем). • ;Пример 2 алгоритм (текст – на доске) • 1. Формируем УС • 2. Модифицируем алгоритм ввода из порта. • 3. Пишем программу.

  8. Формат управляющего слова ППИ

  9. Алгоритм и программа • В уже изученный алгоритм ввода из порта добавляется ТОЛЬКО один блок – настройка ППИ на режми работы. • В программу добавятся 2 строки (До начала цикла)– • MOV AL, 90h • OUT 0C3h

  10. Таймер • Назначение таймера – разгрузить процессор от рутинных операции подсчета времени, импульсов (в режиме счетчика) и пр. • Например, вместо длинной программы задержки в ЛБ 1 можно было настроить таймер на режим программируемой задержки и ожидать прерывания от таймера.

  11. Управляющее слово таймера

  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. Примеры программирования таймера • Пример 2. Программа инициализации 2-х счетчиков сложнее: • MOV AL, 00010101B ; 00-Режим Сч0, 01-мл. байт, 010-реж.2,1-дв/дес • OUT 43H,AL ; вывод в регистр режима • MOV AL, 01110111B ; 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. УАПП-UART • Связь с удаленными устройствами или абонентами сетей может осуществляться с помощью универсального асинхронного последовательного приемо-передатчика УАПП-UART (иначе-программируемый связной интерфейс). Эта БИС полностью поддерживает стандарт интерфейса RS-232.

  15. Структурная схема УАПП/UART • К выводам RxD - приемник и TxD - передатчик через линию связи подключаются передатчик и приемник другого абонента или устройства. Если связь производится через модем, то доступны любые сети вплоть до Интернет.

  16. УАПП-UART • Поскольку БИС УСАПП имеет 2 упр. слова ее программирование несколько сложнее, чем параллельного порта ППИ или таймера. • Ниже приведен пример настройки УСАПП. Алгоритм этой программы состоит из 3 блоков – сброс, передача УС1, передача УС2. • Далее рассмотрен вывод массива байтов в с контролем по готовности передатчика. В программе вывода использована базовая адресация.

  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. Пример работы с последовательным портом • ; Пример 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. Контроллер прерываний • Программируемый контроллер прерываний 8259 (советский аналог - КР1810ВН59А) предназначен для обработки до восьми прерываний. • Имеет несколько режимов работы – с фиксированным или циклическим приоритетом, шаг – 4 или 8, которые устанавливаются программным путем с использованием 5 управляющих слов инициализации и операции.

  20. Контроллер прерываний • Есть два типа управляющих команд контролера 8259 - команды инициализации и команды операции. • Команда инициализации (ICW) определяет ОБЩИЙ режим функционирования ПКП. • Команда операции (OCW) детально описывает небольшую операцию, например: • Маскирование отдельных запросов,

  21. Контроллер прерываний • спеціальне маскування обслужених запитів; • установка статусу рівнів пріоритету (по установці вихідного стану, по обслуженому запиті, за вказівкою); • операції кінця переривання (звичайний кінець переривання, спеціальний кінець переривання, автоматичний кінець переривання); • читання регістрів IRR, ISR, IMR.

  22. Внешний вид

  23. Контроллер прерываний • Возможно каскадное включение до 9 ПКП. • Один из контроллеров при этом – ведущий, остальные 8 – ведомые.

  24. Контроллер прерываний • Ми не будемо докладно описувати команди ініціалізації а тим більшоперації контролера 8259. Бажаючих розібратися у всіх тонкостях завдання початкового режиму роботи контролера переривань ми відсилаємо до довідкової літератури по мікросхемі 8259 або її вітчизняному аналогу К1810ВН59. • У персональних комп'ютерах XT й AT за первісну установку режимів роботи мікросхем 8259 відповідає BIOS. У програміста швидше за все не виникне потреба перепрограмувати контролер - це небезпечно, тому що неправильне програмування контролера приведе до порушення логіки роботи всієї системи.

  25. Контроллер ПДП (назначение и стр схема) • Назначение – разгрузить ЦП от рутинных операций ввода-вывода массивов. • КПДП – это единственная из БИС, которая может изменять шину адреса. • При работе в режиме ведущего все циклы передачи выполняются под управлением КПДП. МП при этом отключен от шин и находится в состоянии «захват шин».

  26. Контроллер ПДП • Прямий доступ до пам'яті (ПДП, DMA) - це метод безпосереднього звернення до пам'яті, без використання процесора. Звичайно DMA використовується для обміну великими масивами даних між системною пам'яттю і пристроями введення-виведення. • В персональних комп’ютерах підсистема DMA виконана на базі окремої ВIС – КПДП, але інших МПС можливі два інших варіанта. КПДП керує передачею даних по системній шині між пам'яттю і інтерфейсом ввода-вывода.

  27. Контроллер ПДП • Основне його призначення - звільнити МП від операцій передачі великих блоків даних. В процесі передачі контролер ПДП поміщає адреси на шину, а також видає і приймає сигнали квітування так, як це робить логіка управління шиною самого ЦП. Для цього йому треба запрошувати цикли шини у процесора.

  28. Контроллер ПДП • Мікросхема 8237 має три канали ПДП і 43 байт буферної пам'яті; вона може обслуговувати до трьох інтерфейсів введення-виведення або зовнішньої пам'яті. У деяких системах окрім контролера ПДП потрібен ще і дешифратор його наказів, наприклад, Intel 8205. Процесор відповідає тільки за програмування DMA: настройку на певний тип передачі, завдання початкової адреси і розміру масиву обмінюваних даних.

  29. Алгоритм прямого доступа в память • Загальний алгоритм прямого доступу до пам'яті • Для здійснення прямого доступу до пам'яті контролер повинен виконати ряд послідовних операцій: • прийняти запит (DREQ) від пристрою введення-виведення; • сформувати запит (HRQ) в процесор на захоплення шини; • прийняти сигнал (HLDA), підтверджуючий захоплення шини; • сформувати сигнал (DACK), що повідомляє пристрій про початок обміну даними; • видати адресу елементу пам'яті, призначеної для обміну; • виробити сигнали (MEMR, IOW або MEMW, IOR), що забезпечують управління обміном; • після закінчення циклу DMA або повторити цикл DMA, змінивши адресу, або припинити цикл.

  30. Контроллер ПДП • Контроллер прямого доступа к памяти (КПДП) имеет несколько каналов и для машин AT состоял из двух микросхем Intel 8237A. Контроллер НГМД использует канал 2. • Перед началом инициализации КПДП программа должна послать в порты 0Bh и 0Ch код операции, которая будет выполняться КПДП - 46h для операции чтения и 4Ah для операции записи. • В процессе инициализации программа должна сообщить КПДП адрес буфера, куда ему следует поместить данные или откуда надо взять данные, и длину передаваемых данных в байтах.

  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. Контроллер ПДП (пример программы) • 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. Домашнее задание (вместо летучки) • 1. Какие БИС входят в состав МПК 18101? • 2. Назначение БИС параллельного и последовательного портов. • 3. Назначание контроллера прерываний. • 4. Какие устройства в ПК работают по прерываниям? • 5. Какие устройства в ПК используют прямой доступ к памяти?

  34. Вопросы для сдачи ЛБ 1 • Что такое чипсет, что в него входит? • Разработайте алгоритм ввода данных из последовательного порта в асинхронном режиме с контролем по четности • Поясните назначение и принцип работы контроллера прерываний. • Что такое вектор прерываний? • Сколько прерываний от ВУ есть в ПК? От каких устройств эти прерывания? • Поясните назначение и принцип работы контроллера прямого доступа в память. • Поясните порядок программирования КПДП.

More Related