Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1
  • 2

ТЕМА: Датчик DS18B20 с длинным шлейфом

Датчик DS18B20 с длинным шлейфом 30 март 2017 19:28 #26

  • Sergey9301
  • Sergey9301 аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 277
  • Спасибо получено: 13
В 4х жильном проводе две жилы пустил на общий , сейчас при измерении сначала выскаивает ересь типа у7 или что то подобное, потом сразу реальные показания. это по трехпроводной схеме включения, таже схема но с кабелем витая пара 8ми жильная , включил с каждой пары по одному проводу на общий, и по два на дата и +5, все нормально, им еще смотрите осцилом на питание, очень капризная штука, питаю часы от зарядки мобильной, лезли пульсации и немалые, с трансформаторным бп даже на гнилых проводах все работало нормально.
Последнее редактирование: 30 март 2017 20:04 от Sergey9301.
Администратор запретил публиковать записи гостям.

Датчик DS18B20 с длинным шлейфом 11 окт 2017 00:27 #27

  • Oto
  • Oto аватар
  • Не в сети
  • Moderator
  • Сообщений: 1330
  • Спасибо получено: 423
Как обычно, на роль учителя не претендую, так как сам пока весьма поверхностно разобрал этот вопрос. Просто покажу, для тех, кто сам пытается отладить свою библиотеку с протоколом 1-Wire, что можно и нужно увидеть с помощью логического анализатора, с описанием времени для минимальных и максимальных задержек, типы команд порядок обработки и их назначение, в интернете описаны достаточно, не буду повторяться, гугл поможет лучше.
Только то, что показал логический анализатор, при нормальной работе DS18b20.

1). Сначала мы видим инициализацию датчика DS18b20 на шине.
МК формирует импульс 1.1 «Reset», переводя в низкий логический уровень шину 1-Wire и удерживая её не менее 480 мкс (макс. до 960 мкс).
Затем МК "отпускает” шину и напряжение возвращается к высокому логическому уровню 1.2 , протокол 1-Wire это время ограничено диапазоном от 15 до 60 микросекунд (влияет выбор подтягивающего резистора).
Обнаружив и распознав импульс «Reset», DS18b20 формирует ответный импульс 1.3 «Presence», длительностью от 60 до 240 микросекунд (Рис.1).


2). Пример записи в DS18b20 одного байта 0хСС. (Рис.2)
МК делает это, так называемыми тайм-слотами.
Здесь синхронизируется передача каждого бита, биты передаются начиная с младшего. Это позволяет сделать требования к временным параметрам импульсов очень мягкими.
Длительность тайм-слотов 2.5 записи должна составлять от 60 до 120 мкс.
Тайм-слот передачи "0" заключается просто в удержании шины 1-Wire в низком уровне в течение всей длительности тайм-слота 2.1 от 60 до120 мкс..
Передача "1" осуществляется путем "отпускания" 2.3 шины 1-Wire со стороны МК не ранее чем через 1 мкс, но не более чем 15 мкс.
Между соседними тайм-слотами должен быть интервал 2.2 не менее 1 мкс (время восстановления), когда на шине за счёт подтягивающего резистора устанавливается лог. 1. Максимальная величина времени восстановления не ограничивается.


3). Тайм-слоты чтения. Инициатором чтения данных является МК (ведущее устройство), он генерирует тайм-слот для чтения каждого бита. Длительность тайм-слотов 3.5 чтения должна быть не менее 60 мкс мах. 120 мкс со временем восстановления между слотами не менее 1 мкс.
Рис.3 пример чтения одного байта 0х6D.
Если МК принимает данные, то опрос уровня в шине он должен сделать на промежутке до 15-й микросекунды тайм-слота.
То есть, если МК обнаружит на входе высокий уровень 3.2, до 15 микросекунды, значит, он считал как лог.1.
После 15 мкс, отсутствие высокого уровня 3.4, МК считывает как лог.0.
#StopRussianAggression
Последнее редактирование: 11 окт 2017 00:45 от Oto.
Администратор запретил публиковать записи гостям.
Спасибо сказали: wolf2000
  • Страница:
  • 1
  • 2
Модераторы: wolf2000, Vakula, Айнцвайдрайченко