marus-ka 0 4 марта, 2015 Опубликовано 4 марта, 2015 · Жалоба Всем привет! Есть необходимость создать 1-wire slave устройство, точнее сразу несколько. Так как не было ни мастера, ни слейва, нужно было для отладки создать и то, и другое. Для мастера была взята библиотека отсюда для слейва после гугления тоже нашлась, правда несколько странная и пришлось ее немного "допилить". Все работало прекрасно, пока была связь точка-точка. Как только подключаю еще один-два слейв устройства, начинается свистопляска при поиске. То одно устройство находится мастером, то два, то одно аж два раза. Было принято стратегическое решение найти "нормального" мастера и "нормальных" слейвов, чтобы тестировать с ними. В закромах Родины нашелся переходник USB-1-wire от Maxim (мастер) и платка с термодатчиком, реле и UIDом (слейвы). И тут тоже самое. Подправила задержки, вроде "нормальный" мастер обнаруживает мое устройство, но получается такая же свистопляска, если подключать более одного слейва. Все тайминги проверила ( по крайней мере постаралась). Все равно не работает( А вообще должно? Как в реальных сетях? Поиск выполняется мастером однократно в начале? Или мониторится сеть постоянно и перебои в количестве обнаруживаемых устройств это в рамках нормы? Куда копать? Тех. детали: в качестве моего слейва платка с контроллером xmega32d4, дергает ногой, не уартом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 19 марта, 2015 Опубликовано 19 марта, 2015 · Жалоба А вообще должно? Как в реальных сетях? Поиск выполняется мастером однократно в начале? Или мониторится сеть постоянно и перебои в количестве обнаруживаемых устройств это в рамках нормы? Куда копать? Тех. детали: в качестве моего слейва платка с контроллером xmega32d4, дергает ногой, не уартом. попробуйте поискать информацию по исходниках ядра (kernel.org) в разделе drivers/w1 и там же в доках Documentation/w1 у Maxim/Dallas был неплохой раздел с литературой по w1.. уж если почти на любом проце можно организовать onewire, то и у вас должно получится.. как гипотеза, ваш слейв не поддерживает режим multislave, такие варианты есть у далласа - есть чипы термометров, которые могут сосуществовать вместе, есть индивидумы.. для проверки можно изолировать ваши слейвы через w1 мультиплексор.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться