Динамика отрасли

SPI шина здравый смысл

2024-10-18 19:12:46

1. Введение в шину SPI

 

SPI — это аббревиатура от Serial Peripheral Interface (последовательный периферийный интерфейс). В буквальном смысле это последовательный интерфейс внешнего устройства, представляющий собой полнодуплексную, высокоскоростную, синхронную коммуникационную шину.

SPI — это полнодуплексная синхронная последовательная шина, впервые разработанная компанией Motorola для синхронной последовательной связи между микроконтроллерами (МК) и внешними устройствами. В основном он используется в периферийных устройствах, таких как флэш-память, цифро-аналоговые преобразователи, сигнальные процессоры, контроллеры и EEPROM-память.

Шина SPI представляет собой интерфейс «один ведущий — несколько ведомых». В отличие от I2C, SPI использует выбор микросхемы CS для управления тем, с каким ведомым устройством общается хост.

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

 

2. Сколько проводов у интерфейса SPI?

 

Интерфейс SPI обычно имеет 4 провода (четырехпроводная система) и может обеспечивать полнодуплексную связь.

【SCK】: Последовательные часы

【MOSI】: Главный выход, подчиненный вход

【MISO】: Главный вход, подчиненный выход

【CS/CS】: Сигнал выбора чипа (выбор ведомого)

 

Приложения SPI также имеют 3 провода (трехпроводная система) для достижения полудуплексной связи. 

1  SPI-шина

 

3. Принцип коммуникации SPI 

 

Для обмена данными с периферийными устройствами модуль SPI может настраивать полярность и фазу выходного последовательного синхронного тактового сигнала в соответствии с рабочими требованиями периферийных устройств, а также управлять режимом связи устройства через CPHA (фаза тактового сигнала) и CPOL (тактовый сигнал). полярность). 

2  SPI-шина

 

Полярность тактового сигнала CPOL используется для настройки состояния уровня SCK как допустимого состояния или состояния ожидания. Фаза синхронизации CPHA используется для настройки того, на каком фронте будут производиться выборки данных: CPHA=0, выборка данных на первом краю, передача данных на втором краю CPHA=1, выборка данных на втором краю, передача данных на первом краю CPOL=0, когда SCLK=0, он находится в состоянии ожидания, а эффективное состояние - когда SCLK на высоком уровне. CPOL=1, когда SCLK=1, он находится в состоянии ожидания, а эффективное состояние - когда SCLK находится на низком уровне. CPHA=0, CPOL=0: В состоянии ожидания SCK находится на низком уровне, выборка данных происходит по первому фронту, то есть SCK переходит с низкого уровня на высокий, поэтому выборка данных происходит по переднему фронту (подготовка данных) , (Отправить данные) Данные отправляются по заднему фронту. CPHA=0, CPOL=1: В состоянии ожидания SCK находится на высоком уровне, сбор данных происходит по первому фронту, то есть SCK переходит с высокого уровня на низкий уровень, поэтому сбор данных происходит по заднему фронту, данные отправляются. на подъеме. CPHA=1, CPOL=0: В состоянии ожидания SCK находится на низком уровне, данные отправляются по первому фронту, то есть SCK переходит с низкого уровня на высокий уровень, поэтому выборка данных происходит по заднему фронту, данные отправляются. на подъеме. CPHA=1, CPOL=1: В состоянии ожидания SCK находится на высоком уровне, данные отправляются по первому фронту, то есть SCK переходит с высокого уровня на низкий уровень, поэтому сбор данных происходит по переднему фронту, данные отправляются. на падающем фронте. Кроме того, я хотел бы поделиться методом идентификации временных диаграмм. Перекрестная линия: данные могут изменяться, но не обязаны. Параллельные линии: данные не должны изменяться и должны передаваться стабильно. Давайте поговорим о времени передачи подробнее. Внутреннее оборудование интерфейса SPI на самом деле представляет собой два простых сдвиговых регистра. Передаваемые данные — 8 бит. Под действием сигнала включения ведомого устройства и сдвигового импульса, генерируемого ведущим устройством, данные передаются побитно, причем старший бит идет первым, а младший бит последний. . Как показано на рисунке ниже, данные изменяются по заднему фронту SCLK, а один бит данных сохраняется в регистре сдвига по переднему фронту. Интерфейс SPI не имеет определенного управления потоком и механизма ответа для подтверждения получения данных. 

3  SPI-шина

 

4. Характеристики шины SPI

 

4.1 Преимущества шины SPI

высокоскоростной

синхронный

Полный дуплекс

Структура автобуса

Ведущий-ведомый и режим связи

 

4.2 Недостатки шины SPI

Управление потоком не указано

Нет механизма реагирования для подтверждения


label: SPI iot