CPLD Debounce Coolrunner 2, HJÆLP desperat behov

B

bigurf

Guest
HI
Jeg har en coolrunner 2 udvikling bord.Opdele uret var nemt, jeg har nu 90Hz ur, men darn knapper bare vil ikke blive debounced.Jeg har den VHDL-kode til debounce en MAX FPGA, og koden er fornuftigt, 4 bit skift registreringsdatabasen.Det kompilerer men blot plejer arbejde.Jeg har brug for en hjælp til at debounce mine trykknapper i VHDL for denne CPLD.Hvis nogen kan du fortælle mig, hvordan du gør, at

Tak.

 
Hope this helps
Code:LIBRARY IEEE;

BRUG IEEE.STD_LOGIC_1164.all;

BRUG IEEE.STD_LOGIC_ARITH.all;

BRUG IEEE.STD_LOGIC_UNSIGNED.all;- Debounce Pushbutton: Filtre ud mekanisk skifte afvisningsprocenten for omkring 40Ms.

ENTITY debounce IS

PORT (pb, clock_100Hz: I STD_LOGIC;

pb_debounced: OUT STD_LOGIC);

SLUT debounce;ARKITEKTUR en AF debounce IS

SIGNAL SHIFT_PB: STD_LOGIC_VECTOR (3 DOWNTO 0);

BEGIN- Debounce uret skal være ca 10ms eller 100Hz

PROCESSEN

BEGIN

Vent til (clock_100Hz'EVENT) OG (clock_100Hz ='1 ');

- Brug et skift register til at filtrere skifte kontakt afvisningsprocent

SHIFT_PB (2 DOWNTO 0) <= SHIFT_PB (3 DOWNTO 1);

SHIFT_PB (3) <= IKKE PB;

HVIS SHIFT_PB (3 DOWNTO 0) = "0000" og derefter

PB_DEBOUNCED <='0 ';

ELSE

PB_DEBOUNCED <='1 ';

END IF;

END PROCESS;

SLUT a;

 

Welcome to EDABoard.com

Sponsor

Back
Top