BiSS и SPI — это два распространенных последовательных протокола связи, используемых в промышленности, особенно в энкодерах двигателей и датчиках. Хотя внешне они могут быть похожи, между ними существуют ключевые различия в целях проектирования, принципах работы и характеристиках.
Если кратко:
- SPI — это универсальная, простая и широко используемая промышленная стандартная шина связи.
- BiSS — это открытый протокол, специально разработанный для датчиков реального времени (таких как абсолютные энкодеры), целью которого является обеспечение высоконадежного, высокоскоростного и высокоточного обмена данными.
Ниже мы подробно сравним их по нескольким параметрам.
Сравнение в общем
| Характеристика | Протокол BiSS | Протокол SPI |
|---|---|---|
| Природа протокола | Открытый, точка-точка, ведомый/ведущий | Де-факто стандарт, универсальный, ведомый/ведущий |
| Цель проектирования | Специально разработан для передачи данных датчиков в реальном времени с высокими требованиями к безопасности (напр., энкодеры) | Универсальная связь на уровне платы, на короткие расстояния |
| Режим тактовой частоты | Однонаправленная непрерывная тактовая частота (MASTER→SLAVE). Тактовый сигнал активен только во время передачи данных. | Двунаправленная тактовая частота. Ведущий генератор тактового сигнала, но ведомый может выводить данные по фронту тактового сигнала. |
| Структура кадра данных | Строго определенная структура кадра, включая стартовый бит, биты данных, биты CRC, биты состояния и т.д. | Фиксированная структура кадра отсутствует. Формат и длина данных полностью определяются программным обеспечением ведущего и ведомого устройств. |
| Обнаружение ошибок | Обязательная CRC (циклическая проверка избыточности), обеспечивает мощное обнаружение ошибок, что критично для безопасных применений. | Обычно отсутствует аппаратное обнаружение ошибок. Надежность зависит от более высокого качества сигнала или программной проверки. |
| Обратная связь ведомого | Выделенная однонаправленная линия обратной связи (SLO→MAS), полностью отделена от тактовой линии. | Двунаправленная линия данных (MISO), ведущий и ведомый используют общую тактовую линию. |
| Реальное время | Детерминированная задержка. Задержка между получением тактового сигнала от ведущего и отправкой данных является фиксированной и предсказуемой. | Задержка недетерминирована, зависит от внутренней логической обработки ведомым устройством. |
| Область применения | Высокопроизводительные абсолютные энкодеры, линейные датчики, сервоприводы и другие сценарии с высокими требованиями к надежности и реальному времени. | Флэш-память, ЦАП/АЦП, датчики, сенсорные экраны и другие универсальные периферийные устройства. |
Подробный анализ различий
1. Физический уровень и способ подключения
- SPI: Использует 4 провода:
- SCLK (Serial Clock): Тактовый сигнал, генерируемый ведущим устройством.
- MOSI (Master Out Slave In): Линия данных для передачи от ведущего к ведомому.
- MISO (Master In Slave Out): Линия данных для передачи от ведомого к ведущему.
- CS (Chip Select): Сигнал выбора кристалла, который ведущий использует для выбора конкретного ведомого устройства.
- BiSS: Также использует 4 провода, но названия и значения略有 отличаются:
- MA (Master Clock): Эквивалентен SCLK в SPI, тактовый сигнал от ведущего.
- SLO (Slave Out): Эквивалентен MISO в SPI, линия вывода данных ведомого.
- SLI (Slave In): Используется в некоторых режимах BiSS (например, доступ к регистрам), эквивалентен MOSI в SPI.
- nCS (Chip Select): Сигнал выбора кристалла, функционально аналогичен CS в SPI.
Примечание: В простейшем режиме BiSS C без адреса (часто используется в энкодерах) линия SLI не нужна, требуются только провода MA, SLO и nCS. Это основа физической совместимости с SPI.
2. Механизм передачи данных (ключевое отличие)
Это самое фундаментальное различие, определяющее области их применения.
- Процесс связи SPI:
- Ведущий переводит сигнал CS соответствующего ведомого устройства в низкий уровень.
- Ведущий начинает генерировать тактовый сигнал SCLK.
- Ведущий одновременно передает данные (обычно команды или адрес) ведомому устройству по линии MOSI.
- Ведомое устройство одновременно возвращает данные ведущему по линии MISO.
- Связь завершается, ведущий переводит сигнал CS в высокий уровень.
Особенности: Полный дуплекс, одновременная передача и прием. Содержание, длина и значение данных полностью определяются производителем устройства.
- Процесс связи BiSS:
- Ведущий переводит сигнал nCS в низкий уровень, что отмечает начало кадра связи.
- Ведущий генерирует фиксированное количество тактовых импульсов MA (например, 64 импульса для 64-битного кадра).
- В первые несколько тактовых циклов ведомое устройство (энкодер) отправляет фиксированный «стартовый бит» и «биты состояния датчика» по линии SLO.
- В последующих тактовых циклах ведомое устройство отправляет основные данные о положении.
- В конце кадра ведомое устройство отправляет код CRC.
- После получения всего кадра ведущий вычисляет CRC и сравнивает его с полученным для проверки правильности данных.
- Ведущий переводит сигнал nCS в высокий уровень, кадр завершается.
Особенности: Полудуплекс, имеет строгую, предопределенную структуру кадра. Ведущий отправляет тактовый сигнал для «чтения» данных, сам не отправляя команд по линии данных (в режиме без адреса). Весь процесс является детерминированным.
3. Обнаружение ошибок и надежность
- BiSS: Встроенная проверка CRC является обязательной частью протокола. Это обеспечивает очень высокую надежность передачи данных в сложных промышленных электромагнитных условиях (например, рядом с частотными преобразователями, двигателями). Если проверка CRC не проходит, ведущий может немедленно отбросить эти данные, что является требованием функциональной безопасности.
- SPI: Сам протокол не содержит механизмов обнаружения ошибок. Если приложение требует этого, это должно быть реализовано дополнительно на программном уровне (например, добавление контрольной суммы в передаваемые данные), но это увеличивает нагрузку и не является стандартным.
Итоги и рекомендации по выбору
| Сценарий | Рекомендуемый протокол | Обоснование |
|---|---|---|
| Подключение Flash-памяти, АЦП, обычных датчиков | SPI | Простота, универсальность, поддержка многими производителями, богатые ресурсы для разработчиков. |
| Высокопроизводительные абсолютные энкодеры в серводвигателях | BiSS | Высокая надежность, детерминированная задержка, встроенная проверка CRC, оптимизирован для управления в реальном времени. |
| Система требует сертификации функциональной безопасности (напр., SIL/ISO13849) | BiSS | Встроенные механизмы безопасности (CRC) облегчают соответствие требованиям сертификации. |
| Замена или совместимость с традиционными инкрементальными энкодерами (A/B/Z) | BiSS | Интерфейс BiSS может напрямую выводить аналоговые сигналы A/B/Z, что упрощает модернизацию системы. |
| Аппаратная конфигурация фиксирована, требуется простое чтение данных | Оба | Многие энкодеры BiSS имеют «режим совместимости с SPI», что позволяет читать их через контроллер SPI, но теряются преимущества CRC и детерминированности BiSS. |
Важное замечание: Поскольку BiSS физически совместим с SPI, многие энкодеры BiSS можно перевести в «режим SPI» для чтения с помощью стандартного интерфейса SPI. Однако это всего лишь режим совместимости. В этом режиме используется механизм связи SPI, и вы не получаете преимуществ встроенной проверки CRC и строгой временной синхронизации native-протокола BiSS. В настоящих applications с высокими требованиями к безопасности следует использовать настоящий ведущий контроллер BiSS.

Решения от OTV: Энкодеры с поддержкой протоколов BiSS и SPI
Компания OTV предлагает широкий спектр высококачественных энкодеров, совместимых с обоими протоколами, чтобы удовлетворить различные потребности наших клиентов в промышленной автоматизации.
| Характеристика / Потребность | Решение OTV на базе BiSS | Решение OTV на базе SPI |
|---|---|---|
| Высокая надежность и функциональная безопасность | ✅ Встроенная аппаратная проверка CRC, отказоустойчивость | ⚠️ Требует программной реализации проверки ошибок |
| Детерминированная работа в реальном времени | ✅ Фиксированная и предсказуемая задержка передачи данных | ❌ Задержка зависит от реализации ведомого устройства |
| Совместимость с существующими системами на SPI | ✅ Доступны модели с режимом совместимости с SPI (для простой интеграции) | ✅ Нативный протокол SPI |
| Простота интеграции и разработки | ⚠️ Требует понимания специфики BiSS | ✅ Широко известный стандарт, простота использования |
| Применения: Высокоскоростные сервоприводы, критичные к безопасности | ✅ Идеально подходит благодаря встроенным механизмам безопасности и детерминизму | ❌ Не рекомендуется для применений с высокими требованиями к безопасности |
| Применения: Стандартная автоматизация, датчики, HMI | ✅ Отлично подходит | ✅ Отлично подходит благодаря простоте и универсальности |
| Совместимость с инкрементальными энкодерами (A/B/Z) | ✅ Наличие специальных выходов | ❌ Обычно отсутствует в нативных решениях SPI |
OTV поможет вам выбрать оптимальное решение для вашей конкретной задачи, будь то высокоскоростной сервопривод с требованиями функциональной безопасности или стандартная система автоматизации. Наши инженеры готовы предоставить техническую консультацию и образцы для тестирования.
