Hallo,
In VHDL probeer ik de resetpuls (de puls na de ontbrekende 59e puls) uit het dcf-signaal te halen. Ik gebruik een oscilatorblokje om te controleren wanneer je voorbij de 59e puls bent.
Hieronder staat de code, deze compileert en synthetiseert goed. Helaas werkt het niet.
Heeft iemand een idee? Alvast bedankt voor de suggesties.
--DCF ontvanger
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY dcfvhdl IS
PORT( dcfpuls, clock : IN STD_LOGIC;
resetpuls : BUFFER STD_LOGIC;
secpuls : OUT STD_LOGIC);
END dcfvhdl;
ARCHITECTURE dcfvhdl OF dcfvhdl IS
BEGIN
secpuls <= dcfpuls;
--Genereren van de reset-puls
PROCESS(clock, dcfpuls) --clock van 1.8432 MHz
VARIABLE teller1: INTEGER RANGE 0 TO 6_000_000;
BEGIN
--Nadat de dcfpuls laag is geworden gaat de reset ook laag
IF (dcfpuls'event AND dcfpuls = '0') THEN
resetpuls <= '0';
teller1 := 0;
END IF;
IF (clock = '1') THEN
teller1 := teller1 + 1;
END IF;
--De 59e puls wordt niet uitgezonden, hierna komt de reset
IF (teller1 > 2_500_000) AND (dcfpuls = '1') THEN
resetpuls <= '1';
END IF;
END PROCESS;
END;