Радиотехнический сайт RADIOTRACT

Радиотехника и электроника для разработчиков и радиолюбителей

Информация

 

 

Справочные данные на радиоэлектронные компоненты, приборы, средства связи и измерений. Радиотехническая литература.

Общая

Микроконтроллеры

ПЛИС

Измерения

Радиостанции

Библиотека

Справочники

Доска объявлений

Объявления о покупке и продаже радиокомпонентов. Спрос и предложение на различные радиодетали и приборы.

Куплю

Продам

Магазин

Программы

Полезные программы для радиолюбителей и разработчиков радиоэлектроники.

Радиотехника

Интернет

Калькуляторы

Другие

Мы в соцсетях

  

Измерения

Информация\Измерения\Цифровые осциллографы\Диагностика последовательных шин SPI

Диагностика последовательных шин SPI

SPI

Исходные данные

Шина последнего интерфейса (SPI) изначально разработана компанией Motorola в конце 1980-x для микроконтроллеров серии 68000. Благодаря простоте и популярности шины, многие другие производители используют этот стандарт уже долгие годы. Сейчас в мире производится множество компонентов, которые используются в проектировании встроенных систем. Шина SPI вначале использовалась для обмена данными микроконтроллеров c периферийными устройствами. Обычно эта шина используется в мобильных телефонах, карманных компьютерах и других мобильных устройствах для связи между ЦПУ, клавиатурой, дисплеем и микросхемами памяти.

Принцип работы

Шина SPI (последовательный интерфейс) представляет собой 4-проводную последовательную шину обмена данных c ведущим и ведомым устройством. Четыре сигнала представляют собой синхронизацию (SCLK), выход ведущего/вход ведомого (MOSI), вход ведущего/выход ведомого (МISO) и выбор ведомого устройства (SS). Когда два устройства обмениваются данными, одно из них является "ведущим", a другое "ведомым". Ведущие устройства генерируют последовательный синхросигнал. Данные одновременно передаются и принимаются, то есть протокол является полнодуплексным. Вместо использования уникальных адресов для каждого устройства, подключенного к шине, SPI использует линию SS для определения устройства, на которое передаются и c которого принимаются данные. B сущности, для каждого уникального устройства, подключенного к шине, требуется собственная линия SS от ведущего устройства. Если имеется 3 ведомых устройства, c ведущего устройства отходят 3 SS линии, по одной для каждого ведомого устройства (см. рис. 8).

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

Можно заметить, что "стандартной" реализации шины SPI не существует. B некоторых случаях, если обратная связь ведущего устройства c ведомым не требуется, сигнал MISO может вообще пропускаться.

Общая конфигурация шины SPI
Рис. 8. Общая конфигурация шины SPI.

Шлейфовая конфигурация шины SPI
Рис. 9. Шлейфовая конфигурация шины SPI.

Меню настройки шины SPI
Рис. 10. Меню настройки шины SPI.

При передаче данных по шине SPI, 8-битное слово данных сдвигается сигналом MOSI, другое 8-битное слово данных сдвигается сигналом MISO. Это видно при просмотре 16-разрядного циклического регистра сдвига. Во время передачи 16-разрядный регистр сдвига смещается на 8 позиций, таким образом вы полняется обмен 8-разрядными данными между ведущим и ведомым устройствами. Пара регистров, синхронизации полярности (CPOL) и синхронизации фазы (СРНА), определяют фронты синхросигнала, по которому передаются данные. Каждый регистр имеет два состояния, которые предоставляют четыре различные комбинации. Для обмена данных пара ведущее/ведомое устройство должна иметь одинаковые параметры. Если используется несколько ведомых устройств в различных конфигурациях, ведущее устройство должно самостоятельно переконфигурироваться при необходимости связи c различными ведомыми устройствами.

Работа c шиной SPI

Модуль последовательного запуска и анализа DPO4EMBD предоставляет подобные функции и для шины SPI. C помощью кнопок B1 и B2 на передней панели можно определить шину SPI простым вводом основных параметров шины, включая настройку включенных каналов SCLK, SS, MOSI и MISO, порогов и полярностей (см. рис. 10). B качестве примера рассмотрим встроенную систему, представленную на рис. 11.

Синтезатор управляется по шине SPI
Рис. 11. Синтезатор управляется по шине SPI.

Шина SPI подключена к синтезатору, DAC (ЦАП) и некоторым входам/выходам. Синтезатор подключается к VCO (ГУН), выдающему синхросигнал 2,5 ГГц для остальной системы. Синтезатор программируется процессором при запуске. Однако вследствие какойто неисправности ГУН выдает синхросигнал частотой 3 ГГц. Первый шаг в отладке этой проблемы заключается в проверке сигналов между CPU (ЦПУ) и синтезатором, чтобы убедиться в их нормальном прохождении, и что проблема не связана c физическим соединением. Далее следует просмотреть фактически передаваемую по шине SPI информацию для программирования синтезатора. B целях регистрации информации следует настроить осциллограф для запуска по сигналу синтезатора Slave Select (Выбор ведомого устройства) и подачи питания испытуемого устройства для регистрации начала команд программирования. Зарегистрированная осциллограмма показана на рис. 12.

Зарегистрированные ошибочные сообщения конфигурации синтезатора в шине SPI
Рис. 12. Зарегистрированные ошибочные сообщения конфигурации синтезатора в шине SPI.

Канал 1 (желтый) — SCLK, канал 2 (голубой) — MOSI и канал 3 (пурпурный) — SS. Для определения правильности программирования устройства следует посмотреть на таблицу синтезатора. Первые три сообщения в шине предназначены для инициализации синтезатора, загрузки коэффициента делителя и фиксации данных. B соответствии co спецификацией, последний полубайт (отдельный шестнадцатеричный символ) в первых трех сообщениях должен равняться 3, 0 и 1, соответственно, но в результатах измерений 0. 0 и 0. B этом случае становится ясно, что была сделана общая ошибка при программировании битов в каждом 24-разрядном слове, связанная c обратным порядком их следования. После быстрого исправления программы осциллограмма и ГУП зарегистрирована на частоте 2,5 ГГц (см. рис. 13).

Правильные сообщения о конфигурации синтезатора
Рис. 13. Правильные сообщения о конфигурации синтезатора.

B примере выше использовался простой активный триггер SS. Функциональные возможности осциллографов серии DPO4000 по запуску в шине SPI включают следующие типы:
SS Active - запуск, если ведомая линия выбора истинна для ведомого устройства.
MOSI - запуск по заданным пользователем данным (до 16 байт), передаваемым от ведущего к ведомому устройству.
MISO - запуск по заданным пользователем данным (до 16 байт), передаваемым от ведомого к ведущему устройству.
MOSI/MISO - запуск по заданным пользователем данным (до 16 байт), передаваемым от ведущего к ведомому или от ведомого к ведущему устройству.

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

Начало статьи - Отладка низкоскоростных последовательных шин при проектировании встроенных систем.


Комментарии

comments powered by Disqus