Forum: Mikrocontroller und Digitale Elektronik Signalpuls vervielfachen


von enan (Gast)


Lesenswert?

Hi,
ich habe einen Signalpuls der etwa so aussieht:

_|¯¯¯|________|¯¯¯|______

Pulsbreite ist 75ns und der Abstand der steigenden Flanken 250ns. (5V 
Signale)

Nun möchte ich genau zum Zeitpunkt einer steigenden Flanke dieses 
Signals 5 Pulse erzeugen, die bis zur nächsten steigenden Flanke dieses 
Signals wieder vorbei sind. Die 5 Pulse sollten in etwa gleichmäßig 
verteilt in den 250ns auftreten. Wichtig ist nur dass die erste 
steigende Flanke des zu erzeugenden Signals zur Flanke des vorgegebenen 
Signals passt.

Eine Hardware-Lösung wird bevorzugt. Soll heißen mit Logik Gattern oder 
aber kleines CPLD.
Hab schon überlegt ein 74HC393 zu benutzen mit einem Takt von ungefähr 
54 MHz welches sich nach 5 Pulsen wieder zurück setzt, allerdings werden 
hierbei die fallenden Flanken gezählt. Damit stimmt dann das 
Ausgangssignal Qa von der steigenden Flanke her überhaupt nicht mehr mit 
dem vorgegebenen Signal überein.

Falls jemand eine Idee oder Anregung dazu hätte wär ich sehr dankbar
Gruß Sebastian

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

enan schrieb:
> Wichtig ist nur dass die erste steigende Flanke des zu erzeugenden
> Signals zur Flanke des vorgegebenen Signals passt.
Muss die exakt zum selben Zeitpunkt kommen, oder darf die z.B. jeweils 
um eine bestimmte Zeit verzögert sein ("Laufzeit")?

von enan (Gast)


Lesenswert?

Hi Lothar, eine Gatterlaufzeit muss schon drin sein, sonst kann man ja 
gar nichts machen. Sollte aber nicht viel mehr werden.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

enan schrieb:
> Hi Lothar, eine Gatterlaufzeit muss schon drin sein
Und was ist maximal drin? Darf da auch Jitter dabei sein?
Dürfen die folgenen Impulse bezogen auf den "ersten" jittern?

von enan (Gast)


Lesenswert?

Idealerweise soll es zwischen den Flanken keinerlei Verzögerung geben. 
Allerdings ist mir klar, dass es ohne nicht gehen wird. Ich suche eine 
Möglichkeit das mit möglichst wenig Verzögerung zu realisieren.
Jitter sollte natürlich auch keiner vorhanden sein. Aber wenn es sich 
nicht vermeiden lässt muss ich auch das in Kauf nehmen.
Wäre nur mal für einen Lösungsvorschlag dankbar. Ob es dann letztendlich 
mit der Realisierung betreiben kann wird dann noch getestet.

von oszi40 (Gast)


Lesenswert?

Theoretisch sehe ich 2 Löungsvarinaten:

FFs mit dem hohen Takt speisen und und Dein Signal als Torsignal 
benutzen um die 5 Takte rauszulassen
oder evtl. viele Negatoren hintereinander schalten und über UND die 
verzögerten Signale einige ns später abgreifen?

von Udo (Gast)


Lesenswert?

Kannst du den Urtakt auch verzögern? Dann könntest du beide Flanken 
sauber synchron ausgeben.

Sonst mit einem FPGA einen Takt k*5*/(75+250) = k*3,07xxx MHz erzeugen 
und den per skew auf den Eingang synchen. Das können aber nur FPGAs mit 
SERDES-Funktionen.

Und es geht nur, wenn das Signal periodisch kommt und man ein phase 
alignment vollzogen hat.

von Dietrich L. (dietrichl)


Lesenswert?

Noch ne Idee: Verzögerungsleitung(en)
Ich weiß allerdings nicht, was es da am Markt (noch?) gibt.
Gerade mal gesucht: 
http://www.elektronikpraxis.vogel.de/passive/articles/50320/
Das sollte zumindest genauer als mit Gatterlaufzeiten oder RC-Gliedern + 
Schmitttrigger sein.

Gruß Dietrich

von Falk B. (falk)


Lesenswert?

@enan (Gast)

>Pulsbreite ist 75ns und der Abstand der steigenden Flanken 250ns. (5V
>Signale)

Wenn die Sache periodisch ist und konstante Frequenz hat, kann eine PLL 
eine perfekte x5 Multiplikation machen, inclusive vollständiger 
Phasenausregelung.

>Idealerweise soll es zwischen den Flanken keinerlei Verzögerung geben.
>Allerdings ist mir klar, dass es ohne nicht gehen wird.

Das hast du schon zweimal gesagt. ZAHLEN! 1ns? 5ns?

>Möglichkeit das mit möglichst wenig Verzögerung zu realisieren.

Irgendein schnelles Gatter ala VHC oder so, die haben viellecht 3ns 
Durchlaufverzögerung, das sollte reichen, oder?
Dahinter eine tricky Schaltung, welche die 5 Takte generiert, ein 
schneller RC-Oszillator + Zähler.

>Wäre nur mal für einen Lösungsvorschlag dankbar. Ob es dann letztendlich
>mit der Realisierung betreiben kann wird dann noch getestet.

Wozu brauchst du den das überhaupt?

MFG
Falk

von enan (Gast)


Lesenswert?

Vielen Dank für die ganzen Ideen.
Leider sind FFs nicht geeignet. Bei meinem Ausgangssignal handelt es 
sich um ein clk Signal für einen pipeline AD Wandler. Leider stimmt das 
gesammte timing nicht, da erst ein paar Takte nach dem Sample puls die 
entsprechenden Daten hinten raus kommen.

Ich werd hier so grob nochmal ein Diagramm malen:

Input:
_|¯¯¯¯|______________|¯¯¯¯|______________

Output:
_|¯|_|¯|_|¯|_|¯|_|¯|_|¯|_|¯|_|¯|_|¯|_|¯|_

Ein FPGA mit serdes Funktion hört sich am geeignetsten an. Leider hab 
ich damit noch keine Erfahrung und müsste mich komplett einarbeiten.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Farnell hat ein paar Verzögerungsleitungen von Maxim/Dallas im Programm, 
Typ DS1100Z-xxx
z.B.
http://de.farnell.com/maxim-integrated-products/ds1100z-125/ic-delay-line-5tap-125ns-8-soic/dp/2071420
IC, DELAY LINE, 5TAP, 125NS, 8-SOIC
No. of Taps: 5
Delay Time per Tap: 25ns
Total Delay Time: 125ns
Supply Voltage Range: 4.75V to 5.25V

Das wird allerdings relativ teuer, Pauschale wegen Import aus USA 20€ 
plus 7,86€

von Falk B. (falk)


Lesenswert?

@  enan (Gast)

>Leider sind FFs nicht geeignet. Bei meinem Ausgangssignal handelt es
>sich um ein clk Signal für einen pipeline AD Wandler.

Und woher kommt das Eingangssignal? Es ist um WELTEN einfacher, einen 
Takt durch 5 zu teilen als zu multilizieren.

Du sagst was von 250ns, das sind 4 MHz. x5 = 20 MHz

Nimm einen 20 MHz Oszillator, der spukt den Takt für deinen ADC aus. 
Teiler durch 5 macht jeder 0815 Zähler, den gibst du an den Rest der 
Schaltung. Fertig.

MFG
Falk

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

enan schrieb:
> Bei meinem Ausgangssignal handelt es
> sich um ein clk Signal für einen pipeline AD Wandler. Leider stimmt das
> gesammte timing nicht, da erst ein paar Takte nach dem Sample puls die
> entsprechenden Daten hinten raus kommen.
Liegt der Takt dauernd an?
Dann hat Falk die richtige Lösung schon erwähnt: PLL.
Und du musst dich fragen lassen: wie machen andere das?
Hat der Hersteller evtl. sogar passende AppNotes?

> für einen pipeline AD Wandler.
Welchen?

von enan (Gast)


Angehängte Dateien:

Lesenswert?

@Falk: Das Eingangssignal kommt aus einem ASIC. Dieses wiederum wurde 
für einen Single-step AD Wandler ausgelegt (Flash Wandler). Nachdem der 
seit 10 jahren schon abgekündigt ist soll ein neuer Wandler rein. 
Allerdings brauchen die neueren mehrere Takte bis das passende raus 
kommt (SAR). Das timing fürs ASIC soll dabei nicht durcheinander kommen, 
deshalb muss aus diesem einen Wandel-Puls vom ASIC fünf takte für einen 
SAR Wandler gemacht werden.
Habe das Signal mal gemessen und es sieht so weit schön periodisch aus. 
Jedenfalls das was man im regulären Betrieb so sieht. Das einfachste 
wird wohl sein ein PLL-IC zu verwenden.

von Falk B. (falk)


Lesenswert?

@  enan (Gast)

>seit 10 jahren schon abgekündigt ist soll ein neuer Wandler rein.

Dann nimm einen Wander der keine 20 MHz extern braucht. Ist deutlich 
einfacher. AD-Wandler mit 4 Ms/s gibt es wie Sand am Meer.

MfG
Falk

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.