- •1. Общие принципы организации системы ввода-вывода.
- •1.3.1 Организация свв универсальных эвм
- •1.3.2 Организация свв управляющих эвм
- •1.3.2.1 Порты ввода-вывода
- •1.3.2.2 Дискретные порты ввода-вывода
- •1.3.2.3 Однонаправленные порты
- •1.3.2.4 Двунаправленные порты и порты с альтернативной функцией
- •1.3.2.5 Аналого-цифровой преобразователь
- •1.3.2.6 Цифро-аналоговый преобразователь
- •1.3.2.7 Устройства сопряжения с объектом (усо) управляющих эвм
- •3 Аппаратные интерфейсы вычислительных систем
- •3.1 Характеристики аппаратных интерфейсов
- •3.2 Функции аппаратных интерфейсов
- •3.3 Классификация аппаратных интерфейсов
- •1.2.1 Процессор и память
- •1.2.2 Контроллер ввода-вывода
- •1.2.3 Процессор ввода-вывода
- •3.6 Внутрисистемный интерфейс amba
- •3.6.1 Внутрисистемный интерфейс amba ahb
- •3.6.2 Системный интерфейс amba asb
- •3.6.3 Периферийный интерфейс amba apb
- •3.3 Классификация аппаратных интерфейсов
- •3.7 Системные интерфейсы
- •3.7.1 Интерфейс pci
- •3.7.2 Интерфейс pci Express
- •3.9 Малые периферийные интерфейсы
- •3.9.1 Интерфейс rs-232
- •3.9.1.1 Сигнальные линии последовательного интерфейса
- •3.9.1.2 Управление потоком
- •3.9.1.3 Разъемы и кабели
- •3.9.1.4 Формат последовательной передачи данных
- •3.9.1.5 Работа с последовательным каналом
- •3.9.2 Интерфейс spi
- •3.9.2.1 Типы подключения к шине spi
- •3.9.2.2 Режимы работы шины spi
- •3.9.2.3 Достоинства шины spi
- •3.9.2.4 Недостатки шины spi
- •3.9.3 Интерфейс Centronics
- •3.9.4 Интерфейс sata
- •3.9.4.1 Физический интерфейс Serial ata
- •3.5.7 Приемопередатчик последовательного интерфейса
- •3.5.8 Особенности параллельных интерфейсов
- •1.3.2.7 Устройства сопряжения с объектом (усо) управляющих эвм
- •1.3.2.1 Порты ввода-вывода
- •1.3.2.2 Дискретные порты ввода-вывода
- •1.3.2.3 Однонаправленные порты
- •1.3.2.4 Двунаправленные порты и порты с альтернативной функцией
- •3.10.3.6 Синхронизация
- •3.9.2 Интерфейс spi
- •3.9.2.1 Типы подключения к шине spi
- •3.9.2.2 Режимы работы шины spi
- •3.9.2.3 Достоинства шины spi
- •3.9.2.4 Недостатки шины spi
- •3.10.3Интерфейс i2c
- •3.10.3.1 Концепция шины i2c
- •3.10.3.2 Реализация монтажного и и монтажного или
- •3.10.3.3 Принцип работы шины i2c
- •3.10.3.4 Сигналы старт и стоп
- •3.10.3.5 Подтверждение
- •3.10.3.6 Синхронизация
- •3.10.3.7 Форматы обмена данными по шине i2c (7-битный адрес)
- •3.10.3.8 Арбитраж
- •3.10.3.9 Достоинства шины i2c
- •3.10.4Интерфейс usb
- •3.10.4.1 Модель передачи данных
- •3.10.4.2 Протокол
- •1.3.2.5 Аналого-цифровой преобразователь
- •1.3.2.6 Цифро-аналоговый преобразователь
- •3.5.10Устройства гальванической изоляции в аппаратных интерфейсах
- •3.5.10.1 Dc/dc преобразователи
- •3.5.10.2 Реализация гальванической изоляции дискретного выхода модуля ввода-вывода sdx-09
- •3.5.10.3 Реализация гальванической изоляции дискретного входа модуля ввода-вывода sdx-09
- •3.5.10.4 Реализация гальванической изоляции rs-232 в контроллере
- •3.5.10.5 Технология iCoupler фирмы Analog Devices
3.9.1.5 Работа с последовательным каналом
Простым примером асинхронного обмена с программной проверкой готовности может служить работа с контроллером последовательного канала (UART) «по опросу»: перед тем, как прочитать данные из порта данных контроллера, необходимо проверить, являются ли эти данные результатом приема посылки и не забирались ли они программой ранее. Проще говоря, необходимо проверить данные на достоверность. Перед тем же, как записывать данные для передачи в буфер контроллера, необходимо убедиться, что в буфере
160
есть место, т.е. что запись новых данных в буфер не приведет к уничтожению ранее помещенных и еще не переданных данных.
При организации асинхронного обмена по прерыванию при приеме байта с линии происходит прерывание и передача управления соответствующей программе-обработчику, который читает принятый байт из порта данных контроллера UART и, к примеру, помещает его в специальный буфер-очередь принятых байт, доступный прерванной программе. По завершении процедуры обработки прерывания управление передается в прерванную программу, которая при желании (в любом удобном месте алгоритма) может забрать принятый байт. С другой стороны, при завершении отправки контроллером очередного байта также происходит прерывание, сигнализирующее о том, что байт послан и в буфер UART можно поместить новые данные. Обработчик прерывания при наличии данных в исходящей очереди записывает очередной байт в порт данных контроллера и запускает посылку. Основная же программа может, не заботясь о готовности или неготовности контроллера, принять очередной байт, может спокойно помещать данные в исходящий буфер, а всю работу с устройством выполнит обработчик прерываний, когда оно (устройство) будет готово.
3.9.2 Интерфейс spi
SPI (Serial Peripheral Interface) – последовательный синхронный стандарт передачи данных в режиме полного дуплекса, разработанный компанией Motorola для обеспечения простого и недорогого сопряжения микроконтроллеров и периферии. SPI также иногда называют четырѐхпроводным (four-wire) интерфейсом.
Интерфейс SPI, наряду с I2C, относится к самым широко используемым интерфейсам для соединения микросхем. Изначально он был придуман компанией Motorola, а в настоящее время используется в продукции многих производителей [71]. Шина SPI организована по принципу «ведущий- подчиненный». В качестве ведущего шины обычно выступает микроконтроллер, но им также может быть программируемая логика, DSP- контроллер или специализированная интегральная схема. В роли подчиненных устройств выступают различного рода микросхемы, в том числе запоминающие устройства (EEPROM, Flash-память, SRAM), часы реального времени (RTC), АЦП/ЦАП, температурные датчики, сенсорные экраны, цифровые потенциометры, коммуникационные контроллеры (Ethernet, USB, CAN, IEEE
802.15.4, IEEE 802.11), ЖКИ, мультимедийные карты (SD, MMC) и др.
Кроме того, интерфейс SPI является основой для построения ряда специализированных интерфейсов, в том числе, интерфейса JTAG и интерфейсов карт Flash-памяти (мультимедийные карты SD и MMC).
Главным составным блоком интерфейса SPI является обычный сдвиговый регистр, сигналы синхронизации и ввода-вывода битового потока, которые и образуют интерфейсные сигналы. Таким образом, протокол SPI правильнее
161
назвать не протоколом передачи данных, а протоколом обмена данными между двумя сдвиговыми регистрами, каждый из которых одновременно выполняет и функцию приемника, и функцию передатчика. Непременным условием передачи данных по шине SPI является генерация сигнала синхронизации шины. Этот сигнал имеет право генерировать только ведущий шины и от этого сигнала полностью зависит работа подчиненного шины. Принимающая периферия (ведомая) синхронизирует получение битовой последовательности с тактовым сигналом. К одному последовательному периферийному интерфейсу ведущего устройства-микросхемы может присоединяться несколько микросхем. Ведущее устройство выбирает ведомое для передачи, активируя сигнал «выбор кристалла» (chip select) на ведомой микросхеме. Периферия, не выбранная процессором, не принимает участие в передаче по SPI.
Частота работы интерфейса SPI составляет 1-70МГц.
