Скачиваний:
1
Добавлен:
30.12.2025
Размер:
1.75 Mб
Скачать

Рис. 20.

Передача и прием ведутся одновременно, пакетами. Чаще всего длина пакета составляет 8 бит, но это не является обязательным условием. Сдвиг производится по тактовой частоте, генерируемой ведущим устройством. Ведомые устройства используют синхросигнал для определения моментов изменения битов на линии данных, при этом ведомые устройства никак не могут влиять на частоту следования битовых интервалов. Как в ведущем устройстве, так и в ведомом устройстве имеется счетчик импульсов синхронизации (битов). Счетчик в ведомом устройстве позволяет последнему определить момент окончания передачи пакета. Счетчик сбрасывается при выключении подсистемы SPI, такая возможность всегда имеется в ведущем устройстве. В ведомом устройстве счетчик обычно сбрасывается деактивацией интерфейсного сигнала SS.

Так как действия ведущего и ведомого устройства тактируются одним и тем же сигналом, то к стабильности этого сигнала не предъявляется никаких требований, за исключением ограничения на длительность полупериодов, которая определяется максимальной рабочей частотой более медленного устройства. Это позволяет использовать SPI в системах с низкостабильной тактовой частотой, а также облегчает программную эмуляцию ведущего устройства.

Самым простым будет подключение только одного ведомого, но, если в структуре обмена присутствует несколько ведомых устройств, то их подключения к ведущему возможны одним из 2-х способов: независимое подключение, рис. 21, или каскадное подключение, рис. 22.

Рис. 21.

При таком подключении ведущему необходимо иметь несколько выходов для формирования сигналов выбора подключаемого ведомого. Если это нежелательно, то используется каскадное подключение.

Рис.22.

При таком подключении необходимо, чтобы все устройства, подключаемые в каскад, работали в одинаковом режиме относительно начального уровня и начальной фазы импульсов синхронизации. Каждый разряд регистра сдвига включенных устройств состоит из 2-х триггеров, один из которых отвечает за выборку информации, а другой за фиксацию, см. рис. 23. Начальной фазой 0 считается ситуация, когда информация ещё не выбрана, начальной фазой 1 – когда информация была уже выбрана и ожидается фиксация. В этом случае первый импульс только очищает регистр, а уже второй начинает набор.

Рис.23.

В SPI существует только пакет данных. Пакет признак вырожден в один бит SS, а согласование отсутствует.

18.Устройства для подсчета временных интервалов.

Для подсчета временных интервалов в любой процессорной системе служат таймеры. Основной элемент любого таймера – вычитающий счетчик. Таймеры, обслуживающие процессор: собственный таймер на каждом ядре и разделяемые таймеры – общие для всех ядер. Для подсчета временных интервалов в системе служат интервальные таймеры.

В DE1-SoC собственный таймер имеет структуру, показанную на рис. 24.

Рис. 24.

Таймер содержит 4 регистра. Начальный адрес обращения к регистрам таймера 0xFFFEC600. Младший адрес принадлежит регистру, в который загружается коэффициент деления. Следующий регистр следит за текущим состоянием счетчика. Третий по счету регистр служит для записи коэффициента предварительного деления частоты и установки контрольных битов. Для запуска таймера в 1 устанавливается бит E, для цикличного счета в 1 устанавливается бит A. Когда счетчик достигает состояния 0, бит F регистра статуса прерывания устанавливается в 1, но запрос может быть послан, если I=1. Сбросить этот бит возможно повторной записью в него 1. Счетчик таймера считает с частотой 200 МГц.

Разделяемые таймеры, рис. 25.

Рис. 25.

Процессор Cortex A9 имеет 4 разделяемых таймера. Их регистры имеют следующие базовые адреса: 0xffc08000, 0xffc09000, 0xffd00000 и 0xffd01000.

Частота первых двух таймеров равна 100 MHz, вторых двух — 25 MHz.

Назначение регистров подобно назначениям регистров собственного таймера, входящего в ядро процессора. Но бит I содержит не разрешение, а маскирование посылки запроса на прерывание в случае окончания цикла счета счетчика. Бит F указывает только на завершение цикла счета, генерация запроса производится с помощью бита S.

Интервальный таймер DE1-SoC расположен в части FPGA, его структура представлена на рис. 26.

Рис. 26.

Макет DE1-SoC имеет 2 интервальных таймера. Их базовые адреса — 0xff202000 и 0xff202020. Частота таймеров — 125 MHz. У каждого таймера есть шесть 32-ти разрядных регистров, в каждом из которых используются только первые 16 бит. Status — регистр текущего состояния таймера; содержит следующие флаги: R — установлен в единицу, если таймер в данный момент работает; T — выставлен в единицу, если произошёл таймаут; сбрасывается в ноль записью в разряд значения 0; Control — регистр управления таймером; доступен только для записи; содержит следующие флаги: ∙ I — бит разрешения прерываний; если выставлен в единицу, то, при истечении времени, таймер генерирует запрос прерывания; ∙ C — бит автоматического перезапуска таймера; ∙ Str — используется для запуска таймера (записью в бит значения 1); ∙ Stp — используется для остановки таймера (также как и в случае с битом Str, записью значения 1).

19.Возможности передачи данных на большие расстояния. UART. Структура, принцип передачи информации.

Это один из немногих устройств, использующихся с середины прошлого века. Разумеется, устройство постоянно модернизируется, но принцип его функционирования неизменен. В UART используется побитовая передача информации. Скорость передачи измеряется в битах в секунду – бодах. Минимальная скорость – 300 бод, максимальная чуть меньше миллиона – 921600 бод. Набор стандартных скоростей включает 13 позиций. Для перехода на выбранную скорость обмена, до его осуществления в специальные регистры-делители записывается коэффициент деления тактовой частоты системы. Только после этого в регистр управления записывается регламент обмена.

Информация, записанная в регистре управления, позволяет:

-определить количество разрядов для передаваемого символа (от 5-ти до 8-ми стандартно, в последних модернизациях - 9);

-фиксировать наличие (или отсутствие) контроля передаваемых символов, а также указывать тип контроля (паритет или непаритет). В современных UART контроль производится путем сложения по модулю 2 всех передаваемых бит символа;

-количество стоповых бит в посылке. Посылка всегда обрамляется специальными метками начала и окончания. Начальный бит всегда «0», он опознается в точке, расположенной по времени середины его удержания после рассоединения – «1». Бит окончания, стоповый, всегда «1». Он также определяется по середине его удержания, но иногда, для разделения посылок добавляют второй стоповый бит. Таким образом, стоповых бит может быть 1 или 2.

Кроме указанной информации в регистре управления определяется наличие соединения в принципе, а также тип действия, производимого в данный момент – обращение к регистрам данных или обращение к регистрамделителям.

Регистры данных смешанного типа. Для передатчика – параллельнопоследовательный, для приемника – последовательно-параллельный.

Кроме перечисленных регистров, в структуру UART входят регистры состояния линии и модема, регистр разрешения прерываний и регистридентификатор прерываний.

В настоящее время UART, также как и его синхронный вариант, USART, в большинстве случаев использования в аппаратуре, не имеют собственный разъемов, а включаются через USB.

20. Шина USB. Предпосылки создания. Иерархия.

Предназначен для подключения периферийных устройств к персональному компьютеру. Позволяет производить обмен информацией с периферийными устройствами на трех скоростях для спецификации USB 2.0:

Низкая скорость (Low Speed - LS) - 1,5 Мбит/с;

Полная скорость (Full Speed - FS) - 12 Мбит/с;

Высокая скорость (High Speed - HS) - 480 Мбит/с.

Для спецификаций 3.0, 3.1, 3.2:

Сверхвысокая скорость – до 5Гбит/с – USB 3.0;

Сверхвысокая скорость+ – до 10Гбит/с – USB 3.1, USB 3.2(1x2);

Сверхвысокая скорость ++ – до 20Гбит/с – USB 3.2(2x2);

Полнодуплексная передача данных.

Годы выпуска:

USB1 – 1996 – 1998;

USB2 – 2000;

USB3 – 2008, 2013, 2017.

Для подключения периферийных устройств используется 4-жильный кабель: питание +5 В, сигнальные провода D+ и D-, общий провод.

Иерархия шины представлена на рис. 27.

Рис.27.

В структуру USB входят:

-хост –основное ведущее устройство, как пример - персональный компьютер;

-хаб – концентратор. Содержит контроллер и повторитель. Регистры хабаконтроллера связываются с хостом и обеспечивают опознавание функции, и ее связь с хостом. Хаб-повторитель обеспечивает энергетический режим работы шины;

-функция – оконечное устройство, подключаемое к хосту. Всегда ведомое. Узел функции, который будет обмениваться информацией с хостом называется конечной точкой. Порт хаба или функции, подключаемый к хабу более высокого уровня, называется восходящим портом (upstream port), а порт хаба, подключаемый к хабу более низкого уровня, или к функции, называется нисходящим портом (downstream port).

21. Шина USB. Структура. Роли блоков, входящих в структуру.

Все передачи данных по интерфейсу инициируются хостом, однако приемником или передатчиком может быть как хост, так и функция.

Функция не может сама инициировать обмен, весь обмен управляется хостом. Контроллер хоста периодически опрашивает подключенные и резервные устройства на предмет обмена, рассылая пакет начала кадра и составляет списки заявок. Если устройство готово к обмену, между ним и хостом организуется канал, т.е. программно поддерживаемое соединение. Так как функции представляют собой сложные схемы, в которых выдачей и приемом информации могут заниматься различные узлы, то внутри функции выделяются конечные точки. Таким образом, канал организуется между хостом и конечной точкой. Обмен всегда производится между хостом и конечной точкой при поддержке контроллера хаба.

Данные по USB шине всегда передаются младшими битами вперед.

Передача пакетная.

22.Шина USB. Типы передаваемых пакетов.

Винтерфейсе USB используются несколько разновидностей пакетов:

-пакет-признак (token paket) описывает тип и направление передачи данных, адрес устройства и порядковый номер конечной точки (КТ - адресуемая часть USB-устройства).

-пакет с данными (data packet) содержит передаваемые данные;

-пакет согласования (handshake packet) предназначен для сообщения о результатах пересылки данных.

-пакет начала кадра (start of frame packets) содержит номер передаваемого кадра.

USB пакет состоит из нескольких полей.

Любой тип пакета должен содержать поле синхронизации, поле идентификатора пакета и поле конца пакета.

Пакет-признак кроме этих полей должен содержать поле адреса устройства, поле адреса конечной точки и поле контроля (циклический контроль по избыточности).

Пакет с данными должен содержать поле данных и поле контроля. Пакет согласования содержит только три основных поля.

Пакет начала кадра должен содержать поле номера кадра и поле контроля.

Описание типов USB пакетов

Пакеты-признаки (Token Packets)

Существуют три типа таких пакетов:

1.In - информируют USB устройство, что хост хочет читать данные из устройства

2.Out - информирует USB устройство, что хост хочет передавать данные в устройство

3.Setup - используются для обозначения начала управляющего (Control Transfer) типа передачи данных

Все пакеты-признаки имеют следующий формат:

SYNC PID ADDR ENDP CRC5 EOP

·Пакеты данных (Token Packets)

Существуют два типа пакетов данных, каждый из которых способен содержать до 1024 байтов данных.

DATA0 и DATA1

У высокоскоростных устройств пакеты данных имеют два других идентификатора: DATA2 и MDATA. Пакет данных имеет следующий формат:

SYNC PID DATA CRC16 EOP

Максимальная полезная загрузка:

-для низкоскоростных устройств составляет 8 байт.

-для полноскоростных устройств составляет 1023 байта.

-для высокоскоростных устройств составляет 1024 байт. Данные всегда посылаются целым числом байт.

Пакеты согласования (Handshake Packets)

Существуют три типа пакетов согласования, структура которых имеет только PID поле:

-ACK - подтверждение того, что пакет был успешно принят

-NAK - информирует, что устройство в данный момент не может принимать либо отправлять данные. Также используется в Interrupt транзакциях для информирования хоста, что устройство не имеет новых данных для передачи. Хост никогда не может выдавать ответ NAK. NAK используется в целях управления потоком данных.

-STALL - указывает, что устройство неспособно передавать или получать данные, и требуется вмешательство хоста для снятий состояния останова. Как только конечная точка устройства остановлена, устройство должно продолжить возвращать STALL, пока условие, вызвавшее останов не будет

удалено с помощью вмешательства хоста. Хосту запрещено возвращать

STALL.

Пакет подтверждения имеет следующий формат:

SYNC PID EOP

Пакеты начала кадра (Start of Frame Packets)

SOF пакет состоит из 11-ти битного номера кадра и генерируется хостом каждую 1ms ± 500ns для полноскоростной шины и каждые 125 µs ± 0.0625 µs для высокоскоростной шины.

Пакет начала кадра имеет следующий формат:

SYNC PID Frame Number CRC16 EOP

23. Шина USB. Виды пересылок.

Взависимости от типа передаваемых данных, предъявляемых требований

кскорости обработки, задержки доставки и т.п. определены следующие типы пересылок.

Изохронные пересылки. Используются для потоковой передачи данных в реальном времени. Резервируют определенную полосу пропускания шины, гарантируют определенные величины задержек доставки, но не гарантируют доставку (в случае обнаружения ошибки повторной передачи не происходит). Передачи этого вида используются для передачи аудио и видео трафика.

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

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

Пересылки данных больших объемов. Используется для гарантированной передачи данных больших объемов без предъявленных требований к скоростям и задержкам. Занимает под себя всю свободную пропускную способность шины. В любой момент доступная полоса может быть урезана при необходимости осуществления передач других видов с более высоким приоритетом, или добавлена, при освобождении другими устройствами. Обычно такие передачи используется между принтерами, сканерами, накопителями и др.

24.Протокол JTAG. Предпосылки создания и возможности обмена.

Протокол JTAG создавался для тестирования, так как с ростом степени интеграции БИС, плотности монтажа и появлением многослойных печатных

плат, методы диагностики, основанные на подключении к контрольным точкам платы и выводам микросхем, становились все более сложными в использовании и неэффективными. Программирование явилось частным случаем тестирования схемы внутри кристалла. Приведем краткую справку об используемом протоколе.

В начале 1985 года объединенными усилиями нескольких европейских компаний была создана группа для разработки решения проблем тестирования интегральных схем, цифровых устройств и систем. Эта группа получила имя: Joint European Test Action Group (JETAG). Позднее, в 1988 году к ней присоединились представители североамериканских компаний, и название было изменено на Joint Test Action Group (JTAG).

Результатом работы этой группы явился принятый в 1990 году стандарт IEEE Std.1149.1 и его усовершенствованная версия: стандарт IEEE Std.1149.1a (1993).

Cтандарт JTAG определяет:

-интерфейс, через который осуществляется обмен тестовыми инструкциями и данными между ведущим устройством и встроенными средствами тестирования (TAP – Test Access Port);

-минимальный набор средств тестирования, встраиваемых в БИС (средства поддержки метода граничного сканирования). В основу стандарта положена идея внедрения в компоненты цифрового устройства средств, обеспечивающих унифицированный подход к решению следующих задач:

тестирование связей между интегральными схемами после того, как они были смонтированы на печатной плате или другой основе;

наблюдение за работой компонент без вмешательства в их нормальную работу, или непосредственное управление одним или более компонентом;

обеспечение стандартизованного доступа к произвольным средствам самотестирования, встраиваемым в БИС.

Тестируемая плата с расположенными на ней БИС подключается через последовательный канал передачи данных (JTAG интерфейс) к некоторому ведущему устройству. Ведущее устройство, используя возможности, предоставляемые JTAG, решает задачи, связанные с диагностикой тестируемого устройства, локализации неисправностей, загрузкой конфигураций ПЛИС и т. п.

25.Протокол JTAG. Структура TAP.

Как правило, ведущим устройством является персональный компьютер, оснащенный соответствующим программным обеспечением. Подключение к ведомому устройству осуществляется через шину USB или собственный разъем, передача информации последовательным способом.

Структура TAP – рис. 28.