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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Проблема с DS2482, Не устанавливается пин PCTLZ в ноль
GetSmart
сообщение Sep 27 2009, 16:19
Сообщение #1


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Если задал вопрос не в той теме - больно не бейте smile.gif

Работаю с этой микросхемой - мостом I2C <-> OWI и всё работает прекрасно. Все команды выполняются отлично. Запись конфигурационного слова тоже работает отлично - это видно по тому, что микруха отвечает NACK когда старший полубайт не равен инверсному младшему полубайту. Перепробовал все 16 комбинаций конфигурации - пин PCTLZ всегда находится в 1. То есть посылаю микрухе команду конфигурации раз в секунду перебираю 16 вариантов и смотрю прибором пин PCTLZ. Кроме этой команды никаких команд не отрабатываю. Сброс микрухи предварительно делал. Вариантов больше нет. Помогите, люди дорогие smile.gif


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Sep 27 2009, 22:06
Сообщение #2


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Думал что только на процы выпускают эрраты. Но нашёл эррату на эту микруху версии A2. Моя микруха версии А3. Для А2 единственный косяк - проблемы на шине I2C при чтении другого слэйва, не DS2482, находящегося на той же шине.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Sep 28 2009, 10:57
Сообщение #3


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Оказалось, что чтобы PCTLZ включился нужно ещё "плюнуть" какой-нибудь байт/бит на шину OWI. Вот разработчики блин молодцы.

Кстати, столкнулся с похожими проблемами на I2C для версии А3 (моей), которые описаны в эррате на А2. Того косяка из А2 кажется нет, но зато есть другой, похожий, хотя не настолько смертельный когда к шине I2C подключены другие девайсы. Позже отпишусь.

__________

Тему наверно лучше скинуть в форум по интерфейсам. Вроде как тема об 1-wire.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
JeDay
сообщение Oct 8 2009, 07:05
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 276
Регистрация: 22-09-05
Из: Kiev
Пользователь №: 8 818



Я тоже натолкнулся на фичу с ногой PCTLZ. Потом отказался от этой функции и подтянул шину резистором.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Oct 8 2009, 12:31
Сообщение #5


.
******

Группа: Участник
Сообщений: 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) сперва передавать команду сброса, а потом работать как ни в чём не бывало.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
SWT-RUS
сообщение Oct 9 2009, 06:39
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 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 тоже забавно "прихрамывают".
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Oct 9 2009, 08:24
Сообщение #7


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(SWT-RUS @ Oct 9 2009, 12:39) *
Вы свою DS2482 сами пинаете или OWFS (отсюда взятый http://owfs.org/) пользуете?

Скорее всего сам "пинаю", т.к. об OWFS впервые слышу.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
SWT-RUS
сообщение Oct 9 2009, 08:58
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 569
Регистрация: 22-01-08
Из: Москва
Пользователь №: 34 316



Цитата(GetSmart @ Oct 9 2009, 12:24) *
Скорее всего сам "пинаю", т.к. об OWFS впервые слышу.

Дело в том что мы тоже имеем некоторую проблему с устройством висящим рядом с этими DS2482. У нас на шине висит DS1338 и добраться до него без приключений не получается. Такое впечатление что DS2482 как то реагирует на все что мимо нее пролетает по I2C. А уж когда их две - то просто оргия какая-то...

Сообщение отредактировал SWT-RUS - Oct 9 2009, 08:59
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Oct 9 2009, 09:21
Сообщение #9


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(SWT-RUS @ Oct 9 2009, 14:58) *
Такое впечатление что DS2482 как то реагирует на все что мимо нее пролетает по I2C. А уж когда их две - то просто оргия какая-то...

В ревизиях А2 (возможно и более ранних) этот баг описан в эррате. Скачайте эррату с сайта максима. А2 портит чужие данные на I2C шине, а А3 не портит.

Сообщение отредактировал GetSmart - Oct 9 2009, 09:24


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
SWT-RUS
сообщение Oct 9 2009, 10:25
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 569
Регистрация: 22-01-08
Из: Москва
Пользователь №: 34 316



Цитата(GetSmart @ Oct 9 2009, 13:21) *
В ревизиях А2 (возможно и более ранних) этот баг описан в эррате. Скачайте эррату с сайта максима. А2 портит чужие данные на I2C шине, а А3 не портит.

Это было бы совсем просто biggrin.gif . Но к сожалению у нас тоже ревизия A3. Могу фото приложить...
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Oct 10 2009, 08:16
Сообщение #11


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(SWT-RUS @ Oct 9 2009, 16:25) *
Это было бы совсем просто biggrin.gif . Но к сожалению у нас тоже ревизия A3. Могу фото приложить...

Опишите последовательность команд (с указанием старт/стоп битов) на шине I2C, которые вызывают искажения микросхемой DS2482. Я могу проверить на своей плате.

Сообщение отредактировал GetSmart - Oct 10 2009, 08:18


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
SWT-RUS
сообщение Oct 12 2009, 05:56
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 569
Регистрация: 22-01-08
Из: Москва
Пользователь №: 34 316



Цитата(GetSmart @ Oct 10 2009, 12:16) *
Опишите последовательность команд (с указанием старт/стоп битов) на шине I2C, которые вызывают искажения микросхемой DS2482. Я могу проверить на своей плате.

Вы будете смеяться, но я имено для этого пытался найти что-нибудь подходящее http://electronix.ru/forum/index.php?showtopic=68075. К сожалению Ваш случай (самостоятельного программирования) значительно проще. Может подскажете что-нибудь? Я i2c мониторы поискал но что все они не то выдают....
Go to the top of the page
 
+Quote Post
asket
сообщение Nov 9 2009, 21:34
Сообщение #13


Частый гость
**

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 9 2009, 23:13
Сообщение #14


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Почитайте эррату на свою ревизию чипа. Может там есть ответ.
В моём случае подобные глюки тоже случались, но проходили сразу же после передачи в DS2482 команды сброса. Я встроил в свой алгоритм передачу этой команды всегда, сразу перед началом общения с DS2482.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
SWT-RUS
сообщение Nov 11 2009, 18:38
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 569
Регистрация: 22-01-08
Из: Москва
Пользователь №: 34 316



Мы со своей проблемой тоже разобрались. Невиноватая DS2482 оказалась. Работает как часы в обе стороны. Помочь советом не смогу потому как у нас OWFS работает. На 1W у нас весит больше десятка DS2438 и никаких проблем. Той ревизии что имела проблемы сейчас купить невозможно - если конечно не скупать по китайским складам. Но если Вам чудесным образом повезло и у Вас А2 то это всеравно не Ваш случай - там проблема была только с двумя микросхемами на I2C.
Go to the top of the page
 
+Quote Post

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

 


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


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