
МПУЭВС. Лекции. Задания / pdf_ПрилПЦиПУ / Приложения_ З_И_Интерфейсы плат и микросхем
.pdf1
Приложение И
И.1 Интерфейсы плат и микросхем (БИС, СБИС)
И.1.1 Введение
Признаки различий вариантов транспорта данных в основном относятся к структуре соединений (магистральные, радиальные, каскадные) и
принципе сопровождения доставки сообщений (синхронный, асинхронный).
Имея непреодолимые недостатки при удалении объектов на расстояния более названных и удаления на расстояния до (2-5) м при пониженных скоростях (50 мкс/байт) из-за возрастания уровня искажений и помех в соединениях, параллельная передача данных вынужденно сменяется на последовательный доступ к данным. При последовательной передаче данных, несмотря на снятие проблемных недостатков параллельной передачи, появляются собственные проблемы. С одной стороны, это проблема потерь времени на передачу атрибутов в пакетах данных, с другой стороны снижение помехозащищённости линий соединения при увеличении расстояний передачи более (2-5) м. Повышение уровня помех в соединении вынуждает применять обратную связь, выставляя запросы на повтор посылок, принятых с обнаруженными ошибками. Если ошибки в соединении не определяются, то передача посылки многократно повторяется и усредняется накопленный массив. Предложены преобразования сообщений к передаче по последовательному интерфейсу с применением методов помехоустойчивого кодирования. Полученное на приёмной стороне сообщение подвергается восстановлению с исправлением ошибок передачи.
Реализация математических методов и организационных мер повышения качества защиты интерфейса от помех суммарно сопровождается снижением скорости передачи. Обсуждение этих мер и методов повышения помехозащищенности выходит за рамки настоящего пособия.
Длительное время последовательная передача данных базировалась на технических ресурсах УСАПП. Интерес к технологии передачи данных с
2
применением УСАПП сохраняется благодаря возможности двухточечного подключения к линии передачи данных и двухточечного подключения к линии приёма, что требуется в линиях оптической и радиоволновой связи. В
современные однокристальные реализации микроконтроллеров встраиваются, как адаптеры архитектуры УСАПП, так и их урезанные синхронно-асинхронные варианты USART и UART (Universal Asynchronous Receiver and Transmitter), без синхронного режима (UART). И УСАПП и УАПП находят своё место при построении устройств последовательной передачи данных с применением гальванической развязки в линиях связи.
И.1.2 Интерфейс SPI,
Для последовательной связи в блочных структурах с относительно небольшим взаимным удалением (единицы и доли метра) успешно используются синхронные последовательные интерфейсы SPI (serial peripherical interface) и I2C (Inter Integrated Circuit). Характерной чертой интерфейсов SPI, I2C является передача синхронизирующей последовательности по отдельной линии параллельно с одной (интерфейс
I2C) линией данных и двумя (интерфейс SPI).
В основу интерфейса SPI положен разделённый на две половины шестнадцатиразрядный сдвиговый регистр. Одна половина регистра используется для сдвиговой передачи данных (побитное выталкивание), а
другая половина используется для побитового накопления (приёма).
Продвижение битов по регистру осуществляется под управлением общей для передающей и приёмной стороны синхронизирующей последовательности Sck. Схема такой структуры приведена на рисунке И.1.
Состав комплекса, связанного через модули SPI рассчитан на строгое разделение статуса модулей в акциях обмена данными. Один из участников обмена данными должен быть ведущим, а другой ведомым. На схеме рисунка И.1 символы M, S, I, O соответствуют ключевым словам Master, Slave, Input. Output, а последовательность их перечисления в обозначении сигнальных линий MISO, MOSI указывает направление передачи между

3
сдвиговыми регистрами. Восемь импульсов синхронизирующей последовательности продвигают содержимое сдвигового регистра передающей стороны в сдвиговый регистр приёмника. Таким образом, по линиям MISO, MOSI происходит одновременная побитовая передача двух байт. Устройство управления модулем интерфейса после программно управляемой настройки обеспечивает контроль процесса продвижения данных по сдвиговому регистру, отмечая начало процесса и сигнализируя завершение передачи байта. Комплекс может содержать подмножество модулей SPI, но к одновременному обмену управляющими программами допускаются по два модуля. Один из модулей программно управляемыми переключателями SA1-SA4 настраивается как ведущий, а другой настраивается как ведомый.
На рисунке И.1 приведена схема комплекса из трёх модулей SPI. В
схеме управления модуля SPI предусмотрен контроль функционального входа /SS (Slave Select). При программном назначении статуса модуля быть ведущим, состояние входа /SS должно быть не активированным.
Рисунок И.1 - Структурная схема интерфейса SPI
Наоборот, ведущий модуль (SPI 1 на рисунке И.1) на выходе встроенного порта выбора ведомых PS (Port Select) должен установить на вход /SS выбираемого ведомого модуля потенциальный сигнал низкого уровня на всё время обмена данными с этим модулем. Если, не изменяя

4
статуса (оставаясь ведущим) потребуется выполнить передачу (обмен)
данных с другим ведомым модулем, то МПУ, контролирующее работу модуля SPI 1 должно снять активное состояние сигнала /SS с отработавшего устройства и активировать сигнал выбора иного ведомого модуля. В
процессе работы комплекса ведущий и ведомые модули могут перенастраиваться так, что статусы ведущего и ведомого изменятся.
Рисунок И.2 - Схема подключения модулей комплекса с тремя объектами.
Программная перенастройка статуса должна поддерживаться ресурсом аппаратного выбора ведомого, т.е. соответствующей коммутацией выходов
PS и входов /SS. Работа с ресурсами модуля SPI поддерживается программной моделью с тремя регистрами:
SPDR - (Data Register)- два регистра данных под одним адресом;
SPCR (Control Register) — регистр настройки и управления ;
SPSR (Status Register) — регистр состояния модуля SPI.
Форматы регистров программной модели приведены на рисунке И.3.
На рисунке И.3 указаны адреса в символьной форме, а доступ к битам регистров SPCR и SPSR зависит от реализации средств взаимодействия МПУ с модулем SPI. В регистр данных SPDR ведущего модуля после его настройки МПУ загружает данные к передаче.

5
Рисунок И.3 - Форматы регистров программной модели SPI
После настройки ведомого модуля и приёма посылки из SPDR
считываются данные в МПУ принимающего модуля. Аппаратная реализация
SPI поддерживает подключение переключателями SA1, SA2, SA4 (см. рисунок И.2) тактирующей последовательности к регистрам сдвига и на выводы SCK (SP Clock) после загрузки регистра данных SPDR в ведущем модуле.
Содержимое регистра сдвига побитно выдвигается на вывод MOSI (Master Out Slave In), который соединен с входами MISO ведомых модулей. Ведомое устройство будет принимать данные только в том случае, если ведущий модуль перед загрузкой данных установит на входе /SS (Slave Select)
ведомого модуля уровень U0 (см. рисунок И.1). Как только ведущий начинает выдавать данные на вывод MOSI, из ведомого начинается выдача содержимого его регистра сдвига на вывод MISO (Master In Slave). Процесс сдвига данных в ведущем и ведомом модулях продолжается до завершения счёта числа позиций в сдвиговых регистрах (обсуждается формат восьми позиций). После завершения счёта синхронизирующая последовательность отключается на аппаратном уровне от сдвиговых регистров в ведущем и ведомом модулях, где также аппаратно формируются признаки завершения акции обмена.
Распространённые настройки, применяемые в версиях модулей SPI,
отражаются в формате регистра настройки и управления SPCR . Биты этого регистра (см. рисунок И.3) специфицированы по назначению:
6
-разряд D7 - (SPIE - разрешение прерывания от SPI) установка этого бита разрешает установку бита SPIF регистра состояния SPSR (см. рисунок И.3);
-разряд D6 - (SPE - разрешение работы порта SPI) установка этого бита разрешает подключение линий /SS, MOSI, MISO и SCK к выводам модуля по спецификации (переключатели SA2, SA3 рисунка И.1);
-разряд D5 - (DORD - порядок очереди пересылки битов данных)
установка этого бита приводит к передаче посылки данных вперед младшим битом (иначе первым передается старший бит данных);
- разряд D4 - (MSTR - выбор режима ведущий/ведомый) установкой бита MSTR определяется режим ведущего (иначе - режим ведомого), но приоритет отдается состоянию сигнала на входе /SS (при установленном бите MSTR и определении /SS, как входа, подача низкого уровня на вход /SS
сбрасывает бит MSTR, а бит SPIF регистра SPSR активирует запрос прерывания и, чтобы вновь установить режим ведущего устройства, после устранения несоответствия пользователь должен установить бит MSTR);
- разряд D3 - (CPOL-полярность тактового сигнала, см. рисунок И.4)
установка бита CPOL соответствует сигналу SCK высокого уровня в неактивном режиме (иначе - низкому уровню);
-разряд D2 - (СРHА - фаза тактового сигнала), согласно рисунку И.4;
-разряды D1, D0 - (SPR1, SPR0 - разряды установки периода тактового сигнала SCK) кодируют установку одной из четырёх длительностей передаваемых битов (4/fo, 16/fo, 64/fo, 128/fo).
Наиболее важными для настроек регистра управления SPCR являются четыре старших бита D7-D4. Для устойчивой синхронизации процесса передачи число периодов опорной частоты fo, из которой формируется период последовательности SCK ведущего модуля (режиме ведомого значения битов влияния не оказывают) не должно быть менее четырёх.
Распространённые версии SPI реализуют (3-4) Мб/с, что соответствует fo не менее (12-16) МГц .
7
Формат регистра состояния SPSR представлен двумя важными состояниями, характеризующими завершение акции сдвига SPIF отсутствие
сбоя в |
доступе |
к сдвиговому регистру WCOL в ведущем или ведомом |
|
модуле. |
Один |
из вариантов расположения битов в |
регистре SPSR |
представлен на рисунке И.3: |
|
- разряд D7 - (SPIF- флаг прерывания порта SPI) устанавливается аппаратно, если установлен бит SPIE в регистре SPCR, может дублироваться выдачей сигнала в линию запросов (в зависимости от исполнения бит SPIF
очищается аппаратно при переходе на обслуживание запроса или при первом чтении регистра состояния SPSR);
- разряд D6 - (WCOL флаг ошибки при записи) устанавливается, если в процессе передачи данных ошибочно начата запись или чтение регистра (бит
аппаратно сбрасывается при первом чтении регистра SPSR).
Остальные разрядные линии регистра SPSR не задействованы.
На рисунке И.4 приведены временные диаграммы, поясняющие процесс передачи данных и обозначения, принятые в слове настройки модуля SPI.
В работе с модулем первой выполняется настройка модуля SPI с установкой локального разрешения прерывания (работа в режимах систем, и прерываний в частности, создаёт угрозу сбоев в передаче данных). Опросом и анализом
бита /SS, проверяется соответствие уровня сигнала статусу
ведущий/ведомый. В отсутствие противопоказаний загружаются данные на
ведущем модуле, инициирующие процесс передачи. Параллельно на
ведомом модуле проверяется соответствие настройки ведущий/ведомый состоянию входа /SS и выполняется цикл программного ожидания с
регистром состояния или аппаратного запроса обслуживания по
прерываниям при приёме данных. На рисунке И.4 приведены временные диаграммы, дополняющие сведения по процессу передачи данных и иллюстрирующие атрибуты слова настройки SPI.

8
Рисунок И.4 - Временные диаграммы синхронизации данных в SPI
Приведенная временная диаграмма может быть реализована (и часто так реализуется) программно при оснащении предусмотренных линий данных и синхронизации (сопровождения) однобитовыми портами.
И.1.3 Интерфейс I2C
Для последовательной связи интегральных микросхем микроконтроллеров памяти с произвольным доступом, памяти с электрическим стиранием и записью информации, контроллеров матричных индикаторов, портов дистанционного ввода/вывода, разного рода преобразователей фирма PHILIPS
предложила двухпроводную (не считая общего обратного провода)
двунаправленную шину с последовательной передачей данных, названную I2C
(InterIntegrated Circuit).
Физическая реализация шины содержит две магистральные сигнальные линии, одна из которых (SDA) предназначена для передачи данных, а вторая однонаправленная (SCL) - для синхронизации передаваемых данных.

9
Структурная схема комплекса с шиной I2С изображена на рисунке И.5.
Источником сигнала SCL синхронизации является ведущий модуль
комплекса. Согласно приведенной на рисунке И.5 схеме и диаграмме рисунка
И.6 можно определить следующие особенности организации |
этого |
интерфейса: |
|
Рисунок И.5- Структурная схема комплекса с модулями связи I2C
- модули комплекса подключены к магистралям SDA,, SCL по
мажоритарному ИЛИ с возможностью управления состоянием линий
замыканием на общий провод (установка низкого уровня) или отключением от него (установка высокого уровня) ключами ведущего и выбранного модуля периферии;
- вариации сочетаний состояний сигналов на линиях SDA,, SCL
используется для формирования переходов процесса передачи данных:
а) пассивное состояние соединения (SDA=1, SCL=1);
б) начало передачи - (START) условие ( SCL=1, SDA*=0);
в) окончание сеанса передачи - (STOP) условие (SCL=1, *SDA=1);
г) установка (смена) бита данных - (SCL=0, SDA=0/1);
д) сопровождение (стробирование) бита данных - (*SCL=1, SDA=0/1);
е) удержание бита данных (SCL=0, SDA=1/0);
ж) повтор позиций 4-6 восемь раз для завершения передачи байта;
-после передачи байта ведущий модуль освобождает линии,
устанавливая (SDA=1, SCL=1), а ведомый модуль после приёма байта должен

10
выставить своим аппаратно-программным ресурсом состояния позиций 4-6 на линиях при SDA=0, как подтверждение приёма и состояние SDA=1 как не подтверждение;
Рисунок И.6 - Временная диаграмма передачи данных по шине I2С
- спецификацией интерфейса предусмотрена после условия (START)
передача по линии SDA: следующего пакета данных:
а) семибитовый адрес ведомого устройства;
б) передача восьмым битом типа операции с ведомым модулем периферии - чтение или запись;
в) передача бинарного подтверждения к переданному байту адреса/
или данных;
г) передача к ведомому модулю байта данных или передача байта данных от ведомого к ведущему;
д) контроль бинарного подтверждения байта данных ведущим или контроль бинарного подтверждения байт данных ведомым.
При завершении передачи повторяющимся условием START шина I2С не освобождается, так как это условие также является началом новой передачи.
Если ведомый приемник не подтверждает получение байта,
ведущий передатчик должен прервать передачу, генерируя условие STOP
для изменения сценария передачи
Ведущий модуль в режиме приемника выдает подтверждение Аck
низким уровне в девятом такте для каждого принятого байта. После приёма последнего байта массива, в девятом такте ведомый модуль должен выставить SCL=1 и после этого SDA=1. Это сочетание ведущий, как