Hi, noch einmal eine doofe Frage von mir, aber stecke ein wenig fest. Ich möchte mir einen Timer bauen der ein 1,2 oder 4 Hz Taktsignal hat. Leider bin ich mir grade noch so wirklich sicher wie ich das machen soll. Folgenden Ansatze habe ich: entity Timer is Port ( Aktiv : in STD_LOGIC_VECTOR (1 downto 0); Clk : out STD_LOGIC); end Timer; architecture Behavioral of Timer is signal intern_sig: STD_LOGIC; begin process(Aktiv) begin if(Aktiv = '1') if(Frequenz = "00") then --1HZ intern_sig <= (not intern_sig) after 100 MS; elsif (Frequenz = "01") then --2HZ intern_sig <= (not intern_sig) after 50 MS; elsif (Frequenz = "10") then --3HZ intern_sig <= (not intern_sig) after 25 MS; end if; Clk <= intern_sig; end if end process; end Behavioral; Das Problem ist, Clk kann ich nicht auf inout setzen, da es sich sonst mit den Eingängen aus dem Simulator überschneidet und ich einen undefinierten Zustand bekomme. Kennt einer von euch eine Lösung auf dieses Problem? Alternativ hat die Platine noch einen 50 Hz Taktgeber, wo ich aber das Problem hab, da ich nicht weiß wie ich genau 1, 2 bzw. 4 Hz einstelle. Mit einem Frequenzteiler komme ich so grade auf 3,0125Hz. Naja irgendwie will das alles nicht so ganz. Bin über jede Hilfe dankbar. TIM :)
Wenn Dein Timer auf einer Platine laufen soll, dann ist nix mit "after 100 ms". Die einzige Möglichkeit ist aus dem externen Takt durch einen Teiler auf die gewünschte Frequenz zu kommen. Also : 1 Hz => 50 Hz durch 50 teilen 4 Hz => geht nicht, weil 50 nicht durch 4 teilbar.
hat hier jemand einen fertigen Core, der aus x-Mhz Taktfrequenz X/2-Mhz erzeugt? Wenn möglich 2 Cores die je nur einen einzelnen Puls oder Impulse erzeugen Danke
hallo someone-somewere! Du möchtest also nur eine Frequenz halbieren, wenn ich das richtig verstehe? Nimm dafür doch ein einfach ein FlipFlop und koppel den negierten Ausgang auf den Einfang zurück. Das mit den einzelnen impulsen hab ich nicht ganz verstanden, sorry!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.