|
Проблема с DS2482, Не устанавливается пин PCTLZ в ноль |
|
|
|
Oct 8 2009, 12:31
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Цитата(JeDay @ Oct 8 2009, 13:05)  Я тоже натолкнулся на фичу с ногой PCTLZ. Потом отказался от этой функции и подтянул шину резистором. У меня на двух проводах висят 30 термометров, поэтому без этой ноги никак не обойтись. Баг значит в А3 такой. При обращении (чтение/запись без разницы) на шине I2C к другому девайсу (не DS2482) внутри DS2482 начинает неправильно работать чтение данных (передача их на шину I2C). То есть если после общения с DS2482 по шине I2C пообщаться с другим девайсом, то после этого из DS2482 будет читаться "мусор", а не то, что должно читаться. Этот мусор никак не зависит от реальных данных внутри DS2482, но зависит от тех данных, которые пишутся в DS2482 по I2C. Выход из такого ступора чтения - команда сброса DS2482. Однако она сразу же отключает PCTLZ. Вобщем, для нормальной работы с DS2482 нужно (после общения с другим девайсом на шине I2C) сперва передавать команду сброса, а потом работать как ни в чём не бывало.
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
Oct 9 2009, 06:39
|
Знающий
   
Группа: Свой
Сообщений: 569
Регистрация: 22-01-08
Из: Москва
Пользователь №: 34 316

|
Цитата(GetSmart @ Oct 8 2009, 16:31)  У меня на двух проводах висят 30 термометров, поэтому без этой ноги никак не обойтись.
Баг значит в А3 такой. При обращении (чтение/запись без разницы) на шине I2C к другому девайсу (не DS2482) внутри DS2482 начинает неправильно работать чтение данных (передача их на шину I2C). То есть если после общения с DS2482 по шине I2C пообщаться с другим девайсом, то после этого из DS2482 будет читаться "мусор", а не то, что должно читаться. Этот мусор никак не зависит от реальных данных внутри DS2482, но зависит от тех данных, которые пишутся в DS2482 по I2C. Выход из такого ступора чтения - команда сброса DS2482. Однако она сразу же отключает PCTLZ. Вобщем, для нормальной работы с DS2482 нужно (после общения с другим девайсом на шине I2C) сперва передавать команду сброса, а потом работать как ни в чём не бывало. Вы свою DS2482 сами пинаете или OWFS (отсюда взятый http://owfs.org/) пользуете? Мы используем OWFS и у нас на одной I2C висят две DS2482 тоже забавно "прихрамывают".
|
|
|
|
|
Oct 12 2009, 05:56
|
Знающий
   
Группа: Свой
Сообщений: 569
Регистрация: 22-01-08
Из: Москва
Пользователь №: 34 316

|
Цитата(GetSmart @ Oct 10 2009, 12:16)  Опишите последовательность команд (с указанием старт/стоп битов) на шине I2C, которые вызывают искажения микросхемой DS2482. Я могу проверить на своей плате. Вы будете смеяться, но я имено для этого пытался найти что-нибудь подходящее http://electronix.ru/forum/index.php?showtopic=68075. К сожалению Ваш случай (самостоятельного программирования) значительно проще. Может подскажете что-нибудь? Я i2c мониторы поискал но что все они не то выдают....
|
|
|
|
|
Nov 9 2009, 21:34
|
Частый гость
 
Группа: Участник
Сообщений: 91
Регистрация: 24-08-06
Из: Москва
Пользователь №: 19 809

|
Господа, добавлю свои монетки, у меня проблема с DS2482, прошу мне помочь разобраться. Я писал код и под AVR и под STM32, ситуация такая, на шине 1 wire висят DS2406 и DS2408, и ничего самодельного, по i2c кидаю команды, далее по статусу определяю ход выполнения команды, запись байта по 1wire работает на ура, однако при чтении бита или байта из 1 wire, по i2c DS2482 выдает ерунду типа 0xFF вместо нормального байта, а также проблема в чтении presence pulse, в статусе никак упорно не хочет ставить флаг PPD (presence pulse detected). Cкладывается впечатление что на запись DS2482 работает, а на чтение - облом, и так с четырьмя микросхемами подряд, то ли партия такая бракованная, то ли чего-то недопонимаю. Сталкивался ли кто-нибудь с подобными проблемами и как их решали? За основу брал руководство how to use the ds2482-100 с прилагаемым к нему исходником для 8051. Спасибо за внимание. PS хочу отметить что на i2c висит всего одна микросхема DS2482.
Сообщение отредактировал asket - Nov 9 2009, 21:50
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|