Parallel->SPI Interface Adapter?

Gast #530046
Lesenswert?
• ▲
▼
Hi,

ich brauche eine schnelle SPI Verbindung, jedoch macht mein µC nur 2MHz 
maximal. Deswegen könnte man da evtl. per parallele Ports auf ein 
Interface IC gehen, das daraus ein SPI Takt macht?

Ist:

[µc] -- SPI(langsam) -- [SPI_Gerät]


Soll:
[µc] -- parallel(schnell) -- [IC] -- SPI(schnell) -- [SPI_Gerät]
Gast #530052
Lesenswert?
• ▲
▼
@RodYler

>ich brauche eine schnelle SPI Verbindung, jedoch macht mein µC nur 2MHz
>maximal. Deswegen könnte man da evtl. per parallele Ports auf ein
>Interface IC gehen, das daraus ein SPI Takt macht?

Das schreit nach einem kleinen CPLD. 32 bzw 36 Macrozellen sollten 
reichen. Sprich entweder Coolrunner oder 9536XL. Oder eben halt die 
Altera/Lattice/Whatever Typen.

MFG
Falk
#540743
Lesenswert?
• ▲
▼
@ RodYler

>sind die Dinger einfach zu programmieren? Ich habe leider nicht so viel
>Zeit, dort noch Entwicklung reinzustecken.

Wenn mans kann, dann ja.
Wenn du die Grundlagen von Digitaltechnik drauf hast kannst du recht 
schnell mittels Schematic Entry ein paar Gatter zusammenbauen die dir 
dein SPI-Interface bereitstellen. VHDL & Co brauchst du dafür nicht 
unbedingt.

MfG
Falk

Gast #542016
Lesenswert?
• ▲
▼
Hallo! Ich benötige auch soetwas, jedoch für die LPT des PC's. Ich wäre 
jetzt über nen ATMega8 gegangen, der mit ein Parallel<->SPI Funktion 
macht. Da bin ich aber dann dort, was dir zu langsam ist.

Werde mich jetzt auch mal mit CPLD beschäftigen, vielleicht lässt sich 
damit was brauchbares realisieren.

Woran ich noch am überlegen bin, ist, wie man am besten das 
Kommunikationsprotokoll realisiert, um Steuer- und Datenbytes 
unterscheide zu können (z.B. setzten der CS sind Steuerinfos; 
4bit-Modus?). Mein Ziel ist, möglichst gut den LPT Hardwarehandshake 
auszunutzen (wenn möglich).

Bin da aber noch am Anfang. Software-SPI über LTP läuft (mit STK200), 
jedoch halt entsprechend langsam :)

Falls jemand passende Kritik hat, raus damit.
Gast #542060
Lesenswert?
• ▲
▼
Mir würden die 2MHz ja schon reichen (besser als eine 
Software-SPI-Realisierung mit ca. 100-200kHz). Jedoch habe ich es bis 
jetzt nochnicht geschaft, den Hardwarehandshake auszunutzen und die 
D0-D7 bidirektional zu nutzen (natürlich alles im EPP Modus). Werde aber 
eh vielleicht eine 4Bit Lösung realisieren und einen ATMega8 für die 
SPI-Generierung verwenden.
(Firma: TravelRec.) Persönliche Seite #542062
Lesenswert?
• ▲
▼
Software-SPI bei sollte mit einem kleinen Tiny 16 Mhz CPU-Frequenz mit 
2Mhz gerade noch drin sein. Einen Tiny2313 habe ich neulich dazu 
überreden können. Die Befehle laufen in ASM alle der Reihe nach in einer 
Schleife, das Timing wird mit NOPs zyklengenau generiert. Zwischen den 
NOPs und den PORT-Anweisungen kann man dann auch noch Daten von einem 
8-Bit Port einlesen. Eine Handshakeleitung zeigt dem Tiny, daß die Daten 
gültig und aktuell zur Weitersendung bestimmt sind.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.