Moin, wenn in einem Datenblatt steht, dass eine RS485 Schnittstelle 1Mbit/s schafft und dem EIA 485 Standard entspricht, ist dann 921600 gemeint oder wirklich 1000000Bps? Habe nämlich dass Problem, dass ich eine RS485 auf CAN Wandlung machen muss, CAN 250Kbit/s und RS485 1Mbit. Das ist aber mit dem Oszillator dann mein Problem, weil 921600 kann der 16Mhz nicht produzieren und ein 14,7456 Mhz könnte dann widerrum die CAN Bitrate nicht hinreichend genau liefern. Wie geht man sowas an? Braucht man dann 2 verschiedene Oszillatoren?
Wenn dein CAN eh nicht schneller ist, wieso willst du dan die RS485 eigentlich bis an die Grenzen auslasten?
Das muss beim Einlesen so schnell gehen, weil ich ein paar milisekunden brauche um CRC zu berechnen und dann die CAN Nachrichten zu versenden. Ich mache das Empfangen/senden nicht parallel, sondern nacheinander...
Die CRC generierung macht der CAN-Controler. Die must du nicht selber machen. Ansonsten um die Quarzfrequenz zu bestimmen: Kleinster gemeinsames Vielfache.
jamest schrieb: > wenn in einem Datenblatt steht, dass eine RS485 Schnittstelle 1Mbit/s > schafft und dem EIA 485 Standard entspricht, ist dann 921600 gemeint > oder wirklich 1000000Bps? Der RS485-Standard definiert keine bestimmten Bitraten, allenfalls Limits davon. Und wenn dort 1MHz steht, dann sind das 1000000Hz. Was du draus machst oder was dein Bus benötigt ist eine andere Baustelle. Wenn ein elektrischer Standard wie RS485 irgendwas definiert, dann ist das eher als Richtwert zu verstehen, mehr darf schon sein. Da sitzt niemand am Bus, zählt MHz mit und macht wegen Lizenzüberschreitung bei 1000001Hz den Laden dicht ;-).
Volker Zabe schrieb: > Ansonsten um die Quarzfrequenz zu bestimmen: Kleinster gemeinsames > > Vielfache. Hab ausgerechnet, dass 9,25Mhz ganz gut geeignet wäre. So nen Oszillator gibts ja nun aber nicht fertig zu kaufen. Nimmt man dann einen VCO und regelt über die Spannung die Frequenz des Oszillators? Wäre so ein VCO dann hinreichend genau?
Bevor du hier Klimmzüge machst um deine heissgeliebten 0,9Mbd zu erreichen: benötigst du eine ganz bestimmte Bitrate auf der RS485 Strecke, beispielsweise weil die schon existiert, oder kommst du auf die 0,9Mbd durch Extrapolation der üblichen asynchronen Schnittstellenraten? Denn technisch spricht nichts dagegen, eine RS485-Strecke mit exakt 1Mbd zu betreiben. Solange da kein PC mitmischt, der konkrete Vorstellungen davon hat, was eine gültige Bitrate ist und was keine.
:) nein auf die heissgeliebten 921600bps hab ich keinen einfluss. die muss ich leider so hinnehmen!
Na denn: (1) Externen CAN Controller verwenden, MCP2515 oder SJA1000 beispielsweise. Der kriegt seinen eigenen Takt. (2) Mikrocontroller mit fraktionaler Baudratengenerierung verwenden. Da geht so ziemlich alles bei fast jedem nicht zu kleinen Takt. Die sind im 32-Bit Bereich öfter anzutreffen, MSP430 kann's wohl auch.
> in einem Datenblatt steht
auf der ersten Seite oft eine Mischung aus: Übersicht über die
technischen Eckdaten und Marketing-Gefasel.
Auf wieviele signifikante Stellen ist 1Mbit/s denn überhaupt angegeben?
Meist steht weiter hinten im Datenblatt, unter welchen Bedingungen
welche technischen Daten realistisch sind.
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.