Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемЛариса Тимкина
1 Интерфейсы периферийных устройств
2 Определения Периферийные устройства (ПУ) - это устройства ЭВМ, не входящие в состав центральной части ВС и предназначенные для взаимодействия ВС с объектами внешнего мира. Под объектами внешнего мира будем подразумевать пользователей, другие ЭВМ(ВС), объекты управления, коммуникационные среды вычислительных сетей и носители информации устройств внешней памяти. Интерфейс - совокупность унифицированных технических и программных средств, используемых для сопряжения устройств в вычислительной системе или сопряжения между системами
3 Интерфейс Функциональная совместимость – общность управляющих сигналов, генерируемых обменивающимися модулями. Управляющие сигналы должны иметь заданное смысловое значение и определенные временные параметры. Электрическая совместимость модулей обеспечивается заданными уровнями вырабатываемых ими сигналов, их нагрузочными способностями, мощностью и т.п. Механическая совместимость предполагает применение определенных типов и размеров плат, кабелей, соединителей и т.д.
4 Интерфейс Протокол обмена - совокупность правил и соглашений, определяющих работу функциональных устройств и процедур в процессе взаимодействия Аппаратная часть Программное обеспечение
5 Классификация По назначению (универсальные, специализированные); По характеру передаваемых данных (параллельные, последовательные); По режиму передачи данных (дуплексные, полудуплексные, симплексные); По способу обмена (асинхронные, синхронные); По области применения (внешние, внутренние).
6 Классификация По способу представления информации во внешнем мире и назначению все ПУ можно разделить на устройства ввода-вывода речевой, графической и текстовой информации, ввода-вывода аналоговых и дискретных сигналов, внешней памяти, устройства систем межмашинных связей и подключения к вычислительным сетям. В зависимости от направления обмена все ПУ делят на устройства ввода(УВв), вывода(УВыв) и двустороннего обмена.
7 Организация систем ввода/вывода Цикл обмена с ПУ состоит из подготовки, ожидания и передачи. Функции драйвера: Определение параметров Инициирование ввода/вывода Обработка прерываний Обработка ошибок Завершение операции
8 Способы передачи данных Интерфейсы бывают: Последовательные Параллельные (параллельно-последовательные) Параллельно-параллельные Последовательно-параллельные
9 Способы обработки данных Программный несовмещенный ввод-вывод Программный ввод-вывод с прерываниями программы Ввод-вывод через канал прямого доступа в память
10 Программный несовмещенный ввод- вывод Обращение к ПУ осуществляется в моменты времени, определенные программой ЦП; Все действия по управлению реализуются командами прикладной программы; Синхронизация ЦП и ПУ достигается организацией программного ожидания момента готовности ПУ.
11 Пример void send_sym(int sym){ RW=0; RS=1; E=1; D=sym; E=0; delay(); } …
12 Пример 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; }
13 Прерывания Прерывание - процесс переключения ЦП с одной программы на другую по внешнему сигналу с сохранением информации для последующего возобновления прерванной программы. Этапы: ПУ формирует запрос прерывания. Запросы могут поступать асинхронно. Запросы сохраняются в специальном регистре. Состояние регистра анализируется программно или аппаратно. Либо информация о месте возникновения запроса передаётся в виде адреса ячейки памяти (векторная система прерываний). Вызывается программа-обработчик прерывания.
15 Прерывания Идентификация прерываний в Keil C51 Таблица векторов прерываний ADuC842
16 Пример 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; } }
17 Пример 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; } }
18 Прерывания Порядок действий процессора
19 Синхронизация Передача может быть: Синхронная Асинхронная
20 Синхронная передача
21 Асинхронная передача, стробирование
22 Асинхронная передача, старт-стоп биты
23 Асинхронная передача, запрос-ответ
24 Самосинхронизирующееся кодирование
25 Интерфейс 1-Wire Основные характеристики: Асинхронный (запрос-ответ) Однопроводный Полудуплексный На линии может быть только одно мастер-устройство Мастер-устройство не имеет адреса
26 Особенности Мастера (контроллера) Не имеет адреса Должен обеспечить паразитное питание Управляет
27 Организация питания
28 Запись одного бита Передача логического «0»Передача логической «1»
29 Адресация Каждое устройство имеет уникальный адрес
30 Команды Команды для определения адресов устройств: Поиск Чтение Сравнение Пропуск Специфические команды: Конвертирование температуры Чтение температуры
31 Импульс сброса int onewire_reset(){ Q=0; delay(640); Q=1; delay(2); pr = Q; delay(60); return(pr); }
32 Отправка бита void onewire_send_bit(int bit) { Q = 0; if (bit){ delay(5); Q = 1; delay(90); }else{ delay(90); Q = 1; delay(5); }
33 Чтение бита int onewire_read_bit(){ Q = 0; delay(2); Q = 1; delay(8); return (Q); }
34 Обмен с датчиком 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
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.