mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Umwandler von Serieller Schnittstelle auf CAN-Bus


Autor: Florian (ist verzweifelt!!!) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!!

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Dirk Dörr (dirkd)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Florian (ist verzweifelt!!!) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Florian (ist verzweifelt!!!) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Bausteine sind:

STK501 CAN Bus Platine
STK500 Platine
und
AVR Atmega16

Danke

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Florian (ist verzweifelt!!!) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: unsichtbarer WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm, sinngleich stand das schon 2 posts höher :-)

Autor: unsichtbarer WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das stand da vorhin noch nicht! ;-)

Autor: Michael S. (mst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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...

Autor: Florian (ist verzweifelt!!!) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ihr meint!!

Ich habe schon eine Hilfe bekommen die zu gabrauchen ist!

Aber danke trotzdem

mfg Flroian

Autor: _CH_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.