Современная электроника №8/2022

ИНЖЕНЕРНЫЕ РЕШЕНИЯ 52 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 8 2022 сигнал DI микросхемы U2 подключён на общий провод. Так как при перехо- де в режим передачи передаётся толь- ко уровень 0, то, следовательно, мож- но передавать только 9 стартстопных кодов, а именно: 0xFF, 0xFE, 0xFC, 0xF8, 0xF0, 0xE0, 0xC0, 0x80, 0x00. Все компоненты схемы собраны на печатной плате и предназначены для монтажа под «винт». На рис. 5 представ- лены: слева – фото собранной печат- ной платы, справа – 3D-модель той же платы. Печатная плата разработа- на в среде проектирования DipTrace, проект доступен в каталоге про- грамм [6] и находится в файле shema_ rs485_1wire_v1.zip . На печатной плате предусмотрена установка компонентов под два разме- ра: DIP и SOIC. Все микросхемы уста- навливаются через переходную колод- ку DIN-8, что позволяет ремонтировать блок, модифицировать и изменять про- граммное обеспечение и возможные функции использования. Печатная плата вытянута в длину для установки на дин-рейку аналогично конструкции МСВ [2]. 3. Программное обеспечение Для работы используется программ- ное обеспечение, совместимое с интер- фейсом 1wire, которое представлено в [6]. Программа термометрии silos_v3_ bagan.exe подготовлена на языке про- граммирования FORTH [7]. Программа содержит все компоненты для програм- мирования и модификации преобра- зования 12F629, а также печатные пла- ты и схемы. Программный код для МК формируется в режиме «восстановле- ние всех файлов – компиляция нового кода», как указано в описании [8]. Для тестовых проверок в МК схемы преобразования интерфейса RS-485- 1wire предусмотрена возможность получения данных с использованием АТ-команд через программу «Гипер- терминал» или ей подобные. Устанав- ливаются скорость и формат передачи 9600n1 и передаются блоком запрос- ные байты команд. Ответный блок бай- тов содержит информацию согласно передаваемому запросу. Перечислим основные команды запросов. ● AT+R – передача сброса на шину 1wire. Ответ 1 байт: 0xFF – нет ответа, 0x F0 – есть ответ RST по шине 1wire. ● AT+1 – передача сигнала «единица» на шину 1wire. Ответ 1 байт: 0x FF – принята «единица», 0xF0 – принят «ноль», т.е. можно уже дешифровать данные от датчика. ● AT+0 – передача сигнала «нуля» на шину 1wire. Ответ 1 байт: FF – при- нята ошибка, F0 – принят «ноль». ● AT+KN – передача байта, где N = 0...FF в формате 1wire. Ответ в три байта, в которые закодирован ответный байт шины 1wire, поскольку коли- чество байт на передачу ограниче- но схемным решением установки постоянного нуля. ● AT+GKLNNNN..N – передача бло- ка NNN…N байт количеством K. От- вет L 3 байт. Следует учитывать, что надо другой программой последо- вательно по три байта данных пере- кодировать в один байт и получить L байт. Таким образом передаётся пакет на запрос индивидуальных датчиков и получаются данные, на- пример, о температуре. В тексте про- граммы это выполняет форт-слово DE_KOD_1WIRE . ● AT+Y – запрос о содержании ППЗУ 12F629. Ответ – вся память МК в HEX формате 0 × 80 × 3 байт. ● AT+U – запрос на поиск всех до- ступных адресов для микросхем интерфейса шины 1wire. Отве- том выдаются найденные адре- са устройств в блоке формата 8 × 3 байт. Признак окончания по- иска – повторение блока первого найденного адреса. Порядок кодирования и декодиро- вания 1 байта в 3 определён доступ- ным количеством кодов на передачу. Передаваемый байт в 8 бит разбива- ется на 3+3+2 бита (B1+B2+B3). Имеем всего 8 вариантов, которые и передаем байтом, как показано в табл. 1. Для B3 имеем два бита и передаём с третьим битом нуля, но при декодиро- вании этот бит не учитываем. Например, исходный байт 0xС1 = = 110-000-01 передаём как 0xFC, 0x00, 0x80. На приёме три байта в обратном порядке «складываются» в один байт. Проверка всей информации на досто- верность выполняется по алгоритму стандарта 1wire. Подробное описание других тесто- вых команд приведено в тексте про- граммы asm_shema_rs485_read_v1.f на языке Форт [7]. Текст форт- ассемблера находится в программе assmb_pik12f_v1.f и компилируется при формировании кода исполнения для МК. Все тексты программ имеют подробные комментарии и доступны для модификации и изменений. Режим АТ-команд позволяет использовать любые другие про- граммы для получения данных через преобразование интерфейса RS-485- 1wire. Выводы Предложенная схема ретрансляции интерфейса RS-485 в 1wire позволяет использовать стандартные преобра- зователи, что увеличивает надёжность при эксплуатации системы термоме- трии. Переход на старт-стопный интер- фейс с низкой скоростью позволяет значительно увеличить длину линии и использовать распространённые кабе- Рис. 6. Фото собранной платы преобразователя rs485-1wire (6а) и её 3D-модель в DipTrace (6б) Таблица 1. Порядок кодировки исходного байта на три передаваемых байта 2 000 001 010 011 100 101 110 111 3 0x00 0x80 0xC0 0xE0 0xF0 0xF8 0xFC 0xFE а б

RkJQdWJsaXNoZXIy MTQ4NjUy