Миландр

Ключевым подразделением нашей компании
является Центр Проектирования интегральных микросхем
Текущее время: 2019-апр-21 17:13

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Вопрос по SSP в режиме SPI Motorola
СообщениеДобавлено: 2019-апр-10 11:40 
Не в сети

Зарегистрирован: 2014-май-20 09:07
Сообщения: 93
Откуда: ЗАО "Московский Прожекторный завод"
Доброго времени суток. Пытаюсь использовать SSP для загрузки данных в внешний аппаратный сдвиговый регистр. Возник вопрос.
1. На диаграммах в техническом описании микроконтроллера (рисунки 102 и 103 на странице 294) присутствует некая линия nSSPOE (видимо, инвертированный сигнал SSP Output Enable). Ни одного вывода микроконтроллера с такой функцией я не нашел. Бит, разрешающий обмен, называется SSE, т.е. речь идет не о нем.

Ну и немного занудства.
2. Само описание процесса передачи данных через SSP невнятное. Очень много формулировок вроде "линия должна быть установлена в такой-то уровень". Кем установлена? Или "сигнал устанавливается". Сам? Ведущим устройством? Ведомым? Или вообще внешний сигнал должен прийти? Например, описание могло бы выглядеть примерно так (если не так понял - извините, изначальный текст допускает двоякое толкование):
Цитата:
27.6.15 Формат синхронного обмена SPI фирмы Motorola
Интерфейс SPI фирмы Motorola осуществляется по четырем сигнальным линиям: SSPFSS, SSPCLK, SSPTXD, SSPRXD. Сигнал SSPFSS выполняет функцию выбора ведомого устройства (это как?). Главной особенностью протокола SPI является возможность выбора состояния и фазы сигнала SSPCLK в режиме ожидания (неактивном приемопередатчике) путем задания значения бит SPO и SPH регистра управления CR0.
Выбор полярности тактового сигнала – бит SPO.
Если бит SPO равен 0, то в режиме ожидания линия SSPCLK переводится ведущим устройством в низкий логический уровень. Если же бит SPO равен 1, то при отсутствии обмена данными линия SSPCLK переводится в высокий уровень.
Значение бита SPH регистра CR0 определяет фронт тактового сигнала, по которому осуществляется выборка данных и изменение состояния на выходе линии. Если SPH равен 0, регистрация данных приемником осуществляется по переднему фронту тактового сигнала, в противном случае – по заднему.
27.6.16 Формат синхронного обмена SPI фирмы Motorola, SPO=0, SPH=0
Временные диаграммы последовательного синхронного обмена в режиме SPI с SPO=0, SPH=0 показывает Рисунок 102 (одиночный обмен) и Рисунок 103 (непрерывный обмен).

Картинка

В данном режиме во время ожидания приемопередатчика ведущее устройство устанавливает сигнал SSPCLK в низкий логический уровень, а сигнал SSPFSS - в высокий логический уровень. И ведущее, и ведомое устройства устанавливают свои сигналы SSPTXD в высокоимпедансное состояние.
Если работа модуля разрешена и в буфере FIFO передатчика ведущего устройства содержатся корректные данные, ведущее устройство переводит сигнал SSPFSS в низкий логический уровень, что указывает ведомому устройству на начало обмена данными. При этом и ведущее и ведомое устройства переводят свои выводы SSPTXD из высокоимпедансного состояния в низкий логический уровень..
По истечении полутакта сигнала SSPCLK и ведущее и ведомое устройство устанавливают на своих выводах SSPTXD значения первых битов передаваемых данных. По истечении следующего полутакта ведущее устройство переводит сигнал SSPCLK в высокий логический уровень, т.е. формируется передний фронт сигнала SSPCLK, и ведущее и ведомое устройство считывают со своих выводов SSPRXD уровни, установленные соответственно ведомым и ведущим устройствами на выводах SSPTXD.
Далее данные регистрируются по переднему фронту сигнала SSPCLK, а выставляются по заднему фронту сигнала SSPCLK.
В случае передачи одного слова данных после приема его последнего бита ведущее устройство переводит линию SSPFSS в высокий логический уровень по истечении одного периода тактового сигнала SSPCLK.
В режиме непрерывной передачи данных ведущее устройство формирует на линии SSPFSS импульсы высокого логического уровня между передачами каждого из слов данных. Это связано с тем, что в режиме SPH=0 линия выбора ведомого устройства в низком уровне блокирует запись в сдвиговый регистр. Поэтому ведущее устройство должно переводить линию SSPFSS в высокий уровень по окончании передачи каждого кадра, разрешая запись новых данных. По окончании приема последнего бита блока данных ведущее устройство переводит линию SSPFSS в состояние, соответствующее режиму ожидания, по истечении одного такта сигнала SSPCLK.


Вложения:
Удали меня.rar [69.54 КБ]
Скачиваний: 9
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по SSP в режиме SPI Motorola
СообщениеДобавлено: 2019-апр-10 11:59 
Не в сети

Зарегистрирован: 2017-апр-26 14:51
Сообщения: 313
Откуда: ПКК "Миландр"
Если знать работу стандартного SPI, например по википедии, то проблем с восприятием не возникает. По крайней мере понятно кто какой сигнал выставляет, зачем и почему. С FSS некоторая особенность, но и тут вроде очевидно, что мастер им управляет, значит ведомый читает.

Спецификация содержит не самое лучшее изложение, но впринципе достаточное. Для знакомства с стандартными интерфейсами лучше воспользоваться образовательной литературой.

_________________
Отдел технической поддержки support@milandr.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по SSP в режиме SPI Motorola
СообщениеДобавлено: 2019-апр-10 13:23 
Не в сети

Зарегистрирован: 2014-май-20 09:07
Сообщения: 93
Откуда: ЗАО "Московский Прожекторный завод"
Vasiliy писал(а):
Если знать работу стандартного SPI, например по википедии, то проблем с восприятием не возникает. По крайней мере понятно кто какой сигнал выставляет, зачем и почему. С FSS некоторая особенность, но и тут вроде очевидно, что мастер им управляет, значит ведомый читает.

Спецификация содержит не самое лучшее изложение, но впринципе достаточное. Для знакомства с стандартными интерфейсами лучше воспользоваться образовательной литературой.


Ну хорошо, я просто предложил, как сделать лучше, говорю же, занудство :?

А с nSSPOE очевидно, что этот сигнал на диаграмме лишний...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB