RS485 — стандарт промышленных сетей. Какими особенностями обладает микросхема приемопередатчика?
При построении сети для общения между большим количеством устройств, можно задуматься:, а какой интерфейс выбрать? У каждого интерфейса есть свои плюсы и минусы, которые определяют их применение: CAN — автомобилестроение, RS485/RS232 — промышленность, Ethernet — потребительская электроника/сервера. Какие «фичи» микросхемы приёмопередатчика помогают обезопаситься от множества проблем при монтаже и эксплуатации? Как происходит процесс измерений и исследования микросхем приемопередатчиков? Новая микросхема RS485 готова к выходу на рынок!
RS485 — что ты такое?
Итак, прежде, чем говорить о самой микросхеме необходимо разобраться что из себя представляет сам стандарт передачи данных.
В RS-485 для передачи и приёма данных используется витая пара. Передача данных осуществляется с помощью дифференциальных сигналов, а это в свою очередь обеспечивает высокую устойчивость к синфазной помехе. Разница напряжений одной полярности означает логическую единицу, разница другой полярности означает логический ноль.
Устойчивость к синфазной помехе
Устойчивость к синфазной помехе является очень важным свойством для приемопередатчиков данного типа — когда к сети подключено множество устройств, очень часто возникают всплески напряжения.
На практике для реализации топологии RS485 нужны микросхемы приемо-передатчиков. При этом, разумеется, характеристики микросхемы должны полностью соответствовать требованиям стандарта.
По интерфейсу RS485 при организации сети микросхема, которая передает информацию называется Master, а которая принимает информацию — Slave. Максимальное количество устройство в линии может быть 256.
Типовая схема применения микросхем приемо-передатчиков RS485
Для того, чтобы создать сеть на основе RS485 для микроконтроллеров, необходимо использовать дополнительную микросхему приемопередатчика. Микроконтроллер подключается к ней по протоколу UART после чего приемопередатчик начинает вещание.
Мы уже выпускаем серийно микросхему К5559ИН10БSI, но ввиду того как быстро увеличиваются объемы данных, которые передают контроллеры скорости 2.5Мбит уже не достаточно. Итак далее будем рассматривать нашу новую микросхему К5559ИН86SI — теперь 30 Мбит. Возникает вопрос: зачем вообще тратить деньги на разработку данной схемы?
Новое поколение RS485 — К5559ИН86SI
И правда, зачем выпускать микросхему, аналогов которой на рынке большое множество? Тут, наверное, можно выделить несколько причин:
- Электросчетчики. Мы долгое время занимаемся разработкой счетчиков, и постепенно переходим на свою элементную базу (контроллер для счетчика). В большинстве счетчиков применяется микросхема RS485 предыдущего поколения — К5559ИН10БSI, однако с каждым годом растут объемы передаваемых данных, поэтому необходимо повышать скорость приемопередатчиков.
- Поддержка напряжения 3В. Постепенно 5-вольтовый стандарт теряет свою актуальность, и новые продукты уже разрабатываются с 3-вольтовыми приемопередатчиками. Этот переход дает существенные преимущества в потребляемой мощности и скорости передачи данных.
- Pin to pin совместимость. Для выхода на коммерческий рынок мы разработали 2 основные стратегии: поиск маржинальных продуктов (подход детально описан в статье про АЦП) и совместимых по функционалу, выводам и характеристикам микросхем (pin to pin). Для того, чтобы не завязываться на одном потребителе, разработчики аппаратуры часто выбирают несколько совместимых микросхем. Такой подход дает несколько плюсов: независимость от поставщика и шанс удешевить свой продукт, выбрав микросхему по меньшей стоимости. Для микросхемы RS485 30Мбит есть множество аналогов (MAX14783EEUA, ST3485EB, ADM3490E, THVD14xx, и другие). Данный подход можно представить в виде мема:
Микросхема нового поколения приемопередачика RS485 выполнена в простом и дешевом 8-ми выводном пластиковом корпусе SO-8. Такое решение продиктовано потребностью выпуска микросхемы большими партиями с минимальной ценой.
Кристалл получился довольно маленький (1.3 мм * 1.3 мм), что позволит нам конкурировать в цене с сильными мира сего:
Более подробно о характеристиках микросхемы можно прочитать в спецификации. Сравним основные параметры К5559ИН86SI с зарубежными аналогами.
Параметры получились сравнимыми c зарубежными аналогами, что для разработчиков микросхемы является хорошей новостью. Однако достижение хороших показателей параметров является лишь верхушкой айсберга. Давайте попробуем более детально заглянуть внутрь микросхемы. Помимо того, что описано в стандарте, в любой микросхеме есть свои «фичи». Попробуем поделиться некоторыми из них и приоткрыть дверь в мир процесса исследования «в железе».
Защита от короткого замыкания
При организации сетей на базе RS485 возможна ситуация, когда передатчик «вещает» в линию, в которой устойчиво присутствует другой потенциал. Чаще всего такая ситуация встречается при одновременном «вещании» двух или более передатчиков. Что же будет с микросхемами передатчиков в таком включении? В принципе ничего хорошего. Рассмотрим на простом примере. Подключим напрямую два передатчика (берем только одно соединение для витой пары, для другой все будет тоже самое, но с инверсией): на выходе передатчика 1 будет потенциал +5В (питание), на выходе передатчика 2 будет 0 (Земля).
Транзисторы P1 и N2 будут открыты, и без наличия дополнительной защиты через них будет идти ток короткого замыкания, который будет ограничен только незначительными сопротивлениями самих транзисторов и проводника. Чаще всего в такой ситуации исход один — тепловой пробой транзисторов или любимое всеми на хабре слово — «выгорание».
Угловой фрагмент фотографии кристалла (чипа) микросхемы RS485 неудачной ревизии
По стандарту RS485 напряжение в линии может быть от -7 Вольт до +12 В (это связано с тем, что земли микросхем могут находиться на довольно приличном друг от друга расстоянии более одного километра и разбежаться друг относительно друга). Худшая ситуация, то есть максимальные токи короткого замыкания, могут быть в том случае, когда передатчик вещает «логическую единицу», а в линии устойчиво потенциал -7 В и вторая ситуация, когда передатчик вещает логический ноль, а в линии устойчиво потенциал 12 В.
Простейший способ обезопасить схему от КЗ — добавить ограничивающие резисторы для каждого транзистора выходного буфера. Суть заключается в следующем: добавляем резисторы в систему, когда ток через них становится довольно приличным по закону Ома — — напряжение на резисторе начинает расти. Когда становится равным порогу срабатывания транзистора (на картинке ниже Pfb и Nfb), включается обратная связь, и ток КЗ уходит в насыщение. В одной ревизии мы так и сделали, но это оказался еще тот фейл…
Из-за того, что в цепи напряжение может быть выше питания, появляется обратный ток. Если бы система питалась от внешнего источника, он мог бы подавить это напряжение, но он питался от внутреннего LDO (линейный регулятор напряжения). Обратный ток повышал напряжение LDO, и схема сгорала. Решение, которое было придумано, выглядит следующим образом:
Источники опорного тока задают ток через транзисторы N3 и P3. Схема токового зеркала определяет максимальный ток, который может проходить через транзисторы N2 и P2, тем самым ограничивает как прямой ток КЗ, так и обратный. Решение получилось рабочим по моделированию, теперь осталось протестировать в железе.
Переходим к измерениям. Нам понадобится источник питания, точный источник-измеритель Keithley2602А и ПО, позволяющее управлять источником-измерителем и снимать ВАХ. Для автоматизации измерений нашими application инженерами был разработан матричный коммутатор, который позволяет автоматически переключать источник-измеритель к различным выводам микросхемы. Для общения с приборами используем LabView.
На коммутаторе остановимся отдельно, естественно, есть зарубежные аналоги, но конкретно данный экземпляр коммутатора 64×8 — собственная разработка нашей команды измерителей, с упором на их каждодневные задачи, позволяет коммутировать 64 вывода микросхемы на 8 каналов (к которым можно подключить какое-либо оборудование), избавляя от действий руками перед каждым измерением.
Ну и конечно же сам измерительный прибор:
Итого, получаем следующие ВАХ (Вольт-Амперные-Характеристики) для выхода передатчика:
Из ВАХ мы видим следующее: в худших случаях при устойчивых потенциалах в линии -7 В или 12 В, ток микросхемы ограничен примерно на уровне 90 мА.
Транзисторы микросхемы при коротком замыкании (при потенциале в линии) не разрушаются! Защита от короткого замыкания работает — проверено.
Однако если подержать в режиме КЗ какое-то время (около 2-х минут), то сработает следующая «фича» — термозащита и схема выключится.
Встроенная термозащита
Защита от перегрева встроена почти во все зарубежные микросхемы приемопередатчиков RS485 и является неотъемлемой функциональной частью схемы. При повышенной температуре параметры транзисторов начинают деградировать, а при токе короткого замыкания разогрев неизбежен и важно вовремя перевести микросхему в выключенное состояние.
Ситуацию с перегревом усугубляет и пластиковый корпус, который весьма плохо отводит тепло. Да и топология кристалла прошла серьезную оптимизацию, чтоб разместить максимум функционала на минимум площади. Если провести аналогию с реальным миром, то пластиковый корпус для кристалла — это как куртка-пуховик для человека.
Гарантированный диапазон температур, в котором должна функционировать микросхема: –40…+85 °С.
В К5559ИН86АSI порог срабатывания термодатчика расположен в районе температуры 165 ºС — при достижении этого значения произойдет выключение микросхемы. Но это речь о температуре кристалла, а не корпуса, цифра 165 ºС также не случайна: при такой температуре кристалл стопроцентно не получит повреждений и продолжит функционировать после остывания. Рабочий же диапазон температур в документации приводится относительно температуры среды, да и, справедливости ради, ее проще контролировать.
Проверка работы микросхемы в температуре происходила при помощи испытательной камеры тепла и холода SU-262. Камера позволяет задать температуру от –60 °С до 150 °С.
Испытательная камера тепла и холода — вид снаружи
Испытательная камера тепла и холода — вид внутри
В процессе измерений нужно проверить следующее: какой запас по температуре есть у кристалла в рабочем режиме?
Подключаем генератор ко входу микросхемы, и смотрим сигнал выхода. При данном тесте температура внешней среды меняется в диапазоне –60 °С до 125 °С. Итого на выходе передатчика видим следующую осциллограмму:
Осциллограмма: DI — информационный входной сигнал передачика, AY, BY — выходные сигналы передатчика, RO — выходной сигнал приёмника.
Во всем диапазоне температур схема функционировала нормально. Однако остается вопрос, а какой запас по температуре? Для того, чтобы ответить на данный вопрос, нужно понять какова температура самого кристалла, вне корпуса. Для измерения температуры кристалла мы придумали достаточно интересный подход, о котором могу поведать.
Практически во всех микросхемах существует ESD защита (защита от электростатических разрядов). В простейшем случае представляет из себя 2 диода, используемых в обратном включении (один на землю, другой на питание). Воспользуемся тем свойством, что физика полупроводников такова, что напряжение падения на диоде (pn-переходе) зависит от температуры. Используем следующую схему включения:
Используем ту же камеру тепла и холода. Задача стоит следующая: построить зависимость напряжения на диоде от температуры, что поможет вычислить температурный коэффициент. Режим измерения производился с выключенной схемой, которая исключает саморазогрев, то есть позволяет нам откалибровать шкалу:
- Питание на микросхему не подается (VDD = 0)
- К цифровому выводу DI подключаем источник тока 10 мкА
Итого получаем следующую зависимость:
Получено следующее значение температурного коэффициента напряжения: 1,78 мВ/°С.
Откалибровав шкалу, можно перейти к оценке разогрева микросхемы внутри пластиково корпуса в рабочем режиме при штатных нагрузках и в случае короткого замыкания выходных каскадов. Режим измерения, следующий:
- напряжения питания 5,5 В (VDD = 5,5 В)
- вывод nRE — низкий уровень, вывод DE — высокий уровень;
- тестируемый вывод DI;
- установленный на источнике ток диода 10 мкА (Idiode=10 мкА);
- нагрузка — 54 Ома.
Наверное, знающие люди скажут: зачем такие извращения и почему нельзя заложить было в схему специальный тестовый режим для измерения температуры, однако именно такой подход позволил нам сравнить нашу микросхему с аналогом MAX1478 (ведь для нас это черный ящик):
Вывод-1: кристалл нагревается в рабочем режиме на 26 °С при температуре внешней среды 100 градусов. Порог срабатывания термозащиты (165 ºС) еще далеко.
Вывод-2: в режиме короткого замыкания термозащита срабатывает, по имеющимся измерениям уже при 55 ºС внешней среды, но микросхема не выходит из строя и через некоторое время после того, как она охлаждается — может снова функционировать.
Так мы экспериментально подтвердили, что разработанные схемотехнические решения, надежно защищают микросхему от нештатных ситуаций (таких ка КЗ или конфликт драйверов) и не оказывает влияния на штатные режимы.
Заключение
В данной статье постарался познакомить читателей с особенностями такого популярного интерфейса, как RS485. Процесс разработки микросхемы очень тесно переплетается с процессами измерений и прототипирования. И тут большая заслуга наших application инженеров, которые постоянно находят у нас косяки и недостатки. Наверное, двигатель любого прогресса — это конструктивная критика.
P.S. Образцы микросхемы можно получить бесплатно, оставив заявку на сайте. Да-да только ленивый нас еще не пнул за то, как все туго с заказами для обычных пользователей. Мы все читаем, и понимаем на сколько это важно. В будущем будет улучшаться наш сайт, для упрощения заказа коммерческих микросхем и отладочных плат.