Hallo AVR-Freunde!! Ich bin verzweifelt: Ich will das Protokoll der Seriellen Schnittstelle in ein CAN-Bus Protokoll umwandeln. Ich lerne zurzeit erst den Codevision-Editor und kann nur den Timer programmieren, wenns hochkommt ein wenig mit dem UART-Baustein! Kann mir jemand helfen?? PS: Nebenbei gesagt: PC-seitig verwende ich VS C# 2005!! Danke schon im voraus!!
Hm, mal schaun: die serielle Schnittstelle hat erstmal kein Protokoll in dem Sinne, das wird erst durch eine Software gebildet. Beim CAN sieht das ein bisschen anders aus, da werden die Daten in einen rel. komplexen frame verpackt. Was genau willst du machen? Es ist rel. einfach, Daten von der seriellen Schnittstelle auf einen CAN-Bus zu senden, noch einfacher ist es andersrum. Die Probleme lauern hauptsächlich im timing des ganzen, da beide Systeme natürlich nur begrenzte Bandbreite haben. Wenn man schneller Daten sendet, als das andere verarbeiten kann, hat man ein Problem. Buffer helfen, wenn der Datenstrom diskontinuirlich ist, ansonsten kommt man um ein handshake nicht herum. Und gerade das geht wiederum auf dem CAN-Bus eigentlich überhaupt. Also schreib einfach mal genau, was du machen willst und was VS C#2005 ist.
Versuch mal genauer zu beschreiben was Du machen willst Z. B. Welche Komponenten sind beteiligt? Willst Du nur eine CAN-Interface, daß Du an die serielle Schnittstelle des PCs anschließend willst? Oder willst Du über einen AVR auf den CAN-Bus zugreifen? Du solltest Dich auch erst einmal etwas in den CAN-Bus einlesen. Du kannst z. B. nicht UART Daten 1 zu 1 auf den CAN-Bus schreiben. UART ist zeichenorientiert, CAN ist Botschafts-orientiert. Infos http://www.me-systeme.de/canbus.html http://www.mikrocontroller.net/articles/CAN-Bus
Hallo Danke erst mal für die Meldung!! Ich will softwareseitig einen Datenrahmen vom PC über die serielle Schnittstelle auf den Atmega16 schicken. Dieser Datenrahmen soll dann in ein ein Can-Bus Botschaftsrahmen (Can-Bus Protokoll) umgewandelt werden (Identifier und so). Es soll also ein simples Gateway programmiert werden.(was für mich schon zu komplex ist) Es wird angenommen, dass der PC keinen Can-Bus integriert hat. Danke hast du vielleicht ein ähnliches Programm oder gute Ideen parat. mfg Florian PS: Das Programm ist Visual Studio 2005 C# Express version wenn du dich dann besser auskennst.
wenn du schnelle Ergebnisse willst, empfehle ich dir die Kombination mit dem SPI-CAN-Controller MCP2515. Mach dir eine kleine Platine mit dem MCP, dazu einen CAN-Transceiver. Willst du das STK501 verwenden, solltest du dir einen AT90CAN128 besorgen, der hat den CAN-Controller schon on Chip.
Hallo! Ich habe leider diese Boards schon gekauft und will es darum mit diesen versuchen! Kennst du dich vielleicht auch mit diesen Bausteinen aus??? Wäre echt gigantisch wenn du dich da auch auskennen würdest. Danke für deine mitHilfe!!! lg Florian
Die STK501 CAN Bus Platine ist nur der Transceiver mit Secker und Hühnerfutter, und erfordert einen AT90CAN128. Mit dem Mega16 wirst du da nichts. Möglichkeit, die du jetzt hast: AT90CAN128 (AVR mit CAN-Kernerweiterung)besorgen oder den MCP2515 von Microchhip, ein CAN-Controller, der über die SPI angesprochen wird.
Hm, sinngleich stand das schon 2 posts höher :-)
@Florian: Bitte jetzt nicht falsch verstehen, ABER: Falls du an Software-CAN denkst, lass dir von jemand der vor dem 90CAN128 mit dem Mega128 Software CAN realisiert hat sagen, wenn du dich nur mit Timer und USART auskennst, VERGISS ES !!! crazy horse's Vorschlag ist da der schnellere, sichere und sinnigste Weg, wenn du schon Hardware gekaufst hast, musst du halt akzeptieren, das von dem Zeugs evtl. etwas nicht brauchbar ist! ...oder halt gleich CAN128, aber wurde ja schon geschrieben... Gruß Micha, PS: Software-CAN mit 125kHz auf ATMega128@16MHz mit alles was dazugehört... (Bit-Stuffing, PolynomCRC, Identifier, ACK, etc...) ---> Das Teil war während der Sende und Empfangsphase echt am straucheln...
Wenn ihr meint!! Ich habe schon eine Hilfe bekommen die zu gabrauchen ist! Aber danke trotzdem mfg Flroian
Hallo, wenn der Eigenbau nicht funktioniert, dann kann man sowas auch kaufen... Vielleicht ist das das richtige für dich?! http://condalo.de/pid137.html Gruß, Christian
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.