Hey, ich habe mich in den letzten Tagen mit verschiedenen Bussystemen beschäftigt (RS232,RS485,Ethernet,CAN). Nun würde ich gehn mal von euch wissen für welche Sachen ihr welche Systeme benutzen würdet? und für welchen Einsatzzweck sich was am besten eignet? Micha
Na. RS232 ist ein Punkt zu Punkt System, RS485 kann einen geraden Bus bilden. Ethernet ist sterfoermig mit einem Switch, und Baumfoermig mit mehreren Switches. Interessant ist auch die Leistungsaufnahme. RS232 kann mit ein paar mA pro Station laufen, RS485 auch. Bei Ethernet muss man mit 500mA pro Station rechnen.
CAN wurde fuer die Autoindustrie fuer minimale Reaktionszeiten gebaut und hat daher nur ein paar wenige Baye als Packetlaenge. Ich halte es fuer unnoetig muehsam wenn man laengere Meldungen nicht ausschliessen kann. Ja. man kann Meldungen zusammenkleben ... ein zusaetzlicher Aufwand. Es ist ein gerades bussystem, moeglicherweise duchgeschlauft.
Zipp schrieb: > Interessant ist auch die Leistungsaufnahme. RS232 kann mit ein paar mA > pro Station laufen, RS485 auch. Du vergisst bei RS485 den nicht unerheblichen Strom durch den Abschluss.
> RS485 kann einen geraden Bus
oder stern, oder gemischt,... und auch ohne terminierung..
kommt nur drauf an wie "eilig" man es hat mit daten übertragen..
Das mit dem eilig ist so eine Sache. Mann kann aufgrund der Anforderungen zB zum Schluss kommen, dass fuer die paar Tasten und Befehle 1200 Baud schon ueppig sind. Nach ein paar Jahren Betrieb steigen die Anforderungen und man moechte burstmaessig mit 250kBit fahren. Dann waere es unguenstig wenn man vorher alle Leitungen rausreissen muss. Ich wuerd von einer sentralen Stelle her sternfoermig gerade Busse ziehen.
i²c hast du vergessen. der größte vorteil von can ist zweifelsohne die extreme störunempfindlichkeit. ich kenne kein bussystem was so sicher läuft wie can. das problem ist aber, das ding zum laufen zu bringen. der konfigurationsaufwand ist schon etwas extrem. im prinzip musst du auswählen was für dich für anforderungen (busgeschwindigkeit, datenvolumen, störsicherheit, wieviele master sollen betrieben werden, welche busstruktur ist möglich, welche busstruktur ist sinnvoll, maximale buslänge... ) bestehen und dementsprechend deinen bus heraussuchen. um sensoren auszulesen z.b. reicht ein i²c wenn es statische sensoren wie z.b. für temperatur o.ä. sind, da ist es auch nicht so problematisch wenn nur aller paar sec mal ein protokoll durchkommt, sprich die störempfindlichkeit spielt keine so große rolle. will man jedoch z.b. lichtschalter oder noch wichtigeres damit schalten muss man sich fragen, ob die störsicherheit nicht vorrang vor den anderen werten hat und entsprechend auswählen. den idealen bus für alle anwendungen gibt es also nicht, da er entsprechend den anforderungen passen muss. ich baue an einer mehrcontrollerlösung die die einzelnen controller via rs232 interface miteinander verbindet. (hauptcontroller, dcf77 empfänger, display, satellitencontroller) ist auch abhängig davon was für µc du einsetzt. ich hab bei mir atmega 1280 bzw als hauptcontroller 2560 geplant, der dcf77 empfänger wird ein atmega8. des weiteren hab ich noch i²c bus als sensorbus angedacht welcher jedoch auch mittels entsprechenden schaltkreisen als portexpander des hauptprozessors fungiert. genaugenommen habe ich sogar 2 i²c (einer am hauptcontroller (innen) und einer am sattelittencontroller (aussen)) die getrennt voneinander funktionieren, einer im gebäude der hier den angesprochenen portexpander bedient und gleichzeitig temperatur und helligkeitswerte im gebäude erfasst und dann einen 2. externen bus welcher die umgebungsbedingungen incl bodenfeuchte an verschiedenen stellen aufnimmt um später eine bewässerungsautomatik bedienen zu können.
I2C wuerd ich vergessen. Denn er hat eine marginal Common Mode Spannung und ist nicht differentiell. Dh jede Einstreuung macht das Signal kaputt. I2C sollte auf einer Leiterplatte bleiben. Die anderen erwaehnten Busse, Ethernet, RS485, CAN sind alle differentiell. Nicht vergessen, der moderne Mensch hebt sich vom Hoehlenbewohner ab, indem er einen selbsttaetigen 1 Wattpuls UHF Sender mit sich rumschleppt.
Christian B. schrieb: > der größte vorteil von can ist zweifelsohne die extreme > störunempfindlichkeit. ich kenne kein bussystem was so sicher läuft wie > can. PSI-5
auch ein I2C kann über differentielle Leitungen gebracht werden, man benötigt allerdings zwei Leitungs-Paare. Ist über einen 82B96 und RS485-Treiber zu machen. Ich habe Bus Längen von bis zu 200m mit I2C und 100 kHz testweise aufgebaut ohne differentielle Leitungen benutzen zu müssen, bevor ich mich für den I2C-Bus bei meiner Haus-Steuerung entschieden habe. Bei der Verwendung von I2C gibt es einen einfachen Vorteil, es gibt eine menge von kostengünstigen Bausteinen die bereits ein I2C-Anschluss haben und somit unproblematisch im Bus angesteuert werden können. z.B. Temp- , Feuchte- Sensoren / AD- , DA - Wandler / Port-Erweiterungen usw. ...
>> man benötigt allerdings zwei Leitungs-Paare.
stimmt nicht ganz !! ... man benötigt vier Leitungs-Paare bei einem
vollwertigem I2C-Bus
old-school schrieb: > Ich habe Bus Längen von bis zu 200m mit I2C und 100 kHz testweise > aufgebaut ohne differentielle Leitungen benutzen zu müssen, bevor ich > mich für den I2C-Bus bei meiner Haus-Steuerung entschieden habe. 200m? und das funktioniert wirklich gut? Ich möchte nämlich eine 5m I2C-Leitung aufbauen und wollt vorher wissen, ob das so hinhauen kann.
Hallo, I²C hängt stark von der Umgebung ab. Z.b. in der Nähe von Leitungen, die eine Halogenlampe mit einem elektronischen Trafo verbinden, sind nur sehr kurze Stecken praktisch möglich (bei mir wird auf einer 2m-Strecke jedes 5. bis 10. Paket zerschossen, da in der gleichen Abhangdecke ein Halogensystem eingebaut ist). Für den nächsten Hausbus gehe ich auf CAN; nicht wirklich teuer (Controller mit SPI-Schnittstelle 1,80, Tranceiver 1,20-> zusammen also 3,00€) und sehr gute Störfestigkeit bei hoher Datenrate. Einziger Nachteil: Linearer Bus, Stern und Baum nur als Pseudo-Stern und Pseudo-Baum (mit einem Adernpaar hin, mit einem zweiten zurück). Schöne Grüße, Martin
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.