------------------------------------------------------------------------------- --convert_pwm.vhd --Eurobot 2004 : APB Team --Auteur : Fidèle GAFAN --Module générateur des PWM -- --REMARQUE(S):changer tccompt,q et data_out -- si CLK#32MHz et/ou qu'on modifie les valeurs de référence de T1 -- et T2 -- Tcmax=20ms/1us=20161cycles. --*Si DATACOMPT=0,on veut que T2 vale 0,5ms donc on initialise Q à la valeur --Q=0,5ms/1us=PWM_VALUE_MIN. --*Si DATACOMPT=255,on veut que T2 vale 1,5ms donc on initialise Q à la valeur --Q=1,5ms/1us=PWM_VALUE_MAX. --*Pour toute autre valeur de DATACOMPT comprise entre les deux précédentes et --différentes de ces dernières,on initialise Q avec --Q=(0,5ms/1us)+(DATACOMPT*min[((1,5ms-0,5ms)/1us)/(255-0)] ------------------------------------------------------------------------------- --LIBRARY library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; use work.nono_const.all; use work.pwm_const.all; --ENTITY entity convert_pwm is port ( data_in : in T_OCTET; data_out : out T_DOUBLE_OCTET --duree pdt laql la sortie ); end entity; architecture RTL of convert_pwm is begin data_out <= (PWM_VALUE_MIN + (data_in * PWM_INC_INT)); end RTL;