Hi, ich habe ein größeres Problem: Ich möchte ein Bussystem aufbauen. Es gibt einen Sender, und beliebig viele Empfänger (natürlich nur mit entsprechender Signalverstärkung). Jetzt mein Problem: Das ganze muss mit ca 2,5Mbit gehen, und mit Kabellängen von bis zu 100m. Als Kabel sollte normales Netzwerkkabel diehnen (sollte ja gehen, da normales Netzwerk ja auch ohne weiteres 100Mbit auf 100m schafft). Die Empfänger sollen nicht zum Sender zurücksenden können. Ich dachte da an eine RS485 Schnittstelle, bin mir aber nicht sicher ob die so die Geschwindigkeit schafft. Der Sender wäre für mich kein Problem, nur die Empänger machen mir wegen der Geschwindigkeit Sorgen. Die Daten kommmen immer in Paketen von 5200 Bytes, woraus sich jeder Empfänger an einer bestimmten Stelle 512 Bytes rausschneiden muss, die dann weiter verarbeitet werden. Hab ich irgeneine Chance bei 2,5Mbit irgendwie vernünftige Daten auszulesen? Wenn ja, wie kann ich das realisieren, zumal der uC die Daten ja auch noch nach dem Empfangen verarbeiten muss. Danke für eure Hilfe!
Wäre dann nicht eine normale Netztwerkkarte (mit BNC Kabel) das einfachste ? TCP/IP programmieren, und jeder Controller hat seine eigene Adresse. 100m Kabel sind damit auch kein Problem.
Hi 2,5 MBit (brutto oder netto, also mit oder ohne Start/Stopbit) sind um die 300kByte/s. Ein AVR macht bei 16MHz 48 Takte. Sollte zu schaffen sein. Matthias
Hi, insgesammt wird es mit Start/Stopbit so um die 300KByte/s sein. Das Problem dabei ist, dass der Empfänger sich die 512Byte rauspicken muss und diese dann auch noch verarbeiten muss, dh. Start/stopbit hinzufügen, und dann seinerseit wieder auf ein anderes Bussystem schicken muss. Dass läuft dann nur noch mit 250Kbit/s, aber das ganze sollte wenn es geht mit einem uC zu lösen sein. Multitasking wäre hier angesagt: Ein Teil empfängt nur die 512 Kanäle und schreibt sie in den RAM, und der andere Teil sendet nur die Daten weiter. Wenn ich diese sozusagen "Relaisstationen" jeweils über einen PC realisieren könnte, dann wäre das alles kein Problem für mich, dann würde ich Netzwerke verwenden. Aber über PCs wird das zu teuer, und außerdem zu groß. Ich hab immoment nur meine Probleme mit dem Empfangsteil, da wäre ich für Vorschläge dankbar. Schafft ein SN75176 2,5Mbit, oder müsste ich da einen anderen RS485 Wandler verwenden? Hat jemand von euch ne gute Idee für den Empfänger?
2,5 MBit mit rs485 ist wohl eher das kleinere problem. Bei den neuen AVR mit 20 MHz clock ist auch beim UART bei 2,5 MBit das Ende erreicht. Ebenso darf der Protokolloverhead für die Rahmensynchronisation nur minimal sein. Ansonsten aber durchaus machbar. Hört sich ganz nach 10 DMX Universe über 1 leitung an :-)
Hi, @mmerten: Sowas in der Art solls auch werden :-), allerdings mit noch ein bisschen Zusatz-Schnickschnack. Gibt es schon AVRs mit 20Mhz Clock? Naja, ich hab mich die letzen 3 Monate nicht mehr damit beschäftigt, daher bin ich nicht mehr auf dem laufenden. So, da ich in meinen Gedanken jetzt alle größeren Probleme aus dem Weg geschafft habe, werde ich mich wohl mal an ein Protokoll/Schaltungsdesign machen. Das ganze soll ja auch schön billig werden ;-), zumindest die Empfänger dürfen nicht so teuer werden. Danke für eure Hilfe!
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.