Синхронный последовательный интерфейс (SSI) - широко используемый стандарт последовательного интерфейса для промышленных приложений между главным устройством (например, контроллером) и подчиненным устройством (например, датчиком). SSI основан на стандартах RS-422 [1] и имеет высокую эффективность протокола в дополнение к его реализации на различных аппаратных платформах, что делает его очень популярным среди производителей датчиков. SSI был первоначально разработан Max Stegmann GmbH в 1984 году для передачи данных положения абсолютных энкодеров.- по этой причине некоторые производители сервоприводного оборудования называют свой порт SSI «интерфейсом Штегмана». Ранее он был защищен немецким патентом DE 34 45 617, срок действия которого истек в 1990 году. Он очень подходит для приложений, требующих надежности и устойчивости при измерениях в различных промышленных условиях.
Она отличается от шины последовательного периферийного интерфейса (SPI): шина SSI является дифференциальной , симплексной , не мультиплексированной и использует тайм-аут для кадрирования данных. Шина SPI является несимметричной , дуплексной и использует строку выбора для кадрирования данных. Однако периферийные устройства SPI на микроконтроллерах могут реализовать SSI с внешними дифференциальными микросхемами драйверов и программно управляемой синхронизацией.
Вступление
SSI - это синхронный последовательный канал связи точка-точка для передачи цифровых данных. Синхронная передача данных - это передача данных путем синхронизации передачи на приемной и отправляющей сторонах с использованием общего тактового сигнала. Поскольку стартовые и стоповые биты отсутствуют, это позволяет лучше использовать полосу пропускания передачи данных для большего количества битов сообщения и упрощает весь процесс передачи. Часы нуждаются в собственной полосе пропускания и должны учитываться при определении общей полосы пропускания, необходимой для связи между двумя устройствами.
В общем, как упоминалось ранее, это двухточечное соединение от ведущего (например, ПЛК, микроконтроллер) к ведомому (например, угловые энкодеры ). Ведущее устройство управляет тактовой последовательностью, а ведомое устройство передает текущие данные / значение через регистр сдвига. При вызове мастером данные синхронизируются из сдвигового регистра. Ведущее устройство и ведомое устройство синхронизируются общими часами контроллера.
Сигналы ЧАСЫ и ДАННЫЕ передаются в соответствии со стандартами RS-422. RS-422, также известный как ANSI / TIA / EIA-422-B, представляет собой технический стандарт, определяющий электрические характеристики схемы цифрового интерфейса с балансным напряжением. Данные передаются с использованием сбалансированной или дифференциальной сигнализации, т. Е. Линии CLOCK и DATA в основном представляют собой кабели с витой парой.
Входы могут использовать оптопару для гальванической развязки (Подробнее см. [1] ), которая может управляться уровнями RS-422/485. Выход DATA датчика управляется линейным драйвером RS-422/485. Дифференциальная сигнализация повышает устойчивость к электромагнитным помехам (EMI), что делает ее надежным каналом связи при большой длине передачи и в суровых внешних условиях.
SSI дизайн
Интерфейс имеет очень простой дизайн, как показано на рисунке выше. Он состоит из 2 пар проводов, одна для передачи тактовых сигналов от ведущего, а другая для передачи данных от ведомого. При необходимости тактовые последовательности запускаются мастером. Могут использоваться разные тактовые частоты в диапазоне от 100 кГц до 2 МГц, а количество тактовых импульсов зависит от количества передаваемых битов данных.
В простейшем подчиненном интерфейсе SSI используется перезапускаемый моностабильный мультивибратор (monoflop) для фиксации текущего значения датчика. Текущие фиксированные значения ведомого устройства сохраняются в регистрах сдвига. Эти значения синхронизируются последовательно, когда они инициируются контроллером. Революция в дизайне связана с интеграцией в интерфейс микроконтроллеров, FPGA и ASIC.
Формат данных разработан таким образом, чтобы обеспечить надлежащую передачу данных. Протокол передачи данных основан на трех различных последующих частях (Ведущий - «1» -> Биты данных -> Конечный - «0»). Основное значение этого типа формата - обеспечение правильной работы интерфейса. и, следовательно, безопасная передача данных без каких-либо аппаратных или программных ошибок.
В состоянии ожидания ЧАСЫ находятся на высоком уровне, а также на выходе датчика высокий уровень, так что его можно использовать для обнаружения любых обрывов контактов проводов. Это помогает в соблюдении надлежащего рабочего состояния интерфейса.
После импульсов n-CLOCK (нарастающие фронты) данные полностью передаются. При следующем импульсе ЧАСОВ (передний фронт n + 1) выход датчика переходит на низкий уровень, который можно использовать для обнаружения короткого замыкания в кабеле. Если он высокий даже после n + 1 нарастающих фронтов, это означает, что в интерфейсе произошло короткое замыкание.
Считывание с нескольких ведомых устройств (до трех) можно включить одновременно, подключив их к общим часам. Однако, чтобы избежать контуров заземления и электрически изолировать ведомое устройство, необходима полная гальваническая развязка с помощью оптопар.
Время и передача SSI
Следующие ключевые слова будут полезны для понимания процедуры передачи данных SSI.
- «tm» представляет таймаут передачи (время монофлопа). Это минимальное время, необходимое ведомому устройству, чтобы понять, что передача данных завершена. После tm линия данных переходит в режим ожидания, и ведомое устройство начинает обновлять свои данные в регистре сдвига.
- «tp» представляет время паузы. Это временная задержка между двумя последовательными последовательностями часов от мастера.
- «tw» представляет время повторения. Это минимальное время, прошедшее между повторными передачами одних и тех же данных, и оно всегда меньше tm.
- «T» представляет ширину каждого тактового цикла. Это время между двумя спадающими или двумя нарастающими фронтами в непрерывной тактовой последовательности.
- MSB: старший бит
- LSB: младший значащий бит
Одиночная передача
На схеме показана однократная передача данных по протоколу SSI:
Первоначально SSI находится в режиме ожидания, когда линии данных и часов остаются на ВЫСОКОМ уровне, а ведомое устройство продолжает обновлять свои текущие данные.
Режим передачи активируется, когда мастер инициирует последовательность тактовых импульсов. Как только ведомое устройство получает начало тактового сигнала (1), оно автоматически замораживает свои текущие данные. С первым нарастающим фронтом (2) тактовой последовательности передается старший бит значения датчика, а с последующими нарастающими фронтами биты последовательно передаются на выход.
После передачи полного слова данных (3) (т. Е. Передается младший бит) дополнительный передний фронт тактовой частоты устанавливает высокий уровень тактовой частоты. Линия данных установлена в LOW и остается там в течение периода времени tm, чтобы распознать тайм-аут передачи. Если в течение этого времени будет получен тактовый сигнал (запрос на вывод данных), те же данные будут переданы снова (множественная передача).
Подчиненное устройство начинает обновлять свое значение, и линия данных устанавливается на ВЫСОКИЙ (режим ожидания), если в течение времени нет тактовых импульсов, tm. Это означает конец однократной передачи слова данных. Как только ведомое устройство получает синхронизирующий сигнал за раз, tp (> = tm), обновленное значение позиции фиксируется, и передача значения начинается, как описано ранее.
Множественные передачи
Множественные передачи одних и тех же данных происходят только в том случае, если существует непрерывная синхронизация даже после передачи младшего значащего бита, то есть тактовые импульсы не позволяют монофлопу перейти в устойчивое состояние. Это проиллюстрировано ниже.
Начальные последовательности такие же, как и для одиночной передачи. В состоянии ожидания линии CLOCK и DATA имеют высокий уровень, но с приходом первого спадающего фронта активируется режим передачи, и аналогично биты данных передаются последовательно, начиная с MSB с каждым нарастающим фронтом. Передача LSB означает, что передача данных завершена. Дополнительный нарастающий фронт подталкивает линию данных к НИЗКОМУ, что означает конец передачи конкретных данных.
Но, если есть непрерывные тактовые импульсы даже после этого (т. Е. Следующие тактовые импульсы приходят через время tw (
Затем он следует той же процедуре, что и предыдущие передачи, что приводит к нескольким передачам одних и тех же данных. Значение ведомого устройства обновляется только тогда, когда время между двумя тактовыми импульсами больше таймаута передачи tm.
Многократная передача используется для проверки целостности данных. Два последовательных полученных значения сравниваются, сбои передачи указываются разницей между двумя значениями.
Прерывание передачи
Передача данных контролируется мастером, и передача может быть прервана в любое время, просто остановив тактовую последовательность, на период, превышающий tm. Подчиненное устройство автоматически распознает тайм-аут передачи и перейдет в режим ожидания.
Кабельная разводка - по стандартам RS-422
Поскольку SSI основан на стандартах RS-422, необходимо выбрать соответствующие кабели и не выходить за пределы длины кабеля и тактовых частот.
Соотношение между длиной кабеля и тактовой частотой показано на следующем рисунке. [2] Это можно использовать как консервативный ориентир. Эта кривая основана на эмпирических данных с использованием стандартного медного кабеля сечением 24 AWG , неэкранированного телефонного кабеля с витой парой с шунтирующей емкостью 52,5 пФ / м (16 пФ / фут), подключенного к резистивной нагрузке 100 Ом. Ограничение длины кабеля, показанное кривой, основано на предполагаемых требованиях к качеству сигнала нагрузки:
- Время нарастания и спада сигнала равно или меньше половины единичного интервала при соответствующей скорости переключения данных.
- Максимальная потеря напряжения между генератором и нагрузкой 66%
При использовании высоких скоростей передачи данных приложение ограничивается более короткими кабелями. При низкой скорости передачи данных можно использовать более длинные кабели. Сопротивление кабеля постоянному току ограничивает длину кабеля для приложений с низкой скоростью передачи данных за счет увеличения запаса помехоустойчивости по мере увеличения падения напряжения в кабеле. Воздействие переменного тока кабеля ограничивает качество сигнала и ограничивает длину кабеля небольшими расстояниями при использовании высоких скоростей передачи данных. Примеры комбинаций скорости передачи данных и длины кабеля варьируются от 90 кбит / с на расстоянии 1,2 км до 10 Мбит / с на расстоянии 5 м для RS-422.
Кабели, имеющие характеристики, отличные от витой пары 24 AWG, 52,5 пФ / метр (16 пФ / фут), также могут использоваться в пределах, указанных выше. Во-первых, определите абсолютные значения сопротивления контура и емкости типичного кабеля 24 AWG, исходя из длины кабеля, связанной с желаемой скоростью передачи данных, указанной на рисунке. Затем преобразуйте эти значения в эквивалентную длину фактически используемого кабеля. Например, при использовании 19 AWG можно было бы увеличить расстояние, а для 28 AWG - меньшее расстояние.
Максимально допустимая длина кабеля, разделяющего ведущий и ведомый, зависит от скорости передачи данных и зависит от допустимого искажения сигнала, количества продольно связанных шумов и разностей потенциалов заземления, возникающих между ведущей и ведомой цепями. Соответственно, пользователям рекомендуется ограничивать длину кабеля до минимума. Тип и длина используемого кабеля должны обеспечивать необходимое качество сигнала, необходимое для конкретного приложения. Кроме того, баланс кабеля должен быть таким, чтобы поддерживать приемлемые уровни перекрестных помех, как генерируемых, так и принимаемых.
Производные протоколы
Некоторые производители и организации [3] добавили дополнительную информацию к основному протоколу SSI. Это было сделано в основном для обеспечения правильной передачи данных. Для безопасной передачи и для обозначения конца передачи данных могут быть добавлены биты CRC или биты четности. Проще говоря, они использовались для определения того, был ли байт правильно интерпретирован и принят. В исходной спецификации для обеспечения целостности данных использовалось несколько передач. В этом случае были инициированы две последовательные передачи одних и тех же данных, которые сравнивались на предмет ошибок при передаче. Но это, однако, снижает эффективность протокола на 50% по сравнению с параллельной передачей данных.
Преимущества
- Последовательная передача данных сократила проводку. Это, в дополнение к простоте конструкции SSI из-за использования минимального количества компонентов, значительно снизило стоимость и создало большую полосу пропускания для передачи битов сообщений.
- Высокая устойчивость к электромагнитным помехам за счет стандартов RS-422 и более высокая надежность передачи данных за счет дифференциальной сигнализации.
- Оптимальная гальваническая развязка
- Полная гибкость протокола для количества передаваемых битов. Не ограничен определенным количеством слов и имеет произвольный выбор размера сообщения.
- Подчиненные устройства используют часы главного устройства и, следовательно, не нуждаются в прецизионных генераторах.
- SSI позволяет подключить до трех ведомых устройств к общим часам. Следовательно, можно получать значения от нескольких датчиков.
Ограничения этого интерфейса незначительны для приложений в промышленной автоматизации. SSI поддерживает связь только на короткие расстояния (до 1,2 км) и поддерживает только одно ведущее устройство. Но 1,2 км - довольно хорошее расстояние для связи по стандартам индустрии автоматизации. По сравнению с передовыми системами связи, основанными на полевых шинах или Ethernet, SSI ограничивается архитектурой ведущего ведомого и простой двухточечной связью между ведущим и ведомым . Другой недостаток состоит в том, что нет аппаратного подтверждения ведомого устройства, то есть обнаружения ведомого устройства для связи.
Смотрите также
Рекомендации
Внешние ссылки
- POSITAL, подключение устройства SSI к микроконтроллеру, [2]
- National Instruments, "Что такое последовательный синхронный интерфейс (SSI)?"
- Texas Instruments, «SSI и SPI как взаимозаменяемые термины»
- SSI (на немецком языке), "Synchron-Serielle Schnittstelle"