mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CAN Controller


Autor: g0nz00 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe mal eine Frage:

Welchen vorteil/nachteil hat das einbinden eines SJA1000 bei einem Mega 
µC in den oberen adressbereich für externe RAM.

Ist das einfacher/schneller als die kommunikation über SPI bei einem 
MCPxxxx?

Gruß

g0nz00

Autor: g0nz00 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also auf der seite von Fabian Greif

steht folgendes:

Der SJA1000 hängt am externen Bus Interface eines ATMega162 und kann so 
Memory-Mapped in den oberen RAM-Bereich des AVRs “eingeblendet” werden.

hat dieses vorteile im gegensatz zum SPI Can-Controller?

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eigentlich sind "Memmory Mapped" Zugriffe etwas einfacher zu handhaben,
wenn man weiss was man tut. Außerdem geht es schneller.

Steuert man das über SPI, dann muss man alles durch einen kleinen 
Flaschenhals quetschen, da man nicht nur die Adressierung, sondern
auch das Handling des Chip-Select (Slave-Select) abhandeln muss.

Beim MMIO (Memmory Mapped IO) greift man nur auf Variablen (im RAM)
zu. Den Rest erledigt das ext. Speicherinterface. Die einzige 
Schwierigkeit besteht darin, die VAriablen zu definieren, so dass die 
Zugriffe auch
auf die richtigen Adressen erfolgen.

Autor: Иван S. (ivan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
g0nz00 schrieb:
> Der SJA1000 hängt am externen Bus Interface eines ATMega162 und kann so
> Memory-Mapped in den oberen RAM-Bereich des AVRs “eingeblendet” werden.
>
> hat dieses vorteile im gegensatz zum SPI Can-Controller?

Du musst dann eben nichts über SPI rausdrücken, der RAM-Zugriff ist 
(meistens) schneller. Überdies sparst Du somit einen I/O-Pin.
Die Vorteile von Memory Mapped sind Dir jedoch klar, oder?

Autor: g0nz00 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein leider nicht, kann mit memory mapped nichts anfangen bin noch 
relativ neu in der materie.

Autor: g0nz00 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für die erklärung.

Die CAN Bibliothek kann ja auch den SJA1000 bedienen. Da sollten doch 
die Adressen bereits enthalten sein.

Werde die mir mal angucken.

Gruß

g0nz00

Autor: Иван S. (ivan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Speicherzugriffe sind gegenüber Schnittstellenzugriffen schneller, 
einfacher zu programmieren und sparen Peripherie. Nachteil (muss jetzt 
nicht auf dein konkretes Projekt zutreffen): Weniger Programmspeicher 
bleibt über.

Pendant: Port-I/O (Isolated I/O): Eigener Adressraum für die 
Ein/Ausgabe.

Iwan

Autor: H.Joachim Seifert (crazyhorse)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das sieht dann für dich als Programmierer (fast) so aus, als wäre der 
SJA1000 im Chip integriert. Du schreibst und liest RAM-Adressen.
Geschwindigkeitsvorteil wurde schon erwähnt, du musst eben nicht alles 
durch die SPI quälen.
Welche Variante besser ist, kommt auf den Rest des Geräts an. Z.B. noch 
andere traffic-intensive an der SPI? Andere zeitkritische Interrupts, 
die dir einen guten Teil der Rechnerzeit abzwacken?
Ich habe bis jetzt noch nie nen parallelen CAN-Controller rangezwirbelt. 
Entweder den MCP2515 oder, wenn Probleme absehbar waren, direkt einen MC 
mit integriertem CAN. Die Auswahl ist inzwischen reichlich. Ob SJA + MC 
mit Speicherinterface ne kostengünstige Lösung ist? Platz- und 
routingmässig ist sie es nicht. Falls sowieso ext. RAM am Controller 
nötig ist, macht es evtl. Sinn. Den SJA als einziges paralleles Bauteil 
dürfte nie Sinn machen.

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.