Главная > Analog circuits, Just life > Подтягивающие резисторы: номинал имеет значение

Подтягивающие резисторы: номинал имеет значение

В прошлый раз я писал про приключения с UART’ом, произошедшие, в общем, сугубо по моему недосмотру. Сегодня все будет интереснее.

В том девайсе, над которым я работаю, в числе прочего есть порт RS-485. Для реализации оного я выбрал микросхему MAX13433E. По прочтении даташита она производит впечатление простого и удобного прибора: из обвязки требуется всего два керамических конденсатора, все защиты встроены (по выводам RS-485 ESD-защита 30 kV), так что для не особо суровой линии можно обойтись без дополнительных супрессоров и прочего. Сказка, а не микросхема.

Получил детали, спаял, подключил, написал код для общения через RS-485, начал тестить и наткнулся на сюрприз — интерфейс работал через раз. Тыкание осциллографом и тесты с коммуникацией в обход показали, что проблема в микросхеме — до нее сигнал (в направлении приема) есть, после нее — нет.

Более пристальное изучение феномена показало, что переход из состояния «не работает» в состояние «работает» совершается, если ткнуть пальцем/щупом в вывод разрешения работы приемной части, и после этого счастье длится до выключения питания. Создавалось ощущение, что вывод болтается в воздухе. Тем не менее, этот вход  был подтянут к земле (активный ноль) резистором в 12 килоом, и замеры показывали полную идиллию — резистор не оборван, земля — это земля и вообще все хорошо.

В общем, оказалось, что резистор озвученного номинала великоват. Казалось бы, там же CMOS-вход, в чем дело? Я подозреваю, все дело в цепях, которые обеспечивают то, что в даташите названо «hot-swap capability». Смысл в том, что после включения питания внутренние цепи подтяжки обеспечивают неактивные уровни на входах разрешения приема и включения передатчика. На странице 15 даташита уверяют, что после выхода в рабочий режим эти цепи становятся полностью прозрачными, и изначально я так понял, что отключаются они либо по таймауту, либо после стабилизации напряжения питания. Тем не менее, похоже, что на самом деле эти цепи отключаются  в момент подачи первого «сильного» логического уровня на соответствующий вход разрешения. Приемник-то у меня должен быть включен всегда, и потому я просто подтянул его вход разрешения к земле. Видимо, номинал в 12 килоом оказался слишком велик для того, чтобы упомянутый блок внутри микросхемы почувствовал его наличие.

Я поменял номинал подтягивающего резистора на 2.4 килоома, и сейчас все работает. Конечно, насколько я прав покажут более серьезные тесты, но пока ощущение, что все дело было именно в этом, только крепнет.

UPD:

m08pvv пожаловался, что в статье нет картинок. Поправляю это.😀

Рубрики:Analog circuits, Just life
  1. SFx
    17/10/2014 в 01:51

    Хм, хорошая идея! недавно столкнулся что половина плат из партии не работает, дело в подтяжки I2C. в даташите 10кОм, в схеме 15кОм, и у плисины еще стоит pullup на ноге, возможно и шунтирует подтяжку. буду пробовать менять резистеры

    • YS
      17/10/2014 в 10:10

      Да, нынче даже простая логика стала такой умной, что, похоже, анализирует ток подтяжек…

  1. No trackbacks yet.

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

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s