HUB powstał z myślą o sterownikach kotłów grzewczych. Długość przewodu wiodącego sygnał 1-Wire może sięgać 300 metrów. Połączenie czujników w gwiazdę powoduje, że dystans pomiędzy sterownikiem a czujnikiem może ulec znacznemu zmniejszeniu, ponieważ istotna jest sumaryczna pojemność okablowania. Uszkodzenie czujnika lub okablowania (zwarcie) w pomieszczeniu czy czujnika na zewnątrz budynku powoduje unieruchomienie całej magistrali. Awaria zewnętrznego czujnika jest prawdopodobna, choćby z powodu aktów wandalizmu.
Schemat ideowy proponowanego rozwiązania HUBa 1-Wire pokazano na rysunku 1. Rozdziela on magistralę transmisyjną w taki sposób, aby w razie awarii jednej z gałęzi pozostałe nadal mogły funkcjonować. Pożądana jest też izolacja galwaniczna. Te warunki, wymagają rozdzielenia toru nadawczego od odbiorczego. Tę funkcję realizuje układ P82B96, który co prawda jest przeznaczony do rozszerzenia funkcjonalności interfejsu I²C, ale doskonale sprawdza też z 1-Wire. Maksymalna częstotliwość pracy P82B96 to 400 kHz przy 20 metrach typowego przewodu o pojemności do 400 pF. 1-Wire, przy standardowej prędkości, pracuje z częstotliwością 15 kHz, przy czym najkrótsze akceptowalne impulsy to 15 µs, co odpowiada częstotliwości ok. 60 kHz. W tych warunkach P82B96 może pracować z kablem o długości do 100 metrów lub więcej (zależnie od pojemności żył). Izolację galwaniczną uzyskano za pomocą szybkiego transoptora.
Aby zwiększyć zasięg, można użyć HUBa w roli repetera. Wydawać by się mogło, że HUB nie nadaje się do szybkiej transmisji overdrive, bo impulsy mają tam długość 1 ms. Biorąc jednak pod uwagę, że jedynka logiczna jest próbkowana po czasie 3,5 µs, overdrive powinien działać. Wymagać to jednak może zmniejszenia rezystancji rezystorów podciągających magistralę.
Najistotniejszej roli, wbrew pozorom, nie sprawuje mikrokontroler (µC), sprawują ją układy P82B96. To one rozdzielają tor nadawczy od odbiorczego, co umożliwia łatwe zaimplementowanie izolacji galwanicznej z wykorzystaniem transoptorów, czy też blokowanie uszkodzonych kanałów (bramki OR 74HC32). Zasilanie po izolowanej stronie magistrali zapewniają przetwornice DC/DC typu NE0505S. Transmisję nadzoruje uC STM32F103C8T6 z rodziny ARM. Pracuje przy taktowaniu za pomocą generatora RC – PLL nie jest używany.
Wróćmy do opisu urządzenia. Napięcie zasilania ogranicza do bezpiecznej wartości stabilizator LDO SPX1117MP-3.3. Dioda D17 i bezpiecznik F3 zabezpieczają układ przed skutkami błędnego dołączenia zasilania. Zasada działania HUB-a jest prosta. mikrokontroler mierzy czas trwania poziomu niskiego w każdym kanale. Jeśli przekroczy on 5 ms, to kanał taki jest uznawany za uszkodzony i blokowany poziomem wysokim za pomocą odpowiedniej bramki OR. Dodatkowo, jest zaświecana przypisana mu dioda Error. Gdy awaria zostanie usunięta, mikrokontroler ponownie przyłączy gałąź do mastera.
Czas 5 ms nie został wybrany przypadkowo. W specyfikacji 1-Wire można znaleźć informację, że slave, może przedłużyć sygnał reset do 3,8 ms sygnalizując w ten sposób wystąpienie u niego przerwania. Układ mastera DS2480, sygnalizuje awarię magistrali, gdy poziom niski trwa ponad 4096 ms.Autor wybrał czas 5 ms, ale nie ma problemu, aby go zmienić w kodach źródłowych, które są ogólnie dostępne.
Schemat montażowy HUBa pokazano na rysunku 2. Montaż jest typowy i nie wymaga omawiania. Zaleca się jednak w pierwszej kolejności zamontowanie stabilizatora i sprawdzenia poprawności jego pracy. Po tym można przystąpić do montażu pozostałych elementów.
Zworka Boot0 powinna być zwarta. JP2 umożliwia połączenie bądź rozdzielenie poszczególnych kanałów. Ustawienie jumperów pokazane na rysunku 3 rozdziela magistralę na 4 kanały.
Sygnał mastera można doprowadzić do dowolnego z wyprowadzeń 2 lub 2 złączy J1 lub J10. Ustawienie zworek pokazane na rysunku 4 uaktywnia rozdział na dwa mastery, każdy na dwa kanały.
Możliwe są jeszcze inne tryby pracy, w których jeden kanał (do wyboru, izolowany galwanicznie lub nie) może pracować w roli repeatera. Diody sygnalizujące stan poszczególnych kanałów i magistrali HUB-a mogą być pomocne podczas uruchamiania urządzenia lub diagnozowania usterek.
Programy dostępne na serwerze EP i http://avt.4ra.pl/, najnowsze wersje źródłowe na http://avt.4ra.pl/
ES2 & KK