> Hur hanteras fallet om den initiala "hallå jag är här" störs ut av t.ex brus?
Det sköts genom att CAN självt är CSMA/CD. Varje nod ser ju till att det den vill skicka kommer ut på bussen utan att någon annan stör ut paketen.
Det som inte går att hindra är ju ett totalt avbrott på bussen. Se också svaret på nästa fråga.
> Eller om PCn tappar sin (XML) lista över tillgängliga noder?
Noderna skickar också ut heartbeats var tionde sekund, finns det då en nod som inte är identifierad i listan så görs den initiala processen om listning av moduler på nytt.
Genom dessa heartbeats kan vi även se ifall någon nod försvinner då dess heartbeats inte har skickats under en viss tid.
Eller menar du om jag tex skulle glömma av vad "0x123" är för slags modul? De definitionerna är globala för projektet så det ska alltid finnas någonstans att plocka hem dem ifrån.
> Ser man CAN-noderna som en del i ett nätverk där de kan agera router för sina moduler (1-wire/i2c?). Så borde man kunna lägga upp det som ett träddiagram.
Nu vet jag inte om det blivit något missförstånd här kanske (oklarhet från min sida antagligen). En modul kan vi säga motsvarar en task som körs i en nod. Om en modul styr ett relä, pratar I2C med DS18S20 eller bara är lite logik som tar inkommande paket och skickar ut något annat beroende på innehåll spelar ingen roll. De hanteras på samma sätt.
Sedan om man nu ska dra ethernet-paralleller så routar vi egentligen inget utan hubbar det

En modul vet inte var målet för paketet finns, om det ens finns något. När en modul skickar ett paket, dels ekas det tillbaka till alla andra moduler i noden och dels skickas det ut på CAN-bussen. Inkommande paket från CAN skickas in till alla moduler/taskar. De i sin tur filtrerar fram vad som är intressant.
Nu ska jag inte svära på att det är exakt såhär det fungerar, men av det jag lärt mig av vårat modulsystem så är det såhär det fungerar på ett ungefär. Jag själv har varit ganska inaktiv i projektet det senaste men försöker hänga med i framstegen så gått det går.
Din fina bild fungerar inte riktigt att jämföra med vårt system. Nog har vi en PC (eller annan nod med intelligensen) som man skulle kunna kalla master i vissa avseenden, tex att det är via den som vi sköter omprogrammeringar, mesta intelligensen osv. Men ur ett elektriskt och protokollmässig perspektivt så är alla noder likvärdiga (åter igen CSMA/CD).
> Så att man undgår så många specialfall som möjligt.
Specialfall?