Интерфейсы периферийных устройств. Определения Периферийные устройства (ПУ) - это устройства ЭВМ, не входящие в состав центральной части ВС и предназначенные.

Презентация:



Advertisements
Похожие презентации
Прерывания Определение прерывания Прерывания представляют собой механизм, позволяющий координировать параллельное функционирование отдельных устройств.
Advertisements

Проектирование центральных и периферийных устройств Преподаватель: Мельников Максим Игоревич.
Основы построения ЭВМ Преподаватель Детёнышева Екатерина Сергеевна.
Состав ПК Компьютерная система Аппаратная часть – технические устройства Программное обеспечение - это программы (команды, записанные последовательно).
ПОДСИСТЕМА ВВОДА-ВЫВОДА 1. Общие принципы организации ввода-вывода 2 Систему ВВ можно представить в виде пространства ВВ IOSEGment и ряда команд ВВ. Пространство.
Учебный курс Принципы построения и функционирования ЭВМ Лекция 11 Микрокоманды и микрооперации профессор ГУ-ВШЭ, доктор технических наук Геннадий Михайлович.
Встроенные Системы Часть 3. Прерывания Кафедра Информатики, мат-мех СПбГУ Copyright © 2004 Victor Vengerov
Архитектура персонального компьютера… Презентация ученицы 9 «Б» класса Никулиной Дарьи.
Архитектура персонального компьютера Подготовила урок учитель математики средней общеобразовательной школы 8 с углубленным изучением отдельных предметов.
Лекция 4. Режимы работы микропроцессора. Взаимодействие микропроцессора с остальными устройствами Взаимодействие МП с остальными устройствами МПС происходит.
1 ҚАЗАҚСТАН РЕСПУБЛИКАСЫ БІЛІМ ЖӘНЕ ҒАЛЫМ МИНИСТРЛІГІ МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН - 2 Аршалы орта мектебі Аршалынская средняя.
Архитектура вычислительной машины (Архитектура ЭВМ) концептуальная структура вычислительной машины, определяющая проведение обработки информации и включающая.
1 Микропроцессорная система. 2 Особенности микропроцессорных систем Гибкая логика работы меняется в зависимости от задачи; Универсальность может решать.
Лекция 10. Контроллеры параллельной передачи данных. Параллельный интерфейс.
1 ЛЕКЦИЯ 1 ПРЕРЫВАНИЯ Прерывание – инициируемый определенным образом процесс, временно переключающий микропроцессор на выполнение другой программы с последующим.
Программное обеспечение персонального компьютера.
Основы передачи данных. Характеристика процесса передачи данных.
Учебный курс Введение в цифровую электронику Лекция 5 Обмен информацией в микропроцессорной системе кандидат технических наук, доцент Новиков Юрий Витальевич.
Выполнил: Жаравин Александр Игоревич. Содержание Введение Термины Основные принципы построения ЭВМ Основные принципы построения ЭВМ Основа компьютера.
Магистрально- модульное построение компьютера. Введение Архитектура современных персональных компьютеров (ПК) основана на магистрально- модульном принципе.
Транксрипт:

Интерфейсы периферийных устройств

Определения Периферийные устройства (ПУ) - это устройства ЭВМ, не входящие в состав центральной части ВС и предназначенные для взаимодействия ВС с объектами внешнего мира. Под объектами внешнего мира будем подразумевать пользователей, другие ЭВМ(ВС), объекты управления, коммуникационные среды вычислительных сетей и носители информации устройств внешней памяти. Интерфейс - совокупность унифицированных технических и программных средств, используемых для сопряжения устройств в вычислительной системе или сопряжения между системами

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

Интерфейс Протокол обмена - совокупность правил и соглашений, определяющих работу функциональных устройств и процедур в процессе взаимодействия Аппаратная часть Программное обеспечение

Классификация По назначению (универсальные, специализированные); По характеру передаваемых данных (параллельные, последовательные); По режиму передачи данных (дуплексные, полудуплексные, симплексные); По способу обмена (асинхронные, синхронные); По области применения (внешние, внутренние).

Классификация По способу представления информации во внешнем мире и назначению все ПУ можно разделить на устройства ввода-вывода речевой, графической и текстовой информации, ввода-вывода аналоговых и дискретных сигналов, внешней памяти, устройства систем межмашинных связей и подключения к вычислительным сетям. В зависимости от направления обмена все ПУ делят на устройства ввода(УВв), вывода(УВыв) и двустороннего обмена.

Организация систем ввода/вывода Цикл обмена с ПУ состоит из подготовки, ожидания и передачи. Функции драйвера: Определение параметров Инициирование ввода/вывода Обработка прерываний Обработка ошибок Завершение операции

Способы передачи данных Интерфейсы бывают: Последовательные Параллельные (параллельно-последовательные) Параллельно-параллельные Последовательно-параллельные

Способы обработки данных Программный несовмещенный ввод-вывод Программный ввод-вывод с прерываниями программы Ввод-вывод через канал прямого доступа в память

Программный несовмещенный ввод- вывод Обращение к ПУ осуществляется в моменты времени, определенные программой ЦП; Все действия по управлению реализуются командами прикладной программы; Синхронизация ЦП и ПУ достигается организацией программного ожидания момента готовности ПУ.

Пример void send_sym(int sym){ RW=0; RS=1; E=1; D=sym; E=0; delay(); } …

Пример void uart_send() { TI=0; SBUF = S; While(!TI); TI=0; SBUF = O; While(!TI); TI=0; SBUF = S; While(!TI); } char uart_recive () { while(!RI); RI=0; return SBUF; }

Прерывания Прерывание - процесс переключения ЦП с одной программы на другую по внешнему сигналу с сохранением информации для последующего возобновления прерванной программы. Этапы: ПУ формирует запрос прерывания. Запросы могут поступать асинхронно. Запросы сохраняются в специальном регистре. Состояние регистра анализируется программно или аппаратно. Либо информация о месте возникновения запроса передаётся в виде адреса ячейки памяти (векторная система прерываний). Вызывается программа-обработчик прерывания.

Прерывания Идентификация прерываний в Keil C51 Таблица векторов прерываний ADuC842

Пример void int0 (void) interrupt 0 // адрес обработчика - 0x00B { P0=0; } int main(){ EA=1; //разрешаем прерывания EX0=1; //разрешаем внешнее прерывание 0 while (1) { P0=i; t1(); i*=2; if (i == 16) i = 1; } }

Пример void int_uart (void) interrupt 4 // адрес обработчика - 0x023 { P0=0x15; } int main(){ EA=1; //разрешаем прерывания ES=1; //разрешаем прерывание от UARTа … while (1) { P0=i; t1(); i*=2; if (i == 16) i = 1; } }

Прерывания Порядок действий процессора

Синхронизация Передача может быть: Синхронная Асинхронная

Синхронная передача

Асинхронная передача, стробирование

Асинхронная передача, старт-стоп биты

Асинхронная передача, запрос-ответ

Самосинхронизирующееся кодирование

Интерфейс 1-Wire Основные характеристики: Асинхронный (запрос-ответ) Однопроводный Полудуплексный На линии может быть только одно мастер-устройство Мастер-устройство не имеет адреса

Особенности Мастера (контроллера) Не имеет адреса Должен обеспечить паразитное питание Управляет

Организация питания

Запись одного бита Передача логического «0»Передача логической «1»

Адресация Каждое устройство имеет уникальный адрес

Команды Команды для определения адресов устройств: Поиск Чтение Сравнение Пропуск Специфические команды: Конвертирование температуры Чтение температуры

Импульс сброса int onewire_reset(){ Q=0; delay(640); Q=1; delay(2); pr = Q; delay(60); return(pr); }

Отправка бита void onewire_send_bit(int bit) { Q = 0; if (bit){ delay(5); Q = 1; delay(90); }else{ delay(90); Q = 1; delay(5); }

Чтение бита int onewire_read_bit(){ Q = 0; delay(2); Q = 1; delay(8); return (Q); }

Обмен с датчиком onewire_start(){ onewire_reset(); onewire_send_byte(0xCC); onewire_send_byte(0x44); } onewire_read_temperature(){ onewire_reset(); onewire_send_byte(0xCC); onewire_send_byte(0xBE); for (t=0;t