Режимы SSI

Свойство ssi.mode задаёт один из четырёх возможных режимов линии CLK. Эти режимы напрямую соответствуют режимам SPI, описанным здесь: http://en.wikipedia.org/wiki/Serial_peripheral_interface.

Режим SSI объединяет два независимых параметра - CPOL (полярность тактового сигнала) и CPHA (фаза тактового сигнала):

  • Режим 0: CPOL = 0, CPHA = 0
  • Режим 1: CPOL = 0, CPHA = 1
  • Режим 2: CPOL = 1, CPHA = 0
  • Режим 3: CPOL = 1, CPHA = 1
Схема, иллюстрирующая четыре режима SSI.

Краткое описание режимов (чтобы разобраться, нужна некоторая подготовка):

  • CPOL = 0: в состоянии покоя на линии синхронизации низкий уровень (LOW):
    • CPHA = 0: биты данных считываются по нарастающему фронту CLK (переход LOW-HIGH), а выставляются по спадающему фронту CLK (переход HIGH-LOW).
    • CPHA = 1: биты данных считываются по спадающему фронту CLK, а выставляются по нарастающему фронту CLK.
  • CPOL = 1: в состоянии покоя на линии синхронизации высокий уровень (HIGH):
    • CPHA = 0: биты данных считываются по спадающему фронту CLK, а выставляются по нарастающему фронту CLK.
    • CPHA = 1: биты данных считываются по нарастающему фронту CLK, а выставляются по спадающему фронту CLK.

Обратите внимание, есть и ещё одно отличие:

  • В режимах SSI 1 и 3 первый бит данных (в любом направлении) появляется на линии DO (DI) после первого перехода на линии CLK.
  • В режимах SSI 0 и 2 первый бит данных (в любом направлении) появляется на линии DO (DI) до начала переходов на линии CLK.
Исходный материал Tibbo обновлён 15 августа 2022Оригинал на docs.tibbo.com · Сообщить об ошибке