www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CAN controller an externen Bus


Autor: Klaus S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte einen Standard CAN-Controller an den 16 Bit externen Bus 
eines TI DSP TMS320VC5509A anschliessen (EMIF).

Leider sind bei den meissten CAN-Controllern die Address- und 
Datenleitungen gemultiplext.

Gibt es da eine simple Lösung oder muss ich ein CPLD o.ä. dazwischen 
tun?

SPI fällt als Möglichkeit weg, auch kann der DSP nicht gewechselt 
werden.

Der Intel 82527 kann zwar 8 bit non-multiplexed was aber relativ wenig 
nutzt, der DSP im 8 bit modus nur lesen kann.

Vielen Dank,

Klaus

Autor: H.Joachim Seifert (crazyhorse)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mit nem externen Register?

Im Prinzip wie da:
http://www.cs.ucr.edu/cs120B/cs120b_03fal/8051.pdf
Seite 4

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klaus S. schrieb:

> Der Intel 82527 kann zwar 8 bit non-multiplexed was aber relativ wenig
> nutzt, der DSP im 8 bit modus nur lesen kann.

Wo ist denn das Problem, einen 8-Bit Baustein an einen 16-Bit Bus zu 
hängen? Schreib 16 Bits und die eine Hälfte davon wird automatisch 
ignoriert weil nicht angeschlossen.

Autor: Klaus S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

vielen Dank erstmal für die schnellen Antworten.

Das mit dem Register ist dann nötig wenn ich einen normalen asynchronen 
Speicher an den gemuxten Intel bus anschliesse. Ich habe ja das 
umgekehrte Problem!

Das mit dem 8 bit Modus am 16 bit Bus ist richtig. Wäre natürlich 
effizienter, wenn die 16 bit auch komplett genutzt werden könnten.

Viele Grüsse,

Klaus

Autor: Markus Müller (mmvisual)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den SJA1000 kennst Du?
Der hat einen gemultiplexten und 8Bit Bus. Ich habe den schon benutzt 
und der funktioniert gut.

Autor: H.Joachim Seifert (crazyhorse)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ups, hab ich komplett falsch verstanden...

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klaus S. schrieb:

> ich möchte einen Standard CAN-Controller an den 16 Bit externen Bus
> eines TI DSP TMS320VC5509A anschliessen (EMIF).
>
> Leider sind bei den meissten CAN-Controllern die Address- und
> Datenleitungen gemultiplext.
>
> Gibt es da eine simple Lösung oder muss ich ein CPLD o.ä. dazwischen
> tun?

Du kannst fürs CAN einen extra Microcontroller mit eingebautem CAN 
verwenden, der das Message Handling übernimmt und nur noch die Messages 
bekommt. Ich denke da an irgendwas in Richtung PIC18F. Wird jedenfalls 
billiger als ein CPLD.

fchk

Autor: Klaus S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Markus:
Danke für den Hinweis, ja hab den SJA1000 gesehen ist auch von der 
Leistungsaufnahme besser als der Intel. Laut Datenblatt hat er einen 8 
bit gemuxten Bus. Mein Problem ist aber wie ich so einen gemuxten Bus an 
meinen nicht gemuxten DSP anschliesse.

@Frank
Ja das mit dem PIC könnte eine Lösung sein. Preis spielt aber eher eine 
untergeordnete Rolle. Wichtig für mich ist Zuverlässigkeit und 
Geschwindigkeit.

Klaus

Autor: Markus Müller (mmvisual)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Multiplex-Umschaltung an die Adress-Leitung anschließen (ALE).
Man schreibt die SJA1000 Adresse auf den Bus, dann auf eine andere 
Adresse R/W die SJA1000 Daten.

Autor: Klaus S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
D.h. dass ich einen zusätlichen 16 bit 2-1 mux benötige der abhängig vom 
ALE-Signal den gemuxten Bus entweder auf A oder D schalte. Ansonsten 
müsste ich ja die A- und D-Leitungen miteinander verbinden, was beim 
Schreiben ja problematisch wird...

Autor: Markus Müller (mmvisual)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, nicht so.
- Die A0 Adressleitung mit ALE verbinden
- D0..7 der CPU mit AD0..7 vom SJA.
- 1. Write auf Adress-Maske + 1 >> Schreibt die Adresse in den SJA
- 2. Wr/Rd auf Adress-Maske + 0 >> Schreibt/liest von dem Register

Man müsste sich das Timing-Diagramm genau anschauen, der SJA unterstützt 
die Modes Motorola und Intel.

Somit werden vom externen Speicher nur 2 Adressen benötigt.

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.