Détecteur d'impulsions - quadrature decoder

Electronique numérique / Circuits logiques programmables EPLD, CPLD, FPGA d'Altera ou de Xilinx VHDL, Verilog ou SystemC

Modérateur : Modérateur

DevilChild

Détecteur d'impulsions - quadrature decoder

Message par DevilChild »

Hello Everyone,

Je débute en VHDL et j'ai une appli à implémenter sur un MAX7k : un module sur lequel on branche un codeur en quadrature et qui sort en sortie le comptage sur 16 bits. Le module doit compter en mode "x4" : comptage sur front montant et descendant de chaque ligne QEA et QEB.

J'ai déjà mes bascules en entrées qui permettent de synchroniser les QEx sur l'horloge et d'éviter les problèmes de métastabilité. J'ai un module DIR_SENSE, codé en AHDL, qui permet de donner le sens de rotation (et qui semble marcher en simu). Reste à faire un compteur qui compte dans le sens donné par le DIR_SENSE, sur chaque front montant et descendant des signaux synchrones à l'horloge QEA et QEB.

Je cherche donc un truc style /

Code : Tout sélectionner

% pseudo-code :
if risingedge(QEA) or risingedge(QEB) or fallingedge(QEA) or fallingedge(QEB) then
     envoi_pulse_count      % Envoi d'un pulse vers un compteur généré par le mégawizzard
end if;
Comment faire ca ? (en AHDL ou VHDL de préférence)

Merci d'avance !

Répondre