1 / 32

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

Интерфейсы периферийных устройств. Определения.

ornice
Télécharger la présentation

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

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. Интерфейсы периферийных устройств

  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(); } }

More Related