Hi, ich bin auf der Suche nach einem geeigneten Bussystem für die Verbindung zweier uC's. Mein Problem ist, dass ich jeweils nur einen Draht für Tx und Rx habe. Und dabei muss das System eine Geschwindigkeit von ca. 2,5Mbit machen und die Reichweite sollte mindestens 100m sein. Kann man da irgendwas mit RS485 machen? Normalerweise würde man ja D+ und D- brauchen. Allerdings geht RS485 ja auf Spannungsdifferenzen. Was wäre, wenn man jetzt z.B. D- auf Masse halten würde, dann hätte man ja D+ als Spannungsdifferenz zu Masse. Damit müsste doch eigendlich die Verbindung klappen, oder? Als uC's sollen die Neuen 168'er von Atmel eingesetzt werden, wenn man die irgendwo kaufen könnte.... Danke für eure Hilfe schonmal!
Ethernet??? ist nur etwas aufwendig.. RS232 sicher zu lanngsam.. LWL ??? sicher schnell genug musst nur gucken, wie du die daten am besten darauf bekommst aber 2,5MBit ist schon recht heftig... MFG Jens
"Neuen 168'er von Atmel ..." Sind das die Typen mit DMA-Controller und 32k internem RAM ? Wenn nicht, wie sollen denn die 2,5MBit 'verschoben' werden ?
Ethernet ist mir eigendlich zu aufwändig. Das Problem bei LWL wäre, dass ich einen Hauptsender, und ein paar Empfänger habe. Wenn ich dann in Reihe schalte, dann müsste ich ja immer LWL erst wieder auf Draht bringen, und dann wieder in LWL. Ich weiß nicht, wieviel Verzögerung dann da rein käme. Ansonsten wäre es mal ein interessanter Ansatz. Am liebsten wäre mir sowas wie RS485, weil es die Bandbreite kann, und auch die Entfernung. Ich weiß halt nur nich, wie ich das über einen Draht realisieren soll. Hat dafür vielleicht ne Idee? Von mir aus auch gerne LWL, allerdings sollte das Ganze möglichst Verzögerungsfrei laufen. Danke für eure Hilfe nochmal! P.S.: Falls es hilft: Ich brauche nur vom Hauptsender die hohe Geschwindigkeit, die Antworten der Empfänger können lahme Krücken dagegen sein.
schon über CAN-Bus nachgedacht? Hat Ähnlichkeit mit RS485 (auch differentiell) und multimasterfähig. Durch externen CAN-Controller braucht man sich nicht ums Protokoll etc kümmern. Einziger Nachteil ist, dass man nur pro Paket 8 Byte verschicken kann, dafür aber irre schnell Gruß Rahul
Hi, hast du genauere Infos dazu? Also wie das Ganze genau funktioniert, und welche ICs man braucht? Nen Datenblatt wäre auch toll!
Läuft auf dieselbe Frage hinaus wie RS-485, nämlich ob die Übertragung klappt, wenn eine Leitung auf Masse liegt. Physikalisch ist CAN ja auch nichts anderes als RS-485 und die Vorteile kann es nur ausspielen, wenn Du mehr als zwei Teilnehmer auf dem Bus hast. Und an Bandbreite und Buslänge tut sich m.W. auch nichts. Aber mein dringender Verdacht lautet: mit einem Draht plus Masse geht es nicht. Du denkst offenbar daran, statt 0v/5V und 5V/0V das eine Potential festzuhalten und 0V/5V und 0V/-5V zu übertragen, differentiell also dasselbe. Das wären aber ja RS-232-Pegel, die aus irgendwelchen HF-technischen Symmetriegründen weder für die Leitungslänge noch für die Übertragungsgeschwindigkeit geeignet sind. Und warum willst Du überhaupt eine Masseverbindung? Vermutlich, weil Du auch eine Versorgung darüber abwickeln willst und sobald Du auch noch einen Laststrom auf der einen Ader Deiner Datenleitung hast, hat sich das Thema sowieso erledigt. Frage Dich doch einmal als erstes, ob es wirklich so schlimm ist, statt eines Drahtes ein verdrilltes Pärchen zu nehmen.
hallo jaako, nimm can! hab ich bei mir auch gemacht. bei 100m handelst du dir mit nur einer leitung alles mögliche an störsignalen ein (reflexionen, aufmodulierung von anderem zeug). da kannst du abschirmen wie du willst, es klappt nicht. nur mit diff-lines bekommst du das hin. grüße andreas
@Andreas: Welchen Takt verwendest Du, um den CAN-Bus auf 2,5MBit zu bringen ? Ist das Ganze vielleicht CAN3.0 ?
@michael: ich verwende can (hier den pca82c250) für die physische übertragung, weil die diff-leitung so robust gegen aussenstörungen ist. alles weitere an beschaltung ist dann ohne can-controller o.ä., da habe ich mein eigenes zeug gebaut. ich benutze nur die rx und tx leitung , die von 250er kommt. grüße andreas
Er will 2 ("zwei") µC miteinander verbinden. Welchen Vorteil soll da CAN gegenüber RS-485 haben außer mehr Aufwand?
>Das Problem bei LWL wäre, dass >ich einen Hauptsender, und ein paar Empfänger habe. Wo siehst Du da bitte eine 2 ("Zwei")? 2,5mBit wird man nicht so ohne weiteres auf 100m oder mehr Erreichen! CAN schafft bei ca. 120m noch 100kBaud. Und CAN ist schon verdammt schwer zu stören!
Im Topic stand 2 ("zwei").... *ich bin auf der Suche nach einem geeigneten Bussystem für die Verbindung zweier uC's.* ....::....
Die zwei ("2") sieht jeder, der den Anfang des Threads liest: "ich bin auf der Suche nach einem geeigneten Bussystem für die Verbindung zweier uC's." Das widerspricht sich zwar inhaltlich ein wenig (Bus für eine Punkt-zu-Punkt-Verbindung?), aber wer so eigenartige* Pluralformen bildet, muss es ja nicht unbedingt besser wissen. *) in welcher Sprache wird bitte der Plural durch Anhängen eines Apostroph-S gebildet? NFBL-Deutsch?
nixblick Aber ein BUS kann auch eien Punk zu Punkt verbindung sein mit 8 Leitungen meinetwegen Sprich sender (8 Leitungen = BUS) empfaennger das ist meines wissens nach ein BUS der SCSI Bus zB. da hab ich eine SCSI Karte (ein geraet) und eine Festplatte (2tes geraet) ;)
@Jaakko: Du brauchst tatsächlich nur 3-adrigen Bimmeldraht (mit GND) und vorn und hinten an CANH und CANL einen Termi-R, das war's. @Philipp: CAN macht eigentlich keinen Aufwand, wenn nicht noch so eine Paketzentrale wie der SAJ... dazukommt. Grüße Andreas
@Andreas: Vergleiche einen CAN-Controller mit dem eingebauten UART eines µC, an den Du nur noch einen RS-485-Bustreiber hängen mußt (der sogar ohne externe Beschaltung auskommt und damit noch weniger Aufwand als ein RS-232 bedeutet). Aufwendig wird RS-485, wenn Du Dich um Protokoll mit Kollisionsdetektion kümmern mußt; dann übersteigt der Aufwand tatsächlich bald den einer CAN-Lösung. Aber wenn nur zwei am Bus hängen, ist ein kollisionsfreies Protokoll ja trotz Halbduplex "geschenkt". @Jens123: An einen SCSI-Bus kannst Du (je nach Standard) mindestens 7 Busteilnehmer hängen. Ich weiß, es gibt kaputte Controller (haben im letzten Jahrtausend bei manchem Scanner dabeigelegen), die das nicht bringen, aber die erfüllen dann nicht die Spezifikation. Von einem "Bus" spricht man wirklich erst, wenn mehr als zwei dranhängen können. Natürlich bleiben SCSI, RS-485 und andere auch ein Bus, wenn nur zwei Teilnehmer dranhängen. Im Prinzip auch, wenn gar keiner dranhängt ... (-;
;) schon klar kommt immer darauf an.. wie man bus definiert ob es heissr melr als eine datenleitung oder ehr als ein gerät datenbus / gerätebus
@Phillips: jo! ich habe bei mir in der anwendung eben was gesucht, was mir einen seriellen strom von ~100kbaud robust zu mehreren teilnehmern schickt. und siehe da: maxim-ic hat da coole samples von can-transceivern gehabt, da habe ich zugeschlagen...
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.