CPLD Debounce Coolrunner 2, крайно необходими Помощ

B

bigurf

Guest
HI
Имам coolrunner 2 развитие борда.Разделяне на часовника беше лесно, 90Hz Сега имам часовник, но проклетата бутони просто няма да се debounced.Имам код VHDL да debounce макс FPGA, и код има смисъл, 4 регистър малко смяна.Създава но просто имам навик работа.Имам нужда от помощ да ми debounce бутони в VHDL за тази CPLD.Ако някой може да ми казали как се прави това

Благодарности.

 
Надявам се това да помогне
Код:БИБЛИОТЕКА IEEE;

ИЗПОЛЗВАНЕ ieee.std_logic_1164.all;

ИЗПОЛЗВАНЕ IEEE.STD_LOGIC_ARITH.all;

ИЗПОЛЗВАНЕ IEEE.STD_LOGIC_UNSIGNED.all;- Debounce Pushbutton: филтрира механични Switch подскачам около 40ms.

ENTITY debounce СЕ

PORT (Pb, clock_100Hz: В std_logic;

pb_debounced: OUT std_logic);

КРАЙ debounce;Архитектурата на СЕ НА debounce

СИГНАЛ SHIFT_PB: STD_LOGIC_VECTOR (3 DOWNTO 0);

BEGIN- Debounce часовник трябва да бъде приблизително 10ms или 100Hz

ПРОЦЕС

BEGIN

Wait Until (clock_100Hz'EVENT) И (clock_100Hz = '1 ');

- Използване на регистър промяна за филтриране скача Switch Contact

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

SHIFT_PB (3) <= НЕ PB;

АКО SHIFT_PB (3 DOWNTO 0) = "0000", тогава

PB_DEBOUNCED <= '0 ';

ИНАЧЕ

PB_DEBOUNCED <= '1 ';

Крайна сметка, ако;

КРАЙ процес;

КРАЙ А;

 

Welcome to EDABoard.com

Sponsor

Back
Top