técnicas de detección de pulso

H

hamed_sotoudi

Guest
Hola a todos
Tengo una secuencia de datos digitales que vienen de un ADC y quiero detectar todos los pulsos en ella y la duración de estos pulsos.que las técnicas están disponibles para este porpuse.Voy a appriciate cualquier organismo que me ayudan.

 
hamed_sotoudi escribió:

/.../ Quiero detectar todos los pulsos en ella y la duración /.../
 
He aquí un ejemplo sobre ADC0809, espero que le ayude.Craftor

IEEE biblioteca;
ieee.std_logic_1164.all uso;
ieee.std_logic_unsigned.all uso;
ieee.std_logic_arith.all uso;
ADC0809 entidad es
puerto (d: in std_logic_vector (7 downto 0);
CLK, EOC: in std_logic;
clk1, inicio, ale, en: out std_logic;
abc_in: in std_logic_vector (2 downto 0);
abc_out: out std_logic_vector (2 downto 0);
q: out std_logic_vector (7 downto 0));
ADC0809 fin;
comportamiento de la arquitectura de ADC0809 es
estados tipo es (ST0, ST1, ST2, ST3, ST4, ST5, ST6);
señal current_state, next_state: Estados: = ST0;
Regl señal: std_logic_vector (7 downto 0);
señal qq: std_logic_vector (7 downto 0);
empezar
com: el proceso (current_state, EOC)
empezar
current_state caso es
cuando ST0 => next_state <= st1; ale <= '0 '; inicio <= '0'; en <= '0 ';
cuando st1 => next_state <= ST2; ale <= '1 '; inicio <= '0'; en <= '0 ';
cuando ST2 => next_state <= ST3; ale <= '0 '; inicio <= '1'; en <= '0 ';
cuando st3 => ale <= '0 '; inicio <= '0'; en <= '0 ';
si EOC = '1 ', entonces next_state <= ST3;
más next_state <= ST4;
END IF;
cuando ST4 => ale <= '0 '; inicio <= '0'; en <= '0 ';
si EOC = '0 'a continuación next_state <= ST4;
más next_state <= ST5;
END IF;
cuando ST5 => next_state <= ST6; ale <= '0 '; inicio <= '0'; en <= '1 ';
cuando ST6 => next_state <= ST0; ale <= '0 '; inicio <= '0'; en <= '1 '; Regl <= d;
cuando los demás => next_state <= ST0; ale <= '0 '; inicio <= '0'; en <= '0 ';
caso extremo;
proceso de finalización;
reloj: el proceso (clk)
empezar
si clk'event y = '1 'y luego qq <= qq 1;
si QQ = "01111111" THEN clk1 <= '1 '; <current_state = next_state;
qq elsif <= "01111111" y luego clk1 <= '0 ';
END IF;
END IF;
proceso de finalización;
q <= Regl; abc_out <= abc_in;
comportamiento final;

 

Welcome to EDABoard.com

Sponsor

Back
Top