Forum: Mikrocontroller und Digitale Elektronik LIN-Traceiver TJA1020


von Schani (Gast)


Lesenswert?

Hallo zusammen,
ich bin gerade dabei theoretisch einen LIN-Slave mit einem µP und em 
TJA1020 zu konzipieren.
Kann mir jemand sagen, WAS der TJA1020 zum µP überträgt ?
Ich habe leider noch keine Hardware, soll aber schon mit der µP-Software 
beginnen. Ich nehme mal an, dass der TJA1020 die LIN-spezifischen 
SYNC-Felder ausfiltert und dann lediglich die Daten zum µP überträgt.

Ich stelle mir das so vor:

LIN-Daten:
<synchbreak><synchfield><id><databyte1>....<databyte8><checksum>

Daten zum µP:
<id><databyte1>....<databyte8><checksum>

Genauso natürlich der andere Weg vom µP über TJA1020 auf den LIN.
Der µP überträgt <id><databyte1>....<databyte8><checksum> an den TJA und 
der bastelt den Rest dazu.

Liege ich da richtig ?
Und da ich mal gerade hier rumschreibe.... wie sieht es mit der Baudrate 
auf der µP-Seite des TJA1020 aus ? Ist das immer die LIN-Baudrate, oder
wie kann ich eine andere am TJA einstellen ?

Danke schonmal



von Dirk S. (schani)


Lesenswert?

Ich habe den Eindruck es kennt niemand die Datenübertragung zwischen TJA 
und µP.

von MSc (Gast)


Lesenswert?

Hi,
der TJA1020 ist ein Transceiver. Der setzt nur die Signale am LIN-Bus in 
für den µC verständliche Rx und Tx-Signale um.
Baudrate ist max. 20kBaud (lt. Datenblatt)
Datenrate LIN= Datenrate RX und TX.

Der ändert gar nichts am übertragenen Frame.das macht alles der 
LIN-Controller oder du in Software.

grüße,

Michael

von Dennis (Gast)


Lesenswert?

...problem ist nur wenn du einen standard uart nutzen willst:

1) die baudraten erkennung, wenn du sie laut lin spec 2.0 mit 
implementieren willst...

2) die break detection, da diese zwischen 13 und 16 bits groß ist. musst 
den uart geschickt einstellen um das zu detectieren, und anschließend 
umstellen auf lin datanrate...

in einem lin uart sind spaziell für diese, nicht 8n1 konformen daten 
spezielle uart erweiterungen im uc enthalten die dies dann übernehmen.

der tja ist absolut protokoll transparent, du liest sogar dein tx 
wieder...

d.

von Dirk S. (schani)


Lesenswert?

.. das heißt also der TJA macht im Grunde nur die Pegelanpassung und 
sonst nichts.

Da ich als µC den 78F0500 mit integrierter LIN-UART einsetze sollte dann 
doch der Controller die Break-Detection und die Sync-Daten ausfiltern, 
oder ?

Was brauche ich sonst eine LIN-UART ?

von Ricardo (Gast)


Lesenswert?

Hallo,

also, das Lin-Protokoll basiert auf der seriellen Schnittstelle, d.h. Rx 
und Tx. Der TJA1020 als Lin-Transceiver stellt nur die Signale von uC 
(Tx und Rx) zum Bus (eine "Draht-Kommunikation") zur Verfügung und 
wiederrum vom Bus zum uC.

Das Lin-Protokoll musst Du in der Software implementieren. Wenn Du einen 
Master steuerst dann:
<synchbreak><synchfield><id><databyte1>....<databyte8><checksum>
oder
<synchbreak><synchfield><id> (wenn ein Slave antworten soll. In der ID)

Der Slave antwortet oder bleibt nur als "Monitor" (keine Antwort), wenn 
der ID nicht für ihn bestimmt ist:
Als Antwort --> <databyte1>....<databyte8><checksum>
Als "Monitor" --> Keine Reaktion

Das Lin-Protokoll erlaubt als maximale Baudrate 19,2KBaud

Schau Dir das Lin-Protokoll an.

Gruß

Ricardo

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
Noch kein Account? Hier anmelden.