Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка пргр МП.docx
Скачиваний:
11
Добавлен:
01.07.2025
Размер:
16 Мб
Скачать
☆

3.9.2.3 Достоинства шины spi

  1. Скорость передачи выше, чем у I2C, SMBus. Предельная простота протокола передачи на физическом уровне обуславливает высокую надежность и быстродействие передачи. Предельное быстродействие шины SPI измеряется десятками мегагерц и, поэтому, она идеальна для потоковой передачи больших объемов данных и широко используется в высокоскоростных ЦАП/АЦП, драйверах светодиодных дисплеев и микросхемах памяти.

  2. Протяженность SPI сравнима с интерфейсами RS-232, RS-485, CAN.

  3. Полнодуплексный обмен.

  4. Протокол передачи битовый, а значит, гибкий для реализации и назначения:

Не ограничен передачей 8-битовых слов (можно и 12-битовые, и 16битовые).

Можно выбирать размер, содержимое и назначение пакетов передачи, т.е. определяется прикладной задачей, а не ограничивается стандартом (в отличие от I2C).

  1. Очень простая аппаратная реализация интерфейса:

Пониженное энергопотребление по сравнению с I2C (никаких pullupрегистров).

Никаких механизмов арбитража (разрешения конфликтных ситуаций) и соответствующих им состояний отказа.

Ведомые устройства используют сигналы тактирования ведущего и не нуждаются в точных источниках тактирования.

Ведомый не нуждается в уникальном адресе по сравнению с I2C. Все линии шины SPI являются однонаправленными, что существенно упрощает решение задачи преобразования уровней и гальванической изоляции микросхем.

3.9.2.4 Недостатки шины spi 1. Больше линий, чем в i2c.

  1. Нет адресации в протоколе обмена, для каждого нового ведомого устройства требуется отдельная сигнальная линия выбора (SS).

  2. Никакой аппаратной реализации подтверждения наличия ведомого устройства, т.е. ведущий может «разговаривать» с пустотой и не знать об этом.

  3. Может быть только один мастер (нет режима мультимастера, в отличие от I2C). 5. Никакой аппаратной поддержки управления потоком данных.

6. Как такового стандарта не существует, например, как у I2C. Протокол

I2C является более стандартизованным, поэтому, пользователь I2Cмикросхем более защищен от проблем несовместимости выбранных компонентов.

3.9.3 Интерфейс Centronics

Порт параллельного интерфейса был введен в персональный компьютер для подключения принтера – отсюда и пошло его название LPT-порт (Line PrinTer – построчный принтер). Традиционный, он же стандартный, LPT-порт называется стандартным параллельным портом (Standard Parallel Port, SPP), или SPP-портом, и является однонаправленным портом, через который программно реализуется протокол обмена Centronics. Название и назначение сигналов разъема порта соответствуют интерфейсу Centronics. SPP-порт ориентирован на вывод данных, хотя с некоторыми ограничениями позволяет и вводить данные. Скорость передачи данных может варьироваться и достигать 1,2 Мбит/с.

Существуют различные модификации LPT-порта: двунаправленный, ЕРР, ЕСР и др., расширяющие его функциональные возможности, повышающие производительность и снижающие нагрузку на процессор. Поначалу они являлись фирменными решениями отдельных производителей, позднее был принят стандарт IEEE 1284.

К LPT-портам подключают принтеры, плоттеры, сканеры, коммуникационные устройства и устройства хранения данных, а также электронные ключи, программаторы и прочие устройства. Иногда параллельный интерфейс используют для связи между двумя компьютерами.

Таблица 8. Упрощѐнная таблица сигналов интерфейса Centronics.

Контакты

DB-25 IEEE

1284-A

Контакты

Centronics

IEEE 1284-B

Обозначение

Примечание

Функция

1

1

Strobe

Маркер цикла передачи (выход)

Управление

2

2

Data 1

Сигнал 1 (выход)

Данные

3

3

Data 2

Сигнал 2 (выход)

Данные

4

4

Data 3

Сигнал 3 (выход)

Данные

5

5

Data 4

Сигнал 4 (выход)

Данные

6

6

Data 5

Сигнал 5 (выход)

Данные

7

7

Data 6

Сигнал 6 (выход)

Данные

8

8

Data 7

Сигнал 7 (выход)

Данные

9

9

Data 8

Сигнал 8 (выход)

Данные

10

10

Acknowledge

Готовность принять

(вход)

Состояние

11

11

Busy

Занят (вход)

Состояние

12

12

Paper End

Нет бумаги (вход)

Состояние

13

13

Select

Выбор (вход)

Состояние

14

14

Auto Feed

Автоподача (выход)

Управление

15

32

Error

Ошибка (вход)

Состояние

16

31

Init

Инициализация (выход)

Управление

17

36

Select In

Управление печатью

(выход)

Управление

18-25

16-17, 19-30

GND

Общий

Земля

С внешней стороны порт имеет 8-битную шину данных, 5-битную шину сигналов состояния и 4-битную шину управляющих сигналов, выведенные на разъем-розетку DB-25S. В LPT-порте используются логические уровни ТТЛ, что ограничивает допустимую длину кабеля из-за невысокой помехозащищенности ТТЛ-интерфейса. Гальваническая развязка отсутствует, схемная земля подключаемого устройства соединяется со схемной землей компьютера. Из-за этого порт является уязвимым местом компьютера, страдающим при нарушении правил подключения и заземления устройств. Поскольку порт обычно располагается на системной плате, в случае его «выжигания» зачастую выходит из строя и его ближайшее окружение вплоть до выгорания всей системной платы.

Адаптер SPP-порта содержит три 8-битных регистра, расположенных по соседним адресам в пространстве ввода-вывода, начиная с базового адреса порта BASE (3BCh, 378h или 278h).

Data Register (DR) – регистр данных, адрес=ВА5Е. Данные, записанные в этот регистр, выводятся на выходные линии Data[7:0]. Данные, считанные из этого регистра, в зависимости от схемотехники адаптера соответствуют либо ранее записанным данным, либо сигналам на тех же линиях, что не всегда одно и то же. Status Register (SR) – регистр состояния (только чтение), адрес=ВА5Е+1. Регистр отображает 5-битный порт ввода сигналов состояния принтера и флаг прерывания: состояние готовности принтера, сигнал о конце бумаги в принтере, сигнал о включении принтера, сигнал о любой ошибке принтера и др.

Control Register (СR) – регистр управления, адрес=ВА5Е+2, допускает запись и чтение. Регистр связан с 4-битным портом вывода управляющих сигналов, для которых возможно и чтение; выходной буфер обычно имеет тип «открытый коллектор». При помощи этого регистра можно подавать такие сигналы, как сигнал аппаратного сброса принтера, сигнал на автоматический перевод строки по приему байта и возврата каретки (CR), сигнал стробирования выходных данных и др.

Перечислим шаги процедуры вывода байта по интерфейсу Centronics с указанием требуемого количества шинных операций процессора:

  1. Вывод байта в регистр данных (1 цикл IOWR#).

  2. Ввод из регистра состояния и проверка готовности устройства (сигнал Busy). Этот шаг зацикливается до получения готовности или до срабатывания программного тайм-аута (минимум 1 цикл IORD#).

  3. По получению готовности выводом в регистр управления устанавливается строб данных, а следующим выводом строб снимается. Обычно, чтобы переключить только один бит (строб), регистр управления предварительно считывается, что к двум циклам IOWR# добавляет еще один цикл IORD#.

Видно, что для вывода одного байта требуется 4-5 операций ввода-вывода с регистрами порта (в лучшем случае, когда готовность обнаружена по первому чтению регистра состояния). Отсюда вытекает главный недостаток вывода через стандартный порт – невысокая скорость обмена при значительной загрузке процессора. Порт удается разогнать до скоростей 100-150 Кбайт/с при полной загрузке процессора, что недостаточно для печати на лазерном принтере. Другой недостаток функциональный – сложность использования в качестве порта ввода.

Все перечисленные недостатки помог решить стандарт на параллельный интерфейс IEEE 1284, принятый в 1994 году. Он определяет 5 режимов обмена данными, метод согласования режима, физический и электрический интерфейсы. Согласно IEEE 1284, возможны следующие режимы обмена данными через параллельный порт:

Режим совместимости (Compatibility Mode) – однонаправленный (вывод) по протоколу Centronics. Этот режим соответствует SPP-порту.

Полубайтный режим (Nibble Mode) – ввод байта в два цикла (по 4 бита), используя для приема линии состояния. Этот режим обмена подходит для любых адаптеров, поскольку задействует только возможности стандартного порта.

Рис. 98. Передача данных в Nibble Mode.

Байтный режим (Byte Mode) – ввод байта целиком, используя для приема линии данных. Этот режим работает только на портах, допускающих чтение выходных данных (Bi-Directional или PS/2 Туре 1).

Рис. 99. Передача данных в байтовом режиме.

Режим ЕРР (ЕРР Mode) – двунаправленный обмен данными (ЕРР означает Enhanced Parallel Port). Управляющие сигналы интерфейса генерируются аппаратно во время цикла обращения к порту. Эффективен при работе с устройствами внешней памяти и адаптерами локальных сетей.

Режим ЕСР (ЕСР Mode) – двунаправленный обмен данными с возможностью аппаратного сжатия данных по методу RLE (Run Length Encoding) и использования FIFO-буферов и DMA (ЕСР означает Extended Capability Port). Управляющие сигналы интерфейса генерируются аппаратно. Эффективен для принтеров и сканеров (здесь может использоваться сжатие) и различных устройств блочного обмена.

В настоящее время стандарт IEEE 1284 не развивается. Окончательная стандартизация параллельного порта совпала с началом внедрения интерфейса USB, который позволяет подключать также и комбинированные аппараты (сканер-принтер-копир) и обеспечивает более высокую скорость печати и надежную работу принтера. Также, альтернативой параллельному интерфейсу является сетевой интерфейс Ethernet.

Протокол EPP

Enhanced Parallel Port – улучшенный параллельный порт, который был разработан компаниями Intel, Xircom и Zenith Data Systems задолго до принятия стандарта IEEE 1284. Этот протокол предназначен для повышения производительности обмена по параллельному порту, впервые был реализован в чипсете Intel 386SL (микросхема 82360) и впоследствии принят множеством компаний как дополнительный протокол параллельного порта. Версии протокола, реализованные до принятия IEEE 1284, отличаются от нынешнего стандарта (см. ниже). Протокол ЕРР обеспечивает четыре типа циклов обмена: запись данных, чтение данных, запись адреса, чтение адреса.

Рис. 100. Цикл записи данных EPP.

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

Рис. 101. Обратная передача и приѐм данных по протоколу ECP.

Протокол ЕСР

Extended Capability Port – порт с расширенными возможностями, который был предложен Hewlett Packard и Microsoft для связи с ПУ типа принтеров или сканеров. Как и ЕРР, данный протокол обеспечивает высокопроизводительный двунаправленный обмен данными хоста с ПУ. Протокол ЕСР в обоих направлениях обеспечивает два типа циклов:

Циклы записи и чтения данных.

Командные циклы записи и чтения.

Командные циклы подразделяются на два типа: передача канальных адресов и передача счетчика RLC (Run-Length Count).

В отличие от ЕРР вместе с протоколом ЕСР сразу появился стандарт на программную (регистровую) модель его адаптера, изложенный в документе

"The IEEE 1284 Extended Capabilities Port Protocol and ISA Interface Standard" компании Microsoft. Этот документ определяет свойства протокола, не заданные стандартом IEEE 1284:

Компрессия данных хост-адаптером по методу RLE.

Буферизация FIFO для прямого и обратного каналов.

Применение DMA и программного ввода-вывода.

3.9.4 Интерфейс SATA SATA (Serial ATA) – последовательный интерфейс обмена данными с накопителями информации. SATA является развитием параллельного интерфейса ATA (IDE), который после появления SATA был переименован в PATA (Parallel ATA) [37].

Параллельный интерфейс АТА исчерпал свои ресурсы пропускной способности, достигшей 100 МБ/с в режиме UltraDM A Mode 5. Для дальнейшего повышения пропускной способности интерфейса (но, конечно же, не самих устройств хранения, которые имеют гораздо меньшие внутренние скорости обмена с носителем) было принято решение о переходе на последовательный интерфейс. Цель перехода – улучшение и удешевление кабелей и коннекторов, улучшение условий охлаждения устройств внутри системного блока (избавление от широкого шлейфа), обеспечение возможности разработки компактных устройств, облегчение конфигурирования устройств пользователем. Попутно расширяется адресация блоков (предельная емкость адресации АТА – 137 Гбайт). Сейчас уже ведутся работы над новой спецификацией Serial ATA II с большей пропускной способностью и специальными средствами для поддержки сетевых устройств хранения. Приведенная ниже информация относится к версии 1.0.

Интерфейс Serial ATA является хост-центрическим, в нем определяется только взаимодействие хоста с каждым из подключенных устройств, а взаимодействие между ведущим и ведомым устройствами, свойственное традиционному интерфейсу АТА, исключается. Программно хост видит множество устройств, подключенных к контроллеру, как набор каналов АТА, у каждого из которых имеется единственное ведущее устройство. Имеется возможность эмуляции пар устройств (ведущее–ведомое) на одном канале, если такая необходимость возникнет. Программное взаимодействие с устройствами Serial ATA практически совпадает с прежним, набор команд соответствует ATA/ATAPI-5. В то же время аппаратная реализация хост-адаптера Serial ATA сильно отличается от примитивного (в исходном варианте) интерфейса АТА. В параллельном интерфейсе АТА хост-адаптер был простым средством, обеспечивающим программное обращение к регистрам, расположенным в самих подключенных устройствах. В Serial ATA ситуация иная: хост-адаптер имеет блоки так называемых «теневых» регистров (Shadow Registers), совпадающих по назначению с обычными регистрами устройств АТА. Каждому подключенному устройству соответствует свой набор регистров. Обращения к этим теневым регистрам вызывают процессы взаимодействия хост-адаптера с подключенными устройствами и исполнение команд.

В стандарте рассматривается многоуровневая модель взаимодействия хоста и устройства, где прикладным уровнем является обмен командами, информацией о состоянии и хранимыми данными. На физическом уровне для передачи информации между контроллером и устройством используются две пары проводов. Данные передаются кадрами, транспортный уровень формирует и проверяет корректность информационных структур кадров (Frame Information Structure, FIS). Для облегчения высокоскоростной передачи на канальном уровне данные кодируются по схеме 8В/10В (8 бит данных кодируются 10битным символом) и скремблируются, после чего по физической линии передаются по простейшему методу NRZ (уровень сигнала соответствует передаваемому биту). Между канальным и прикладным уровнем имеется транспортный уровень, отвечающий за доставку кадров. На каждом уровне имеются свои средства контроля достоверности и целостности.

В первом поколении Serial ATA данные по кабелю передаются со скоростью 1500 Мбит/с, что с учетом кодирования 8В/10В обеспечивает скорость 150 МБ/с (без учета накладных расходов протоколов верхних уровней). В дальнейшем планируется повышать скорость передачи, и в интерфейсе заложена возможность согласования скоростей обмена по каждому интерфейсу в соответствии с возможностями хоста и устройства, а также качеством связи. Хост-адаптер имеет средства управления соединениями, программно эти средства доступны через специальные регистры Serial ATA.

В стандарте предусматривается управление энергорежимом интерфейсов. Каждый интерфейс кроме активного состояния может находиться в состояниях PARTIAL и SLUMBER с пониженным энергопотреблением, для выхода из которых требуется заметное время (10 мс).

Команды, требующие передачи данных, могут исполняться в различных режимах обмена. Обращение в режиме программно управляемого ввода-вывода и традиционный способ обмена по DMA (legacy DMA) выполняется аналогично привычному интерфейсу АТА. Однако внутренний протокол обмена между хост-адаптером и устройствами позволяет передавать между ними разноплановую информацию (структуры FIS определены не только для команд, состояния и собственно хранимых данных). В приложении D к спецификации описывается весьма своеобразный способ обмена по DMA, который предполагается основным (First-party DMA) для устройств Serial ATA. В традиционном контроллере DMA адаптера АТА для каждого канала имеется буфер, в который перед выполнением операции обмена загружают дескрипторы блоков памяти, участвующей в обмене. Теперь же предполагается, что адресная информация, относящаяся к оперативной памяти хост компьютера, будет доводиться до устройства хранения, подключенного к адаптеру Serial ATA. Эта информация из устройства хранения при исполнении команд обмена выгружается в контроллер DMA хост-адаптера и используется им для формирования адреса текущей передачи. Мотивы и полезность этого нововведения не совсем понятны; расплатой за некоторое упрощение хостадаптера (особенно многоканального) является усложнение протокола и расширение функций, выполняемых устройством хранения. Все-таки более привычно традиционное разделение функций, при котором задача устройств внешней памяти – хранить данные, не интересуясь тем, в каком месте оперативной памяти компьютера они должны находиться при операциях обмена.