Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: 1-wire и замыкания DQ на GND и VCC
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
mempfis_
Добрый день.
Делаю терморегулятор на основе датчика ds18b20.
Для надёжности хочу ввести программный контроль нештатных ситуаций на шине которые могут привести к порче пина МК - а именно закоротка шины 1-wire на VCC или GND. Т.к. вывод МК при опросе работает на выход опрос дефектного датчика может закончится для него фатально.
Собственно вопрос подскажите кто как борется с такими ситуациями? Целесообразно-ли вообще проводить такой контроль?
Я предполагаю что перед опросом уверенно можно определить только закоротку на GND (DQ подтянут к VCC).
При закоротке на VCC ситуация неопределённая.
XVR
Если есть свободная нога у МК, то можно между ней и 1-wire повесить резистор и контролировать уровень на 1-wire входной ноге при подаче 1 и 0 на вторую.
mempfis_
Цитата(XVR @ May 27 2009, 12:15) *
Если есть свободная нога у МК, то можно между ней и 1-wire повесить резистор и контролировать уровень на 1-wire входной ноге при подаче 1 и 0 на вторую.


Плата уже собрана и изменению не подлежит.
На ней 2 термодатчика подключённые к 2м ножкам МК.
Сечас контроль наличия термодатчиков выполняется по корректности CRC.
Дума ввести проверку на замыкание с GND. Насколько я понял без дополнительных компонентов сделать проверку на замыкание с VCC не оплучится?
xemul
Цитата(mempfis_ @ May 27 2009, 13:42) *
Дума ввести проверку на замыкание с GND.

Оно получается само собой, если контролировать "1" на шине, когда она не может там не появиться (хотя бы до и после импульса сброса).
Цитата
Насколько я понял без дополнительных компонентов сделать проверку на замыкание с VCC не оплучится?

Угу. А оно надо? Я обхожусь защитой от шины (пара 51 Ом 1206 последовательно и TVS).
mempfis_
Цитата(xemul @ May 27 2009, 13:21) *
Я обхожусь защитой от шины (пара 51 Ом 1206 последовательно и TVS).


Еслибы я разрабатывал схему то поставил-бы хотябы резистор на всякий случай.
Правда до этого небыло случая выхода из строя ни датчика, ни МК при замыканиях на шине.
Всем спасибо за участие.
Сделаю простую проверку уровней перед опросом датчиком чтобы хотябы удостоверится в отсутствии замыканий на землю.
ukpyr
все проверки можно делать в начале обмена данными при первом импульсе сброса.
- сначала проверяется состояние свободной линии - если 0 (не свободна) - значит закорочена на 0, возвратить код ошибки 1.
- далее выдать 0 в линию (начать стартовый импульс), через несколько мкс проверить ее состояние (для AVR прочитать соответствующий регистр PINx) - если 1, то линия закорочена на +, отпустить линию и возвратить код ошибки 2.
- продолжить обмен данными - если не было импульса присутствия - возвратить код ошибки 3, неправильная CRC - ошибка 5.
- если все хорошо, возвратить код ошибки 0 и измеренное значение.
HARMHARM
Есть еще интересная тема - обрыв VCC на датчике. Тогда датчик не выглядит как parasite-powered, т.к. VCC не соединен с GND. А при преобразовании может произойти отключение датчика. Впрочем, у Вас только один датчик, одному питания от DQ хватает и так. Это важно если несколько датчиков ведут преобразования параллельно.
А для надежности надо было при разработки схемы добавить ОК-буфер между МК и датчиком. Тогда бы было надежно.
ukpyr
Цитата(HARMHARM @ May 27 2009, 15:05) *
Есть еще интересная тема - обрыв VCC на датчике. Тогда датчик не выглядит как parasite-powered, т.к. VCC не соединен с GND. А при преобразовании может произойти отключение датчика. Впрочем, у Вас только один датчик, одному питания от DQ хватает и так. Это важно если несколько датчиков ведут преобразования параллельно.
А для надежности надо было при разработки схемы добавить ОК-буфер между МК и датчиком. Тогда бы было надежно.

для этого достаточно контроля Presence pulse и CRC.
и буфера не нужно - достаточно последовательного резистора на 50-100 Ом.
к.з. на 0 отлавливается еще до обмена данными, а к.з. на + - за несколько мкс или по отсутствию Presence pulse, за такое время ничего не сгорит (сопротивление нижнего транзистора вывода - десятки Ом).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.