Clock divider problem

#6981109
Lesenswert?

Ich habe eine 200MHz Sinus-systemClock.(Xilinx KC705-Board)
Das teile ich damit ich eine 20 MHz clock bekomme.
Ich messe mit dem Oszi und beide frequenzen sind ok, aber generierte 
clock hat nicht das form eine Rechtecksignal. Was mache ich hier bitte 
falsch?

ich habe (sicherheitshalber) beide clock Verbindungen auch umgetauscht 
selbe Ergebnis.
1
architecture Behavioral of Cl is
2

3
    signal clk_1: std_logic;
4
    signal   cntDiv: unsigned(32 downto 0) := (others => '0');
5

6
  
7
begin
8
  process(sysclk)
9
    begin 
10
     if rising_edge (sysclk) then
11
      if cntDiv < "000000000000000000000000000000100" then   
12
        cntDiv <= cntDiv + "1";
13
      else
14
        clk_1 <= not clk_1;
15
        cntDiv <= (others => '0');
16
      end if;
17
    end if;
18
  end process;
19

20
BRD_USER_SMA_GPIO_P <= sysclk;
21
BRD_USER_SMA_GPIO_N <= clk_1;
22

23
end Behavioral;
Angehängte Dateien:
#6981128
Lesenswert?

1. Den Oszilloskop hat zu wenig Bandbreite, sonst wäre der Eingangstakt 
nicht Sinus sondern Rechteck
2. Wie hast du das oszilloskop am Ausgang Angeschlossen, speziell die 
Masse? Das sieht aus wie eine fliegende Verdrahtung oder mit der 100:1 
Messspitze gemessen. Da bekommt man schöne Reflexionen rein. Die 
Anstiegszeiten der FPGA Ausgänge sind im ps Bereich, das ist eine 
Bandbreite von einigen GHz, wenn man da einen sauberen Rechteck auf dem 
Oszi sehen will, braucht man neben der Bandbreite eine saubere 50 Ohm 
Koax verbindung.
#6981167
Lesenswert?

Die Signale sind auf dem SMA Buchse vom Board ausgegeben. Die SMA 
Ausgänge verbinde ich mit dem Oszi mit eine SMA Kabel. Beide Signale 
messe ich mit selben Kabel und selbe Channel auf Oszi abwechselnd.
Ich habe einen Hantek DSO5202P 200MHz, 1GSa/s.

ich messe mit selben Kabel den Oszi Referenz Signal und bekomme schöne 
rechtecksignal.
Angehängte Dateien:
Gast #6981177
Lesenswert?

New C. schrieb:
> ich messe mit selben Kabel den Oszi Referenz Signal und bekomme schöne
> rechtecksignal.

dann hat der Referenz Ausgang entweder flachere Flanken oder er hat eine 
Ausgangsimpedanz, die zum Wellenwiderwiderstand deines Kabels passt. 
dann hat du kein Reflektionsproblem.

der FPGA Ausgang hatte dagegen eine sehr steile Flanke und einen 
niedrigen Ausgangswiderstand. deswegen(und weil dein Kabel so lang ist) 
siehst du diese reflektionen. schließe das kabelende mit 50 Ohm ab, dann 
verschwinden sie.
#6981432
Lesenswert?

Mit 200MHz Bandbreite ist natürlich klar, und bei 1GSa/s wird aus den 
maximal 5 Punkten pro Schwingung natürlich dann ein Sinus rekonstruiert, 
statt Rechteck.
Der Test Ausgang ist üblicherweise im kHz Bereich und die 
Flankensteilheit passt zur Bandbreite des Scopes.

Wie schon gesagt, Takt Teilen macht man mit MMCM, die Ausgabe dann mit 
einem ODDR. Und pro LVDS Paar nur einen Takt ausgeben.

Du kannst auch mal am Scope auf DC gehen, wie groß der Kondensator ist 
der dazwischen geschaltet wird, weiß man ja nicht. Hat das Oszi auch 
eine Einstellung für 50 Ohm? Ansonsten einen BNC Abschlusswiderstand 
samt T Stück dran, bei 20MHz geht das noch...
Gast #6981855
Lesenswert?

zur Illustration mal eine Simu des Messaufbaus. Oben sieht man das 
Signal der "idealen Quelle". Um die Eigenschaften des FPGA-Treibers grob 
anzunähern wird der noch ein Ausgangswiderstand von 20 Ohm spendiert. 
(R1 bzw. R3) Der Oszi-Eingang ist als 1MOhm || 15pF angenommen.

Das entspricht nicht exakt dem tatsächlichen Verhalten des Treibers. 
Aber es reicht schon, um die prinzipiellen Strukturen, die der TO in 
seiner Messung sieht, zu reproduzieren. Die grüne Kurve in der Mitte der 
Simulation entspricht dem Signal am Oszieingang ohne Terminierung. Die 
rote Kurve unten zeigt, wie das Signal von einer Terminierung 
profitieren würde.
Angehängte Dateien:
#6981872
Lesenswert?

Lothar M. und Achim S. schrieb:
> New C. schrieb:
> Dem Signal fehlt augenscheinlich einfach eine korrekte Terminierung.
> Dann bekommt man solche eigenartigen Signalformen.
Darf ich euch bitten kurz über Terminierung etwas zu sagen. Terminierung 
ist eine Ende mit Widerstand zu schließen , kenne ich.
Hier ist eine Ende FPGA andere Ende ist Oszi. Oder gibt es solche Teile 
zu kaufen? wäre nett eine Artikel zu nennen, bitte
#6981966
Lesenswert?

New C. schrieb:
> Meine maximale Signalfrequenz ist die von FPGA clock : 200Mhz. Welche
> Wert ist in meinem Fall zu wählen?

Das kannst du mit deinem Oszi eh nicht sinnvoll "messen". Höchstens 
gucken ob da oder nicht da. Selbst ein Sinus mit 200MHz wird da wenn 
alles glatt geht nur noch mit 70% seiner Amplitude angezeigt. Rechteck 
hast du ja schon bewundern können. 20MHz wird gehen aber bei mehr wirds 
immer runder.
#6981981
Lesenswert?

Christian R. schrieb:
> Höchstens gucken ob da oder nicht da.

Dafür ist übrigens die FFT Funktion sehr nützlich. Da sieht man nämlich 
auch Signale die man in der zeitlichen Darstellung nicht mehr erkennt. 
Bei meinem MSO5074 kann ich einen 1 GHz Clock in der normalen 
Darstellung nicht mehr sehen, der geht im Rauschen unter. In der FFT 
sehe ich den aber wunderschön. Wenn man also nur wissen will ob ein 
Signal da ist und welche Frequenz das grob hat dann ist das super.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren