Odp: Magistrala CAN (ciąg dalszy łaczenia mikrokontrolerów w siec)



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "marek" <elemark_at_nospam_priv4.onet.pl>
Subject: Odp: Magistrala CAN (ciąg dalszy łaczenia mikrokontrolerów w siec)
Date: Sun, 2 Jan 2005 12:31:12 +0100



Ha! To pytanie mam takie: podłaczam do żywej magistrali nowy układ. W
jaki sposób powinien on na CAN zgłosić się ? Może np. generowac co pare
sekund jakiś komunikat "jestem!" z zerowym (albo zarezerwowanym) adresem
żeby go usłyszał master ? I master nadaje mu docelowy numer z puli tych
11 (29) bitów ?

I tak tez sie robi, ze wezel wysyla cyklicznie na szyne wiadomosc o swoim
istnieniu ale nie moze to byc identyfikator "0" - zerowy identyfikator ma
najwyzszy priorytet , bo inne wiadomosci nie "przebija sie"! master
natomiast musi byc przygotowany na to ze taki wezel sie moze pojawic
(posiadac jakas tablice wszystkich mozliwych identyfikatorow).Przewaznie
wiadomosci o obecnosci danego wezla na szynie posiadaja bardzo niski
identyfikator .
W systemach , ktore znam architektura jest elastyczna ale kazdy wezel ma
narzucony identyfikator z gory przez konstruktora . Tylko czesc (bity
najmniej znaczace ) identyfikatora wskazuje na konkretny wezel (stajac sie
faktycznym adresem wezla) , bity najbardziej znaczace wskazuja na priorytet
wiadomosci .Nalezaloby zrozumiec zagadnienia "mechanizmu dostepu do sieci :
Arbitration On Message Prioritiy,Collision Detection itp..".


Cała sprawa polega na tym, że niemogę sobie pozwolić na numerowanie
unikatowe CAN w skali produkcji - bo zbyt mała jest przestrzeń adresowa
- nawet w przypadku 29 bitów (wiem, wiem, to duzo, ale IP tez miał byc
kiedyś "niezpełnialny" ;). Dlatego widziałbym to bardziej na zasadzie
przydzielania tych numerów podczas podłaczenia do magistrali. Jeśli
jednak ten numer nie ma nic wspólnego z działaniem magistrali CAN (poza
priorytetami) to jakoś to powinienem rozwiązać.

Czy na "twojej szynie" kazde urzadzenie jest inne jeden od drugiego ?
Bo moze nalezaloby zastosowac jakie inne rozwiazanie , a nie CAN ?

pzdr
marek
elemark_at_nospam_priv4.onet.pl