Главная arrow Проекты arrow По группам arrow Software-проекты arrow Программа-терминал для отладки сети 1-wire.  
18.09.2024 г.
Главная
Проекты
Статьи
Начинающим
Архив новостей
Ссылки
Контакты
Поиск
Файлы
Форум
Карта сайта
Авторизация





Забыли пароль?
Ещё не зарегистрированы? Регистрация
Поддержи наш сайт!
Через WebMoney

 R785211844650
 Z210696637574
 E368177590409

Программа-терминал для отладки сети 1-wire. Печать E-mail
Рейтинг: / 12
ХудшаяЛучшая 
Автор ARV   
05.08.2011 г.

Предлагаю очередной свой проект для исследовательских целей. На этот раз ковыряемся в 1-wire. 

Утилита предназначена для сследования поведения сети 1-wire1 устройств путем подачи в сеть различных сигналов, команд и данных, считывания данных из сети с целью изучения принципов работы, алгоритмов работы с различными2  1-wire-устройствами, проверки функционирования сети и т. п. Будет незаменима для тех, кто разрабатывает свои собственные SLAVE-устройства с нестандартными командами.  

Требования.

Для работы программы необходимо использование простейшего адаптера3 сети 1-wire, подключаемого к COM-порту компьютера. Так же обеспечивается работа с улучшенным адаптером4. В комплекте с программой поставляется обновленная версия библиотеки OWDriver версии 1.2. Важно, что программа не совместима с более ранними версиями этой библиотеки, хотя ранее разработанные программы могут работать с новой версией, в связи с чем рекомендуется обновить имеющися версии библиотеки.

Простейшие адаптеры требуют наличия аппаратного СОМ-порта в компьютере, однако, возможна работа и через виртуальные СОМ-порты, получаемые при помощи USB-to-RS232 переходников. Проверена работа с переходниками на базе микросхем Profilink. Следует учитывать, что далеко не все такие адаптеры обеспечивают строгое соответствие синалов RS-232 требованиям стандарта, в связи с чем могут быть ошибки и проблемы в работе.

Установка.

Программа поставляется в архиве, содержащем 4 файла:

terminal-1w.exe – исполняемый файл программы

owdriver.dll – библиотека драйвера 1-wire

terminal-1w.ini – файл конфигурации программы

terminal-1w.pdf – этот файл документации


Для установки следует распаковать архив в любую папку на диске. Для удобства запуска рекомендуется создать ярлык программы и поместить его на рабочий стол. Если у Вас имеются другие установленные программы ARV Research для работы с 1-wire, использующие драйвер owdriver.dll, рекомендуется заменить библиотеку на поставляемую находящуюся в архиве.

Описание интерфейса.

Програма выполнена в однооконном интерфейсе. Сразу после запуска окно имеет следующий вид:

Окно программы
Окно программы
 

Пока не выбран коммуникационный порт, все элементы управления программы недоступны. Следует выбрать из выпадающего списка тот СОМ-порт, к которому подключен адаптер сети 1-wire.

После выбора коммуникационного порта окно приобретает рабочее состояние:

Порт открыт
Порт открыт
 

В верхней части окна имеется область с подсказкой: текст в этой области содержит информацию о том элементе управления, на который указывает курсор.

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

Работа с сетью 1-wire может осуществляться либо командами верхнего уровня, либо тайм-слотами нижнего.

Обращение к устройства 1-wire может осужествляться с указанием конкретного адреса устройства и без указания адреса, если надо обратиться одновременно ко всем или в сети присутствует только одно устройство. Реализуются эти варианты так:

Ввод адреса
Ввод адреса
 

Если выбрано MATCH, то будет осуществлена передача команды совпадения адреса с введенным адресом. Если выбрано SKIP, то будет осуществлена передача команды пропуска адреса, а сам адрес передаваться не будет. Наконец, при выборе варианта IGNORE вообще ничего передаваться не будет.

Адрес состоит из кода семейства, 6 байтов уникального номера и байта контрольной суммы. Код семейства может быть введен вручную в соответствующем окне, либо выбран автоматически из выпадающего списка, где перечислены все доступные коды.

Байты адреса вводятся вручную, а байт контрольной суммы рассчитывается автоматически по мере ввода остальных частей адреса. Рекомендуем использовать так же специальный калькулятор5 контрольной суммы, если необходимо.

Если область адреса включена, то при обмене с сетью автоматически передается команда MATCH ROM, затем заданный адрес. Если адрес отключен — не передается ничего.

После успешной адресации устройства следует послать определенную команду для выполнения устройством нужной функции. Для этого служит следующая область программы:

Ввод команды 

Если эта область включена, обязательно после автоматически переданного адреса будет передан заданный код команды. Если область адреса отключена, а команда включена — она будет передана первой. Если область команды отключена — не будет передано ничего.

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

Многие устройства 1-wire требуют, чтобы им отправляли различные данные. Для выполнения этой функции служит область данных:

Ввод данных
Ввод данных
 

По умолчанию она отключена. Если ее включить, то после команды будут переданы все байты, введенные в области данных, причем если предыдущие области не включены, эти данные будут переданы первыми.

Данные необходимо вводить в шестнадцатиричном формате, разделяя байты пробелами. Допускается вводить любое количество данных, в том числе в нескольких строках. По мере ввода чисел наименование области «Данные» может менять цвет: если текст красный — поле данных содержит недопустимое значение, передача таких данных будет заблокирована.

Следует найти и исправить неверно введенные данные, добившись черного цвета текста:

 

Ошибка в данных   Данные корректны
   

 

Для всех введенных данных автоматически рассчитывается значение контрольной суммы. Если необходимо, этот байт можно добавить к данным.

Нажатием кнопки «Очистить» можно быстро удалить все введенные данные.

В определенных случаях устройство должно в ответ на команду выдать некоторое количество байтов своих данных. Реализация функции автоматического приема обеспечивается следущим образом: надо отметить опцию "После отправки считывать" и задать количество считываемых байт.

Если отметить эту опцию, то после автоматической передачи всех вышеперечисленных частей будет считано из сети указанное число байт данных. 

Все функции обмена реализуются при помощи следующих кнопок:

Image

Данная кнопка активна лишь в том случае, если настройки сделаны верно. После нажатия на эту кнопку последовательно передаются включенные поля адреса, команды, данных, а затем, если включено, считываются ответные данные. Ход этих процессов отображается в области протокола.

Image

В любое время можно нажать эту кнопку, чтобы реализовать считывание одного байта из сети 1-wire.

Image

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

Image

В любой момент можно послать в сеть импульс сброса при помощи этой кнопки.

ImageImage

Эти кнопки позволяют в любое время выдать в шину 1-wire тайм-слоты записи 1 или 0 соответственно.

Image

В любой момент можно сформировать в шине 1-wire тайм-слот чтения бита. Не забывайте, что тайм-слот чтения бита отличается от тайм-слота записи 1 только тем, что позволяет увидеть «ответ» устройства в виде считываемого бита.

Описание окна протокола

  Протоколирование всех операций осуществляется в специальной области. Определено 5 типов записей протокола:   

  1. Информационное сообщение

  2. Сообщение о передаче данных

  3. Сообщение о приеме данных

  4. Сообщение об ошибке или сбое

  5. Предупреждение

 

Информационное сообщение просто содержит пояснительный текст:

Сообщение
Сообщение
 

Сообщение о передаче и приеме отмечаются стрелочками соответственно синего и зеленого цвета:

Ввод-вывод
Ввод-вывод
 

Ошибка отмечается красным квадратиком:

Ошибка
Ошибка
 

Как правило, если ошибка возникает в процессе обмена, то процесс передачи или приема прекращается. В настоящее время существует лишь 2 вида ошибок: ошибки связанные с тем, что СОМ-порт выбран или работает неверно, и ошибки связанные с проблемами сети 1-wire.

Предупреждение отмечатеся квадратиком желтого цвета и служит для уведомления о «подозрительных» событиях:

Предупреждение
Предупреждение
 

  В области протокола имеется возможность воспользоваться всплывающим по нажатию правой кнопки мышки меню, в котором присутствуют следующие команды:

Меню протоколаОчистить все — удаление содержимого протокола полностью. 

Копировать — обычная команда копирования выделенного участка в буфер обмена.

Копировать все — позволяет скопировать в буфер обмена содержимое всего протокола, а не только выделенной его части, выделение не требуется.

Поместить в данные — команда доступна лишь в том случае. Если выделенный участок содержит корректные числовые данные. В этом случае они будут скопированы (добавлены) в окно ввода данных для передачи.

Использовать как адрес — команда доступна лишь в том случае, если выделено 7 байтов данных, которые будут использованы в качестве адреса. Первый байт трактуется, как код семейства, а контрольная сумма рассчитывается автоматически.

Использовать как код семейства — команда доступна лишь в том случае, если выделен 1 байт данных. В этом случае он будет помещен в поле ввода кода семейства в адресе.

Советы и рекомендации.

Как узнать серийный номер/адрес устройства при помощи терминала?

Настраиваем программу следующим образом:

Считывание адреса
Считывание адреса
 

После чего нажимаем кнопку «Выполнить обмен».

В области протокола появится нечто похожее на следующее:

Считывание адреса
Считывание адреса
 

Считанные 8 байт и есть уникальный адрес вашего устройства, которые можно скопировать в поле данных или в адрес, как было сказано ранее.

Примечание: для удобства специально при выполнении команды определения адреса сделано автоматическое определение семейства подключенного устройства, обратите внимание на содержимое области «Адрес», оно будет таким:

Код семейства
Код семейства
 

Если считанный первый байт зарегистрирован в списке семейств, наименование этого семейства будет автоматически показано в окошке. Разумеется, если код не зарегистрирован, ничего не будет выведено.

Как изменить списки команд и наименований семейств?

Вы обратили внимание, что в выпадающих списках перечислены далеко не все существующие семейства и доступные для них команды. Если вам не достаточно имеющегося, либо наоборот, вы хотите еще более ограничить список, следует отредактировать ini-файл программы.

Он состоит из двух секций: секция [FamilyCodes] содержит список всех кодов семейств, а секция [Commands] — всех команд.

Если нужно добавить новое семейство, надо просто ввести в соответствующей секции наименование семейства, а затем, после знака равенства, код этого семейства по классификации Dallas6. Коды могут вводиться либо в десятичном формате, либо в шестнадцатиричном, причем в этом случае обязательно завершать код символом «h» или «H». Если будет введен код с ошибкой, при загрузке программы появится соответствующее сообщение.

Аналогично следует поступить и для ввода новой команды.

Наименования семейств и команд можно вводить кириллицей, если это необходимо.

Ссылки и литература.

Все устройства 1-wire http://www.maxim-ic.com/pl_list.cfm/filter/21/ln/en

Краткое введение в технологию 1-wire http://arv.radioliga.com/content/view/39/43/

Схема простейшего адаптера сети 1-wire http://arv.radioliga.com/content/view/79/44/

Схема улучшенного адаптера сети 1-wire http://arv.radioliga.com/content/view/70/44/

Программа-калькулятор контрольной суммы по алгоритму Dallas 1-wire http://arv.radioliga.com/content/view/225/38/

Утилита для работы с 1-wire http://arv.radioliga.com/content/view/138/38/

 

Скачать утилиту можно из файлового архива, как обычно.


Добавить в любимые (3) | Просмотров: 42362

  Коментарии (1)
 1 Написал(а) Александр, в 00:30 03.07.2015
Интересная тема. Жаль, что нет продолжения...

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

 
След. »
Полезные материалы по сходным темам
BannerFans.com