www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik at90can128 und externer can controller


Autor: jamest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin!
Ich habe ein At90can128 Evaluations Board. Nun will ich statt dem 
integrierten Can Controller einen externen Can Controller verwenden, 
entweder MCP2515 oder SJA1000, da ich ein Baudratenquarz verwende 
(14,7456Mhz für die UART) und das mit den Standard CAN Bitraten ja nicht 
hinhaut. Ich muss aber zwingend die Standard Baudraten abdecken können 
sowohl beim CAN als auch beim UART. Deshalb der externe CAN Controller.

Da nun das Board auf einem anderen Takt läuft als der CAN Controller 
meine Frage: Ist die Kommunikation zwischen den beiden dann nicht auch 
ein Problem? Muss ich dann für die Kommunikation den größten gemeinsamen 
Teiler zwischen beiden Quarzen finden? Oder muss das beim MCP2515 nicht 
sein, da über SPI auch ein SCK übertragen wird?

Und überhaupt: MCP2515 oder SJA1000?

Gruß
jamest

Autor: Fabian B. (fabs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Musst du alle Standard Baudraten unterstützen?
Mit 8MHz FOSC gehn z.B. wunderbar 38400baud, mit 10MHz 19200baud.
Schau mal ins Datenblatt, da gehen ne Menge UART-Baudraten mit "glatten 
Quarzen".

Und wenn du schon nen externen CAN-Controller nutzen willst, kannst auch 
gleich einen "normalen" ATMega einsetzen...kommt günstiger.

Gruß
Fabian

Autor: jamest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fabian B. schrieb:
> Musst du alle Standard Baudraten unterstützen?

Ja, muss leider sein! Ist RS485 und soll bis 921,6kb/s unterstützen..
At90can128 hab ich nun halt schon da! Sonst hätt ich den auch nicht 
genommen!

Autor: sw uart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jamest schrieb:
> Ja, muss leider sein! Ist RS485 und soll bis 921,6kb/s unterstützen..

software uart kommt nicht in frage?
da kannst dir so ziemliche jede baud einstellen

Autor: jamest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sw uart schrieb:
> software uart kommt nicht in frage?
>
> da kannst dir so ziemliche jede baud einstellen

okay.. wenn es nicht anders geht dann mach ichs so! aber ist es denn so 
wie ich es beschrieben habe nicht möglich? ist es nicht so daß der SPI 
den CAN Controller mit fosc/2 clockt also in meinem fall: 14,7456/2 = 
7,37Mhz und der MCP2515 dann zum versenden einen eigenen Quarz z.B. 
16Mhz verwendet?

Autor: Fabian B. (fabs)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Das klingt als würdest du was durcheinander bringen. Was hat SPI denn 
mit CAN plötzlich zu tun?

Der CAN-Controller hat einen eigene Prescaler, der den Grundtakt für die 
TimeQuanta ableitet. Du kannst da auch ne Menge einstellen, im 
Datenblatt sind die Beispiele aber nur für relativ wenige glatte Takte.
Angehängt habe ich mal einen BitRateCalculator, der hat mir auch schon 
geholfen. Ich weiss leider nimmer wo ich ihn her hatte, aber er 
funktioniert wunderbar.

Vielleicht kommst du doch so auf brauchbare Einstellungen für den 
internen CAN-Controller, und kannst auf den externen verzichten.

Die externen CAN-Controller nehmen dann meist einen eigenen Quarz, sind 
also unabhängig, und werden über irgendein serielles Interface 
gefüttert. Das kann dann ja auch langsam passieren.

Gruß
Fabian

Autor: No Name (nohelp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fabian hat die Frage nicht verstanden und auch falsch beantwortet.

jamest möchte wissen, ob es bei Verwendung des MCP2515, der üblich mit 
16MHz getaktet wird und einem beliebigen Atmel Mikrocontroller, der 
wegen der UART mit einem 14,7456 MHz Quarz beglückt ist, zu Problemen in 
der SPI-Kommunikation untereinader kommen kann. Ich behaupte nein, weil 
der µC langsamer als der ext. CAN-Controller getaktet ist. Mehr als 
clk/2 kann der Atmel µC nicht. Und 7,3 MHz Bitrate ist kleiner als 8 
MHz.

Autor: jamest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
No Name schrieb:
> jamest möchte wissen, ob es bei Verwendung des MCP2515, der üblich mit
>
> 16MHz getaktet wird und einem beliebigen Atmel Mikrocontroller, der
>
> wegen der UART mit einem 14,7456 MHz Quarz beglückt ist, zu Problemen in
>
> der SPI-Kommunikation untereinader kommen kann. Ich behaupte nein, weil
>
> der µC langsamer als der ext. CAN-Controller getaktet ist. Mehr als
>
> clk/2 kann der Atmel µC nicht. Und 7,3 MHz Bitrate ist kleiner als 8
>
> MHz.


Ja genau endlich versteht mich jemand :) !
Ich werds dann halt einfach mal ausprobieren und berichten!

Autor: sw uart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jamest schrieb:
> Ich werds dann halt einfach mal ausprobieren und berichten!

Das ist kein problem.

ich hab nen mega8 (14,7456MHz) und nem mcp 2515 (16MHZ) miteinander 
verheiratet.

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.