Protokoły komunikacji szeregowej: Część siódma - 1-Wire

Mark Harris
|  Utworzono: maj 24, 2021  |  Zaktualizowano: październik 24, 2024
7. Protokoły komunikacji szeregowej - 1-Wire

Wiele protokołów komunikacji szeregowej jest dostępnych do przesyłania danych między urządzeniami elektronicznymi, czy to odczyt danych z czujnika przez mikrokontroler czy wysyłanie danych do urządzenia przechowującego. Jest to jeden z serii artykułów, które omówią niektóre z bardziej popularnych protokołów powszechnie używanych. Serię zakończymy porównaniem zalet i wad każdego z nich.

Celem serii jest, aby stała się ona przydatnym źródłem odniesienia następnym razem, gdy znajdziesz się w sytuacji potrzeby implementacji magistrali komunikacji szeregowej, abyś mógł wybrać najlepszą opcję dla swojej konkretnej aplikacji.

W tym artykule przyjrzymy się popularnemu protokołowi 1-Wire.

Protokół 1-Wire

1-Wire to niskoszybkościowa magistrala komunikacyjna opracowana przez Dallas Semiconductor Corp. (obecnie Maxim Integrated), która używa jednej linii danych sygnałowych oprócz masy. Jest to system komunikacji typu master-slave, gdzie urządzenie master lub host jest połączone przez pojedynczą linię danych z jednym lub większą liczbą urządzeń slave. Każde urządzenie slave 1-Wire będzie miało unikalny, zaprogramowany fabrycznie 64-bitowy numer identyfikacyjny (ID), który jest adresem tego urządzenia.

Urządzenia 1-Wire są zazwyczaj produkowane tylko przez Maxim Integrated i dostępne są w różnych typach obudów, takich jak typowy tranzystor TO-92, jak również różne układy scalone. Bardzo popularnym urządzeniem komunikującym się przez 1-Wire jest iButton (znany również jako Dallas Key). iButton to małe, modułowe urządzenie używane w aplikacjach takich jak rejestratory danych, czujniki temperatury i wilgotności, diody LED, urządzenia pamięciowe, adaptery itp. Chociaż iButton był historycznie bardzo popularną implementacją 1-Wire, obecnie dostępnych jest wiele czujników od Maxim Integrated, które implementują protokół 1-Wire.

W zasadzie iButton to mikroukład bardzo podobny do tych używanych w kartach inteligentnych. Różnica polega na tym, że mikroukład jest umieszczony w okrągłym, stalowym przycisku i jest zaprojektowany do użytku w trudnych i wymagających środowiskach. Opierają się na fizycznych kontaktach do połączenia z magistralą 1-Wire.

Typowe zakresy napięć 1-Wire, w których urządzenie działa, obejmują:

  • 1.71 V (min) do 1.89 V (max)
  • 1.71 V (min) do 3.63 V (max)
  • 2.97 V (min) do 6.63 V (max)
  • 2.8 V (min) do 5.25 V (max)

Jedną z najciekawszych cech magistrali 1-Wire jest możliwość zasilania przez linię komunikacyjną, zamiast wymagać zewnętrznego zasilania. Pozwala to na podłączenie zewnętrznych czujników, takich jak czujniki temperatury, za pomocą tylko przewodów danych i masy, przy czym czujnik jest zasilany przez parasolowe zasilanie z magistrali danych. Może to znacznie zmniejszyć złożoność i ilość okablowania w porównaniu do innych protokołów komunikacji szeregowej, które badaliśmy w tej serii.

Typowe połączenie urządzenia magistrali 1-Wire można zobaczyć na poniższym schemacie obwodu:

.

W powyższym przykładzie jedno urządzenie główne kontroluje kilka urządzeń podrzędnych.

Większość urządzeń 1-Wire wymaga bardzo niskiej mocy i nie potrzebuje pinów zasilania. Te urządzenia czerpią energię, której potrzebują do działania, z linii danych 1-Wire, znanej jako parasolowe zasilanie.

1-Wire internal hardware example
Przykład wewnętrznego sprzętu 1-Wire

Typowa konfiguracja zasilania pasożytniczego urządzenia 1-Wire może być zobaczona na poniższym schemacie obwodu:

1-Wire devices connected in a parasitic power configuration
Urządzenia 1-Wire podłączone w konfiguracji zasilania pasożytniczego

Istnieje wiele urządzeń 1-Wire, które mogą być używane w aplikacjach takich jak pomiar temperatury, identyfikacja, rejestrowanie czasu, EEPROM lub EPROM (programowalne jednokrotnie), bezpieczna autentykacja itp., co pozwala na tworzenie urządzeń z zastosowaniami różniącymi się od identyfikacji, autentykacji materiałów eksploatacyjnych, akcesoriów PCB i komputerowych, ochrony własności intelektualnej, kontroli dostępu do systemów patrolowych, elektronicznej gotówki, rejestracji czasu pracy, monitorowania temperatury żywności lub bezpieczeństwa farmaceutycznego.

Wartość rezystora podciągającego potrzebnego dla połączenia 1-Wire powinna być na tyle niska, aby zapewnić wystarczającą ilość prądu do zasilania urządzenia, ale nie na tyle niska, aby urządzenia podrzędne nie były w stanie skutecznie ściągnąć linii danych do poziomu logicznego 0.

Typowe wartości rezystora podciągającego dla połączenia 1-Wire mieszczą się w przedziale od 1 kΩ do 4.7 kΩ. Ustawia to prąd z zasilania 5 V między 5 mA a 1.06 mA. Jako przykład, urządzenie DS2480B wymaga wartości prądu między 1.5 mA a 5 mA do działania, typowo 3 mA.

Na magistrali 1-Wire zawsze jest jeden główny nadzorca, którym może być komputer osobisty lub mikrokontroler. Mistrz zawsze inicjuje aktywność na magistrali, aby uniknąć kolizji transmisji. Urządzenie główne jest odpowiedzialne za wykrywanie i zarządzanie wszelkimi kolizjami wynikającymi z jednoczesnej transmisji przez wiele urządzeń podrzędnych.

Urządzenia transmitują, używając krótkich i długich niskich impulsów do reprezentowania danych. Niski impuls 1–15 µs odpowiada logicznemu poziomowi 1, podczas gdy niski impuls 60 µs odpowiada logicznemu poziomowi 0. Opadające (ujemne) zbocze impulsu jest używane przez urządzenia podrzędne do nasłuchiwania szerokości impulsu. Mierzą jego czas trwania za pomocą bardzo prostego monostabilnego multivibratora. Mistrz inicjuje komunikację, wysyłając impuls resetujący, po którym następuje 8-bitowa komenda, a następnie dane są wysyłane lub odbierane w grupach po 8 bitów. Wykrywanie błędów jest realizowane za pomocą prostego 8-bitowego cyklicznego kodu nadmiarowego (CRC).

Podsumowanie

W tym artykule przyjrzeliśmy się niektórym cechom popularnego protokołu 1-Wire i omówiliśmy niektóre z jego zalet oraz szczegóły implementacji. W innych artykułach z tej serii przyjrzymy się niektórym alternatywnym protokołom komunikacji szeregowej dostępnym.

Czy chciałbyś dowiedzieć się więcej o tym, jak Altium Designer® może pomóc Ci w Twoim następnym projekcie PCB? Porozmawiaj z ekspertem w Altium.

About Author

About Author

Mark Harris to uznany inżynier z ponad 12-letnim różnorodnym doświadczeniem w branży elektronicznej: od kontraktów lotniczych i wojskowych po niewielkie przedsięwzięcia typu start-up, działania hobbistyczne i wszystko, co znajduje się pomiędzy. Przed przeprowadzką do Wielkiej Brytanii Mark był zatrudniony w jednej z największych organizacji badawczy w Kanadzie; każdy dzień przynosił inny projekt lub wyzwanie na polu elektroniki, mechaniki i oprogramowania. Publikuje również najbardziej obszerną bibliotekę komponentów dla oprogramowania Altium Designer w oparciu o bazę danych typu open source o nazwie Celestial Database Library. Mark ma zamiłowanie do osprzętu i oprogramowania na bazie open source oraz innowacyjnego rozwiązywania problemów, jakie jest niezbędne w obliczu codziennych wyzwań związanych z takimi projektami Elektronika to pasja; obserwowanie rozwoju produktu od idei po realizację i rozpoczęcie interakcji ze światem to niewyczerpane źródło przyjemności.
Z Markiem można się skontaktować bezpośrednio pod adresem: mark@originalcircuit.com

Powiązane zasoby

Powrót do strony głównej
Thank you, you are now subscribed to updates.