В данном материале мы рассмотрим особенности двух интерфейсов абсолютных энкодеров.
Абсолютные датчики положения измеряют фактическое физическое положение в пределах одного оборота или в пределах диапазона линейного перемещения. Разрешение этих устройств может превышать 20 бит, а наиболее востребованный интерфейс - последовательный. Существует множество реализаций последовательного интерфейса, но только две: BiSS-C и SSI - с открытым исходным кодом и не требуют затрат на лицензирование.
Обзор интерфейсов BiSS-C и SSI с кратким изложением ключевых различий
BiSS и SSI на самом деле очень похожи – оба основаны на концепции ведущего и ведомого устройств, когда ведущее синхронизирует данные с ведомого устройства по последовательному каналу.
Блок-схема SSI
На приведенном выше рисунке показана блок-схема SSI: ведомый (SLAVE) - это датчик положения (энкодер), а ведущий или «мастер» (MASTER) – контроллер управления двигателем или другой программируемый контроллер (ПЛК, микроконтроллер и т.д.). Датчик непрерывно обновляет измеренное положение в выходном регистре. Чтобы считывать показания датчика, ведущее устройство (master) инициирует серию тактовых импульсов. Когда ведомое (slave) устройство обнаруживает первый тактовый импульс, оно останавливает выходной регистр, и самый значимый бит выводится в линию передачи данных. Мастер продолжает генерировать тактовые импульсы до тех пор, пока не будут переданы все биты в выходном регистре. В этот момент датчик возобновляет обновление выходного регистра.
Сигналы Clock (тактовый) и Data (данных) передаются по кабелю с витой парой дифференциально для повышения устойчивости к электромагнитным помехам.
Электрические характеристики соответствуют стандартам RS-422/485. Интерфейс недорогой, надежный и позволяет достигать скорости передачи до 10 Мбит/с (BiSS-C) по 10-метровому кабелю. Можно использовать более длинные кабели с меньшей скоростью передачи данных.
SSI
В интерфейсе SSI на каждое ведущее устройство приходится одно ведомое, что называется соединением точка-точка. Тактовые импульсы остаются высокими до тех пор, пока мастеру не потребуется информация от датчика. Затем он отправляет поток тактовых импульсов, эквивалентный количеству битов информации от энкодера. Выборки каждого бита обычно берутся на заднем фронте (спаде) тактового импульса. Это гарантирует, что задержки распространения и обработки будут учтены.
Так как SSI является каналом связи типа точка-точка, ведомые устройства не могут быть объединены в одну шину. SSI - однонаправленный, то есть передача данных осуществляется только от ведомого устройства к ведущему, и ведущее устройство не может отправлять данные конфигурации ведомому. Скорость связи для SSI ограничена 2 Мбит/сек.
Многие устройства с SSI интерфейсом реализуют двойную передачу данных для повышения целостности и безопасности канала связи. Управляющее устройство сравнивает передачи для обнаружения ошибок. Проверка четности (см. Глоссарий ниже) дополнительно повышает возможность обнаружения ошибок, если таковые возникнут.
SSI является относительно свободным стандартом, и существует множество модифицированных версий, включая опции для инкрементного интерфейса AqB или SSI + sin/cos 1Vpp для управления в реальном времени, поскольку данные абсолютного энкодера по запросу могут поступать слишком медленно для многих контуров управления. В этой реализации абсолютная позиция считывается только при запуске.
BiSS
BiSS-C — это последняя версия интерфейса BiSS.
Предыдущие версии (BiSS-B) фактически устарели. BiSS-C аппаратно совместим со стандартным SSI, но в каждом цикле данных мастер изучает и компенсирует задержки в линии, обеспечивая скорость передачи данных до 10 Мбит/с. Длина кабеля передачи сигнала может достигать 100 метров. Данные датчиков могут содержать несколько «каналов», поэтому информация о положении и статусе могут передаваться в одном кадре.
В BiSS-C используется более эффективный способ проверки целостности данных и обнаружения ошибок – циклический избыточный код, CRC (англ. Cyclic Redundancy Check) или другими словами контрольная сумма (см. Глоссарий ниже).
BiSS-C чаще всего задействуется в однонаправленном формате, как и SSI. Но BiSS-C также поддерживает двунаправленную связь. Обмен параметрами возможен без прерывания передачи данных с датчика. Это очень важно для цифрового управления в системах обратной связи двигателя.
BiSS-C распознает конец цикла и использует последний распознанный логический уровень на тактовой линии в качестве бита управления/данных для датчика, что позволяет настраивать параметры в течение нескольких циклов. BiSS-C как правило тоже используется в режиме «точка-точка», но предусматривает и передачу по шине. В шинной конфигурации все устройства соединены в цепочку. Таким образом, каждое ведомое устройство имеет два разъема — BiSS-In и BiSS-Out.
Тактовая линия является сквозной, поэтому каждый ведомый получает тактовый импульс одновременно с другими. Data-Out первого ведомого подключен к ведущему. Data-Out второго ведомого подключен к Data-In первого ведомого и так далее. Таким образом, данные от всех ведомых устройств передаются ведущему в одном непрерывном сообщении.
Основные преимущества BiSS-C
Поскольку двунаправленная передача и шина обычно не используются в приложениях управления движением, основными преимуществами BiSS-C являются скорость передачи и более надежная проверка ошибок без использования двойной передачи данных.
Быстрая передача данных означает низкую задержку, что очень важно для высокопроизводительного управления движением. SSI по-прежнему широко используется, но BiSS-C, благодаря своим преимуществам, продолжает демонстрировать значительный рост популярности.
Глоссарий
Четность
Существует две версии проверки четности: четная и нечетная. В случае четности датчик подсчитывает биты в данных о положении со значением 1. Если это число нечетное, значение бита четности устанавливается равным единице, что делает общее количество единиц в строке, включая бит четности, четным числом. Если количество единиц уже четное, бит четности устанавливается 0. Мастер выполняет такую проверку, чтобы убедиться, что бит данных не был поврежден при передаче.
CRC, контрольная сумма
Проверка циклическим избыточным кодом является более эффективным методом, чем проверка четности, которая может не обнаружить повреждение нескольких битов. Датчик применяет 16- или 32-битный полином к передаваемым данным о положении и добавляет результат. Мастер применяет тот же полином к данным и сравнивает его результат с результатом, переданным ведомым устройством. Если они совпадают, данные получены успешно.
BiSS-энкодер
Энкодер с передачей данных по BiSS предоставляет интерфейс с открытым исходным кодом для связи точка-точка или по шине, который может передавать полные данные об абсолютном положении, все то время, когда контроллер опрашивает энкодер (а не только при запуске). BiSS-энкодер использует четыре линии данных в виде витых пар: одна пара используется для передачи данных от датчика, одна пара используется для передачи от него данных синхронизации или тактовых, плюс две линии питания. Передача данных по BiSS, в случае мгновенного прерывания, может легко восстанавливаться во время работы.
BISS совместим на физическом уровне с оборудованием SSI и EnDat, требуя только доработки при программировании. BiSS позволяет обращаться к внутренним регистрам энкодера, которые мастер может считывать и записывать с данными о самом энкодере (идентификация, данные устройства, разрешение и т. д.).
Энкодеры с BiSS интерфейсом также могут передавать другие цифровые данные (температуру и т. д.) и передавать данные мастеру по запросу, не мешая работе в реальном времени.