Цифровой изолятор упрощает гальваническую развязку шины USB в медицинских и промышленных системах

№ 7’2009
PDF версия
Персональный компьютер (ПК), являющийся сегодня стандартом де-факто для передачи информации дома и в офисе, общается с большинством периферийных устройств по универсальной последовательной шине (USB). Стандартизированность, цена, доступность программного обеспечения сделали платформу ПК привлекательной в качестве хост-процессора для медицинских и промышленных приложений, но требования к безопасности и надежности, установленные на этих растущих рынках, сильно отличаются от офисных и домашних применений, для которых и была создана эта платформа.

Ранее ПК снабжались последовательным и параллельным портами в качестве интерфейсов с внешним миром. Соответствующие этим портам стандарты были унаследованы от более ранних систем. Другой доступный коммуникационный стандарт, RS-232, хотя и был медленный, хорошо подходил к медицинским и промышленным применениям, так как позволял легко реализовывать требуемый уровень изоляции. Несмотря на его низкую скорость и допустимость только соединений «точка-точка», он применялся повсеместно за счет универсальности и хорошей поддержки. USB, пришедший на замену RS-232 в качестве стандартного периферийного порта в ПК, имел намного больше возможностей, нежели RS-232. Однако построить изолированный USB-интерфейс было достаточно сложно и весьма дорого, так что USB в основном использовался для портов диагностики и временных соединений.

Эта статья описывает различные пути создания изолированного интерфейса USB. В частности, рассмотрена возможность развязки с помощью новой микросхемы от Analog Devices — USB-изолятора ADuM4160. Этот инновационный продукт позволяет создать простую, недорогую изоляцию периферийных устройств, включая дифференциальные сигналы D+ и D-, он увеличивает возможности использования USB в медицинских и промышленных применениях.

Об универсальной последовательной шине (USB)

USB — основной последовательный интерфейс для ПК. Поддерживаемый всеми основными коммерческими операционными системами, он позволяет организовать соединение между аппаратной и программной частью «на лету». На одной шине, организуемой по принципу дерева с помощью хабов, может находиться до 127 устройств. Много различных режимов передачи данных образуют всевозможные варианты: от передачи большими блоками в/из внешней памяти до изохронных передач потоковых данных или приема данных по прерываниям, например от мыши. USB работает на трех допустимых максимальных скоростях передачи данных: Low Speed (1,5 Мбит/с), Full Speed (12 Мбит/с), High Speed (480 Мбит/с). Когда стандарт создавался, были выделены основные его применения — соединения должны быть простыми и надежными, в то время как вся сложность заключалась в физическом уровне передачи и в контроллере.

На физическом уровне USB состоит из четырех шин: две — питание (5 В) и заземление, две другие — дифференциальные линии D+ и D- в витой паре (рис. 1). Эти линии также могут передавать однонаправленные данные, как, например, состояние простоя, реализованное на резисторах. Когда к шине присоединяется устройство, токи, текущие по этим резисторам, определяют скорость передачи данных и устанавливают неуправляемое состояние простоя. Данные организованы в кадры или пакеты. Каждый кадр может содержать биты синхронизации тактового сигнала, идентификатор типов данных, адрес устройства, сами данные и последовательность конца пакета (EOP).

Рис. 1. Стандартные элементы шины USB

Управление этой сложной структурой данных возложено на движок последовательного интерфейса (SIE), находящийся на каждом конце кабеля. Этот специализированный контроллер (или часть большого контроллера, который обычно включает аппаратную часть USB-передатчика) и реализует протокол передачи данных USB. Во время процесса перечисления (enumeration), когда периферийное устройство впервые присоединяется к кабелю, SIE устройства предоставляет хосту информацию о скорости передачи данных и требования по питанию. В процессе работы SIE форматирует данные в соответствии с требуемым типом передачи данных, выполняет проверку на ошибки передачи и обработку состояний сбоя. SIE выполняет всю процедуру контроля потока данных на шине, включая/отключая приемники и передатчики в нужный момент. Хост инициализирует все транзакции, затем следует четко определенная процедура передачи, в которую входят и действия в случае сбоев. SIE может быть включен в состав микропроцессора, предоставляя только линии D+ и D- для периферии. Изоляция такой шины сталкивается с несколькими проблемами:

  1. Изоляторы почти всегда однонаправленные устройства, в то время как D+ и D- — двунаправленные.
  2. SIE сам по себе не представляет возможности для определения направления передачи данных.
  3. Изоляторы должны быть совместимы с резисторами притяжки, и токи через них должны проходить барьер изоляции.

При попытке изоляции USB-интерфейса разработчик пытается обойти эти трудности, используя, как правило, одно из описанных далее решений.

Рис. 2. Изоляция через интерфейс RS-232

Первое решение

Вывести USB-интерфейс полностью из изолируемого устройства (рис. 2). Многие устройства используют похожие последовательные шины и преобразователи, например RS232-to-USB. SIE функционирует как обычный последовательный интерфейс; изоляция реализована на медленных последовательных соединениях. Такой вариант не использует всех преимуществ шины. Фактически, это обычный последовательный порт с подключением «на лету». Микросхема интерфейса позволяет путем перепрошивки подключать различные периферийные устройства, каждое, однако, со своим собственным адаптером, что влечет неудобство в обслуживании, если адаптер не был включен в состав периферийного устройства. Вдобавок скорость ограничивается скоростью RS-232, что значительно ниже скорости USB даже в Low Speed варианте.

Рис. 3. Изоляция SIE через интерфейс SPI

Рис. 3. Изоляция SIE через интерфейс SPI

Второе решение

Использовать отдельные SIE, имеющие легко изолируемый интерфейс (рис. 3). Некоторые продукты на рынке имеют быстрый однонаправленный интерфейс для связи SIE с микропроцессором, например SPI. Цифровые изоляторы, такие как ADuM1401C, позволят полностью изолировать шину SPI. SIE имеет буферную память, заполняемую через интерфейс SPI, так что скорость работы SPI может не зависеть от скорости USB. SIE будет взаимодействовать с хостом на максимально допустимой скорости и передавать данные до исчерпания буфера, затем сообщит хосту о необходимости повтора, если ожидаются еще данные, позволяя SPI заново наполнить буфер. Несмотря на то, что эта схема весьма эффективна, она обычно требует модификации драйверов и обхода уже имеющихся в процессоре решений USB. Надо учесть и то, что это решение дорогое — с точки зрения внешних компонентов и места на плате.

Рис. 4. Изоляция внешнего USB-трансивера

Третье решение

Если SIE микропроцессора использует внешний трансивер, могут быть изолированы линии данных и управления от процессора к трансиверу (рис. 4). Но для USB необходимо 9 однонаправленных шин между процессором и трансивером, что приводит к увеличению числа высокоскоростных изоляторов. Кроме того, самый быстрый цифровой изолятор имеет скорость 150 Мбит/с, ограничивая область применения только Low- и Full Speed периферией. Это решение полностью совместимо с программной частью USB, что уменьшает затраты на разработку, но большое число каналов усложняет аппаратную часть. Существующие тенденции рынка, направленные в сторону увеличения степени интеграции, делают этот вариант все менее конкурентоспособным.

Рис. 5. Изоляция линий D+/D—

Четвертое решение

Применить изоляцию напрямую к линиям D+ и D- (рис. 5). Это решение позволяет добавить изоляцию D+/D- к уже существующим решениям без какой-либо модификации программной (переписывание драйверов) или аппаратной (дополнительный SIE) части, что является существенным преимуществом по сравнению с другими решениями. Изолирование дифференциальных линий, однако, усложняет решение, так как микросхема должна быть способна сама контролировать поток данных как SIE, работать с резисторами притяжки и разрешать им работу через барьер изоляции, при этом не требуя изменений в драйверах USB.

Эти проблемы были разрешены цифровым изолятором USB ADuM1460 (рис. 6), микросхемой, непосредственно изолирующей линии D+/D- на скоростях до 12 Мбит (Full Speed).

Рис. 6. Блок-схема ADuM4160

Рис. 6. Блок-схема ADuM4160

Технология производства цифровых изоляторов iCoupler особенно хорошо подходит для изоляции USB. Основная трудность в разработке USB-изоляции на основе этой технологии — определение направления передачи данных: когда отключать соответствующий драйвер для перевода в режим простоя. Пакетно-ориентированная природа шины USB позволяет реализовать простой метод определения направления передачи данных без реализации полного SIE. Когда шина находится в состоянии простоя, резисторы притяжки удерживают ее в этом состоянии без использования драйверов и буферов.

ADuM4160 следит за состоянием «левого» и «правого» сегмента шины, ожидая смены состояния на любом направлении. Когда определена смена состояния, она кодируется и передается через барьер. Данные декодируются, и соответствующий драйвер включается, разрешая передачу данных. По первой передаче определяется ее направление, и канал в обратную сторону отключается. Изолятор продолжает передавать данные в том же направлении, пока продолжается прием данных. Когда пакет USB закончен, передается специальная последовательность, end-of-packet (EOP). EOP содержит недифференциальный сигнал, который не должен быть включен в какую-либо структуру данных. Изолятор может отличить маркер EOP от данных. По этому сигналу шина возвращается в состояние простоя, выходные драйверы отключаются, и микросхема снова начинает ожидать первой передачи данных с любой из сторон.

Рис. 7. Изолированный порт периферийного устройства

Рис. 7. Изолированный порт периферийного устройства

Кроме того, сторожевые таймеры вернут шину в состояние простоя в случае каких-то проблем. ADuM4160 использует одно из ключевых преимуществ технологии iCoupler — изоляцию на основе смены состояния линии.

Изолятор также должен контролировать резисторы притяжки. Каждая сторона изолятора поддерживает независимый сегмент шины USB, со всеми резисторами смещения, установленными в режим простоя линии. При-тяжка резистором к питанию сигнализирует, что новое устройство должно пройти через процедуру инициализации. Зная скорость передачи периферийного устройства и время, когда притяжка должна быть подключена, можно контролировать процесс инициализации. Допустимы различные комбинации напряжений питания «левой» и «правой» части. Изолятор создан, чтобы предсказуемо работать на всех указанных комбинациях напряжений питания. Периферийное устройство может «захотеть» задержать подключение резистора притяжки на время, например, если надо завершить собственную инициализацию перед подключением к USB. ADuM4160 предоставляет такую возможность с помощью внешнего вывода, сообщающего о том, что инициализация происходит.

Рис. 8. Изолированный хаб

Другие возможности микросхемы включают в себя работу от 5-В или 3,3-В источника питания. Так, только одно питание требуется для работы периферии; это может быть любое из них. ADuM4160 также разработан с повышенными требованиями к электростатической защите для возможности «горячего» подключения D+/D- без внешних защитных схем в большинстве случаев.

ADuM4160 лучше всего использовать в следующих трех случаях:

  • При установке его в периферийное устройство для изоляции USB-порта. ADuM4160 был создан для работы в такой конфигурации в качестве базовой. Это упростило конфигурации схем питания и управления (рис. 7).
  • Он может быть использован для изолирования хаба и, вследствие этого, всей подключенной к хабу периферии (рис. 8).
  • Он может быть использован в изолированном кабеле (рис. 9).

Рис. 9. Изолированный интерфейсный кабель с DC/DC-преобразователем isoPower

Рис. 9. Изолированный интерфейсный кабель с DC/DC-преобразователем isoPower

В применении с периферией (рис. 7), когда периферия имеет собственный источник питания, собственное потребление изолятора крайне мало — около 10 мВ для работы «левой» части и резистора притяжки. Так как периферия работает на одной конкретной скорости, изолятор жестко установлен в желаемый режим работы (Low Speed или Full Speed). Если порт периферии «хочет» работать на скорости High Speed, то в процессе инициализации он должен послать соответствующий пилообразный паттерн. Это должно инициировать работу на скорости High Speed, но ADuM4160 блокирует этот паттерн и автоматически заставляет периферию работать на скорости Full Speed. Для маломощной периферии без собственного источника питания в качестве источника и для периферии, и для ADuM4160 может применяться изолированный DC/DC-преобразователь, например ADuM5000. При использовании в качестве изолятора хаба (рис. 8) ADuM4160 считает хаб своей периферией.

ADuM4160 установлен на скорость Full Speed; остальная часть аналогична уже обсужденной в предыдущем абзаце. Хаб будет принудительно работать в режиме Full Speed из-за вмешательства ADuM4160 в его High Speed-паттерн. Микросхема хаба может позволять соединяться с ней на различных скоростях, несмотря на то, что изолятор работает на фиксированной скорости. Хаб также предоставляет питание для «правой» части, и инициализация может начинаться как при включении питания, так и сигнале от периферии. Хаб обычно требует больше питания, чем может поступать через кабель с помощью изолированного DC/DC-преобразователя.

Схема с изолированным USB-кабелем (рис. 9) требует использования внешнего изолированного DC/DC-преобразователя в качестве источника питания «правой» части и изолированного сегмента кабеля. Чтобы соответствовать требованиям стандарта USB, «правый» сегмент кабеля должен предоставить 5-В питание для резистора притяжки периферийного устройства. Изолированный DC/DC-преобразователь, такой как ADuM5000, может предоставить это питание, при этом останется еще и на питание изолированного периферийного устройства, если оно малопотребляющее. На рис. 9 показано применение такого изолятора isoPower ADuM5000. В этой схеме установка скорости с помощью конфигурации выводов становится несколько неудобной: кабель будет работать только на указанной скорости. Так что лучше сделать схему с возможностью выбора скорости работы кабеля.

Заключение

USB-интерфейс используется очень широко. ADuM4160, инновационный продукт в серии цифровых изоляторов, позволяет создать простую и недорогую изоляцию периферийных устройств на шине USB. Это, в свою очередь, может увеличить проникновение USB в медицинские и промышленные приложения не только в качестве диагностических портов и временных соединений. ADuM4160 как изолятор для линий D+/D- делает разработку схемы предельно простой. Поддержка Low Speed и Full Speed скоростей предоставляет большой диапазон для широкого круга применений.

Литература

  1. Иоффе Д., Романов О. Изолирующие микросхемы на основе технологии iCoupler фирмы Analog Devices // Компоненты и технологии. 2006. № 7.
  2. Применение устройств гальванической развязки цифрового сигнала iCoupler в интерфейсах RS-232, RS-485 и CAN // Компоненты и технологии. 2005. № 9.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *