mikrocontroller.net

Forum: FPGA, VHDL & Co. Anschluß des SJA1000 an FPGA-Pins


Autor: Juri (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Alle zusammen!

hab eine Frage: ich beabsichtige mein SoftCore-µC(im Xilinx Spartan 3 
FPGA)
mit dem CAN-Controller SJA1000 zu verbinden(s. Skizze). Nun weiß ich 
nicht,
ob es direkt ohne weiteres gemacht werden kann. Bei normalen 
µControllern ist
es ja kein Problem, da die Pins bereits über entsprechende 
Treiberschaltungen
geschützt sind, bei dem Softcore sind jedoch die Leitungen einfach über
die FPGA-Pins nach außen geführt. Hat jemand eine Idee diesbezüglich?

ps: die Pegelunterschiede (3,3V <-> 5V) werden natürlich mittels 
Levelshifter angepasst

Autor: Mathi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das geht ohne Probleme. In den FPGA-Pins sind entsprechende Treiber 
eingebaut.

Autor: Helmut Lenzen (helmi1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Am FPGA sind doch auch nach aussen hin Treiber drin. Auch ist der 
SJA1000 ja wohl keine Last die viel Strom zieht. Und wenn du schon den 
Pegelunterschied beruecksichtigst sollte es da kein Probleme geben. Da 
ist ja wohl eher das Timing das kritischere relativ gesehen.

Gruss Helmi

Autor: Juri (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke Leute, ich hoffe sehr, daß ihr Recht habt,
bin nähmlich in diesen Sachen ein blutiger Anfänger  )))

Autor: Juri (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
skizze

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
> Xilinx Spartan 3 FPGA ... einen SJA1000 ...
Ja, der Spartan 3 ist jetzt nicht soooooo richtig 5V-fest :-o
Und der SJA1000 hat Vcc=5V :-(

> ps: die Pegelunterschiede (3,3V <-> 5V) werden natürlich mittels
> Levelshifter angepasst
Die Steuerleitungen vom FPGA zum SJA passen schon, die kann der SJA 
korrekt erkennen. Kritischer ist da der AD-Bus. Bei dem sollte ein 
Pegelwandler (z.B. 74LVC4245) die Pegelanpassung übernehmen. Mit dem RD# 
Signal wird dann die Richtung des AD-Busses vom SJA zum FPGA 
umgeschaltet.

Der Interrupt vom SJA ist ein OC-Pin, einfach mit Pullup im FPGA 
hochziehen.

Da kommt dann noch der gemultiplexte Bus dazu. Vermutlich musst du aus 
deinem internen Adress- und Datenbus erst noch diese Muxerei mit 
ALE-Erzeugung programmieren.

Aber gehen tut das schon, andere haben das auch schon gemacht ;-)


Und das muss jetzt auch noch sein:
> nähmlich in diesen Sachen ein blutiger Anfänger
Wie war das schon vor der Rechtschreibreform:
Wer nämlich mit h schreibt ist ...
http://www.jvfg-cham.de/jvfg/facher/deutsch/eselbruecke.pdf
Nämlich kommt nämlich von Namentlich, nicht von nehmen.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt auch einen SJA1000 ähnlichen IP-Core, warum also extern 
anschließen?
http://www.opencores.org/projects.cgi/web/can/overview

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ansonsten fehlen in der Skizze noch die bidirektionalen Datenleitungen!

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gast wrote:
> Ansonsten fehlen in der Skizze noch die bidirektionalen Datenleitungen!
Sind automatisch mit drin: der gemultiplexte AD-Bus (Adress- und 
Datenbus) überträgt erst die Adresse und dann die Daten.

Autor: Juri Lechner (Firma: student) (juran78)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
2 Lothar Miller:

danke für die Erklärung!

übrigens, ich komme ursprünglich aus Rußland, der deutschen
Sprache bin ich immer noch nicht gewachsen :)

Gast wrote:
> Es gibt auch einen SJA1000 ähnlichen IP-Core, warum also extern
> anschließen?
> http://www.opencores.org/projects.cgi/web/can/overview



ich benutze xs3s200 FPGA, die Kapazitäten reichen gerade mal für
den µC8051-core, so daß ich den CAN-Controller extern aufbauen muss

Autor: shmatko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Juri

Privet Jura,

ich mache gerade das gleiche wie du. SJA1000 an spartan3s100 anbinden.
Könntest du mir helfen. Wie hast du das realisiert?

Danke und spasibo!

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]
  • [vhdl]VHDL-Code[/vhdl]
  • [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.