🔄 Losowy artykuł
Szlaki górskie Pociągiem dookoła Polski Podróże kulinarne Hotele-unikaty świata Parkingi przy lotniskach Łowiska Europy Campingi dla kamperów Imprezy — atrakcje w Polsce Poradnik pilota drona Wydarzenia i bilety Promocje bankowe Kamery na żywo Oferty Centrum Podróży Koliber Triper.pl Trip.FazaFM.com — plany podróży

1-Wire

Klucz iButton wykorzystujący interfejs 1-Wire

1-Wire – szeregowa, półdupleksowa magistrala komunikacyjna opracowana przez przedsiębiorstwo Dallas Semiconductor. Umożliwia przesyłanie danych między jednym urządzeniem nadrzędnym (ang. master) a wieloma urządzeniami podrzędnymi (ang. slave) z wykorzystaniem pojedynczej linii danych oraz masy[1]. Sieć złożona z urządzeń 1-Wire określana jest również jako MicroLAN.

Magistrala nie ma osobnej linii zegarowej. Synchronizacja transmisji odbywa się na podstawie zmian stanu linii danych inicjowanych przez urządzenie nadrzędne. Linia ma zwykle strukturę typu otwarty dren i w stanie spoczynku jest utrzymywana na wysokim poziomie za pomocą rezystora podciągającego. Dane przesyłane są przez okresowe zwieranie linii do masy przez nadające urządzenie[2].

Część urządzeń 1-Wire może pobierać energię bezpośrednio z linii danych, korzystając z tzw. zasilania pasożytniczego. Pozwala to ograniczyć okablowanie do dwóch przewodów: linii danych i masy. Inne urządzenia wymagają osobnego źródła zasilania albo mogą pracować w obu konfiguracjach[1].

Technologia jest stosowana między innymi w cyfrowych czujnikach temperatury, układach identyfikacyjnych, pamięciach nieulotnych, rejestratorach danych, monitorach akumulatorów i układach uwierzytelniających. Szczególną formą urządzeń 1-Wire są układy umieszczane w odpornych obudowach ze stali nierdzewnej, znane jako iButton[1].

Historia

Standard 1-Wire został opracowany przez Dallas Semiconductor w 1989 roku w celu ograniczenia liczby styków wymaganych do komunikacji z przenośnymi modułami przechowującymi dane. Jednym z rezultatów prac było opracowanie urządzeń iButton, wyposażonych w metalową obudowę umożliwiającą zarówno kontakt elektryczny, jak i mechaniczną ochronę układu[3].

Technologia była następnie rozwijana przez przedsiębiorstwo Maxim IC. W 2021 roku Maxim IC zostało przejęte przez Analog Devices[4].

Budowa magistrali

Typowa magistrala 1-Wire składa się z:

  • jednego urządzenia nadrzędnego, którym może być mikrokontroler lub wyspecjalizowany kontroler magistrali;
  • jednego albo wielu urządzeń podrzędnych;
  • wspólnej linii danych, oznaczanej często jako DQ;
  • wspólnej linii masy;
  • rezystora podciągającego linię danych do napięcia zasilania.

W stanie bezczynności rezystor podciągający utrzymuje linię danych w stanie wysokim. Urządzenia komunikujące się na magistrali wymuszają stan niski za pomocą wyjść typu otwarty dren. Dzięki temu wiele urządzeń może współdzielić jedną linię bez bezpośredniego wymuszania na niej przeciwnych stanów logicznych. Takie połączenie realizuje funkcję logicznego iloczynu (ang. wired-AND)[2].

Typowa wartość rezystora podciągającego w prostych układach wynosi 4,7 kΩ, ale właściwa wartość zależy od napięcia zasilania, długości i pojemności przewodów, liczby urządzeń oraz cech zastosowanego kontrolera. Dopuszczalne napięcie magistrali również zależy od zastosowanych urządzeń i powinno być ustalane na podstawie ich dokumentacji technicznej[1].

Zasilanie

Urządzenia 1-Wire mogą być zasilane z osobnego wyprowadzenia albo pasożytniczo z linii danych. W przypadku zasilania pasożytniczego urządzenie pobiera energię, gdy linia danych znajduje się w stanie wysokim, i magazynuje ją w wewnętrznym układzie zasilania. Zgromadzona energia umożliwia podtrzymanie pracy podczas krótkotrwałego wymuszenia na magistrali stanu niskiego[5].

Niektóre operacje, takie jak wykonywanie pomiaru temperatury lub zapis do pamięci nieulotnej, mogą wymagać większego prądu, niż może dostarczyć zwykły rezystor podciągający. Stosuje się wówczas tzw. silne podciąganie (ang. strong pull-up), polegające na czasowym połączeniu linii danych ze źródłem zasilania przez układ o małej rezystancji. Szczegółowe wymagania zależą od konkretnego urządzenia.

Transmisja danych

Wszystkie operacje na magistrali inicjuje urządzenie nadrzędne. Podstawowymi operacjami protokołu są:

  • impuls zerujący (ang. reset pulse);
  • impuls obecności (ang. presence pulse);
  • zapis bitu o wartości 0;
  • zapis bitu o wartości 1;
  • odczyt bitu.

Typowa sekwencja komunikacyjna rozpoczyna się od impulsu zerującego (restartującego). W trybie standardowym urządzenie nadrzędne wymusza stan niski przez co najmniej 480 µs, a następnie zwalnia linię. Podłączone urządzenia podrzędne sygnalizują swoją obecność przez wymuszenie na linii stanu niskiego[2].

Poszczególne bity przesyłane są w określonych przedziałach nazywanych szczelinami czasowymi (ang. time slots). Każda szczelina rozpoczynana jest przez urządzenie nadrzędne wymuszeniem stanu niskiego.

Podczas wysyłania przez urządzenie nadrzędne zwiera ono linię do masy na krótko przy nadawaniu jedynki a dłużej przy nadawaniu zera bitowego.

Podczas odczytu przez urządzenie nadrzędne, zwiera linię krótkim impulsem stanu niskiego, a następnie zwalnia linię i odczytuje jej stan. Urządzenie podrzędne nadając zero przez utrzymuje stan niski linii, a nadając jedynkę pozostawia linię w stanie wysokim[2].

W trybie standardowym pojedyncza szczelina czasowa trwa co najmniej około 60 µs, co pozwala osiągnąć szybkość transmisji rzędu 16 kbit/s. Część urządzeń obsługuje również tryb overdrive, wykorzystujący krótsze szczeliny i umożliwiający transmisję z szybkością rzędu 100 kbit/s. Dokładne parametry czasowe zależą od konkretnych urządzeń oraz warunków panujących na magistrali[2].

Adresowanie urządzeń

Urządzenia 1-Wire są wyposażone w fabrycznie zaprogramowany, niepowtarzalny 64-bitowy numer identyfikacyjny zapisany w pamięci ROM. Identyfikator składa się z:

  • 8-bitowego kodu rodziny (ang. family code), wskazującego rodzaj urządzenia;
  • 48-bitowego numeru seryjnego;
  • 8-bitowej sumy kontrolnej CRC, obliczonej dla poprzednich 56 bitów[6].

W 1-Wire stosowany jest 8-bitowy algorytm CRC oparty na wielomianie x8 + x5 + x4 + 1.

Identyfikator umożliwia urządzeniu nadrzędnemu wybranie jednego urządzenia spośród wielu podłączonych do tej samej linii. Jeżeli identyfikatory nie są znane, można je wykryć przy użyciu polecenia wyszukiwania ROM. Algorytm przeszukuje identyfikatory w postaci drzewa binarnego i rozstrzyga kolejne rozbieżności między bitami wysyłanymi równocześnie przez urządzenia[6].

Podstawowe polecenia dotyczące adresowania urządzeń obejmują:

  • Search ROM (0xF0) – wyszukanie identyfikatorów podłączonych urządzeń;
  • Read ROM (0x33) – odczyt identyfikatora, gdy do magistrali podłączone jest jedno urządzenie;
  • Match ROM (0x55) – wybór urządzenia o wskazanym identyfikatorze;
  • Skip ROM (0xCC) – pominięcie etapu wyboru urządzenia i skierowanie następnego polecenia do wszystkich urządzeń;
  • Alarm Search (0xEC) – wyszukanie urządzeń sygnalizujących stan alarmowy.

Dostępność i sposób działania poszczególnych poleceń mogą zależeć od zastosowanego urządzenia.

Topologia i długość magistrali

Interfejs 1-Wire został pierwotnie zaprojektowany do komunikacji na niewielkich odległościach, na przykład między układami na jednej płytce drukowanej. Przy odpowiednim doborze kontrolera, przewodów i topologii może być również stosowany w bardziej rozległych sieciach czujników[7].

Nie istnieje jedna uniwersalna maksymalna długość magistrali. Jej niezawodność zależy między innymi od:

  • długości i pojemności przewodów;
  • liczby podłączonych urządzeń;
  • sposobu wykonania odgałęzień;
  • wartości rezystora podciągającego;
  • napięcia zasilania;
  • parametrów kontrolera magistrali;
  • podatności instalacji na zakłócenia.

Długie przewody zwiększają pojemność magistrali, spowalniają narastanie napięcia i mogą powodować odbicia sygnału. W rozległych instalacjach korzystne jest prowadzenie przewodów w układzie liniowym z możliwie krótkimi odgałęzieniami. Topologia gwiazdy z długimi odgałęzieniami może prowadzić do odbić i błędów transmisji[7].

Do wykonywania dłuższych połączeń może być używana skrętka, na przykład przewód kategorii 5e. Rozległe sieci wymagają jednak indywidualnego doboru kontrolera, okablowania i topologii oraz sprawdzenia jakości sygnałów w rzeczywistym układzie. Tryb overdrive, ze względu na krótsze przedziały czasowe, przeznaczony jest przede wszystkim do krótkich połączeń[7].

Kontrolery i mostki sprzętowe

Funkcja urządzenia nadrzędnego może być realizowana programowo przez mikrokontroler wyposażony w dwukierunkowe wyprowadzenie wejścia-wyjścia. Rozwiązanie takie, nazywane bit-banging(inne języki), wymaga programowego generowania i pomiaru impulsów z dokładnością odpowiednią dla parametrów czasowych protokołu[2].

W bardziej rozbudowanych systemach stosowane są wyspecjalizowane kontrolery i mostki sprzętowe, między innymi:

  • kontrolery magistrali 1-Wire komunikujące się z systemem nadrzędnym przez I²C, np. DS2482;
  • mostki umożliwiające dostęp z magistrali 1-Wire do urządzeń I²C, np. DS28E17;
  • kontrolery współpracujące z interfejsem UART, np. DS2480B;
  • adaptery USB, np. DS9490R.

Układy te mogą sprzętowo generować przebiegi czasowe, wykrywać obecność urządzeń, realizować silne podciąganie oraz ograniczać obciążenie procesora systemu nadrzędnego.

Zastosowania

Do zastosowań technologii 1-Wire należą między innymi:

  • pomiar temperatury za pomocą cyfrowych czujników, takich jak DS18B20 i DS18S20;
  • identyfikacja urządzeń, modułów i materiałów eksploatacyjnych;
  • przechowywanie danych konfiguracyjnych i kalibracyjnych;
  • pamięci EEPROM;
  • rejestrowanie parametrów środowiskowych;
  • monitorowanie stanu akumulatorów;
  • elektroniczne identyfikatory iButton;
  • układy kontroli dostępu;
  • układy zabezpieczające i uwierzytelniające[1].

Niewielka liczba wymaganych połączeń oraz fabrycznie zaprogramowane identyfikatory pozwalają stosować urządzenia 1-Wire w czujnikach, wyposażeniu przemysłowym, systemach identyfikacyjnych oraz urządzeniach wymagających rozpoznawania podłączonych akcesoriów.

Zobacz też

Przypisy

  1. ↑ a b c d e Overview of 1-Wire Technology and Its Use. Analog Devices, 2008-06-19, Application Note 1796 [dostęp 2026-09-19]. (ang.).
  2. ↑ a b c d e f 1-Wire Communication Through Software. Analog Devices, 2002-05-30, Application Note 126 [dostęp 2026-09-19]. (ang.).
  3. ↑ 1-Wire Extended Network Standard. Analog Devices. Application Note 3925 [dostęp 2026-09-19]. (ang.).
  4. ↑ Analog Devices Completes Acquisition of Maxim Integrated. Analog Devices, 2021-08-26. [dostęp 2026-09-19]. (ang.).
  5. ↑ Add Control, Memory, Security, and Mixed-Signal Functions with a Single Contact. Analog Devices. [dostęp 2026-09-19]. (ang.).
  6. ↑ a b 1-Wire Search Algorithm. Analog Devices. Application Note 187 [dostęp 2026-09-19]. (ang.).
  7. ↑ a b c Guidelines for Reliable Long Line 1-Wire Networks. Analog Devices, 2001-11-16, Application Note 148 [dostęp 2026-09-19]. (ang.).

Linki zewnętrzne

ℹ Źródło: artykuł „1-Wire” w polskiej Wikipedii. Treść dostępna na licencji CC BY-SA 4.0; lista autorów w historii edycji. Wersja może się różnić od aktualnej na Wikipedii (kopia odświeżana okresowo).
💳 Revolut
Karta wielowalutowa do podróży — płacisz za granicą bez przewalutowań.
Odbierz kartę →
💰 ZEN.COM
Konta multiwalutowe i karty — płatności bez granic z poziomu aplikacji.
Sprawdź ZEN →
🌍 Wise
Przelewy za granicę po realnym kursie — bez ukrytych marż.
Wypróbuj Wise →
Linki polecające — obowiązują regulaminy usług.
FazaFM.com — radio i newsy Hrubek.pl — Hrubieszów blisko Ciebie Gorzkie Groszki — blog