1-wire

Jun 25, 2005 3 Replies

witam czy ktos spotkal sie/stworzyl jakies urzadzenie z magistrala 1-wire na ktorej pracowalo wiecej niz jedno urzadzenie master ? widzi mi sie takie cos : jest sobie uP i troche peryferiow na 1-wire uP odpytuje urzadzenia co jakis czas, ewentualnie cos do nich wpisuje od czasu do czasu do magistrali podpinany jest pecet i on odczytuje stany urzadzen 1-wire, ewentualnie cos do nich wpisuje



widze to tak ze raz na jakis czas uP przeglada magistrale i sprawdza czy cos do niej nie doszlo albo czy cos nie odpadlo jak pojawi sie pecet to w interfejsie PC<->1-wire wstawiona bedzie "na zawsze" kostka 1-wire z numerem seryjnym (cos jak DS2401/DS2411) uP bedzie wiedzial ze jak sie pojawi taki konkretny uklad na magistrali to ma nic nie robic przez ten czas pecet przeszukuje stan magistrali i czyta/pisze do urzadzen no i wlasnie tutaj schodek jak sprawdzic czy pecet juz zostal odlaczony zgodnie z teoria trzeba przeskanowac magistrale co sie bedzie dzialo jak trafia na siebie w jednym czasie uP i pecet ? ktos cos takiego cwiczyl ?



pozdrawiam


Niech uC nasluchuje caly czas stanow na linii - PC wysyla okreslony kod do okreslonego urzadzenia - po stwiedzeniu wyslania do urzadzenia X danych Y (wysylanych przez PC w momencie kiedy zwalnia linie) - uC bedzie wiedzial, ze juz moze pisac na linie 1-wire. Oczywiscie to komplikuje program - bo trzeba caly czas sluchac i analizowac. Innym pomyslem jaki mi przychodzi do glowy, to taki, ze uC po wykryciu obecnosci PC na linii zmienia sie z nadajnika w odbiornik o okreslonym numerze 1-wire. Gdy PC zaadresuje ten adres - czyli naszego uC, to wiadomo, ze nie gada wtedy z innymi kostkami, tylko chce rozmowy z uC - uC moze wiec spokojnie odpowiedziec, a jednoczesnie bedzie to informacja, ze PC konczy transmisje i zwalnia linie.

Swoja droga - czemu wszyscy uparli sie na 1-wire?

Konkrety to juz Twoja inwencja tworcza :-)

Dnia Sat, 25 Jun 2005 22:26:48 +0200, Jack Houseman napisał(a):

ano uP ma tez inne zajecia :) na przyklad inna magistrala 1-wire

no fakt - proste i oczywiste za chwile bede kopal za jakimis wytycznymi do samodzielnego nadawania identyfikatoom urzadzen w 1-wire no i w tym rozwiazaniu jest jedna zasadzka: jak pecet sie nie odlaczy "ladnie" od magistrali tylko na przyklad zawisnie albo ktos wyciagnie kabelek usb z interfejsu pecet<->1-W takie cos chyba trzeba zalatwic tak ze jak pecet w jakims konkretnym czasie nie pogada z uP to uP traktuje calosc jako stan w ktorym peceta juz nie ma i moze gadac takie cos pozwoli tez na to ze pecet jest podpiety do magistrali ale z nia nie gada - obslugiwac calosc ma bardziej uP niz pecet jak ktos podczepi peceta a nie odpali zadnego narzedzia do rozmawiania z 1-W

bo jest dosyc wygodna i tania sa jakies inne magistrale gdzie mozna laczyc urzadzenia tylko dwoma ale za to dosyc dlugimi przewodami :) ?

dzieki za wskazowke

No na przyklad - taki 1-wire watchdog :-) PC, co jakis czas wysyla jakis bajt do uC i ten sobie ustawia licznik odliczajacy na okreslona wartosc - jesli nie dostanie tego rozkazu - licznik sie odlicza do zera i wowczas uC traktuje magistrale jako wolna.

Najlepiej jakby PC czytal magistrale 1-wire poprzez uC - np. podpinajac sie przez RS-232 do uC, a poprzez niego inne urzadzenia 1-wire.

Dobrym rozwiazaniem byloby tez wstawienie dodatkowej linii sygnalizacyjnej sterowanej z PC'ta. Powiedzmy, ze jest ona w stanie 1 jako spoczynkowym. Przed kazdym wyslaniem na 1-wire uC sprawdza jej stan - jesli 1, to ok, mozna wysylac, jesli jednak stan zero - wstrzymujemy sie z wysylaniem. A PC w tym czasie ma dostep do magistrali. To byloby najbardziej eleganckie rozwiazanie - wymaga jednak 1 linii dodatkowej miedzy PC i uC, co nie zawsze jest mozliwe w konkretnym zastosowaniu.

RS-485?, no i mozna jeszcze uzyc bez przewodow transceivery RF, modemy sieci 220V.. Tyle, ze to podraza koszty systemu (ale np. unika sie kabli)...

Nie ma sprawy :-)

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required