пн-пт с 09:30 до 18:00 мск
Прямой заказ

SSI протокол соединения

SSI - синхронизированный последовательный интерфейс - широко используемый стандарт промышленного применения между master (к примеру, контроллер) и slave (к примеру, датчик). SSI основан на RS422 линии и в добавление к универсальности применения в различных аппаратных платформах имеет высокий КПД, являясь популярным стандартом у производителей датчиков. SSI изначально разрабатывался для передачи положения абсолютного энкодера в 1984 году компанией Max Stegmann GMBH, поэтому некоторые производители сервоприводов размещают SSI порт, называя его как "Stegmann интерфейс". Стандарт формально защищен немецким патентом DE 34 45 617, действие которого истекло в 1990 году. Стандарт идеально подходит для приложений, требующих надежность и устойчивость измерения в любых условиях эксплуатации.
SSI - синхронизированное, от точки к точке, последовательное соединение для передачи цифровых данных, синхронизируя передачу при получении и отправке с использованием общего тактового сигнала. При отсутствии битов start / stop это позволяет использовать ширину полосы пропускания для большего количества сообщений в битах и упрощает весь процесс передачи данных. схема соединения ssi
Рис.1 – SSI (точка-точка) соединение
В целом, как уже указано, это "точка-точка" протокол соединения от master (ПЛК, микроконтроллер и др.) к slave (к примеру, вращающийся датчик). Master управляет тактовой последовательностью, slave передает текущее значение через сдвиговый регистр. Когда запускается с master, данные фиксируются от сдвигового регистра. Master и slave синхронизируются общим тактовым сигналом от контроллера.
Сигналы CLOCK и DATA передаются в соответствии с RS-422 стандартами. RS-422, также известный как ANSI/TIA/EIA-422-B, - технический стандарт, который определяет электрические характеристики цепи симметричного напряжения с цифровым интерфейсом. Данные передаются через симметричную или дифференциальную сигнализацию, т.е. линия CLOCK или DATA - в основном кабель с витой парой.
Для гальванической развязки входы задействуют оптопару, которая управляется через RS-422/485 уровни. DATA выход датчика управляется линейным формирователем RS-422/485. Дифференциальная сигнализация усиливает устойчивость к электромагнитным помехам (EMI), делая протокол надежным каналом соединения на сверхдлинные расстояния с применением в сложных внешних условиях.
Интерфейс достаточно прост (см. Рис1), включает в себя 2 пары проводов: одна передает тактовые сигналы от master и других модулей для передачи данных от slave. Тактовые ряды запускаются через master по необходимости. Используются различные тактовые последовательности в диапазоне от 100 kHz до 2 MHz, количество тактовых импульсов зависит от количества данных в битах, которые необходимо передать.
Конструктивное решение
Наиболее простой SSI slave интерфейс использует повторно запускаемый моностабильный мультивибратор (монофлоп) для "замораживания" текущего значения датчика. Текущие "замороженные" значения slave сохраняются в сдвиговом регистре. Эти значения фиксируют такт последовательно при запуске с контроллера. Решение получило дополнительный импульс с внедрением микроконтроллеров, FPGA и ASIC внутри интерфейса.
Формат данных выполнен в таком виде, чтобы обеспечить надлежащую передачу данных. Протокол для передачи данных основан на трех различных субсеквентных частях (Leading-”1" -> Data-Bits -> Trailing-"0"). Основной смысл этого типа формата - достичь надлежащей работы интерфейса и обеспечить безопасную передачу данных, отделив от любых программно-аппаратных проблем.
В холостом положении CLOCK - на верхнем уровне, выход датчика также на верхнем уровне, поэтому его можно использовать для определения потери любого контакта проводки. Это помогает в достижении надлежащих рабочих кондиций интерфейса.
После n-CLOCK импульсов (нарастающий фронт сигнала) данные полностью передаются. Со следующим CLOCK импульсом (нарастание n+1) выход датчика переходит на нижний уровень, который используется дял определения короткого замыкания в проводке. Если уровень высок даже после n+1 нарастания, это означает, что интерфейс в коротком замыкании.
Считывание с нескольких slave (до 3) возможно одновременно присоединением slave устройств к общему тактовому сигналу. Кроме того, чтобы избежать контуры заземления и электрически изолировать slave, необходимо выполнить полную гальваническую изоляцию оптопарами.
Задание времени и передача данных
Следующие ключевые слова будут использоваться для понимания процедуры передачи данных через SSI.
- ‘tm’ представляет тайм-аут передачи (тип монофлопа). Это минимальное время, запрашиваемое slave для реализации передачи всего пакета данных. После tm, строка данных переходит к незанятой и slave запускает обновление своих данных в сдвиговом регистре.
- ‘tp’ представляет время паузы. Это задержка времени между двумя следующими друг за другом последовательностями от master.
- ‘tw’ представляет время повтора. Это минимальное время, пройденное между повторной передачей одинаковых данных, всегда меньше 'tm'.
- ‘T’ представляет ширину каждого такта. Это время, взятое между затухающими или нарастающими сигналами в непрерывной тактовой последовательности.
- MSB: наиболее важный бит
- LSB: наименее важный бит
Простая передача данных
Схема иллюстрирует передачу одного пакета данных через SSI протокол:
SSI в начальной стадии - в режиме ожидания, где и данные, и канал синхронизации остаются в значении HIGH и slave устройство сохраняет обновленными свои текущие данные.
Режим передачи вызывается, когда master запускает процесс тактовых импульсов. Как только slave получает начало тактового сигнала (1), автоматически "замораживаются" его текущие данные. С первым верхним краем сигнала (2) тактового ряда передается MSB значения датчика и, в следствие этого, верхний край сигнала, биты последовательно передаются на выход.
После передачи всего сообщения (3), когда LSB передан, дополнительный верхний край сигнала задает значение HIGH. Строка данных набирается до LOW и остается там в течение времени 'tm' до определения превышения лимита времени. Если тактовый сигнал (запрос данных на выходе) к тому времени получен, те же данные будут переданы снова (несколько передач данных).
Если нет тактовых импульсов во временных пределах 'tm', slave запускается, обновляя свое значение и строка данных набирается до HIGH (режим ожидания). Происходит маркировка окончания одной передачи слова данных. Как только slave получает тактовый сигнал за время tp (?tm), обновленное значение положения "замораживается" и передача значения начинается как описано выше.
1. "Заморозка" данных.
2. Передача первого bit данных.
3. Окончание передачи.
4. После паузы SSI возвращается в режим ожидания и готов к новой передаче данных.
Сложная передача данных
Несколько передач одинаковых данных случается при при непрерывно разгоне даже после передачи наименее важного бита. Иными словами, тактовые импульсы не позволяют монофлопу переходить в устойчивое состояние. Это проиллюстрировано ниже.
Начальные последовательности одинаковы, как и у одной передачи. В режиме ожидания строки CLOCK и DATA в режиме HIGH, но с первым нижним краем сигнала вызывается режим передачи; подобным образом биты данных передаются, начиная от MSB с каждым верхним краем сигнала. Передача LSB подразумевает, что передача данных закончена. Дополнительные верхние края сигнала толкают линию передачи к значению LOW, что означает окончание передачи конкретных данных.
Но и при наличии непрерывных тактовых импульсов значение slave не обновляется (т.е. следующий тактовый импульс следует по времени tw (< tm ). Это по причине неустойчивости монотриггера, значение в регистре сдвига остается тем же. Таким образом, со следующим верхним краем сигнала т.е. после n+1 нарастающего края, передача одинаковых данных повторяется и MSB данных, переданных раньше, повторно передается на конце tw.
Далее следует та же процедура, как и первая передача, направляя несколько передач одинаковых данных. Значение slave обновляется, только когда синхронизация между двумя тактовыми импульсами больше, чем перерыв передачи, tm.
Сложная передача используется для проверки интеграции данных. Два последовательно полученных значения сравниваются, ошибки передачи указываются разницей между двумя значениями.

Приглашаем к сотрудничеству региональных партнеров