8-900-374-94-44
[email protected]
Slide Image
Меню

Arduino 1 wire: осваиваем цифровой термодатчик и 1-Wire — «Хакер»

Содержание

Arduino Playground - HomePage

Arduino Playground is a work in progress. We can use all the help you can give, so please read the Participate section and get your fingers typing!


Playground Content Tree

Arduino en Español, Български, Català, Deutsch, Français, Italiano, Português, Русский
Manuals and Curriculum
  • More Good starting places - Cohesive documentation that will step you through a variety of topics.
Board Setup and Configuration
  • Learn more about using and configuring your boards. For example: power supplies, burning bootloaders, firmwares, etc.
Development Tools
  • Software for PCs for Arduino development.
Arduino on other Chips
  • The Arduino IDE can be configured to program a variety of microcontrollers, not just the ones found on the standard Arduino boards.
Interfacing With Hardware
  • Output - Examples and information for specific output devices and peripherals: How to connect and wire up devices and code to drive them.
  • Input - Examples and information on specific input devices and peripherals: How to connect and wire up devices and code to get data from them.
  • User Interface
  • Storage - Adding external storage to your Arduino board.
  • Communication - various means of communicating to and from an Arduino board.
  • Data Logging and Plotting - libraries for SD cards, data loggers and plotters
  • Power supplies - Solutions for powering your project.
  • General - General interfacing that does not fit under any of the categories, or span across multiple.
Interfacing with Software
  • How to get Arduino to talk to various pieces of software on your computer.
User Code Library
  • Here you find general use software snippets and libraries for calculations and 'internal' purposed. Tutorials for learning C, math, sleep, etc.
  • If you have code to contribute related to an external device, find the right spot under Interfacing With Hardware.
Suggestions & Bugs
  • With your help this free open source project can continue to improve. Bug reports, feature requests, and pull requests are welcome!
Electronics Techniques
  • Soldering tutorials and electronics texts and resources.
Sources for Electronic Parts
Related Hardware and Initiatives
  • Arduino-compatible hardware, related initiatives, and other microcontroller platforms.
Arduino People/Groups & Sites
Exhibition
  • A gallery of projects made with Arduino (as opposed to tutorials on how to recreate them).
Project Ideas
Languages

Сеть 1-Wire в "полевых условиях"

О практическом применении сети 1-Wire и температурных датчиков DS18B20 в частности, написано много и  подробно. Цель этой статьи - рассказать, как использовать эти датчики (или другие устройства сети) в суровых "полевых условиях". Не секрет, что на столе под лампой светлой цифровой датчик DS18B20 или его бюджетный брат DS18S20 замечательно работает  с минимальным обвязом со стороны микроконтроллера в т.
н. двухпроводной схеме:



Фактически, весь "обвяз" состоит из резистора 4К7, между шиной питания VCC (+5В) и шиной данных VDO, который и позволяет датчику паразитно питаться от этой же шины. Схема проста, наглядна и кроме этого, позволяет экономить на одном проводе в кабеле сети. Для расстояний менее 10 метров - вполне оправдано, правда точность преобразования будет не лучше 2°C (разрядность АЦП датчика DS18B20 снижается с 12 до 10 бит), что во многих случаях будет вполне достаточно.

К сожалению,  двухпроводный способ включения практически непригоден в "полевых условиях" из-за незащищенности от помех. Дальнейшее увеличение длины сетевого кабеля  будет приводить к большему числу сбоев, вплоть до полного отказа сети. Поэтому, часто приходится отказываться от паразитного питания в пользу трехпроводного подключения:





Дополнительная выделенная линия питания сулит нам следующие "бонусы":
  1. Длина сетевого кабеля 100 метров и более;
  2. Количество одновременно подключенных датчиков - не менее 32шт. ;
  3. Разрешающая способность АЦП - 0,0625°C и точность измерения - 1°C.
Однако, еще остается борьба с помехами на длинных линиях связи. Простейшей защитой является включенный в обратном направлении диод Шоттки между линией данный и общим проводом, именно так советует поступать Brian C. Lane, автор популярного проекта DigiTemp. Мы лишь немного расширим данное решение для трехпроводной схемы включения:
D1 - сборка быстродействующих диодов Шоттки BAV199, механизм действия такой защиты подробно описан в блоге Уважаемого киберсатаниста DI HALT;

L1, L2 - фербиды BLM21AG221SN1D - индуктивности для защиты от высокочастотных помех, возникающих при коммутации сильноточных потребителей;

C1 - керамический конденсатор, естественный спутник ножек питания цифровой микросхемы;

IC1 - собственно цифровой датчик температуры DS18B20Z в корпусе SOIC8.

Все компоненты - SMD (0805 и SOT23) для уменьшения размера платы датчика:


После сборки, плата температурного датчика выглядит следующим образом:

Обязательно защищаем плату датчика от влаги (цапонлаком или акриловым лаком):


Для монтажа датчика на поверхность, например на трубопровод, очень хорошо подходит самовулканизирующаяся резиновая изолента. Кроме того, необходимо хорошо теплоизолировать точку установки датчика. Я использую пористую самоклеющуюся ленту.

Контактные площадки для пайки кабеля сети 1-Wire сознательно сделаны крупными и вот почему...

Трактат о проводочках кабеля

Самой распространенной ошибкой при построении сети 1-Wire является выбор в пользу Ethernet-кабеля Cat.5! Подавляющее большинство читателей скажет - "у нас все очень хорошо и бодро работает на обрезках сетевухи". Не спорю ни в коем случае, кабель Cat.5 длиной 10..30 м вполне годится для 3-х проводного
способа подключения датчиков, более того - вот вам рекомендованная схема использования народного кабеля, которую и сам использую на даче для водоснабжения дома:



"Ну таки и в чем дело?" - скажет проницательный читатель. А вот в чем: в кардинальном различии "физики и логики" сетей Ethernet и 1-Wire. Не вдаваясь в сложности организации сети Ethernet, просто прошу поверить (и с мультиметром проверить) в то, что из-за значительного падения напряжения на длинных и весьма тонких проводах кабеля Cat. 5e датчику сети 1-Wire банально не хватает напряжения питания!

Вывод напрашивается простой и логичный - использовать кабель с проводами бОльшего сечения и желательно - экранированный! Для своих целей, я выбрал вполне доступный по цене (и наличию в магазинах) кабель МКЭШ-3х0.5 - схема подключения датчиков будет выглядит так:


Несколько худший, но вполне приемлемый результат, можно получить с кабелем МКЭШ-2х0.35 и следующей схемой подключения:




Наконец, можно использовать вполне приличный провод от торшера - ПВС3х0.75...ПВС3х1


Заключение


Нынешний владелец торговой марки 1-Wire - компания Maxim, для защиты нежных ножек микропроцессора от "суровых полевых условий", предлагает приборчик DS9503, который по сути - просто быстродействующий диод Шоттки + токоограничивающие резисторы в линиях питания и данных. Сам я его еще в руках не держал, но как только это случиться - немедленно опишу полученные впечатления.
Послесловие


C огромным удовольствием - благодарю Илью Данилова за помощь словом и хардвером в освоении платформы Ардуино, конструктивные замечания и неоценимую поддержку в разработке проекта ОткрытогоПЛК!
  • Скачать проект платы-подавителя помех в формате Eagle.

CANADUINO DHT22 High-Precision Digital Temperature and Humidity Sensor with 1-Wire-Interface Compatible With Arduino STM32 etc.

CANADUINO DHT22 High-Precision Digital Temperature and Humidity Sensor with 1-Wire-Interface Compatible With Arduino STM32 etc.

Please consult your piercer for proper sterilization instructions, 3dRose Sven Herkenrath Cat - Funny Illustration of a Persian Cat Kitty Animal - Adult T-Shirt XL (ts_319024): Clothing, Reminder: Please do not look directly at the Light within two meters so that can ensure your security for your eyes, We are a family owned company for over 35 years in the U, endless sparkle and luminous shine. CANADUINO DHT22 High-Precision Digital Temperature and Humidity Sensor with 1-Wire-Interface Compatible With Arduino STM32 etc., Mesh ventilation construction creates maximum airflow to keep your feet cool and dry in any running conditions. We pride ourselves in top quality jewelery with over 30 yrs of experience in the industry. Every Control Arm comes with all ball joints and bushings required for installation pre-installed – no need to source and install additional components before installation, This beautiful shower door towel bar adds elegance and convenience to any bathroom décor. Any questions please post in Q&As,

CANADUINO DHT22 High-Precision Digital Temperature and Humidity Sensor with 1-Wire-Interface Compatible With Arduino STM32 etc., Overnight duffel bag tote Bowie lightning and leopard with. and because of this no refunds can be given. Each motif can also be stitched as an ornament (30H x 33W each), These floral backpacks are made with a 70% cotton/30% polyester canvas fabric. in our bright little Salt Lake City studio. CANADUINO DHT22 High-Precision Digital Temperature and Humidity Sensor with 1-Wire-Interface Compatible With Arduino STM32 etc., or tossing in your knitting for a weekend getaway, Golden metal creoles with a Cauri shell. To open the PDF you will need Adobe Reader. Buy Banana Bucket Men's Jacket Slim Fit Lightweight Softshell Flight Bomber Jacket Coat Beige: Shop top fashion brands Clothing. Deluxe 1998-2003): Highway Bars - ✓ FREE DELIVERY possible on eligible purchases. CANADUINO DHT22 High-Precision Digital Temperature and Humidity Sensor with 1-Wire-Interface Compatible With Arduino STM32 etc., Shoulder strap length: About 2m, it can be used as a single shoulder bag. Creativity to us not only means new designs and colours, Black: Tools & Home Improvement. Made in Detroit: Poems: Marge Piercy: Books,
CANADUINO DHT22 High-Precision Digital Temperature and Humidity Sensor with 1-Wire-Interface Compatible With Arduino STM32 etc.
.

Возможность взаимного оказания услуг и совместного продвижения продуктов и услуг на рынке

Разбираемся с 1-wire в Arduino

В современном мире популярным видом электронных устройств выступают ключи с технологией контактной памяти, суть работы данных устройств заключается в том, что по средствам двоичного кода, при контакте ключа и считывающего устройства, происходит обмен информацией между ними. Для обмена информацией сам ключ и считывающее устройство используют протокол iButton, по средствам которого осуществляется последовательная передача данных от ключа к считывающему устройству внутри time-слотов. По средствам 1-Wire  информация передается по однопроводной шине данных, но сам протокол дает возможность одновременной работы с множеством ключей, которые по параллельному принципу подключены к линии данных.

В устройствах контактной памяти применяется принцип «ведущий-ведомый», главное устройство проверяет правильность контрольных кодов, которые в это время хранятся в оперативной памяти «ведомого» электронного ключа, затем, после проверки, дает «ведомому» команду – скопировать контрольные коды в основную память. Для работы ключа iButton также требуется энергия, которую он получает в момент касания к считывающему устройству, когда уже не происходит обмена данными, на это уходят доли секунды. Сам ключ содержит, окруженную защитным металлическим или пластиковым корпусом, микросхему с уникальным регистрационным ID.

Технология контактной связи применяется:

  • В персональных компьютерах для защиты информации и идентификации лица, имеющего право доступа к информации (в настоящее время активно применяется в банковской сфере).
  • В зданиях, для определения жильцов многоквартирных домов, а также в офисных центрах, для пропускного режима персонала в помещениях.
  • В охранных системах (как для подтверждения постановки помещения под охрану, так и для отметки выездных групп о проверке объекта).

Первые ключи-идентификаторы появились еще в 1991 году под товарным знаком «Touch memory», который отражает весь принцип работы устройств контактной памяти. Электронный ключ сразу стал популярным среди пользователей, что привело к резкому увеличению его разновидностей. Внутри ключей стали устанавливать процессоры и идентификаторы, оборудованные собственным термопреобразователем. С 1997 года название бренда было изменено с «Touch memory» на «IButton», что означает таблетку с содержащейся внутри информацией. В таком виде данные электронные ключи сохранились по настоящее время.

Запись опубликована в рубрике Технологии. Добавьте в закладки постоянную ссылку.

Руководство по связи 1-Wire | Максим Интегрированный

Аннотация: В этой статье дается общий обзор технологии Maxim 1-Wire®, ее концепции связи и преимуществ опций с малым количеством выводов. В основном разделе обсуждаются устройства 1-Wire по их набору функций и объясняются типичные приложения. Статья завершается практической информацией о том, как оценивать устройства 1-Wire, объясняет варианты настройки устройства и ссылается на ресурсы, которые помогают клиентам интегрировать технологию 1-Wire в свои системы.

Что такое технология 1-Wire?

В основе технологии 1-Wire ® лежит последовательный протокол, использующий одну линию передачи данных и заземление для связи. Мастер 1-Wire инициирует и управляет обменом данными с одним или несколькими подчиненными устройствами 1-Wire на шине 1-Wire (, рис. 1, ). Каждое ведомое устройство 1-Wire имеет уникальный, неизменяемый, запрограммированный на заводе-изготовителе 64-битный идентификационный номер (ID), который служит адресом устройства на шине 1-Wire. 8-битный семейный код, подмножество 64-битного идентификатора, определяет тип и функциональные возможности устройства.Обычно подчиненные устройства 1-Wire работают в следующих четырех диапазонах напряжения:

  • 1,71 В (мин.) До 1,89 В (макс.)
  • 1,71 В (мин.) До 3,63 В (макс.)
  • от 2,97 В (мин.) До 3,63 В (макс.)
  • от 2,8 В (мин.) До 5,25 В (макс.)

Большинство устройств 1-Wire не имеют вывода для источника питания; они получают энергию от шины 1-Wire (паразитный источник питания).

Рис. 1. Конфигурация 1-Wire «ведущий / ведомый» использует одну линию данных плюс опорный заземлитель.

Что особенного в 1-Wire?

1-Wire - это цифровая система на основе напряжения, которая работает с двумя контактами, данными и землей, для полудуплексной двунаправленной связи. По сравнению с другими системами последовательной связи, такими как I 2 C или SPI, устройства 1-Wire предназначены для использования в среде с мгновенным контактом. Либо отключение от шины 1-Wire, либо потеря контакта переводит ведомые устройства 1-Wire в определенное состояние сброса. Когда напряжение возвращается, ведомые устройства просыпаются и сигнализируют о своем присутствии.Имея только один защищаемый контакт, встроенная защита устройств 1-Wire от электростатического разряда чрезвычайно высока. С двумя контактами устройства 1-Wire являются наиболее экономичным способом добавления электронных функций к неэлектронным объектам для идентификации, аутентификации и доставки данных калибровки или производственной информации.

Как упаковываются устройства 1-Wire?
Устройства

1-Wire предлагаются в корпусах с обычными транзисторами (TO-92) и IC (TSOC, TDFN, SOT23). 2-контактный корпус SFN 1 , разработанный для контактных приложений и простого подключения, предназначен для устройств 1-Wire с паразитным питанием (, рис. 2, ).Корпус iButton 2 из нержавеющей стали диаметром 16 мм защищает устройства 1-Wire от суровых условий окружающей среды, что делает их пригодными для использования внутри и вне помещений (, рис. 3 ). Многие устройства также доступны в виде штампа с выступом (, рис. 4 ).

Рис. 2. Корпус SFN 6,0 мм x 6,0 мм x 0,9 мм имеет большие контактные поверхности.

Рис. 3. Корпус iButton диаметром 16 мм защищает микросхему 1-Wire внутри от агрессивных сред.

Рисунок 4.Матрица с выступом (WLP) с шагом 0,5 мм.

Какие функции устройства доступны и каковы типичные приложения?

В настоящее время существует множество устройств 1-Wire. Номера деталей, начинающиеся с DS19, всегда находятся в упаковке iButton. Остальные номера деталей в этом разделе, то есть те, которые начинаются с DS24, DS25 и DS28, доступны в обычных пластиковых упаковках. Если продукт также доступен как SFN, то это упоминается в столбце «Примечания» в следующих таблицах деталей.Чтобы найти актуальную информацию о пакете для любого устройства, перейдите на сайт Maxim и введите номер детали в поле Search .

Устройства

1-Wire можно сгруппировать по функциям в несколько категорий:

  • Только идентификация
  • Идентификация плюс контроль
  • Идентификация плюс температура
  • Идентификация плюс время
  • Идентификация плюс NV SRAM
  • Идентификация плюс одноразовое программируемое (OTP) EPROM
  • Идентификация плюс EEPROM
  • Идентификация плюс аутентификация SHA-256 и безопасная EEPROM
  • Идентификация плюс аутентификация SHA-256 / ECDSA и защищенная память
  • Идентификация плюс аутентификация SHA-3, ChipDNA -зашифрованная EEPROM
  • Идентификация и регистрация данных

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

Только идентификация

Устройства данной категории отличаются невысокой стоимостью. Соответственно, уровень защиты, который они могут обеспечить, ограничен. Если DS2401 или DS2411 используется для защиты интеллектуальной собственности (IP), следует рассмотреть возможность использования специальной версии устройства. См. . Доступна ли настройка устройства? раздел для более подробной информации.

Номер детали Банкноты Типичные области применения
DS2401 DS2401 не требует расходных материалов V CC , поэтому эта деталь подходит для идентификации картриджей для принтеров и медицинских расходных материалов.
  • Идентификация и аутентификация печатной платы (PCB)
  • Идентификация аксессуаров / периферийных устройств
  • Защита IP или бытовой электроники
  • Идентификация картриджа принтера
  • Контроль доступа
  • Управление активами
  • DS2411 В CC питание, 1,5 В или выше
    DS1990A
    DS1990R
    DS1990R гарантированно генерирует импульс присутствия при контакте со считывателем.
    Идентификация плюс контроль

    Приложения для этих частей аналогичны устройствам, указанным выше. Однако программируемые контакты ввода / вывода (PIO) добавляют системе возможность управления или обратной связи.

    Номер детали Банкноты Типичные области применения
    DS2413 Два PIO на 28 В
  • Картридж для принтера и одноразовая медицинская идентификация
  • Управление картами стойки
  • Идентификация и управление аксессуарами / периферийными устройствами
  • Идентификация плюс температура

    В большом электронном оборудовании (стойках) правильное охлаждение / воздушный поток критически важны для надежной работы.DS28EA00 решает эту проблему уникальным способом благодаря функции цепочки 3 , которая позволяет определять физическую последовательность устройства на шине 1-Wire. При подключении для обнаружения последовательности один из двух PIO доступен для функций управления.

    Номер детали Банкноты Типичные области применения
    DS28EA00 Если не подключен провод для определения последовательности, доступны два PIO для функций управления Мониторинг карт стойки
    DS1920 Это автономное устройство измеряет температуру по команде, например.г., когда читатель дотрагивается до него. Сбор данных о температуре при контакте
    Идентификация плюс время

    Эти устройства измеряют время, считая секунды с помощью 32-битного двоичного счетчика. Зная нулевую точку отсчета времени (т.е. 1 января 1970 г., 00:00:00 часов UTC), можно определить любую секунду в пределах 136 лет. Подсчет секунд особенно удобен для измерения временных интервалов.

    Номер детали Банкноты Типичные области применения
    DS2417 DS2417 также доступен в виде пакета межфланцевого уровня (WLP). Для прерывания периодического таймера требуется кристалл 6 пФ, 32 кГц. Бытовая электроника
    DS1904 Это автономное устройство iButton включает аккумулятор и кристалл. Это устройство также подходит для систем патрулирования и учета рабочего времени.
    Идентификация плюс NV SRAM

    Срок хранения данных для продуктов, перечисленных в этой категории, составляет более 10 лет. Размер энергонезависимой памяти показан в столбце Notes .

    Номер детали Банкноты Типичные области применения
    DS1992 1 КБ памяти
  • Идентификация печатной платы
  • Контроль доступа
  • Управление активами
  • DS1993 4 КБ памяти. Благодаря более низкой стоимости (по сравнению с DS1995 / DS1996) это устройство также подходит для идентификации и аутентификации печатных плат (PCB).
  • Защита IP
  • Контроль доступа
  • Управление активами
  • DS1995 16 КБ памяти
    DS1996 64 КБ памяти
    Идентификация плюс OTP EPROM

    Все устройства этой категории используют технологию 12 В EPROM.Поскольку в пакетах нет отверстий, эти биты являются одноразовыми - если их изменить с 1 на 0, их нельзя поменять местами. Чтобы пометить всю 32-байтовую страницу как недопустимую и указать альтернативное расположение для допустимых данных, эти устройства имеют байты перенаправления, по одному для каждой страницы. Эта уникальная функция позволяет изменять данные, сохраняя историю изменений. Отдельные страницы памяти могут быть необратимо защищены от записи. Защита от записи делает OTP EPROM первыми кандидатами для приложений, которым требуется небольшой объем данных, которые редко меняются, например, сетевые адреса 4 и идентификация печатной платы. 5

    Номер детали Банкноты Типичные области применения
    DS2502 1 КБ памяти, доступные пакеты включают версии WLP и SFN
  • Идентификация и контроль использования картриджей для принтеров и медицинских расходных материалов
  • Идентификация и аутентификация стоечных карт и печатных плат
  • Идентификация аксессуаров / периферийных устройств
  • DS2505 16 КБ памяти
    DS2502-E48 1 КБ памяти, предварительно запрограммированный Ethernet-адресом MAC-48 / EUI-48
  • Сетевой адрес
  • Идентификация печатной платы
  • DS2502-E65 1 КБ памяти, предварительно запрограммированный адресом узла IEEE ® EUI-64
    DS1982 1 КБ памяти
  • Идентификация печатной платы
  • Управление активами
  • DS1985 16 КБ памяти
    Идентификация плюс EEPROM

    По сравнению с OTP EPROM, устройствам этой категории не требуется 12 В для записи.Данные могут быть изменены (перезаписаны) при условии, что область памяти или страница не защищены от записи. Большинство этих устройств имеют режим эмуляции EPROM, который позволяет изменять биты только с 1 на 0, как и в случае с EPROM. Благодаря высокой емкости и безопасности DS1977 используется в игровой индустрии. DS28E80 широко используется в медицинской промышленности благодаря устойчивой к гамма-излучению памяти и схемам.

    Номер детали Банкноты Типичные области применения
    DS28E05 112 байт пользовательской памяти
  • Медицинские расходные материалы и идентификация печатных плат
  • Периферийная идентификация
  • Идентификация картриджа принтера
  • DS28E07 1024-битная память
  • Идентификация аксессуаров / печатной платы
  • Послепродажное управление расходными материалами
  • Идентификация картриджа принтера
  • Хранение данных калибровки медицинских датчиков
  • DS28E80 248 байт пользовательской памяти; устойчивость к гамма-излучению
  • Идентификация медицинских расходных материалов
  • Медицинские инструменты и принадлежности для идентификации и калибровки
  • DS2431 1Kb памяти, эмуляция EPROM, защита от записи страниц.доступные пакеты включают версии WLP и SFN
  • Идентификация и контроль использования картриджей для принтеров и медицинских расходных материалов
  • Идентификация стоечных плат и печатных плат
  • Идентификация аксессуаров / периферийных устройств
  • Защита IP и аутентификация
  • Бытовая электроника
  • DS28EC20 20Kb памяти, эмуляция EPROM, блок (четыре страницы) защита от записи
    DS24B33 Память 4 Кбайт, доступные пакеты включают версии WLP и SFN
  • Идентификация и мониторинг использования картриджей для принтеров и медицинских расходных материалов
  • Идентификация стоечных плат и печатных плат
  • Хранение данных калибровки медицинских датчиков
  • Идентификация аксессуаров / периферийных устройств
  • DS28E04-100 Память 4 КБ, два PIO 5 В, семь адресных входов 1-Wire, эмуляция EPROM, защита от записи страниц
  • Автоконфигурация модульных систем, устанавливаемых в стойку
  • Идентификация аксессуаров / печатной платы
  • DS1971 256b памяти
  • Контроль доступа
  • DS1972 1 КБ памяти, эмуляция EPROM, защита страницы от записи
  • Контроль доступа
  • Управление активами
  • Хранение данных технического обслуживания / осмотра
  • DS1973 4 КБ памяти
    DS1977 32 КБ памяти, защита паролем
  • Управление активами
  • Игры
  • Идентификация плюс аутентификация SHA-256 и безопасная EEPROM

    Все устройства этой категории безопасности используют модель аутентификации с симметричным ключом «запрос-ответ». 6 Таким образом, аутентификация устройства и запись на устройства с активированной надлежащей защитой требует знания секрета устройства и способности вычислять MAC SHA-256. За исключением секрета, данные из памяти читаются без ограничений. Все устройства поддерживают аутентификацию по запросу и ответу, эмуляцию EPROM для страниц памяти пользователя и различные защиты секретных страниц и страниц памяти. См. . Доступна ли настройка устройства ? раздел для службы предпрограммирования.

    Номер детали Банкноты Типичные области применения
    DS28E15
    DS28EL15
    512-битная память, двунаправленная аутентификация; Номер детали EL - это устройство низкого напряжения (от 1,671 В до 1,89 В)
  • Идентификация и аутентификация медицинских расходных материалов
  • Безопасное управление функциями
  • Идентификация и аутентификация картриджа принтера
  • DS28E22
    DS28EL22
    2048-битная память, двунаправленная аутентификация, номер детали EL - низкое напряжение (1.От 671 В до 1,89 В) устройство
  • Аутентификация подключенных к сети устройств
  • Генерация и обмен ключей для криптографических систем
  • Идентификатор картриджа принтера / аутентификация
  • Управление лицензией на эталонный дизайн
  • Безопасная настройка функций для конфигурируемых систем
  • Аутентификация и калибровка датчика / аксессуаров
  • Система защиты интеллектуальной собственности
  • DS28E25
    DS28EL25
    4096-битная память, двунаправленная аутентификация, номер детали EL - низкое напряжение (1.От 671 В до 1,89 В) устройство
  • Идентификация и аутентификация расходных материалов
  • Управление лицензией на эталонный дизайн
  • Аутентификация и калибровка датчика / аксессуаров
  • Система защиты интеллектуальной собственности
  • DS1964S 512-битная память, двунаправленная аутентификация, устройство iButton
  • Контроль доступа
  • Аутентификация расходных материалов
  • Безопасное управление функциями
  • DS2465 I 2 Интерфейс C для связи с хостом и встроенное ведущее устройство 1-Wire
  • Сопроцессор SHA-256
  • Мастер 1-Wire для управления подчиненными устройствами с поддержкой SHA-256 на шине 1-Wire
  • Идентификация плюс аутентификация ECDSA и безопасная память

    Все устройства в этой категории безопасности используют модель безопасной аутентификации с асимметричным ключом с использованием алгоритма ECDSA.Некоторые из устройств могут использоваться для аутентификации на основе SHA-256 или ECDSA. Аутентифицированные или неаутентифицированные контакты GPIO для управления внешними компонентами / датчиками доступны на DS28E36, DS28E83 и DS28E84. Устройства также имеют функцию счетчика только уменьшения, которая позволяет пользователю измерять использование расходных материалов. Два устройства используют технологию физически неклонируемой функции (PUF) ChipDNA от Maxim для защиты данных устройства. DS28E83 / 84 обладают высокой радиационной стойкостью, что делает их уникальными для применения в области медицинской стерилизации.См. . Доступна ли настройка устройства ? раздел для службы предпрограммирования.

    Номер детали Банкноты Типичные области применения
    DS28E36 8 КБ памяти, двунаправленная аутентификация ECDSA или SHA-256, два GPIO, счетчик декремента, встроенный генератор случайных чисел (RNG), ECDH (обмен ключами Диффи-Хеллмана с эллиптической кривой)
  • Вспомогательные принадлежности и периферийная безопасная аутентификация
  • Защита узлов Интернета вещей
  • Безопасная загрузка или загрузка прошивки и / или параметров системы
  • Безопасное хранение криптографических ключей для хост-контроллера
  • DS28E38 2 КБ памяти, однонаправленная аутентификация ECDSA, ChipDNA, счетчик декремента, встроенный RNG
  • Аутентификация медицинских датчиков и инструментов
  • Аутентификация узла IoT
  • Периферийная аутентификация
  • Идентификация и аутентификация картриджа принтера
  • Управление лицензией на эталонный дизайн
  • Безопасное управление расходными материалами ограниченного использования
  • DS28E39 2 КБ памяти, двунаправленная аутентификация ECDSA, ChipDNA, счетчик декремента, встроенный RNG
  • Идентификация и аутентификация расходных материалов
  • Управление лицензией на эталонный дизайн
  • Аутентификация и калибровка датчика / аксессуаров
  • Система защиты интеллектуальной собственности
  • DS28E83 10 КБ OTP-памяти, двунаправленная аутентификация ECDSA или SHA-256, высокая радиационная стойкость, встроенный RNG, ECDH
  • Безопасная аутентификация аксессуаров и периферийных устройств
  • Медицинские расходные материалы Безопасная аутентификация
  • Идентификация и калибровка медицинских инструментов и принадлежностей
  • Безопасная загрузка или загрузка прошивки и / или параметров системы
  • Безопасное хранение криптографических ключей для хост-контроллеров
  • DS28E84 15 КБ FRAM, 10 КБ памяти OTP, двунаправленная аутентификация ECDSA или SHA-256, высокая радиационная стойкость, встроенный RNG, ECDH
    DS2476 I интерфейс для хоста 2 коммуникация; 8 Кбайт памяти для хранения данных, ключей и сертификатов
  • Сопроцессор ECDSA и SHA-256 для обеспечения эффективного взаимодействия хоста с ведомыми устройствами 1-Wire с поддержкой ECDSA / SHA-256
  • Идентификация плюс аутентификация SHA-3 и безопасный EEPROM

    Устройства этой категории безопасности используют модель безопасной аутентификации с симметричным ключом SHA-3.В устройствах используется технология Maxim ChipDNA PUF для защиты данных устройства. Он также имеет надежные контрмеры для защиты от атак на систему безопасности. См. . Доступна ли настройка устройства ? раздел для службы предпрограммирования.

    Номер детали Банкноты Типичные области применения
    DS28E50 2 Кб памяти, двунаправленная аутентификация SHA-3, ChipDNA, счетчик декремента, встроенный RNG
  • Аутентификация медицинских датчиков и инструментов
  • Аутентификация узла IoT
  • Периферийная аутентификация
  • Идентификация и аутентификация картриджа принтера
  • Управление лицензией на эталонный дизайн
  • Безопасное управление расходными материалами ограниченного использования
  • DS2477 I 2 Интерфейс C для связи с хостом и встроенное ведущее устройство 1-Wire
  • Сопроцессор SHA-3 и ведущее устройство 1-Wire
  • Оптимизирован для управления ведомыми устройствами с поддержкой SHA-3 на шине 1-Wire
  • Может быть настроен для использования с другими ведомыми устройствами 1-Wire
  • DS28E16 256-битная память, однонаправленная аутентификация SHA-3, счетчик декремента, встроенный RNG, очень низкая стоимость
  • Периферийная аутентификация
  • Идентификация и аутентификация картриджа принтера
  • Безопасное управление расходными материалами ограниченного использования
  • Идентификация и регистрация данных

    Эти устройства представляют собой автономные регистраторы данных о температуре (Thermochron ® ).DS1923 также может регистрировать влажность (Hygrochron ). Принципиальные различия между устройствами - это размер памяти данных и уровень защиты данных (пароль). Доступны устройства для различных температурных диапазонов, отвечающие требованиям различных приложений. 7

    Номер детали Банкноты Типичные области применения
    DS1921G Регистратор температуры 2 КБ, от -40 ° C до + 85 ° C
  • Мониторинг температуры для наук об окружающей среде
  • Контроль температуры для обеспечения безопасности пищевых продуктов
  • Обеспечение качества отгрузок пищевых продуктов и фармацевтических товаров
  • DS1921H Регистратор температуры 2 КБ, высокое разрешение, от + 15 ° C до + 46 ° C
    DS1921Z Регистратор температуры 2 КБ, высокое разрешение, от -5 ° C до + 26 ° C
    DS1922E 8KB регистратор температуры, от + 15 ° C до + 140 ° C
    DS1922L 8KB регистратор температуры, от -40 ° C до + 85 ° C
    DS1922T 8KB регистратор температуры, 0 ° C C до + 125 ° C
    DS1923 8KB Регистратор температуры и влажности, от -20 ° C до + 85 ° C
    DS1925 122KB Регистратор температуры, от -40 ° C до + 85 ° C
    Как получить практический опыт работы с продуктами 1-Wire?

    Если доступен ПК со свободным портом USB и доступом в Интернет, единственные необходимые элементы: адаптер 1-Wire, оценочное (EV) программное обеспечение, некоторые простые кабели и устройства 1-Wire для оценки.Актуальные цены на товары и их наличие можно найти на сайте Maxim. Программное обеспечение OneWireViewer 8 и соответствующие драйверы можно загрузить бесплатно.

    Более экономичный подход - купить один из комплектов электромобиля. Каждый комплект включает адаптер 1-Wire, набор устройств 1-Wire или iButton, а также необходимые кабели и аксессуары. Таблица 1 описывает комплекты электромобилей, доступные на момент публикации этой публикации. Состав комплектов электромобилей может меняться по мере появления новых деталей.Устройства, не входящие в комплект, необходимо приобретать отдельно. Программное обеспечение, которое запускает комплекты электромобилей, доступно бесплатно на веб-сайте Maxim или по запросу, в зависимости от уровня безопасности продукта. Тип упаковки (пластик или iButton) определяет, какой комплект лучше всего подходит для применения.

    Таблица 1. Обзор комплекта EV

    Номер комплекта EV Оценивает Адаптер 1-Wire Тип Содержимое упаковки Банкноты
    DS9092K # устройства iButton USB,
    DS9490R
  • Кабель с датчиком iButton
  • Различные устройства iButton
  • Принадлежности для механического монтажа iButton
  • DS1921K # устройства iButton USB,
    DS9490R
  • Кабель с датчиком iButton
  • DS1921G
  • Принадлежности для механического монтажа
  • DS1925EVKIT # Устройства iButton USB,
    DS9490R
  • Кабель с датчиком iButton
  • DS1921L
  • Принадлежности для механического монтажа
  • Совместим с DS1922L, DS1922T, DS1922E и DS1923.(Они не входят в комплект.)
    DS1964SEVKIT # DS1964S USB,
    DS9400
  • Кабель
  • DS2465 EV комплектная плата
  • DS1402-RP8 Сетевой кабель 1-Wire
  • DS1964S Устройство iButton
  • DS28EA00EVKIT # DS28EA00 USB,
    DS9490R
  • Три платы EV с установленным DS28EA00
  • Кабели RJ-11
  • DS28E05EVKIT # DS28E05 USB,
    DS9481R-3C7
  • Кабель с платой разъема DS9120P +
  • DS28E05 в упаковке TSOC
  • Этот комплект также можно использовать для оценки других продуктов 1-Wire, доступных в корпусах TSOC или TO-92.
    DS28E80EVKIT # DS28E80 USB,
    DS9481R-3C7
  • Кабель с платой разъема DS9120Q +
  • DS28E80 в упаковке TDFN
  • DS28E15EVKIT # DS28E15 USB,
    DS9400
  • Кабель
  • DS2465 EV комплектная плата
  • DS9120Q + плата розетки
  • DS28E15 в упаковке TDFN
  • DS28E16EVKIT # DS28E16
    DS2477
    USB,
    DS9481P-300 #
  • Кабель USB с платами разъемов DS9121BQ +
  • DS28E16 и DS2477 в пакетах TDFN
  • DS28E22EVKIT # DS28E22 USB,
    DS9400
  • Кабель
  • DS2465 EV комплектная плата
  • DS9120Q + плата розетки
  • DS28E22 в упаковке TDFN
  • DS28E25EVKIT # DS28E25 USB,
    DS9400
  • Кабель
  • DS2465 EV комплектная плата
  • DS9120Q + плата розетки
  • DS28E25 в упаковке TDFN
  • DS28E36EVKIT # DS28E36
    DS2476
    USB,
    DS9481P-300 #
  • USB-кабель с платами разъемов DS9121AQ +
  • DS28E36 и DS2476 в пакетах TDFN
  • DS28E38EVKIT # DS28E38
    DS2476
    USB,
    DS9481P-300 #
  • USB-кабель с платами разъемов DS9121AQ +
  • DS28E38 и DS2476 в пакетах TDFN
  • DS28E39EVKIT # DS28E39
    DS2476
    USB,
    DS9481P-300 #
  • USB-кабель с платами разъемов DS9121AQ +
  • DS28E39 и DS2476 в пакетах TDFN
  • DS28E50EVKIT # DS28E50
    DS2477
    USB,
    DS9481P-300 #
  • USB-кабель с платами разъемов DS9121BQ +
  • DS28E50 и DS2477 в пакетах TDFN
  • DS28E83EVKIT # DS28E83
    DS2476
    USB,
    DS9481P-300 #
  • USB-кабель с платами разъемов DS9121AQ +
  • DS28E83 и DS2476 в пакетах TDFN
  • DS28E84EVKIT # DS28E84
    DS2476
    USB,
    DS9481P-300 #
  • USB-кабель с платами разъемов DS9121AQ +
  • DS28E84 и DS2476 в пакетах TDFN
  • Каковы следующие шаги к приложению 1-Wire?

    После того, как продукты 1-Wire выбраны, необходимо выбрать тип главной цепи (т.е.е., эквивалент адаптера 1-Wire в наборах). Для встроенных приложений существует множество вариантов в зависимости от доступных системных ресурсов. 9 Приложения, требующие значительного количества кабелей между устройствами 1-Wire, получают преимущества от специализированной главной цепи. 10

    Помимо оборудования, микропрограммное обеспечение необходимо для связи с устройствами 1-Wire, записи или чтения данных и выполнения функций управления. Подборку программных драйверов 11 для различных платформ можно бесплатно загрузить с сайта Maxim.Драйверы для конкретных устройств, интерфейсы прикладных программ (API) и примеры программного обеспечения см. В Руководстве по программным ресурсам 1-Wire. 12 Это руководство также включает функции API, основанные на файловой структуре 1-Wire (OWFS), 13 , которые особенно полезны при работе с более чем несколькими сотнями байтов данных.

    Доступна ли настройка устройства?

    Maxim предлагает два типа настройки устройства. Пользовательское ПЗУ довольно популярно среди устройств, предназначенных только для идентификации, но оно применимо ко всем устройствам с 64-битным идентификационным номером.С настраиваемым ПЗУ пул из 68,7 × 10 9 номеров (эквивалент 36 битов) предназначен для использования только одним клиентом. Примеры пользовательского ПЗУ можно найти в примечании к приложению Maxim 178. 5 Этот тип настройки выполняется до упаковки, что приводит к длительному времени выполнения заказа. Для устройств EEPROM / OTP / FRAM с поддержкой SHA-256 / ECDSA / SHA-3 Maxim предоставляет безопасную услугу предварительного программирования для установки данных и секретов. Для получения подробной информации отправьте запрос в службу технической поддержки на завод.

    Сводка
    Технология

    1-Wire основана на протоколе последовательной связи, в котором используется одна линия данных плюс заземление между ведущим и ведомым.Ведомые устройства 1-Wire доступны в пластиковых корпусах в форме штампа с выступом или в форме кнопки iButton из нержавеющей стали. Минимальная функция ведомых устройств 1-Wire - это 64-битный идентификационный номер. Дополнительные функции: PIO, датчик температуры, счетчик времени, NV SRAM, OTP EPROM, EEPROM, механизм SHA-256 / SHA-3 / ECDSA, безопасный EEPROM SHA-256 / SHA-3 / ECDSA, регистрация температуры и влажности. Типичные приложения для устройств 1-Wire включают идентификацию и аутентификацию расходных материалов, стоечных карт, печатных плат, компьютерных аксессуаров и защиту IP (например.g., предотвращение клонирования). Устройства iButton используются в особых случаях: контроль доступа, управление активами, системы обхода охраны, учет рабочего времени, электронные деньги и мониторинг температуры для обеспечения безопасности пищевых продуктов и фармацевтики. Доступны стартовые комплекты электромобилей и программные драйверы, чтобы помочь клиентам интегрировать технологию 1-Wire в свои системы.

    Ссылки / другие ресурсы
    1. Указание по применению 4132: Методы крепления для электромеханического блока SFN
    2. Примечание по применению 3808: Что такое устройство iButton?
    3. Примечание по применению 4037: Восстановление информации о местоположении с помощью функции 1-Wire Chain - простой метод сигнализации и протокола определяет физическое местоположение устройства
    4. Замечания по применению 186: Создание глобальных идентификаторов с помощью устройств 1-Wire
    5. Указание по применению 178: Идентификация печатных плат с использованием продуктов 1-Wire
    6. Примечание по применению 3675: Защитите свои инвестиции в исследования и разработки с помощью безопасной аутентификации
    7. Указание по применению 3892: Обзор датчиков iButton и регистраторов данных температуры / влажности
    8. Примечание по применению 3358: Руководство пользователя OneWireViewer
    9. Примечание по применению 244: Расширенный сетевой драйвер 1-Wire
    10. Стартовая страница, Комплекты для разработки программного обеспечения
    11. Примечание по применению 155: Руководство по программным ресурсам для 1-Wire Описание устройства
    12. Примечание по применению 114: Файловая структура 1-Wire

    Шина 1-Wire ™ и цифровой серийный номер

    Резюме: узнайте о шине 1-Wire ™, создав цифровой серийный номер, который имитирует iButton ™


    Возможно, вы слышали о цифровых шинах SPI и I²C.Это, соответственно, 3- и 2-проводные межсоединения, которые используются для связи с периферийными ИС, такими как EEPROM. Но знаете ли вы, что существует цифровая шина, в которой используется только один провод? Ну ладно, один провод и земля. Эта шина, конечно же, называется шиной «1-Wire ™», и она была разработана много лет назад компанией Dallas Semiconductor (ныне принадлежит компании Maxim). Принцип работы этого интерфейса 1-Wire элегантен в своей простоте. Сигнальный провод от ведущего устройства к ведомому устройству подтянут на ~ 2.Резистор 2К. Когда шина неактивна, резистор используется для зарядки небольшого конденсатора внутри ведомого устройства, которое подает на него питание. Связь от ведущего к ведомому осуществляется путем кратковременного переключения сигнального провода на низкий уровень, в течение которого ведомое устройство продолжает работать, потребляя энергию от конденсатора. Короткие импульсы на землю используются для обозначения бита «1», а слегка длинные импульсы указывают на биты «0». Обратный обмен данными между ведомым устройством и ведущим осуществляется за счет отправки ведущим серии еще более коротких импульсов.Подчиненное устройство отвечает на эти импульсы, удерживая линию на низком уровне, так что он продолжает оставаться на низком уровне дольше, чем время импульса ведущего. Чтобы отправить обратно бит "1", линия удерживается на низком уровне немного дольше, чем импульс, посланный мастером. Добавьте, чтобы отправить обратно бит «0», линия остается на низком уровне все дольше. Конечно, общий протокол связи более сложен, чем этот, но он должен дать вам представление о том, как работает 1-проводная шина. Для получения более подробной информации вы должны прочитать Application Note AN937, чтобы получить полную картину.Dallas / Maxim производит множество устройств, реализующих шину 1-Wire, но одним из первых устройств, которые они сделали, была ИС с «цифровым серийным номером» в пластиковом корпусе TO-92-3. Текущая версия этого устройства, DS2401 +, доступна от Mouser по цене около 1,71 доллара (0,88 доллара на 1000 штук). Эти микросхемы также упакованы в металлические банки под названием «iButtons ™», которые напоминают батарейки типа «таблетка». Утверждается, что каждое устройство производится с уникальным 48-битным , выгравированным лазером , серийным номером только для чтения. Их можно использовать как своего рода электронный ключ или механизм контроля доступа путем прикосновения контактных точек к панели «считывателя» (см. Ниже.Однако в последние несколько лет стали доступны импортные устройства в форм-факторе iButton, которые доступны как для записи, так и для чтения. И в дополнение к этому также доступны небольшие «копировальные» устройства, которые могут считывать серийный номер с одного iButton и затем копировать его на один или несколько клонов с возможностью записи. Таким образом, хотя цифровой серийный номер IC или iButton может показаться идеальным электронным ключом, теперь он страдает той же проблемой дублирования, что и другие типы ключей. Но, к счастью, шина 1-Wire - это нечто большее, чем просто создание цифровых серийных номеров...

    iButton ™ (слева) и разъем для считывателя (справа)

    Это протокол «шины»

    Оказывается, протокол, используемый для считывания цифрового серийного номера, на самом деле служит другой цели. Это способ, который изобрел Даллас, чтобы обнаруживать и выборочно идентифицировать присутствие нескольких устройств на шине (помните, он был разработан как шина , , а не интерфейс точка-точка). Этот протокол, который называется 1-Wire Search Алгоритм используется для получения 48-битного серийного номера, который также действует как уникальный адрес ведомого устройства на шине.Кроме того, ведомое устройство отправляет обратно однобайтовый «семейный код», который указывает тип подключенного устройства, чтобы можно было осуществлять дальнейшую связь. Dallas / Maxim продает ряд более сложных устройств, упакованных как iButton, например, с EEPROM, RAM с батарейным питанием, регистраторами температуры и т. Д. Чтобы узнать больше об этих других устройствах, ознакомьтесь с Dallas / Maxim "Обзор технологии 1-Wire". и его использование ». Давайте создадим собственное устройство 1-Wire!

    Ради интереса я начал задаваться вопросом, насколько сложно будет создать собственное 1-проводное устройство, которое имитировало бы DS2401 +, используя недорогой микроконтроллер, такой как Atmel / Microchip ATTiny10.Версия этого чипа SOT-23, ATTINY10-TSHR, стоит всего 33 цента (цена за штуку), что значительно дешевле, чем цена DS2401 + в размере 1,71 доллара, так что это показалось интересным проектом только с точки зрения затрат. Кроме того, я смогу запрограммировать любой серийный номер, который захочу. И хотя я мог питать ATTiny10 от 5 вольт, я планировал построить схему, подобную следующей, чтобы посмотреть, смогу ли я также реализовать аспект автономного питания микросхем 1-Wire. Я надеялся, что если я смогу работать с автономным питанием, это даст мне отправную точку для создания других типов нестандартных устройств 1-Wire.

    Щелкните изображение, чтобы увеличить

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

    1. Ведомое устройство ожидает «сброса», который отправляет ведущее устройство, потянув за автобус низкий за 480 у.е. Это приводит к пробуждению всех ведомых устройств на шине.
    2. После задержки ~ 50 мкс каждое ведомое устройство переводит шину в низкий уровень на ~ 150 мкс, который отправляет обратно индикатор «присутствия».
    3. Если устройство ответило, протокол продолжается, в противном случае мастер ждет и снова начинает с шага 1.
    4. Теперь мастер отправляет серию из 8 бит, которые образуют «командный» байт, удерживая шину на низком уровне в течение длительного времени (ноль) и короткой (одной) продолжительности.
    5. Если ведомое устройство получает командный байт 0xF0, это указывает на начало последовательности «поиска 1-Wire».
    6. Главный теперь посылает серию из 64 групп из 2 импульсов чтения (из подчиненного), за которыми следует 1 импульс записи (в подчиненное устройство).
    7. Для двух импульсов чтения ведомое устройство сначала отправляет обратно значение бита LS из 64-байтового значения.Он отправляет дополнение к этому значению в следующем импульсе чтения.
    8. Для импульса записи мастер отправляет обратно значение, полученное в первом импульсе чтения.
    9. Если значение, которое получает ведомое устройство, не соответствует значению, которое оно отправило в первом импульсе чтения, ведомое устройство прекращает прослушивание и возвращается к шагу 1.
    10. В противном случае оно возвращается к шагу 6, чтобы отправить следующий из 64 битов.
    11. Если ведомому удается успешно отправить все 64 бита, оно было выбрано в качестве активного устройства на шине и теперь может принимать дополнительные команды.
    Похоже, это должно быть довольно легко кодировать, не так ли? Что ж, я хотел бы сказать, что это был простой проект, но мне потребовалось несколько дней, чтобы заставить код работать, а затем еще один день экспериментов, чтобы заставить его работать надежно. В основном это произошло потому, что я пытался вместе взломать протокол, не изучив предварительно все детали. В частности, время битов и периоды ожидания после битов было довольно сложно получить правильно. И хотя мне удалось заставить работать версию с автономным питанием, мне пришлось использовать более дорогой диод Шоттки, а не более дешевый диод 1N4148, который я пробовал первым, а также конденсатор большей емкости, чем я первоначально думал (я начал с конденсатор на 1 мкФ и увеличил его до 4.7 мкФ, прежде чем схема начнет надежно работать на контакте.) Примечание: конденсатор 4,7 мкФ, кажется, работает нормально, когда подтягивающий резистор равен 2,2 кОм, но в системах, которые используют более высокое значение для подтягивающего резистора, может потребоваться еще больший конденсатор .

    На следующем изображении показан захват трассы логического анализатора

    Saleae Logic 8

    , который показывает колебания напряжения на сигнальной линии (верхняя кривая - цифровая, а нижняя - аналоговая):

    Кроме того, я включил сторожевой таймер в коде, чтобы помочь цепи восстановиться после падения рабочего напряжения.Поскольку включение сторожевого таймера может мешать внутрисхемному программированию, я добавил 100 микросекундную задержку при запуске перед включением сторожевого таймера. Это дает программисту время взять на себя управление, если вы захотите изменить и перепрограммировать код. С первой попытки я установил предохранитель WDTON в ATTiny10, что привело к постоянному включению сторожевого таймера, а позже обнаружил, что мне пришлось прибегнуть к использованию протокола программирования высокого напряжения для перепрограммирования микросхемы. Кстати, если вы решите, что хотите больше поэкспериментировать с 1-проводным интерфейсом, логические анализаторы Saleae очень полезны, потому что они включают вариант 1-проводного декодера, который вы также можете увидеть в действии на изображении выше.Удивительно, но мой довольно дорогой осциллограф серии DS4000 от Rigol не предлагает способа декодирования протокола 1-Wire.

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

    1. Начните с питания ATTiny10 напряжением 5 В, так как это устраняет любые проблемы, связанные с питанием.
    2. Прочтите примечания к приложениям Dallas / Maxim
    3. Используйте логический анализатор, который может декодировать протокол 1-Wire. Я бы, наверное, сдался, если бы у меня не было в наличии Saleae Logic 8.

    Попробуйте сами!

    Если вы хотите попробовать создать свой собственный цифровой серийный номер, я покажу вам три способа дублировать мою работу. Если вы хотите скомпилировать код с нуля, вы можете использовать мою программу ATTiny10IDE. Это интегрированная среда разработки (IDE), которую я написал на Java, чтобы упростить работу с микроконтроллерами серии ATTiny.ATTiny10IDE поставляется с некоторой встроенной документацией, в которой объясняется, как его использовать, поэтому после его установки вы сможете загрузить файл SerialNum.c (см. Вложения внизу страницы) и приступить к работе. Основные шаги:
    1. Откройте SerialNum.c, используя меню «Файл».
    2. Используйте команду «Build» в меню «Actions» для компиляции кода (отобразится список на смешанном C и ассемблерном коде)
    3. Подключите Arduino, на котором запущен код ATTiny10 Programmer (подробнее об этом ниже)
    4. Select порт и скорость передачи данных Arduino (115200) в меню «Настройки».
    5. Выберите TPI Programmer-> Program Device в меню «Действия», чтобы запрограммировать ATTiny10 с помощью скомпилированного кода.
    6. Отсоедините ATTiny10 от программатора и подключите его к схеме выше
    7. О, и вам понадобится программа чтения 1-Wire для считывания серийного номера, но об этом позже ...

    2. Создайте эскиз Arduino, который может программировать ATTiny10

    . В качестве альтернативы вы можете использовать ATTiny10IDE для создания эскиза Arduino, который будет действовать как программист, который вам нужен на шаге 3 выше.Вы можете создать этот эскиз, например:

    1. Откройте SerialNum.c, используя меню «Файл».
    2. Используйте команду «Сборка» в меню «Действия» для компиляции кода (отобразится список на смешанном языке C и код сборки).
    3. Выберите «Программист TPI.> Сгенерировать код программиста Arduino» в меню «Действия» и сохраните этот файл (с именем « SerialNum-prog.ino ») на диск.
    4. Загрузите Sketch в Arduino IDE и загрузите его в стандартный Arduino, такой как Arduino UNO.
    5. Откройте окно «Монитор» и установите скорость 115200 бод.
    6. Sketch должен распечатать инструкции по подключению ATTiny10 к линии данных Arduino, например:
    • Connect:
    • Arduino pin D2 to ATtiny10 pin 5
    • Arduino pin D3 to ATtiny10 вывод 3
    • Вывод D4 Arduino на вывод 1 ATtiny10
    • Вывод D5 Arduino на вывод 6 ATtiny10
    • Вывод D6 Arduino на вывод 2 ATtiny10
    • Команды:
    • 900 P - Программа ATtiny10
    • I - Identify ATtiny10
  • Убедитесь, что ATTiny10 правильно подключен, набрав g букву «I» в текстовой области монитора, нажав кнопку «Отправить».Это должно повториться эхом:
  • После того, как ATTiny10 правильно подключен (двойная проверка), введите букву «P» в текстовой области монитора вверху и нажмите кнопку «Отправить».
  • Эскиз должен затем напечатать «Программирование», а затем «Готово».
  • Отсоедините ATTiny10 от программатора и подключите его к цепи выше
  • О, и вам понадобится программа чтения 1-Wire для считывания серийного номера. номер, но об этом позже ...
  • 3. Загрузите Arduino Sketch, который может программировать ATTiny10

    Или, наконец, вы можете просто пропустить " SerialNum-prog.ino ", который я уже создал для вас (см. вложения внизу страницы), и следуйте шагу 4 в наборе инструкций, которые я жажду непосредственно перед этой опцией. Примечание: как только вы загрузили этот эскиз в Arduino , он также будет работать как программатор ATTiny10 в ATTiny10IDE, который вас попросили использовать на шаге 3 в первом наборе инструкций выше.

    Изменение серийного номера

    Если вы компилируете код с нуля (вариант 1) или сгенерировав вариант 2) Programmer Sketch, вы можете изменить серийный номер, просто изменив средние 6 байтов ( 0x57, 0x47, 0xCF, 0x01, 0x00, 0x00 ) в строке 24 в SerialNum.c . Или, если вы загрузили предварительно сгенерированный эскиз программиста (вариант 3), вы можете изменить те же значения внутри созданного эскиза программиста, как показано ниже красным цветом :


    Примечание: байт 0x01 перед 0x57 value - это байт «семейного кода», а байт 0x00 справа от выделенной области является заполнителем для байта CRC, который автоматически вычисляется программой SerialNum.c для соответствия другим 7 байтам в 8 байтах, 64-битная последовательность.

    Хорошо, а что насчет программы Reader?

    Загрузите файл «One-Wire Serial Reader.zip» ниже и, распаковав его, скопируйте эскиз в папку с другими эскизами Arduino. Если вам нужна помощь на этом этапе, см. «Добавление программ (эскизов) в Arduino IDE». Однако, прежде чем вы сможете скомпилировать и загрузить этот Sketch, вам также необходимо установить OneWire.h Library в Arduino. Эту библиотеку можно загрузить с этой веб-страницы. Если вам нужна помощь в установке библиотеки в Arduino IDE, ознакомьтесь с полными инструкциями на этой странице.Затем, после того, как вы завершили проект выше (или, если у вас есть iButton или другое под рукой устройство 1-Wire), вы можете использовать следующую схему с One-Wire Serial Reader Sketch для считывания серийного номера :

    Щелкните изображение, чтобы увеличить


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

    Щелкните изображение, чтобы увеличить

    Чтобы использовать Reader, запустите Sketch, а затем откройте «Монитор» и установите его на 115200. Если все работает правильно, вы должны увидеть следующее:

    DS1990A: 01 57 47 CF 01 00 00 26

    Серийный номер: 0x1CF4757 (30361431)

    Щелкните изображение, чтобы увеличить

    Ниже приведен полный список деталей, необходимых для сборки платы.Поскольку вы получите 3 копии печатной платы из парка OSH и поскольку стоимость деталей, необходимых для сборки плат, довольно низкая, вы можете рассмотреть возможность заказа достаточного количества деталей для сборки всех трех плат, так как это даст вам две запасные части для других проектов. .


    (*) Примечание: если ATTINY10-TSHR недоступен в Mouser, попробуйте заказать его в DigiKey по чуть более высокой цене - 0,34 доллара США.

    Обновление ...

    One-Wire Serial Reader.zip

    (2k)

    Wayne Holder,

    5 февраля 2019 г., 22:21

    Wayne Holder,

    5 февраля 2019 г., 1:27 AM

    Wayne Holder,

    5 февраля 2019 г., 1:27

    Интерфейс 1-Wire Maxim соответствует Arduino и mbed

    Используйте эту конструкцию с сетями 1-Wire, регистрацией данных и для быстрого прототипирования.Максим говорит, что его шина 1-Wire «продолжает процветать в эпоху Интернета вещей». Этот уникальный протокол обеспечивает связь и питание по одному проводу на относительно больших расстояниях. Теперь, с MAXREFDES132 #, Maxim объединяет надежный аппаратный мастер 1-Wire с платформами Arduino и mbed.org.

    MAXREFDES132 # предоставляет платформу для взаимодействия с устройствами 1-Wire, комплектами 1-Wire EV и iButton через DS2484 I 2 Мастер C-to-1-Wire или мастер бит-взрыва на D2 формы Arduino Распиновка фактора.Оба мастера поддерживаются библиотекой ARM mbed OneWire и библиотекой Arduino. Bit Banging поддерживается только на платформе MAX32600MBED, мастер DS2484 I 2 C-to-1-Wire может использоваться на любой платформе mbed.

    Двухканальный двунаправленный преобразователь уровня MAX3394E обеспечивает совместимость между платформами 5 В и 3,3 В с использованием вывода IOREF форм-фактора Arduino.

    Мастер DS2484 I 2 C-to-1-Wire предоставляет внутренние настраиваемые пользователем таймеры, которые освобождают системный хост-процессор от генерации критических по времени сигналов 1-Wire, поддерживая как стандартные, так и повышенные скорости передачи данных 1-Wire.Кроме того, питание шины 1-Wire может быть отключено под управлением программного обеспечения через D3 распиновки форм-фактора Arduino.

    D2 можно использовать для подключения к шине 1-Wire, установив JP1 на контакты 1-2 и установив JP2 для подключения предоставленной подтяжки к шине. Bit Banging поддерживается только библиотекой OneWire на mbed для платы MAX32600MBED.

    Библиотека OneWire, которая поддерживает все кремниевые мастера Maxim из одного общего API, была разработана для микросхем ARM Cortex-M с использованием онлайн-среды разработки mbed.орг. Библиотеку и примеры программ можно найти по ссылкам на веб-странице справочного дизайна; https://www.maximintegrated.com/en/design/reference-design-center/system-board/6304.html

    Интерфейс 1-Wire

    Maxim соответствует Arduino и mbed

    Используйте эту конструкцию с сетями 1-Wire, регистрацией данных и для быстрого прототипирования. Максим говорит, что его шина 1-Wire «продолжает процветать в эпоху Интернета вещей». Этот уникальный протокол обеспечивает связь и питание по одному проводу на относительно больших расстояниях.Теперь, с MAXREFDES132 #, Maxim объединяет надежный аппаратный мастер 1-Wire с платформами Arduino и mbed.org.

    MAXREFDES132 # предоставляет платформу для взаимодействия с устройствами 1-Wire, комплектами 1-Wire EV и iButton через DS2484 I 2 Мастер C-to-1-Wire или мастер бит-взрыва на D2 формы Arduino Распиновка фактора. Оба мастера поддерживаются библиотекой ARM mbed OneWire и библиотекой Arduino. Bit Banging поддерживается только на платформе MAX32600MBED, мастер DS2484 I 2 C-to-1-Wire может использоваться на любой платформе mbed.

    Двухканальный двунаправленный преобразователь уровня MAX3394E обеспечивает совместимость между платформами 5 В и 3,3 В с использованием вывода IOREF форм-фактора Arduino.

    Мастер DS2484 I 2 C-to-1-Wire предоставляет внутренние настраиваемые пользователем таймеры, которые освобождают системный хост-процессор от генерации критических по времени сигналов 1-Wire, поддерживая как стандартные, так и повышенные скорости передачи данных 1-Wire. Кроме того, питание шины 1-Wire может быть отключено под управлением программного обеспечения через D3 распиновки форм-фактора Arduino.

    D2 можно использовать для подключения к шине 1-Wire, установив JP1 на контакты 1-2 и установив JP2 для подключения предоставленной подтяжки к шине. Bit Banging поддерживается только библиотекой OneWire на mbed для платы MAX32600MBED.

    Библиотека OneWire, которая поддерживает все кремниевые мастера Maxim из одного общего API, была разработана для микросхем ARM Cortex-M с использованием онлайн-среды разработки mbed.org. Библиотеку и примеры программ можно найти по ссылкам на веб-странице справочного дизайна; https: // www.maximintegrated.com/en/design/reference-design-center/system-board/6304.html

    Последовательная связь с малым числом выводов

    : введение в шину 1-Wire

    Последовательная связь - альтернатива параллельным интерфейсам с уменьшенным количеством сигналов. Путем передачи битов последовательно, а не одновременно, последовательные соединения теоретически могут уменьшить параллельную шину любого размера до одного вывода. Однако на практике последовательные протоколы обычно используют более одного вывода, потому что мы можем сделать связь более удобной и надежной, добавив дополнительные сигналы.

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

    I2C обеспечивает надежную, гибкую, полудуплексную связь, используя только два сигнала (данные и часы), которые работают в контексте высокоорганизованных транзакций.

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

    Основы 1-Wire

    Шина 1-Wire была разработана Dallas Semiconductor, а Dallas был приобретен Максимом, так что, насколько я знаю, Максим является текущим «владельцем» протокола. Интерфейс использует структуру «ведущий / ведомый», и единственными необходимыми соединениями между ведущим и ведомым устройством являются опорная земля и одна сигнальная линия. Как и в случае с I2C, сигнальная линия подтягивается к V DD через резистор и возбуждается через выходную схему с открытым стоком.

    Шина 1-Wire делает упор на низкое количество выводов, а не на скорость или гибкость реализации.Исходный протокол был ограничен скоростью передачи данных 16,3 кбит / с, что кажется абсурдно медленным по нынешним стандартам, но, тем не менее, вполне подходит для многих приложений. Новые устройства 1-Wire поддерживают более высокоскоростной режим «overdrive».

    Это базовая конфигурация шины 1-Wire.

    Как вы уже догадались, шина 1-Wire не поддерживает полнодуплексную связь. (Было бы неплохо одновременно передавать отдельные потоки данных в двух направлениях по одному проводу.) Хотя он двунаправленный.

    Приложения с мгновенным контактом

    Отличительной особенностью протокола 1-Wire является то, что он предназначен для использования (используя терминологию Максима) «средах мгновенного контакта». Когда я думаю о I2C и особенно о SPI, я представляю себе печатную плату с различными интегральными схемами, которые постоянно установлены и связаны через постоянные соединения.

    Однако 1-проводная шина часто используется с компонентами, которые находятся в электрическом контакте с главным устройством только временно.Важность контактных систем мгновенного действия в реализациях шины 1-Wire отражена в пакете «iButton» (см. Фото ниже). Это один из стандартных форм-факторов для компонентов шины 1-Wire, который служит прочным стандартизированным корпусом для ведомых устройств, которые часто отделяются от ведущего устройства.

    Корпус iButton имеет диаметр 16 мм и изготовлен из нержавеющей стали. Он обеспечивает удобное подключение к мастеру и защищает микросхему 1-Wire от жестких условий.Изображение предоставлено Максимом.

    Паразитическая сила

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

    Как вообще однопроводные интегральные схемы - к ним относятся датчики температуры, аутентификаторы, память и регистраторы данных - функционируют и обмениваются данными без вывода питания? На самом деле, у них do есть вывод питания, потому что «один провод» между ведущим и ведомым может передавать как данные, так и питание.

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

    Схема любезно предоставлена ​​Максимом.

    Идентификация ведомых устройств

    Еще одна интересная особенность протокола 1-Wire - это метод адресации компонентов, подключенных к шине. Каждое устройство 1-Wire предварительно запрограммировано с уникальным постоянным 64-битным серийным номером.(Благодарим Dallas Semiconductor за хорошее долгосрочное планирование; 2 64 равно примерно 18,4 квинтиллионам, поэтому я не думаю, что в ближайшее время у нас закончатся адреса 1-Wire.) Этот 64-битный последовательный порт. Число включает 8 бит для CRC и 8 бит для кода, который идентифицирует семейство, к которому принадлежит IC.

    Ведущее устройство использует эти 64-битные серийные номера при адресации ведомых устройств, что означает, что нет возможности, что несколько устройств на шине будут иметь один и тот же адрес ведомого устройства.

    Адресация ведомых устройств достаточно проста, если серийные номера известны и включены в прошивку ведущего, но что произойдет, если они неизвестны? Что ж, протокол 1-Wire включает удобный алгоритм поиска, который позволяет мастеру определять серийные номера всех подключенных устройств. Если вас интересуют подробности процедуры поиска по 1-проводу, этот документ от Maxim предоставляет множество дополнительной информации.

    Заключение

    Я надеюсь, что эта статья дала вам четкое представление о том, что такое шина 1-Wire и как она используется.Если вы когда-либо включали этот протокол в один из своих проектов, было бы здорово услышать о вашем опыте. Почему вы выбрали 1-wire вместо SPI или UART? Вы заметили какие-либо существенные преимущества или недостатки?

    Wemos mini DS18B20, пример датчика температуры

    DS18B20 - это датчик температуры, который можно использовать в различных простых проектах. В этой части используется 1-проводная шина (I2C), и вы можете подключить несколько датчиков к вашему Arduino.

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

    Давайте посмотрим на список запчастей

    Список деталей

    Этикетка Деталь Тип
    DS1 DS18B20 Датчик температуры 1-Wire
    Часть 1 Arduino Uno (Rev3)
    R1 4.Резистор 7 кОм

    Схема

    Как всегда, будьте осторожны, чтобы не получить неправильные соединения, вы можете обратиться за помощью к распиновке для устройства ниже. DS18B20 может питаться от 3,0 В до 5,5 В, поэтому вы можете просто подключить его вывод GND к 0 В, а вывод VDD к + 5 В от Wemos Mini

    .

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

    Схема

    Код

     # включить 
    
    // Пример температуры OneWire DS18S20, DS18B20, DS1822
    
    OneWire DS (D4); // на выводе D4 (необходим резистор 4,7 кОм)
    
    недействительная настройка (недействительна)
    {
      Serial.begin (9600);
    }
    
    недействительный цикл (недействительный)
    {
      байт i;
      байт присутствует = 0;
      byte type_s;
      байтовые данные [12];
      адрес байта [8];
      плавать по Цельсию, по Фаренгейту;
    
      если (! ds.search (адрес))
      {
        ds.reset_search ();
        задержка (250);
        возвращаться;
      }
    
    
      если (OneWire :: crc8 (адрес, 7)! = адрес [7])
      {
          Serial.println («CRC недействителен!»);
          возвращаться;
      }
      Серийный.println ();
    
      // первый байт ПЗУ указывает, какая микросхема
      переключатель (адрес [0])
      {
        case 0x10:
          type_s = 1;
          перерыв;
        case 0x28:
          type_s = 0;
          перерыв;
        case 0x22:
          type_s = 0;
          перерыв;
        По умолчанию:
          Serial.println («Устройство не является устройством семейства DS18x20.»);
          возвращаться;
      }
    
      ds.reset ();
      ds.select (адрес);
      ds.write (0x44, 1); // запускаем преобразование с включенным паразитным питанием в конце
      задержка (1000);
      присутствует = ds.reset ();
      ds.select (адрес);
      ds.написать (0xBE); // Чтение блокнота
    
      для (я = 0; я <9; я ++)
      {
        данные [я] = ds.read ();
      }
    
      // Преобразуем данные в фактическую температуру
      int16_t raw = (данные [1] << 8) | данные [0];
      if (type_s) {
        raw = raw << 3; // 9-битное разрешение по умолчанию
        если (данные [7] == 0x10)
        {
          raw = (raw & 0xFFF0) + 12 - данные [6];
        }
      }
      еще
      {
        byte cfg = (данные [4] & 0x60);
        если (cfg == 0x00) raw = raw & ~ 7; // 9-битное разрешение, 93,75 мс
        иначе, если (cfg == 0x20) raw = raw & ~ 3; // 10-битное разрешение, 187.5 мс
        иначе, если (cfg == 0x40) raw = raw & ~ 1; // 11-битное разрешение, 375 мс
    
      }
      Цельсий = (с плавающей запятой) необработанный / 16,0;
      Фаренгейт = Цельсий * 1,8 + 32,0;
      Serial.print ("Температура =");
      Serial.print (по Цельсию);
      Serial.print («Цельсия»);
      Serial.print (по Фаренгейту);
      Serial.println ("Фаренгейт");
    } 

    Выход

    Откройте серийный монитор, и вы должны увидеть что-то вроде этого

    выход ds18b20

    Links
    DS18B20 TO-92 Датчик температуры
    Цифровой датчик температуры с одной шиной ds18B20 Модуль для электронных строительных блоков Arduino

    Предыдущая статья Пример Wemos Mini и DHT ProСледующая статья Пример датчика Wemos mini bmp180 Датчик температуры

    DS18B20 с использованием NodeMCU - Robo India || Учебники || Изучите Arduino |

    В этом руководстве Robo India объясняется, как использовать датчик температуры DS18B20 с NodeMCU.
    1. Введение:

    Этот модуль используется для измерения температуры. DS18B20 - это протокол с однопроводной шиной, для которого требуется только одна линия данных для связи с NodeMCU.

    1.1 Характеристики:

    1. Измеряет температуру от -55 ° C до 125 ° C.

    2. 0,5 ° C Точность от -10 ° C до + 85 ° C

    3. Программируемое разрешение от 9 до 12 бит

    4. Никаких внешних компонентов не требуется.

    5. Уникальный однопроводный интерфейс, для которого требуется только один порт.

    2. Необходимое оборудование
    3. Схема

    Сделайте следующие соединения с Arduino:

    4. Файл библиотеки

    Для запуска этого скетча потребуется следующая библиотека. Загрузите zip-файл, распакуйте его и скопируйте в папку с библиотекой Arduino.

    Этот файл библиотеки должен быть помещен в папку установки Arduino.У меня 64-битная ОС Win7, а адрес папки моей библиотеки Arduino расположен по адресу

    .

    C: \ Program Files (x86) \ Arduino \ библиотеки

    Вы можете загрузить файл библиотеки OneWire отсюда.

    Вы можете скачать файл библиотеки DallasTemperature отсюда.

    5. Программирование

    Вы можете скачать этот скетч Arduino отсюда.

     #include 
    #include 
    
    #define ONE_WIRE_BUS 4 // вывод D2 nodemcu
    
    OneWire oneWire (ONE_WIRE_BUS);
     
    Датчики температуры Даллас (& oneWire); // Передаем ссылку oneWire в Dallas Temperature.недействительная настройка (недействительна)
    {
      Серийный .begin (9600);
     sensor.begin ();
    }
    
    недействительный цикл (недействительный)
    {
     sensor.requestTemperatures (); // Отправляем команду на получение температуры
      Serial  .println («Температура:»);
      Последовательный  .println (sensor.getTempCByIndex (0)); // Почему "byIndex"? На одной шине может быть несколько микросхем. 0 относится к первой микросхеме на проводе
     задержка (500);
    }
    
     
    6. Выход

    Если у вас есть какие-либо вопросы, напишите нам по телефону support @ roboindia.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *