Hallo erstmal Ich habe mal eine Frage Ich soll folgende Überlegung anstellen. Es gibt z.B 300 Sensoren mit SPI Interface die auf eine Länge von z.B 40km verteilt sind. Dieses sollen von eine zentralen Stelle ausgelesen werde. Wie löse ich das Problem ;-) Ich dachte an folgende Lösung. Die Sensoren werden mit einem SPI-> CAN Bus Wandler wie z.B MCP2515/MCP2551 angeschlossen. Alle 500m würde ich dann z.B einen CAN to LWL Wandler verbauen. Gibt es dagegen irgendwelche Einwände? Was mir nicht ganz klar ist wie das mit der Adressierung bei CAN abläuft. Hat da jeder Chip einen Unique id ?
Christoph B. schrieb: > Es gibt z.B 300 Sensoren mit SPI Interface die auf eine Länge von z.B > 40km verteilt sind. > Alle 500m würde ich dann z.B einen CAN to LWL Wandler verbauen. > > Gibt es dagegen irgendwelche Einwände? 40Km Lichtwellenleiter ? Wer wird das verlegen und wo ? > Was mir nicht ganz klar ist wie das mit der Adressierung bei CAN > abläuft. Hat da jeder Chip einen Unique id ? Nein, aber eine Unique Adresse.
Rudolph schrieb im Beitrag #3890162: > Nur, wenn Da noch ein MikroController dazu kommt. > Der MCP2515 ist ein CAN-Controller mit SPI Interface, kein SPI->CAN > Wandler. > Und als solches ist der eine Krücke aus der Vergangenheit, inzwischen > gibt es eine recht große Auswahl an µC mit eingebautem CAN Controller. gibt es einen SPI->CAN Wandler?
Ich kenne keinen, da sowohl der SPI als auch der CAN nur die unterste Schicht der Kommunikation darstellen. Die PDUs bzw. Datagramme musst du selbst zusammenstellen aus den Datenblättern, da jeder die Daten anders auslegt. Deswegen wirst du um einen µC nicht herumkommen, der das macht. Zu deiner ursprünglichen Frage: Es kommt drauf an, wie die Sensoren angeschlossen sind. Woher bekommen sie die Spannungsversorgung und exisitiert bereits ein Kommunikationsnetz (Kabel). Ansonsten würde ich bestimmte Sensoren zusammenfassen und per GSM anbinden. auch wäre es möglich, wenn die Sensoren nicht zu weit entfernt sind, diese mit Zigbee o.ä. als Meshnetzwerk zu verbinden. Hier kommt es jedenfalls auf die Verteilung an.
@ Christoph B. (christoph_b) >Es gibt z.B 300 Sensoren mit SPI Interface die auf eine Länge von z.B >40km verteilt sind. >Dieses sollen von eine zentralen Stelle ausgelesen werde. Bei den Abständen ist das Chip-Interface vollkommen egal. Man braucht so oder so einen Mikrocontroller mit passendem Netzwerkinterface. CAN, Ethernet, WLAN, GSM, ZigBee, whatever. >Ich dachte an folgende Lösung. Die Sensoren werden mit einem SPI-> CAN >Bus Wandler wie z.B MCP2515/MCP2551 angeschlossen. CAN über 40 km? >Alle 500m würde ich dann z.B einen CAN to LWL Wandler verbauen. 300 Sensoren / 40 km = 7,5 Sensoren /km bzw. 133m zwischen den Sensoren. D.h. ein 500 CAN Segment würde nur 3-4 Sensoren erfassen. Naja. >Was mir nicht ganz klar ist wie das mit der Adressierung bei CAN >abläuft. Hat da jeder Chip einen Unique id ? Nein, er bekommt eine 11 Bit Adresse zugewiesen. https://de.wikipedia.org/wiki/Controller_Area_Network#Daten-Frame
Ich würde erst mal einen Backbone-Bus (egal ob Kabel oder Funk) auswählen der mit den 40 km klar kommt und dann erst die Hardware für die einzelnen Knoten definieren. Es dürfte sich lohnen da mal über HART als Bus nachzudenken.
die Sensoren/Geräte haben nur eine SPI Interface. Es ist gut möglich das es wesentlich mehr Geräte werden. Das mit dem Kabellegen ist kein Problem. Das liegt das bereits. Dasd Problem ist nur das ich nur ca 1.5x 4 cm Platz für den "Buswandler" habe. Da muss der Umsetzer von SPI auf CAN Platz haben. Das ganze soll ja nur als Ideensammlung gesehen werden.
Seufz… 40 km Kabel um ein Signal von mehreren Knoten zu übertragen, da muss man sich ernsthaft Gedanken über die verwendete Signalisierung machen. Das geht nicht mit den Methoden die man auf dem Schreibtisch, oder in einem kleinen Objekt wie einem Auto verwendet. Wenn das Kabel schon liegt wird es ja noch witziger: Was für ein Kabel mit wie vielen Adern und welchen physikalischen Eigenschaften liegt denn da? Nicht jede Art Signal kommt mit jedem Kabel klar wenn es etwas länger wird.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.