Guten Tag! Meine Frage: kann man CAN-Transceiver als UART-Sender/Empfänger (in eine Richtung) benutzen? Oder gibt es Umstände, die dagegen wirken? Ich glaube, für eine symmetrische Übertragung könnte CAN-Transceiver bestimmte Vorteile im Vergleich mit RS-422 haben... Hier geht es bei mir um eine Einzellösung, deshalb muß ich mich an keine einheitlichen technischen Normen halten. Sowieso geht es bei mir um 9-bit-Mode von UART...
:
Bearbeitet durch User
Maxim B. schrieb: > Ich glaube, für eine symmetrische Übertragung könnte CAN-Transceiver > bestimmte Vorteile im Vergleich mit RS-422 haben... Und welche?
Sebastian R. schrieb: > Und welche? In Ruhe wird Stromverbrauch ohne Tricks geringer. Ich möchte jede 3 mS 4 Bytes mit 250 kBod übertragen. Mehr nicht. D.h. Sender wird nur 5,5% Zeit aktiv. Aber alles sollte u.A. auch von Akku laufen, deshalb ist Verbrauch wichtig.
:
Bearbeitet durch User
Maxim B. schrieb: > Meine Frage: kann man CAN-Transceiver als UART-Sender/Empfänger (in eine > Richtung) benutzen? Oder gibt es Umstände, die dagegen wirken? CAN-Transceiver haben ein Timeout für dominante Zustände und damit eine Mindestbitrate, damit kein Teilnehmer den Bus blockieren kann. Das könnte für einen UART doof werden. Du könntest auf LVDS gehen: Transmitter: https://www.ti.com/product/de-de/DS90LV011A Receiver: https://www.ti.com/product/de-de/DS90LT012A Diese Bausteine haben keine Timeouts oder sonstige Logikfunktionen drin, sondern übertragen einfach nur, was am Eingang reinkommt. Für einen Multidrop-Bus brauchst Du den DS90LV012A. Der hat im Gegensatz zum LT keinen 100R Abschlusswiderstand drin. fchk
Frank K. schrieb: > CAN-Transceiver haben ein Timeout für dominante Zustände und damit eine > Mindestbitrate, damit kein Teilnehmer den Bus blockieren kann. Das > könnte für einen UART doof werden. Laut Datasheet für MCP2561/2FD ist zulässige Bit Time zwischen 0.2 und 69.44 μs. Bei 250 kbps ist Dominanz-Zeit auch bei 9 "0" und Startbit 40 μs, d.h. in Grenzen. Notfalls wäre 500 kbps auch denkbar. Ich möchte je 4 Bytes über 2 Meter übertragen, so einfach wie es nur geht. Aber auch in Feldeinsatz. Deshalb auch 9-bit-Modus: wenn Bit 9=1, werden zuletzt empfangene 4 Bytes in Hauptpuffer kopiert und bearbeitet. Ich glaube, 2 Meter sind für schnelle asymmetrische Übertragung über Kabel schon etwas zu viel... > Du könntest auf LVDS gehen: > > Transmitter: https://www.ti.com/product/de-de/DS90LV011A > Receiver: https://www.ti.com/product/de-de/DS90LT012A > > Diese Bausteine haben keine Timeouts oder sonstige Logikfunktionen drin, > sondern übertragen einfach nur, was am Eingang reinkommt. > Danke für Tipps! Aber so wie ich verstehe, während MCP2561 in dem passiven Zustand die Linie frei läßt und somit 120 Ohm-Widerstand ohne Strom bleibt, bleibt bei LVDS die Linie immer unter Last, auch wenn "1" übertragen wird? Wenn wirklich so, dann ist klassische RS422 Transceiver wie DS89C21 etwa LVDS gleich?
:
Bearbeitet durch User
Für 250kbps sind diese Bausteine doch alle viel zu schnell. Es gibt RS-422 (oder RS-485) Transceiver, die für maximal 250kbps (oder 115k oder 500k) optimiert sind. Der Sender begrenzt die Flankensteilheit, deshalb kann man für kurze Verbindungen auf Abschlusswiderstände verzichten. Die Chips selbst brauchen auch weniger Strom (ISL3170/1/2: weniger als 1mA; sendend, nicht standby).
Bauform B. schrieb: > Die Chips selbst brauchen auch weniger Strom (ISL3170/1/2: > weniger als 1mA; sendend, nicht standby). Aber Widerstand 120 Ohm braucht schon einiges von Strom. Und wenn nur 5% der Zeit das wirklich notwendig ist... Wenn sonst nichts gegen CAN-Transceiver spricht, scheint mir das als geeignet zu sein? Bei CAN wird Linie nur für dominanten Zustand belastet.
:
Bearbeitet durch User
Maxim B. schrieb: > Aber so wie ich verstehe, während MCP2561 in dem passiven Zustand die > Linie frei läßt und somit 120 Ohm-Widerstand ohne Strom bleibt, bleibt > bei LVDS die Linie immer unter Last, auch wenn "1" übertragen wird? > Wenn wirklich so, dann ist klassische RS422 Transceiver wie DS89C21 etwa > LVDS gleich? Achte auf das LV von LVDS. Das steht für Low Voltage, d.h. nur einige 100mV Spannungsdifferenz zwischen + und - (hier nominal 350mV). Dadurch wird im Terminierungswiderstand deutlich weniger Leistung verbraten als bei RS422 mit >=2V oder bei CAN mit nominal 2V zwischen CAN_H und CAN_L und 60 Ohm Terminierung (120R an jedem Ende). Rechne selber nach. Wenn Du CAN als physical layer wählst, nimm einen langsamen Transceiver und keinen, der für CAN-FD gedacht ist. Plus: CAN ist ein 5V-Standard. Wenn Du Leistung sparen willst, gehtst Du besser mit der Betriebsspannung runter, am Besten auf 1.8V Die Spannung geht immerhin quadratisch in die Verlustleistung ein, und zwischen 5V und 1.8V liegt ein Faktor 8 in der Leistung. So geht dann Energiesparen richtig. fchk
Frank K. schrieb: > Plus: CAN ist ein 5V-Standard. Wenn Du Leistung sparen willst, gehtst Du > besser mit der Betriebsspannung runter, am Besten auf 1.8V Die Spannung > geht immerhin quadratisch in die Verlustleistung ein, und zwischen 5V > und 1.8V liegt ein Faktor 8 in der Leistung. Danke für Tipps! 5 Volt ist für mich übrigens bequemer, da andere Schaltung auch 5 Volt braucht... Aber hier gibt es noch was zu überlegen... Idee mit DS90LV gefällt mir im Prinzip...
:
Bearbeitet durch User
Frank K. schrieb: > CAN-Transceiver haben ein Timeout für dominante Zustände und damit eine > Mindestbitrate, damit kein Teilnehmer den Bus blockieren kann. Das > könnte für einen UART doof werden. Ich habe nun Datasheet für SN65HVD230/1/2 angeckuckt. Habe ich richtig verstanden, daß dieser Transceiver, zum Unterschied von MCP2561/2, kein Timeout und somit keine Mindestbitrate hat? CAN-Transceiver bleibt immer noch in meinen Gedanken als mögliche Lösung für UART, da rezessiv kaum Strom auf den 120 Ohm-Widerstand verbraucht wird.
:
Bearbeitet durch User
Maxim B. schrieb: > Ich habe nun Datasheet für SN65HVD230/1/2 angeckuckt. Habe ich richtig > verstanden, daß dieser Transceiver, zum Unterschied von MCP2561/2, kein > Timeout und somit keine Mindestbitrate hat? ja, die uralten Gesellen hatten das noch nicht. Der alte PCA82C251 auch nicht. > CAN-Transceiver bleibt immer noch in meinen Gedanken als mögliche Lösung > für UART, da rezessiv kaum Strom auf den 120 Ohm-Widerstand verbraucht wird. Es gibt auch Single-Wire CAN... https://www.nxp.com/products/interfaces/can-transceivers/legacy-can/single-wire-can-transceiver:MC33897
Thomas F. schrieb: > Es gibt auch Single-Wire CAN... > > https://www.nxp.com/products/interfaces/can-transceivers/legacy-can/single-wire-can-transceiver:MC33897 Danke, ich habe schon angekuckt. Auch möglich. Aber ziemlich langsam. > ja, die uralten Gesellen hatten das noch nicht. > MARCH 2001–REVISED APRIL 2018 > NOVEMBER 2002–REVISED OCTOBER 2015 Hauptsache, alles funktioniert. Logische IC 74HC und 4000 sind auch uralt, und man nimmt sie immer noch...
:
Bearbeitet durch User
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.