Gast
#388679
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 :)