Freuquenz teilen

Gast #1985065
Lesenswert?

wenn ich 50.000.000 Hz durch 9600 teile, bringt mir mein Taschenrechner 
die Zahl 5.208,3333333 1/3. Anders gesagt, wenn ich 50.000.000 Hz durch 
13 teile bekomme ich 3.846.153,846. Diese Zahl durch 10 und das 
Ergebniss nochmal durch 10 teile, habe ich am Taschenrechner 
38.461.5385. Vorige Zahl durch 4, zeigt mein Rechner 9.615,3846. Oder 
soooooooooooooooooooo

Ich glaube ich weis was Sie als nächstes fragen.
#1985132
Lesenswert?

@  Ali Alile (rifay)

>ja, die Berechnung habe ich genauso. Aber wie kann ich das in vhdl
>programmieren?

Mit einem Zähler.

>Kann man das in einer schleife realisieren?

Gar nicht. Das ist VHDL, kein C.

>wenn ja, kann ich die einzelnen Teiler weglassen und nur 50MHz/5208 >rechnen?

Rechnen nicht, aber zählen.
1
process(clk)
2
begin
3
  if rising_edge(clk) then
4
    cnt <= cnt +1;
5
    clk_9k6 <= '0';
6
    if cnt = 5207 then
7
      cnt <= 0;
8
      clk_9k6 <= '1';
9
    end if;
10
  end if;
11
end process;

Siehe auch Taktung FPGA/CPLD.

MfG
Falk
#1986542
Lesenswert?

Ali Alile schrieb:
> Nur, wie kann ich mir das
> vorstellen,

Da gibt es eine Lampe die blinkt vor sich hin.
Und es gibt einen Typen auf einem Berg, der die Lampe beobachtet. Er 
befolgt buchstabengetreu seine Vorgaben:

Jedesmal, wenn die Lampe von aus auf ein umschaltet (rising_edge)
zählt der in Gedanken zu einer Zahl die er sich merkt 1 dazu (cnt <= cnt 
+1). Ist er damit fertig, dann überprüft er noch schnell ob er zufällig 
schon bis 5207 gezählt hat.
Wenn er drauf kommt, dass er das hat, dann hält er eine Fahne in die 
Höhe und fängt wieder bei 0 zu zählen an (und senkt dann auch gleich 
wieder die Fahne).

Wenn nun die Lampe 50 Millionen mal in der Sekunde aufblitzt, und man 
den Typen vom Tal aus beobachtet, wie oft in der Sekunde hebt er dann 
die Fahne?

So kannst du dir das vorstellen.

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