Komunikacja miedzy dwoma Atmega - trudne warunki pracy.

Jun 02, 2005 3 Replies

Witam. Prosze o porade dotyczaca sposobu polaczenia 2 uC np Atmega16 w celu wymiany danych (2 kierunki). Jeden z nich (klawiatura, LCD, kilka ledow) ma znajdowac sie w kabinie pojazdu i sluzyc do poczastkowego wprowadzenia danych i ich przeliczenia i wyslania drugiego, a nastepnie wyswietlania wynikow pracy odebranych z niego, a drugi (driver s krokowego, kilka przekaznikow, kilka wyjsc OC i wejsc czujnikow) ma znajdowac sie w przyczepie i przesylac parametry do kabiny. Predkosc transmisji nie jest tu glownym wyznacznikiem, natomiast problem moga stanowic zaklocenia z wtryskow itp. Dlugosc polaczenia to okolo 6m przewodu. Jaka metode transmisji powinienem wybrac ? Moze jeszcze jakies sugestie na co powinienem zwrocic uwage przy zabezpieczanu wszystkiego przed zakloceniami i innymi niespodziankami (nie wiem wilgoc, wstrzasy itp) ? Pozdrawiam Strzelba



Strzelba napisał(a):

No raczej na pewno sygnał prądowy a nie napięciowy. Jak to jest proste połaczenie dwóch procków to RS485, Jakby to miało byc coś wiecej to bym wybrał CAN.

Na RS485 mozesz podlaczyc bezporednio do 32 urzadzen bez zadnych wzmacniaczy Ja podlaczalem 8 urzadzen w odleglosci koncow ok 300m.

Najprosciej masz zastosowac po 2 uklady SN75176 na kazdego uP, sa to nadajniki / odbiorniki linii. Kosztuja ok 1,5pln za sztuke Jesli dasz po 2 na kazdy uP mozesz na stale po jednym dac w tryb TX i RX, i bedziesz sterowal tym jak zwyklym RS232 w trybie full duplex, Wada do musisz miec 2 skrecone pary przewodów jak w Ethernecie Ale potrzebujesz tylko 2 pinow uP.

Jesli chcesz sie pobawic mozesz dac po jednym ukladzie na uP i przed wyslaniem odebraniem danych zmienasz stan linii sterujacej trybem pracy ukladu TX i RX.

Ja stosowalem z powodzeniem drugi przypadek, W tej chwili tez mam uklad z LCD, klwiatura i kilkoma LEDami na jednym uP A reszta na drugim uP i wlasnie ten drugi steruje pierwszym, tzn komunikatami na LCD zapala odpowiednie ledy i buzzera, a ten pierwszy wysyla znaki z klawiatury.

Oczywiscie w drugim przypadku masz komunikacje Half dupex i musisz zdecydowac ktory uP bedzie masterem a drugi badz reszta jesli bedzie ich wiecej -slave. Drugi przypadek wymaga wiecej kombinowania i potrzebujesz 3 pinow uP, za to uzywasz tylko jednej skrecanej pary.

Micha³

[...]

Polecam transmisje szeregowa asynchroniczna (RS232) z petla pradowa a do tego odpowiednio opracowany protokol transmisji, dzielacy przesylane dane na ramki z naglowkiem i suma kontrolna, kazda ramka potwierdzana, timeout na potwierdzenie. Nawet jezeli wejdzie jakies zaklocenie to sobie poradzisz. RS485 jest fajny, ale petla pradowa jest tansza do zrobienia i nie mniej skuteczna. Full duplex oczywiscie.

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required