Forum: Mikrocontroller und Digitale Elektronik Parallel->SPI Interface Adapter?


von RodYler (Gast)


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]

von Falk (Gast)


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

von RodYler (Gast)


Lesenswert?

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

von A.K. (Gast)


Lesenswert?

FT2232 kann USB-SPI bis 6MHz.

von RodYler (Gast)


Lesenswert?

USB nützt mir leider nichts.
Sollte reiner Parallelbetrieb -> SPI sein.

von Falk B. (falk)


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


von Weinga-Unity (Gast)


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.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Über LPT wirst Du auch nicht schneller als 2Mhz werden. Diese "alte" 
Schnittstelle ist auch nicht schneller.

von Weinga-Unity (Gast)


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.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.