Перейти к содержанию

    

1-wire slave. Проблемы с поиском

Всем привет!

Есть необходимость создать 1-wire slave устройство, точнее сразу несколько. Так как не было ни мастера, ни слейва, нужно было для отладки создать и то, и другое. Для мастера была взята библиотека отсюда для слейва после гугления тоже нашлась, правда несколько странная и пришлось ее немного "допилить".

Все работало прекрасно, пока была связь точка-точка. Как только подключаю еще один-два слейв устройства, начинается свистопляска при поиске. То одно устройство находится мастером, то два, то одно аж два раза.

Было принято стратегическое решение найти "нормального" мастера и "нормальных" слейвов, чтобы тестировать с ними. В закромах Родины нашелся переходник USB-1-wire от Maxim (мастер) и платка с термодатчиком, реле и UIDом (слейвы).

И тут тоже самое. Подправила задержки, вроде "нормальный" мастер обнаруживает мое устройство, но получается такая же свистопляска, если подключать более одного слейва. Все тайминги проверила ( по крайней мере постаралась). Все равно не работает(

А вообще должно? Как в реальных сетях? Поиск выполняется мастером однократно в начале? Или мониторится сеть постоянно и перебои в количестве обнаруживаемых устройств это в рамках нормы? Куда копать? :wacko::help:

Тех. детали: в качестве моего слейва платка с контроллером xmega32d4, дергает ногой, не уартом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
А вообще должно? Как в реальных сетях? Поиск выполняется мастером однократно в начале? Или мониторится сеть постоянно и перебои в количестве обнаруживаемых устройств это в рамках нормы? Куда копать? :wacko::help:

Тех. детали: в качестве моего слейва платка с контроллером xmega32d4, дергает ногой, не уартом.

попробуйте поискать информацию по исходниках ядра (kernel.org) в разделе drivers/w1

и там же в доках Documentation/w1

у Maxim/Dallas был неплохой раздел с литературой по w1..

 

уж если почти на любом проце можно организовать onewire, то и у вас должно получится..

 

как гипотеза, ваш слейв не поддерживает режим multislave, такие варианты есть у далласа - есть чипы термометров, которые могут сосуществовать вместе, есть индивидумы..

для проверки можно изолировать ваши слейвы через w1 мультиплексор..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация