SPI (Serial Peripheral Interface) отличается от других последовательных интерфейсов, например I2C и UART, следующими особенностями:
- Синхронизация. 1 В SPI любая передача синхронизирована с общим тактовым сигналом, генерируемым ведущим устройством (процессором). 1 Принимающая (ведомая) периферия синхронизирует получение битовой последовательности с тактовым сигналом. 1
- Полнодуплексная передача данных. 14 По умолчанию в SPI происходит одновременный обмен данными при передаче и приёме. 4
- Высокая пропускная способность. 1 Она выше, чем у I2C или SMBus. 1
- Возможность произвольного выбора длины пакета. 1 Длина пакета не ограничена восемью битами. 1
- Использование только четырёх выводов. 1 Это меньше, чем для параллельных интерфейсов. 1
- Однонаправленный характер сигналов. 1 Позволяет при необходимости легко организовать гальваническую развязку между ведущим и ведомыми устройствами. 1
В то же время у SPI есть и недостатки: требуется больше проводов, чем для I2C и UART, нет подтверждения успешного приёма сигнала и проверки ошибок. 3