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
Ich habe den Eindruck es kennt niemand die Datenübertragung zwischen TJA und µP.
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
...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.
.. 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 ?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.