- •Основы микропроцессорной техники
- •В.И. Енин
- •В.И. Енин
- •Введение
- •После изучения дисциплины необходимо знать
- •После изучения дисциплины необходимо уметь
- •В.1. Роль и место курса “Микропроцессорная техника” в учебном процессе
- •1. Микропрограммные автоматы
- •После изучения главы необходимо знать
- •1.1. Автомат без памяти
- •1.2. Микропрограммный автомат
- •1.2.1. Автомат с памятью
- •1.2.2. Микропрограммный автомат в системе управления
- •1.2.3. Структурный автомат
- •1.3. Схемная реализация микропрограммных автоматов
- •2. МикропрограмМируемые контроллеры и микропроцессоры
- •После изучения главы необходимо знать
- •2.1. Блок микропрограммного управления
- •2.2. Блок обработки цифровых данных.
- •3. Принципы организации эвм
- •После изучения главы необходимо знать
- •3.1. Выполнение команд в эвм
- •Система команд и методы адресации
- •Подпрограммы
- •3.2. Общие принципы организации ввода-вывода
- •3.2.1. Программный режим ввода-вывода
- •3.2.2. Обмен информацией в режиме прерывания программы
- •3.2.3. Прямой доступ к памяти
- •3.2.4. Подключение внешних устройств
- •4. Архитектура однокристального микропроцессора
- •После изучения главы необходимо знать
- •4.1. Архитектура микропроцессора к580ик80а
- •4.1.1. Формат команд микропроцессора к580ик80а
- •4.1.2. Методы адресации микропроцессора к580ик80а
- •4.1.3. Команды безусловной и условной передач управления
- •4.1.4. Примеры команд процессора к580ик80а
- •4.2. Организация обмена в однокристальных микроЭвм
- •4.2.1. Функционирование микропроцессора
- •4.2.2. Подключение озу и регистров внешних устройств
- •5. Системы счисления и арифметические операции над числами
- •После изучения главы необходимо знать
- •5.1. Системы счисления для представления чисел в эвм
- •5.2. Представление в эвм целых двоичных чисел без знака
- •5.3. Представление в эвм целых чисел со знаком
- •5.3.1. Представление чисел со знаком в прямом коде
- •5.3.2. Представление чисел со знаком в дополнительном коде
- •5.3.3. Особенности выполнения сложения двоичных чисел без знака и со знаком
- •1. Примеры сложения чисел без знака.
- •2. Примеры сложения чисел со знаком.
- •5.4. Двоично-десятичная система представления чисел
- •5.5. Представление чисел в формате с плавающей точкой
- •Примеры представления чисел типа single
- •Примеры представления чисел типа real
- •6. Семейство процессоров х86
- •После изучения главы необходимо знать
- •6.1. Архитектура процессора 8086
- •Регистры процессора
- •Инструкции процессора
- •Сегментация памяти
- •Методы адресации
- •Распределение памяти
- •Прерывания
- •Функционирование
- •6.2. Процессоры 80286
- •Реальный режим
- •Защищенный режим
- •Прерывания
- •Регистр состояния задачи
- •Некоторые особенности функционирования
- •Функциональная схема pc at
- •7. Шина isa и интерфейсы сопряжения с устройствами управления
- •После изучения главы необходимо знать
- •7.1. Конструкция шины isa
- •Выводы шины isa
- •Распределение адресов на системной плате ат
- •Циклы магистрали
- •Прямой доступ к памяти
- •Регенерация памяти
- •Основные электрические характеристики линий isa
- •7.2. Проектирование устройств сопряжения для шины isa
- •7.2.1. Селекторы (дешифраторы) адреса
- •7.2.2. Операционная часть интерфейса
- •7.2.3. Микросхемы для построения интерфейсов Условные графические обозначения элементов цифровой техники
- •7.2.4. Микросхемы приемопередатчиков сигналов магистрали
- •Микросхемы селекторов адреса выходных регистров
- •8. Интерфейс centronics
- •После изучения главы необходимо знать
- •8.1. Порядок обмена по интерфейсу Centronics
- •8.2. Программируемый параллельный интерфейс ( ппи)
- •9. Обмен данными по интерфейсу rs-232
- •После изучения главы необходимо знать
- •9.1. Назначение линий связи rs-232
- •9.2. Подключение модема к rs-232
- •9.3. Подключение терминалов к rs-232
- •9.4. Подключение удаленных объектов управления
- •9.5. Назначение портов rs-232
- •10. Отсчёт реального времени в эвм
- •После изучения главы необходимо знать
- •10.1. Программируемый таймер
- •10.1.1. Режимы работы таймера
- •10.1.2. Таймер на системной плате ibm pc
- •10.2. Программируемый контроллер прерываний
- •10.2.1. Режимы работы пкп
- •10.2.2. Программирование пкп
- •10.3. Прерывания в ibm pc
- •10.3.1. Векторы прерывания
- •10.3.2. Прерывания bios и dos
- •10.3.3. Написание собственных прерываний
- •10.4. Отсчёт реального времени в эвм
- •10.5. Процедуры и функции для работы с прерываниями
- •После изучения главы необходимо знать
- •11.1. Архитектура 32-разрядных процессоров
- •11.1.1. Регистры процессора
- •11.1.2. Организация памяти
- •11.1.3. Режимы адресации
- •11.1.4. Ввод и вывод
- •11.1.5. Прерывания и исключения
- •11.1.6. Процессоры Pentium
- •11.2. Страничное управление памятью
- •11.3. Кэширование памяти
- •Кэш прямого отображения
- •Ассоциативный кэш
- •12. Однокристальные микроконтроллеры
- •После изучения главы необходимо знать
- •12.1. Однокристальный микроконтроллер к1816
- •12.2. Avr микроконтроллеры
- •12.3. Процессоры обработки сигналов
- •12.3.1. Однокристальный цифровой процессор обработки
- •12.3.2. Цифровые процессоры обработки сигналов (цпос)
- •13. Промышленное оборудование для цифровых систем управления
- •После изучения главы необходимо знать
- •13.1. Оборудование для централизованных систем управления
- •13.1.1. Персональные компьютеры для целей управления
- •13.1.2. Промышленные рабочие станции
- •13.1.3. Шасси для ibm совместимых промышленных компьютеров
- •13.1.4. Модульные промышленные компьютеры mic-2000
- •13.1.5. Процессорные платы
- •13.1.6. Устройства для сбора данных и управления
- •13.2. Оборудование для распределенных систем сбора данных и управления
- •13.2.1. Модули удаленного сбора данных и управления adam-5000
- •13.2.2. Модули удаленного сбора данных и управления adam-4000
- •13.3. Прикладное программное обеспечение
- •Заключение
- •Список использованных источников
- •Оглавление
- •Системы счисления и арифметические
9.5. Назначение портов rs-232
Компьютер, совместимый с IВМ РС, может иметь до четырех последовательных портов. Они маркируются как СОМ1 - СОМ4. Каждый СОМ-порт формируется отдельным UART 16450, установленным внутри компьютера. UART содержит восемь восьмибитовых регистров. Адреса ввода/вывода этих регистров вычисляются добавлением смещения регистра к базовому адресу СОМ-порта
. Базовые адреса портов равны: COM1 – 3F8h, COM2 – 2F8h, COM3 – 3E8h, COM4 – 2E8h. При включении компьютера BIOS проверяет адреса всех установленных последовательных портов и заносит их в определенные ячейки памяти. Так однобайтовая ячейка памяти 0000:0411h в трех младших битах содержит общее количество установленных COM-портов. Информация о базовых адресах установленных портов размещается в ячейках
COM1: 0000:0400h – 0000:0401h,
COM2: 0000:0402h – 0000:0403h,
COM3: 0000:0404h – 0000:0405h,
COM4: 0000:0406h – 0000:0407h.
Рассмотрим назначение портов.
Порт 3F8h (смещение 00h) при нулевом значении управляющего бита служит для записи в него передаваемого байта данных и чтения из него принимаемого байта. При единичном значении управляющего бита этот порт используется для записи в него младшего байта кода делителя частоты тактового генератора, определяющего скорость передачи и приема. В качестве управляющего бита DLAB используется старший (восьмой) бит регистра формата данных. Если по этому адресу записан байт, то он передается в регистр сдвига передатчика и последовательно поступает на выход. Во время приема происходит обратная операция: после того как данные успешно приняты и с помощью регистра сдвига преобразованы в параллельный формат, они передаются в буферный регистр приемника. Когда информация из этого регистра считана, он очищается и готов к приему следующего блока данных.
Порт 3F9h (смещение 01h) при единичном значении того же управляющего бита используется для записи старшего байта кода делителя частоты. При нулевом значении управляющего бита порт используется для управления прерываниями. Используя этот регистр разрешения прерываний, можно настраивать прерывания, генерируемые UART, на различные события. Назначения битов этого регистра приведены ниже:
бит 0 1 - прерывание при получении данных,
0 - нет прерывания,
бит 1 1 - прерывание, когда регистр передатчика пуст,
0 - нет прерывания,
бит 2 1 - прерывание при ошибке приема данных,
0 - нет прерывания,
бит 3 1 - прерывание по изменению состояния линий CTS, DSR, DCD, RI,
0 - нет прерывания,
биты с 7 по 4 всегда нули.
Порт 3FAh (смещение 02h) используется только для чтения и его содержимое указывает на причину прерывания. При возникновении прерывания нулевой бит этого регистра устанавливается в 0. Биты 1 и 2 указывают код причины прерывания. Биты с 7 по 3 не используются и всегда равны 0. Назначение битов регистра следующее:
бит 0 1 - нет прерывания
0 - прерывание
биты 2,1 00 - изменение входного сигнала (приоритет 3)
01 - регистр передатчика пуст (приоритет 2)
10 - в буферном регистре приемника данные готовы (приоритет 1)
11 - ошибка передачи данных или остановка (максимальный приоритет 0).
Установленное в UART прерывание должно быть сброшено для корректности дальнейшего обмена данными. Сброс производится при обмене с одним из регистров, в зависимости от причины прерывания. Для сброса прерывания производится, в зависимости от кода события:
код 00 - чтение содержимого регистра состояния модема (смещение 06h),
код 01 - запись в регистр передатчика (смещение 00h) или чтение регистра,
идентификации прерываний (смещение 02h),
код 10 - чтение байта данных из буферного регистра приемника (смещение 00h),
код 11 - чтение регистра состояния приемопередатчика (смещение 05h).
Порт 3FBh (смещение 03h) доступен для чтения и записи и содержит биты, управляющие форматом кадра (скорость, количество битов данных, количество стоповых битов и настройка проверочного бита). Седьмой разряд содержит управляющий бит для выбора назначения портов 3F8h и 3F9h. Назначение остальных битов регистра:
биты 1,0 – код длины посылки (00 - 5 бит данных, 01 - 6 бит, 10 - 7 бит, 11 - 8 бит),
бит 2 – код длины стоповой посылки (1 - 2 стоповых бита, 0 - 1 столовый бит),
биты 5,4,3 – код проверки четности (000 - нет проверки, 001 - нечетная,
011 – четная, 101 - всегда 1, 111 – всегда 0),
бит 6 – включение остановки (1 - остановка включена, 0 - остановка выключена).
Когда установлен седьмой управляющий бит, регистры приемопередатчика (смещение 00h) и разрешения прерываний (смещение 01h) используются для загрузки делителя скорости обмена. В первый записывается младший, во второй - старший байт делителя. В компьютере тактовая частота, подаваемая в UART, составляет 1,8432 МГц. Внутри UART эта частота сначала делится на 16 и образует частоту равную 115200 Гц. Скорость обмена получается дальнейшим делением частоты 11520 Гц на делитель. Так для получения скорости 9600 бод необходимо, чтобы делитель был равен 12. Следовательно, в буферный регистр приемопередатчика должно быть записано число 12, а в регистр разрешения прерываний - ноль.
Порт 3FCh (смещение 04h) используется для управления модемом. Он управляет состоянием управляющих линий интерфейса RS-232, таких как DTR и RTS . Используется редко. Биты 5-7 всегда равны 0. Четвертый бит управляет обратной связью (1 – обратная связь доступна, 0 –недоступна). Нулевой бит управляет сигналом DTR (1 – включено, 0 - выключено, присутствует на разъеме RS-232). Нулевой бит управляет сигналом RTS (1 – включено, 0 - выключено, присутствует на разъеме RS-232).
Порт 3FDh (смещение 05h) - регистр состояния приемопередатчика, содержащий флаги готовности и ошибок. Совместное использование с регистром идентификации прерываний позволяет установить источник прерываний. Назначения битов регистра следующее:
бит 0 - принятые данные готовы (1 - принятые данные находятся в регистре приемника, 0 - нет принятых данных),
бит 1 - ошибка переполнения (1 - обнаружена ошибка, 0 - нет ошибки),
бит 2 - ошибка проверки на четность (1 - обнаружена ошибка, 0 - нет ошибки),
бит 3 - ошибка блока (1 - обнаружена ошибка, 0 - нет ошибки),
бит 4 - остановка (1 – обнаружена остановка, 0 – нет остановки),
бит 5 – буфер передатчика пуст (1 - нет байта в регистре передатчика,
0 - в регистре передатчика один байт),
бит 6 – передатчик пуст (1 - нет байта в регистре передатчика и регистре сдвига,
0 - в регистре передатчика и регистре сдвига один байт),
бит 7 – равен 0.
Порт 3FEh (смещение 06h) - регистр состояния модема, содержит состояние линий CTS, DSR, RI, DCD и признаки их изменения. Назначение регистров:
бит 7 – обнаружена несущая передачи данных (1 - DCD активна, 0 – неактивна),
бит 6 – индикатор звонка (1 - RI активна, 0 – неактивна),
бит 5 – набор данных готов (1 – DSR активна, 0 – неактивна),
бит 4 - сброс для передачи (1 - CTS активна, 0 – неактивна),
бит 3 - изменение DCD ( 1 - DCD изменена с момента последнего считывания,
0 – DCD не изменена),
бит 2 - изменение RI ( 1 - RI изменена с момента последнего считывания,
0 – RI не менялось),
бит 1 - изменение DSR ( 1 - DSR изменена с момента последнего считывания,
0 – DSR не изменена),
бит - изменение CTS ( 1 - CTS изменена с момента последнего считывания,
0 – CTS не изменена).
Регистр 3FE ( смещение 07h) - байт памяти.
При инициализации универсального асинхронного приемо-передатчика (UART) в IBM*86 необходимо:
записать по адресу 3FBh управляющий байт с единицей в 7 бите;
записать код делителя частоты по адресам 3F8h и 3F9h;
записать по адресу 3FBh управляющий байт с нулем в 7 бите и с требуемыми значениями остальных битов;
записать управляющий байт по адреcу 3F9h;
записать управляющий байт по адреcу 3FCh.
Далее обмен информацией, в зависимости от выбранного и установленного режима работы, осуществляется по прерываниям или опросу состояния линий квитирования (опросу флага готовности).