Hallo zusammen,
ich Suche eine einfache und billige Möglichkeit mein SPI Datensignal (SI) harwaremäßig um ca. 250ns zu verzögern. Mein Clock hat eine Frequenz von 500kHz oder 1MHz.
Ich hoffe ihr habt ne Idee.
Gruß,
Florian
Hallo zusammen,
ich Suche eine einfache und billige Möglichkeit mein SPI Datensignal (SI) harwaremäßig um ca. 250ns zu verzögern. Mein Clock hat eine Frequenz von 500kHz oder 1MHz.
Ich hoffe ihr habt ne Idee.
Gruß,
Florian
Der MXD1013 könnte sich ganz gut dafür eignen
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/1822
Die Verzögerungsleitungen in dem Chip funktionieren ganz simpel. Es sind einfach mehrere hundert Inverter hintereinander geschaltet. Das IC gibts für verschiedene Zeiten. Man kann die Dinger auch kaskadieren um die Zeiten zu verlängern oder um "krumme" Werte zu erzeugen.
Du könntest z.B. den MXC1013-80 nehmen und alle drei Verzögerungsleitungen, die in dem IC drin sind hintereinander schalten. Dann kommst du auf 240 ns
RC Glied und Schmitt-Trigger, aber die hohen Toleranzen bei den Kondensatoren (i.d.R 10%) sind für sehr genaue Verzögerungen nicht geeignet.
Die IC's von MAXIM / DALLAS arbeiten ziemlich präzise (lt. Datenblatt +/- 2ns)
Hier bekommt man die Teile:
http://www.spezial.de/eshop_artikel_...&suche=1013-80
Hallo Robbo!
Wenn Du Die Verzögerung ganz genau definieren kannst (welche Flanken um wieviel verzögert werden sollen), dann kann ich Dir was einfaches Vorschlagen. Ich glaube nicht, dass das MCX1013-80 leicht beschafbar ist.
MfG
Hallo,
erstmal vielen Dank für die schnellen Antworten.
Diese Delay-Lines sind natürlich tolle Teile. Nur leider sind die verdammt teuer. Schuricht ca. 10 €. Und dazu nicht so leicht zu beschaffen(besonders als Privatmann).
@avatar: was ist das denn für ein shop? Ich werd aus der Seite nicht ganz schlau.
@PICture
dein Angebot hört sich verlockend an.
Die SPI Signale erzeuge ich über ein Microwire Interface Baustein (TP3465). Dieser wird an den Adress-/Datenbuss des 8051 angeschlossen. Somit kann ich höhere Taktraten fahren, und mein µC wird nicht belastet.
Jetzt habe ich zwei Modi zur verfügung:
1: Ruheclock=0, Daten werden an der fallenden Flanke auf den Bus gelegt.
2: Ruheclock=1, Daten werden an der steigenden Flanke auf den Bus gelegt.
Wie das mit dem Logik Analyzer aussieht hab ich dir angehängt.
Meine Peripherie am SPI verlangt Ruheclock = 1 und übernimmt die Daten an der positiven Flanke. --> Modus 2
Problem ist aber, dass das Datensignal vor und nach der steigenden Flanke nicht lange genug gehalten wird. Ich benötige mind. 120ns vor der Flanke und mind. 200ns nach der Flanke.
Auf dem Logik A. hab ich jetzt festgestellt, dass ich die Zeiten einhalten könnte, wenn ich das Datensignal um etwa 250ns verzögern würde.
Außerdem ist auch das CS-Signal etwas zu kurz. Das hab ich aber schon SW-mäßig behoben.
Ich hoffe das war einigermaßen verständlich.
Gruß,
Florian
http://www.spezial.de hat sich auf den Vetrieb von MAXIM-Bauteilen spezialisiert. Sie bieten auch IC von DALLAS SEMICONDUCTOR (DS) an. DS wurde kürzlich von MAXIM übernommen.Zitat von Robbo
Die Webseite von www.spezial.de ist leider etwas unübersichtlich.
Um den Preis und die Lieferzeit für eine bestimmte Stückzahl zu erfahren, rufst du am besten mal an. Oder du füllst das Anfrage-Formular (Kontakt/Anfrage) mit Typenbezeichnung (z.B. MXD1013-80 oder DS1013-80) und gewünschter Stückzahl aus
Hallo Robbo!
Danke für die Bilder von Logic Analyzer, aber ohne Beschreibung der Signale, ist es für mich noch nicht ganz klar. Wenn die Daten um 250ns verzögern werden sollen, dann stelle ich mir das so wie im Code vor. Oben sind die ursprüngliche Daten, und unten verzögerte Daten. Wenn es so richtig ist, dann sollte die Schaltung im Code funktionieren.
MfG
Code:_ _ _ _ _ _ _ _ In _| |_| |_| |_| |_| |_| |_| |_| |_ | ->||<- 250ns |_ _ _ _ _ _ _ _ Out _| |_| |_| |_| |_| |_| |_| |_| |_ VCC VCC + + | | .-. .-. R| | R| | | | 250ns | | 250ns '-' '-' | ||C | ||C o-||-\ o-||-\ | || | 74XX123 | || | .------. .------. In>---o----|B Q| /-----|B Q| | |_ _| | |_ _| __ | /-oA _ Qo-\ === /-oA _ Qo-----| \ | | | R | | GND | | R | | )o->Out | | '--o---' | | '--o---' /-|__/ | | | | | | | | \----o | | + | | | | 74XX00 | VCC | | + | __ __ | __ | | VCC \-| \ +-| \ | +-| \ | | | )o-+ | )o--o--+ | )o--/ \---------------|__/ +-|__/ +-|__/
Verzögerung um 250ns ?
Nimm doch einfach ne Verzögerungsleitung.
Gibt es auch in 250ns passend.
Klick mich !
Gruß
Ratber
Ich würde mir noch mal die Anforderungen an die Genauigkeit ansehen. Wie es sich darstellt darf die Verzögerung auch eine Toleranz von 20% haben und es wäre mit einer recht einfachen Tiefpass und Schmitt Trigger Schaltung zu machen.Zitat von ogni42
Manfred
Lesezeichen