Hallo zusammen, Ich bin gerade dabei ein LIN Netzwerk aufzubauen. Habe dazu auch schon zwei Eval Boards mit AT90CAN128 und jeweils einem LIN Transceiver drauf. Kommunikation klappt im Prinzip auch schon prima, wenn ich was weg schicke (En Strin mit Hallo Welt), kommt er auf dem anderen Board auch tip top an. Leider habe ich jetzt ein etwas größeres Problem. Ich habe noch nie einen Treiber oder etwas ähnliches auf dem Application Layer programmiert. Da die ganzen Nachrichten ja als Braodcast rausgehen bekomme ich spätestens dann ein Problem, wenn ich einen dritten Knoten in das Netzwerk einbauen möchte. Wer kann mir da mit einem Codebeispiel unter C oder einer Erklärung, wie ich vorgehen muss weiterhelfen? Wäre euch ziemlich dankbar, häng hier wirklich gerade in den Seilen.... Danke Gruß
Für LIN kannst Du eine UART verwenden oder Du impementierts eine Soft-UART. Den LIN-Stack mit seinen Zusatndsautomaten mußt Du schon selbts programmieren. Es gibt ein App-Note von Atmel (leider nur für LIN1.3) LIN ist rein Master-gesteuert. D.H. der Master fordert eine Antwort von den Slaves. Nur bei Event-Triggered-Frames kann es zu Kollisionen kommen. Dann ist der Master für deren Auflösung zuständig, er schickt dann wieder einzeln an alles betreffenden Slaves Unconditional Frames in einer gesonderten Scheduletable. Also merke: Es kann immer nur ein Slave gleichzeitig angesprochen werden !!!
Hallo Rolli, ja das mit dem UART ist mir klar, das funktioniert ja im Prinzip auch schon. Was ich eben noch nicht am laufen habe ist das LIN Protokoll selber. Du sagst bei ATMEL gibts da was aber nur für LIN1.3. Gibts sonst nirgends bessere Codebeispiele? Glaube nicht das ich gut genug programmieren kann um aus dem nichts ein komplettes Protokoll zum laufen zu bekommen :-(
Nimm das Beispiel von Atmel. Es ist ausreichend gut um sich einzuarbeiten. Eine komplette LIN Implementierung ist kostenpflichtig bei Vector oder Elektrobit (3Soft) zu haben. Allerdings ist es nicht so schwierig das selbst zu machen.
Tip top, dein Wort in Gotte Ohr :-) Vielen Danks schon mal, werde mal mein Glück versuchen.
Gibts sonst nirgend andere Codebeispiele??? Komme mit dem Zeug von Atmel nicht klar...... 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.