jak dogadać 3 i więcej AT89c2051 po rs485 na równych prawach

To forum jest dla wszystkich pasjonatów wiecznie młodych mikrokontrolerów '51. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
sq6rr
-
Posty: 8
Rejestracja: 20 paź 2005, 11:47

jak dogadać 3 i więcej AT89c2051 po rs485 na równych prawach

Post autor: sq6rr » 20 paź 2005, 12:09

jak dogadać 3 i więcej AT89c2051 po rs485 na równych prawach.
Od pewnego czasu myślę jak skomunikować po RS485 kilka modulów sterujących (na ATMELU) na jednej magistrali w jednym segmencie sieci "panelami operatorskimi" (ATMEL z LCD i kilkoma przyciskami) tak aby z każdego panela sterować każdy modół. prototyp sterownika pieca CO wszystkie nastawy i tryby pracy pobierał z pamięci EEprom co jakiś czas a na komędę z panela zapisywał nowe wartości i tak w kółko. jednak zaistniała konieczność dodania drugiego panela sterującego zdalnie po skrętce i jest teraz kolizja jeśli w tym samym momencie panele pytają sterownik o status..... myślałem o protokole ProfiBus, ale jest mało o nim napisane w sieci a dobrze jest się oprzeć o jaki standard

jeśli ktoś ma doświadczenie proszę o pomoc.... Dziękuję SQ6RR Marcin

Awatar użytkownika
gaweł
Użytkownik
Posty: 653
Rejestracja: 05 kwie 2004, 8:38
Lokalizacja: Białystok
Kontakt:

Post autor: gaweł » 20 paź 2005, 20:47

Najprościej dodać kolejny proced, który będzie spełniał rolę arbitra. Jeżeli każdemu prockowi dasz unikalny identyfikator, to taki arbiter będzie mógł tak zarządzać taką "siecią" by unikać kolizji.

sq6rr
-
Posty: 8
Rejestracja: 20 paź 2005, 11:47

Post autor: sq6rr » 21 paź 2005, 8:28

Można i tak jednak lepiej zeby same gadały, bo jak znając życie pojadę gdzieś i niewiedzieć czemu wywali się ten odpytywacz....... w najmniej spodziewanym czasie

Awatar użytkownika
gaweł
Użytkownik
Posty: 653
Rejestracja: 05 kwie 2004, 8:38
Lokalizacja: Białystok
Kontakt:

Post autor: gaweł » 21 paź 2005, 9:14

Jeżeli chcesz funkcje arbitrażu rozproszyć, to masz bardziej złożone zadagnienie. Jak nie kombinować, to przy wielodostępie do wspólnego medium funkcje arbitrażu są potrzebne. Możesz je zrealizować na wiele sposobów. Arbitraż centralny ma najprostszą realizację.

sq6rr
-
Posty: 8
Rejestracja: 20 paź 2005, 11:47

Post autor: sq6rr » 24 paź 2005, 6:00

No tak........ zadanie złożone, dlatego prócz proca od brudnej roboty myślałrm o jakim procku do tylko do komunikacji po magistrali i żeby zmieścić to w mało kosztownym klocku.
najlepiej jeszcze napisać to w BASCOM-ie i udostępnić innym, bo pewnie nie tylko ja mam z tym kłopot a zagadnienie jest kłopotliwe a co badź przydatne. Dlatego ten temat zamieściłem na forum. W sieciach przemysłowych niezawodność to podstawa i na takich sieciach najlepiej się wzorować. TCP/IP też jest całkiem niezawodny, ale zmieścić w 2kB pamięci będzie ciężko..... ale czemu nie......
Zapraszam do rozwijania tego tematu!!!!

Raflles
-
Posty: 77
Rejestracja: 06 sie 2005, 17:15
Lokalizacja: Tychy
Kontakt:

Post autor: Raflles » 25 paź 2005, 21:38

Mam pytanie dotyczące komunikacji pomiędzy procesorami. Jak sterować układy peryferyjne za z procka AT89Cx051 za pomocą magistrali I2c i w Bascomie to rozumiem, ale nie mam pojęcia jak komunikować między sobą dwa takie procki przy pomocy I2C ?? Czy ktoś ma jakieś sugestie ?? Dodam tylko, że raczkuję w programowaniu.

PS. Nie chciałem zaczynać nowego wątku więc wpisałem to tutaj, w sumie też na temat.

Jest to kwestia punktu widzenia. Jeżeli chcesz zastosować technikę I2C do zbudowania komunikacji między kilkoma procesorami na wspólnej szynie to jesteś blisko tematu... :mrgreen:
gaweł (moderator)

Passage
Użytkownik
Posty: 187
Rejestracja: 16 sie 2005, 22:46
Lokalizacja: Cambridge / UK
Kontakt:

Post autor: Passage » 25 paź 2005, 21:48

Raflles pisze:Mam pytanie dotyczące komunikacji pomiędzy procesorami. Jak sterować układy peryferyjne za z procka AT89Cx051 za pomocą magistrali I2c i w Bascomie to rozumiem, ale nie mam pojęcia jak komunikować między sobą dwa takie procki przy pomocy I2C ?? Czy ktoś ma jakieś sugestie ?? Dodam tylko, że raczkuję w programowaniu.

PS. Nie chciałem zaczynać nowego wątku więc wpisałem to tutaj, w sumie też na temat.
Polecam przestudiowanie dokumentacji dotyczacej magistrali I2C udostepnionej przez Philipsa. Polecam takze dokumentacje ukladu PCF8574 oraz jakiejs pamieci szeregowej np 24c02. Oczywiscie do sciagniecia z google. Swego czasu zajmowalem sie troche obsluga tejze magistrali, napisalem tez modul do jej wykorzystania w Delphi, dostepnej pod adresem: http://vela.pb.bialystok.pl/~projekt_c/passage/i2c.html moze Ci sie to przyda.
Pozdrawiam.

Awatar użytkownika
gaweł
Użytkownik
Posty: 653
Rejestracja: 05 kwie 2004, 8:38
Lokalizacja: Białystok
Kontakt:

Post autor: gaweł » 26 paź 2005, 0:37

Raflles pisze:Mam pytanie dotyczące komunikacji pomiędzy procesorami. Jak sterować układy peryferyjne za z procka AT89Cx051 za pomocą magistrali I2c i w Bascomie to rozumiem, ale nie mam pojęcia jak komunikować między sobą dwa takie procki przy pomocy I2C ?? Czy ktoś ma jakieś sugestie ?? Dodam tylko, że raczkuję w programowaniu.

PS. Nie chciałem zaczynać nowego wątku więc wpisałem to tutaj, w sumie też na temat.
Pomysł z zastosowaniem filozofii I2C do kumunikacji między dwoma procesorami jest bardzo słabym pomysłem. Do tego należy stosować klasyczny interfejs szeregowy. A do czego chcesz to zastosować?

sq6rr
-
Posty: 8
Rejestracja: 20 paź 2005, 11:47

Post autor: sq6rr » 26 paź 2005, 8:59

hmmm..... temat jak najbardziej pasuje, bo chodzi o komunikację ale ja naciskałbym na zaimplementowanie jakiegoś protokołu w proca komunikacyjnego UART na 2051 lub innym do przesyłania danych po RS-485. Wybór ze względu na cenę i elastyczność.
ostatnio napotkałem opis protokołu PROFIBUS ale niemiałem czasu nad nim posiedzieć........ ale idea dobra.......

Raflles
-
Posty: 77
Rejestracja: 06 sie 2005, 17:15
Lokalizacja: Tychy
Kontakt:

Post autor: Raflles » 26 paź 2005, 13:08

Generalnie jakiegoś większego zastosowania narazie nie przewiduję. Uczę się dopiero programowania, ale byłem ciekaw czy coś takiego się da zrobić, a że programowanie magistrali I2C nie jest zbyt trudne w BASCOMIE dlatego o tym pomyślałem. Może się przyda na przyszłość, bo jak narazie to nie widzę możliwości programowania większych procesorków, a w AT89Cx051 nie wszystko się zmieści.

Awatar użytkownika
gaweł
Użytkownik
Posty: 653
Rejestracja: 05 kwie 2004, 8:38
Lokalizacja: Białystok
Kontakt:

Post autor: gaweł » 26 paź 2005, 14:25

Raflles pisze:... a że programowanie magistrali I2C nie jest zbyt trudne ....
Oprogramowanie transmisji szeregowej to taki sam poziom trudności.

ODPOWIEDZ