Download
slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Интерфейсы периферийных устройств PowerPoint Presentation
Download Presentation
Интерфейсы периферийных устройств

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

221 Views Download Presentation
Download Presentation

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

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

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

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

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

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

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

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

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

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

  10. Пример 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; }

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

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

  13. Пример 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; } }

  14. Пример 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; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  30. Обмен с датчиком 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<9;t++){ temp[t]=onewire_read_byte(); } }