реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> 1-wire и замыкания DQ на GND и VCC, Нужно-ли это контролировать?
mempfis_
сообщение May 27 2009, 07:54
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Добрый день.
Делаю терморегулятор на основе датчика ds18b20.
Для надёжности хочу ввести программный контроль нештатных ситуаций на шине которые могут привести к порче пина МК - а именно закоротка шины 1-wire на VCC или GND. Т.к. вывод МК при опросе работает на выход опрос дефектного датчика может закончится для него фатально.
Собственно вопрос подскажите кто как борется с такими ситуациями? Целесообразно-ли вообще проводить такой контроль?
Я предполагаю что перед опросом уверенно можно определить только закоротку на GND (DQ подтянут к VCC).
При закоротке на VCC ситуация неопределённая.
Go to the top of the page
 
+Quote Post
XVR
сообщение May 27 2009, 09:15
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Если есть свободная нога у МК, то можно между ней и 1-wire повесить резистор и контролировать уровень на 1-wire входной ноге при подаче 1 и 0 на вторую.
Go to the top of the page
 
+Quote Post
mempfis_
сообщение May 27 2009, 09:42
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(XVR @ May 27 2009, 12:15) *
Если есть свободная нога у МК, то можно между ней и 1-wire повесить резистор и контролировать уровень на 1-wire входной ноге при подаче 1 и 0 на вторую.


Плата уже собрана и изменению не подлежит.
На ней 2 термодатчика подключённые к 2м ножкам МК.
Сечас контроль наличия термодатчиков выполняется по корректности CRC.
Дума ввести проверку на замыкание с GND. Насколько я понял без дополнительных компонентов сделать проверку на замыкание с VCC не оплучится?
Go to the top of the page
 
+Quote Post
xemul
сообщение May 27 2009, 10:21
Сообщение #4



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(mempfis_ @ May 27 2009, 13:42) *
Дума ввести проверку на замыкание с GND.

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

Угу. А оно надо? Я обхожусь защитой от шины (пара 51 Ом 1206 последовательно и TVS).
Go to the top of the page
 
+Quote Post
mempfis_
сообщение May 27 2009, 11:00
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



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


Еслибы я разрабатывал схему то поставил-бы хотябы резистор на всякий случай.
Правда до этого небыло случая выхода из строя ни датчика, ни МК при замыканиях на шине.
Всем спасибо за участие.
Сделаю простую проверку уровней перед опросом датчиком чтобы хотябы удостоверится в отсутствии замыканий на землю.
Go to the top of the page
 
+Quote Post
ukpyr
сообщение May 27 2009, 11:18
Сообщение #6


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



все проверки можно делать в начале обмена данными при первом импульсе сброса.
- сначала проверяется состояние свободной линии - если 0 (не свободна) - значит закорочена на 0, возвратить код ошибки 1.
- далее выдать 0 в линию (начать стартовый импульс), через несколько мкс проверить ее состояние (для AVR прочитать соответствующий регистр PINx) - если 1, то линия закорочена на +, отпустить линию и возвратить код ошибки 2.
- продолжить обмен данными - если не было импульса присутствия - возвратить код ошибки 3, неправильная CRC - ошибка 5.
- если все хорошо, возвратить код ошибки 0 и измеренное значение.

Сообщение отредактировал ukpyr - May 27 2009, 11:21
Go to the top of the page
 
+Quote Post
HARMHARM
сообщение May 27 2009, 12:05
Сообщение #7


читатель даташитов
****

Группа: Свой
Сообщений: 853
Регистрация: 5-11-06
Из: Днепропетровск
Пользователь №: 21 999



Есть еще интересная тема - обрыв VCC на датчике. Тогда датчик не выглядит как parasite-powered, т.к. VCC не соединен с GND. А при преобразовании может произойти отключение датчика. Впрочем, у Вас только один датчик, одному питания от DQ хватает и так. Это важно если несколько датчиков ведут преобразования параллельно.
А для надежности надо было при разработки схемы добавить ОК-буфер между МК и датчиком. Тогда бы было надежно.
Go to the top of the page
 
+Quote Post
ukpyr
сообщение May 27 2009, 12:50
Сообщение #8


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



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

для этого достаточно контроля Presence pulse и CRC.
и буфера не нужно - достаточно последовательного резистора на 50-100 Ом.
к.з. на 0 отлавливается еще до обмена данными, а к.з. на + - за несколько мкс или по отсутствию Presence pulse, за такое время ничего не сгорит (сопротивление нижнего транзистора вывода - десятки Ом).
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 10:19
Рейтинг@Mail.ru


Страница сгенерированна за 0.01402 секунд с 7
ELECTRONIX ©2004-2016