-- pwm_const.vhd -- Eurobot 2004 : APB Team -- Auteur : Fidèle GAFAN -- Fichier de déclaration de constantes de pwm. -- RQ : pour une indentation bien sous vim : -- 1 - ":set shiftwidth=4" -- 2 - se placer sous "package nono_const is" -- 3 - tapez : = puis shift+G library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; use work.nono_const.all; -- Constantes relatives au module PWM. package pwm_const is -- Fréquence de fonctionnement de la PWM : 40MHz. -- Nb de période d'horloge à 40MHz pour avoir 1us : 40 : x"28". constant PWM_NB_CYCLE_1US : T_OCTET := x"28"; -- Nb de période de l'horloge à 1us pour avoir 0,5ms : 500 : x"28". constant PWM_VALUE_MIN : T_DOUBLE_OCTET := x"01F4"; -- Nb de périodes de l'horloge à 1us pour avoir 1,5ms : 1500 : x"28". constant PWM_VALUE_MAX : T_DOUBLE_OCTET := x"05DC"; -- Nb de périodes de l'horloge à 1us pour avoir 20ms : 20000 : x"4E20". constant PWM_NB_CYCLE_20MS : T_DOUBLE_OCTET := x"4E20"; --constant PWM_NB_CYCLE_20MS : T_DOUBLE_OCTET := x"4E20"; -- Nb de périodes de 1us à ajouter pour un incrément de 1 dans le -- registre (incrément pour un interval). Le calcul est : -- (PWM_VALUE_MAX - PWM_VALUE_MIN)) / (255 - 0) constant PWM_INC_INT : T_OCTET := x"04"; -- Nb de période d'horloge pour avoir 20 ms. --constant PWM_TCMAX : T_DOUBLE_OCTET := 20161; end pwm_const;