Синхронный последовательный интерфейс
Синхронный последовательный интерфейс (SSI) — это широко используемый стандарт последовательного интерфейса для промышленных приложений между главным устройством (например, контроллером) и подчиненным устройством (например, датчиком). SSI основан на RS-422. [1] стандартами и имеет высокую эффективность протокола в дополнение к его реализации на различных аппаратных платформах, что делает его очень популярным среди производителей датчиков. SSI был первоначально разработан компанией Max Stegmann GmbH в 1984 году для передачи данных о положении абсолютных энкодеров – по этой причине некоторые производители сервоприводов и приводов называют свой порт SSI «интерфейсом Stegmann».Ранее он был защищен немецким патентом DE 34 45 617, срок действия которого истек в 1990 году. Он очень подходит для применений, требующих надежности и устойчивости при измерениях в различных промышленных условиях.
Она отличается от шины последовательного периферийного интерфейса (SPI): шина SSI является дифференциальной , симплексной , немультиплексированной и использует тайм-аут для формирования кадра данных. Шина SPI является несимметричной , дуплексной и использует сигнал выбора чипа для формирования кадра данных. Однако периферийные устройства SPI на микроконтроллерах могут реализовать SSI с внешними дифференциальными драйверами и программно управляемой синхронизацией.
Введение [ править ]
SSI — это синхронный последовательный канал связи «точка-точка» для передачи цифровых данных. Синхронная передача данных — это передача данных путем синхронизации передачи на принимающей и отправляющей сторонах с использованием общего тактового сигнала. Поскольку стартовый и стоповый биты отсутствуют, это позволяет лучше использовать полосу пропускания передачи данных для большего количества битов сообщения и делает весь процесс передачи проще и легче. Тактовому сигналу необходима собственная полоса пропускания, и его следует учитывать при определении общей пропускной способности, необходимой для связи между двумя устройствами.
В общем, как упоминалось ранее, это двухточечное соединение ведущего устройства (например, ПЛК, микроконтроллера) с ведомым устройством (например, поворотными энкодерами ). Ведущее устройство управляет тактовой последовательностью, а ведомое передает текущие данные/значения через сдвиговый регистр. При вызове ведущего устройства данные извлекаются из сдвигового регистра. Ведущий и ведомый синхронизируются по общим часам контроллера.
Сигналы CLOCK и DATA передаются в соответствии со стандартами RS-422. RS-422, также известный как ANSI/TIA/EIA-422-B, представляет собой технический стандарт, определяющий электрические характеристики схемы цифрового интерфейса со сбалансированным напряжением. Данные передаются с использованием симметричной или дифференциальной сигнализации, т.е. линии CLOCK и DATA представляют собой витую пару.
На входах можно использовать оптопару для уменьшения электромагнитных помех (EMI), что делает его надежным каналом связи на больших длинах передачи и в суровых внешних условиях.
Дизайн SSI [ править ]
Интерфейс имеет простой дизайн. Он состоит из двух пар проводов: одна для передачи тактовых сигналов от ведущего устройства, а другая для передачи данных от ведомого устройства. Тактовые последовательности запускаются ведущим, когда возникает необходимость. Могут использоваться разные тактовые частоты в диапазоне от 100 кГц до 2 МГц, а количество тактовых импульсов зависит от количества передаваемых битов данных.
Самый простой ведомый интерфейс SSI использует перезапускаемый моностабильный мультивибратор (монофлоп) для фиксации текущего значения датчика. Текущие замороженные значения ведомого устройства сохраняются в регистрах сдвига. Эти значения фиксируются последовательно по инициативе контроллера.
Формат данных разработан таким образом, чтобы обеспечить правильную передачу данных. Протокол передачи данных основан на трех различных последовательных частях (ведущая-"1" -> биты данных -> завершающая-"0"). Основное значение этого типа формата заключается в обеспечении правильной работы интерфейса. и, следовательно, безопасная передача данных без каких-либо аппаратных или программных ошибок.
В состоянии ожидания CLOCK находится на высоком уровне, а выходной сигнал датчика — на высоком уровне, поэтому его можно использовать для обнаружения любых обрывов проводных контактов. Это помогает следить за правильным рабочим состоянием интерфейса.
После импульсов n-CLOCK (нарастающие фронты) данные передаются полностью. Со следующим импульсом CLOCK (нарастающий фронт n+1) выходной сигнал датчика переходит на низкий уровень, который можно использовать для обнаружения короткого замыкания в кабеле. Если он высокий даже после n+1 нарастающих фронтов, это означает, что интерфейс имеет короткое замыкание.
Чтение с нескольких ведомых устройств (до трех) можно включить одновременно, подключив их к общим часам. Однако, чтобы избежать контуров заземления и электрически изолировать ведомое устройство, необходима полная гальваническая развязка с помощью оптронов.
и Синхронизация передача SSI
Следующие ключевые слова помогут понять процедуру передачи данных SSI.
- «tm» представляет тайм-аут передачи (время монофлопа). Это минимальное время, необходимое ведомому устройству для того, чтобы понять, что передача данных завершена. После tm линия данных переходит в режим ожидания, и ведомое устройство начинает обновлять свои данные в сдвиговом регистре.
- «tp» представляет время паузы. Это временная задержка между двумя последовательными тактовыми последовательностями от ведущего устройства.
- «tw» представляет время повторения. Это минимальное время, прошедшее между повторными передачами одних и тех же данных, и оно всегда меньше tm.
- «T» представляет ширину каждого тактового цикла. Это время, необходимое между двумя спадающими или двумя нарастающими фронтами в непрерывной последовательности часов.
- MSB: Самый старший бит
- LSB: младший бит
Одиночная передача [ править ]
На схеме показана одиночная передача данных по протоколу SSI:
Первоначально SSI находится в режиме ожидания, где линии данных и тактовой частоты остаются ВЫСОКИМ, а ведомое устройство продолжает обновлять свои текущие данные.
Режим передачи активируется, когда ведущий инициирует последовательность тактовых импульсов. Как только ведомое устройство получает начало тактового сигнала (1), оно автоматически замораживает свои текущие данные. При первом нарастающем фронте (2) тактовой последовательности передается старший бит значения датчика, а при последующих нарастающих фронтах биты последовательно передаются на выход.
После передачи полного слова данных (3) (т.е. передается младший бит) дополнительный нарастающий фронт тактового сигнала устанавливает на линии тактового сигнала ВЫСОКИЙ уровень. Линия данных устанавливается на НИЗКИЙ уровень и остается там в течение периода времени tm, чтобы распознать тайм-аут передачи. Если в течение этого времени будет получен тактовый сигнал (запрос на вывод данных), те же данные будут переданы снова (многократная передача).
Подчиненное устройство начинает обновлять свое значение, и линия данных устанавливается на ВЫСОКИЙ (режим ожидания), если в течение времени нет тактовых импульсов, tm. Это отмечает конец одиночной передачи слова данных. Как только ведомое устройство получает тактовый сигнал за раз, tp (>=tm), обновленное значение позиции фиксируется, и передача значения начинается, как описано ранее.
Множественные передачи [ править ]
Многократные передачи одних и тех же данных происходят только в том случае, если происходит непрерывная синхронизация даже после передачи младшего бита, т.е. тактовые импульсы не позволяют монофлопу перейти в устойчивое состояние. Это показано ниже.
Начальные последовательности такие же, как и при одиночной передаче. В состоянии ожидания линии CLOCK и DATA имеют высокий уровень, но с приходом первого спадающего фронта активируется режим передачи, и аналогичным образом биты данных передаются последовательно, начиная со старшего бита с каждым нарастающим фронтом. Передача LSB означает, что передача данных завершена. Дополнительный нарастающий фронт переводит линию данных в состояние LOW, что означает окончание передачи конкретных данных.
Но если даже после этого имеются непрерывные тактовые импульсы (т. е. следующие тактовые импульсы приходят через время tw (< tm)), значение ведомого устройства не обновляется. Это связано с тем, что монофлоп все еще неустойчив и значение в сдвиговом регистре все еще содержит то же значение, что и раньше. Таким образом, со следующим нарастающим фронтом, т.е. после нарастающего фронта n+1, передача тех же данных продолжается, и старший бит данных, переданных ранее, повторно передается в конце 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 к микроконтроллеру, [1]
- National Instruments, «Что такое последовательный синхронный интерфейс (SSI)?»
- Texas Instruments, «SSI и SPI как взаимозаменяемые термины»
- SSI (на немецком языке), «Синхронно-последовательный интерфейс».