Тестовое приложение для датчика, работающего по протоколу 1-wire

Тестовое приложение для датчика, работающего по протоколу 1-wire

Дата релиза:24/03/17
Последнее обновление:24/03/17
Файлы проекта:Репозиторий GitHub с открытым доступом
Версия TIDE Минимум:5.03.07
Версия TiOS Минимум:TPP2, TPP3: 3.60.00; TPP2(G2), TPP3(G2): 3.60.92
Платформа:TPS2W, TPS3W, TPS2W(G2), TPS3W(G2)
Предназначено для:платформы TPS с Тиббитами

Этот демо-проект был создан с целью обнаружения и опроса популярных цифровых термометров DS18B20 производства Maxim Integrated и других датчиков температуры/влажности, работающих по протоколу 1-wire (DHT11, DHT22 и пр.) Библиотека для протокола 1-wire предназначена для использования в качестве "прозрачного" моста между Тиббитом PIC (№31) и шиной 1-wire.

Библиотека содержит прошивку, готовую для загрузки в память PIC процессора. Это необходимо для корректной работы в качестве декодера 1-wire.

Для работы необходимо понимание устройства и электрических характеристик протокола 1-wire. За дополнительной информацией обратитесь на сайт https://www.maximintegrated.com/en/app-notes/index.mvp/id/1796.

Вам потребуется:

  • плата TPP2, TPP2(G2), TPP3 или TPP3(G2),
  • один Тиббит №31 (PIC-сопроцессор),
  • один Тиббит №20 (разъем на 9 контактов),
  • опционально один Тиббит №00-3 (две линии ввода/вывода, "земля", +5В),
  • опционально один Тиббит №9 или №10 (источник питания 12В->5В),
  • опционально один Тиббит №18 (разъем питания).

Такая компоновка очень удобна, если датчики будут запитываться от внутреннего источника питания. Тиббит №20 позволяет брать +5В пост. тока и "землю" рядом с контактами шины 1-wire.

Пины Тиббита №20 располагаются слева направо. Пины 1, 2 и 3 — это три независимых канала 1-wire / single-wire, пины 5 и 9 — "земля", а пин 8 — это +5В пост. тока. Пины 6 и 7 — это прямые линии ввода/вывода, которые не используются в данном приложении.

В зависимости от того сколько датчиков будут подключены к шине, может потребоваться установить подтягивающий резистор (120 Ом) между +5В пост. тока и сигнальным проводом; а для 8-10 датчиков это необязательно.

В приложении есть несколько отдельных компонентов:

  • 1-wire.tbs/1-wire.tbh содержит функции и процедуры, связанные с протоколом 1-wire. Данные файлы необходимо добавить проект — это важные компоненты библиотеки.

  • PIC_LVP.tbs/PIC_LVP.tbh — дополнительные файлы, содержащие функции и процедуры, которые используются в качестве помощи при загрузке прошивки в память Тиббит-модуля PIC. Загрузка прошивки выполняется один раз; после загрузки прошивка будет находится в программной памяти PIC даже при выключенном питании. Обновление прошивки можно инициировать путем нажатия на кнопку "MD" на платформе TPS; это действие можно выполнить в любое время, когда запущено приложение. Кроме того файл источника содержит функции утилиты для помощи в определении наличия Тиббит-модуля PIC в выбранном слоте, определении модели и версии запущенной прошивки.

  • i2c_1wire_bridge.hex — скомпилированный код прошивки. Если вам интересно ознакомиться с кодом источника прошивки, загляните в поддиректорию "fw" файла i2c_1wire_bridge.asm". Чтобы скомпилировать этот файл, вам потребуется MicroChip's MPLAB X IDE.

Если вы не планируете заниматься обновлением прошивки для своего проекта, можете удалить из него PIC_LVP.tbs, PIC_LVP.tbh и hex-файл прошивки.

В зависимости от типа подключенного датчика, во время работы будут напечатаны различные показания. Печать выполняет sys.debugprint. Таким образом, эту программу следует запускать в режиме отладки.

Тестовое приложение для датчика, работающего по протоколу 1-wire