summaryrefslogtreecommitdiff
path: root/2004/n/fpga/src/pwm/convert_pwm.vhd
diff options
context:
space:
mode:
Diffstat (limited to '2004/n/fpga/src/pwm/convert_pwm.vhd')
-rw-r--r--2004/n/fpga/src/pwm/convert_pwm.vhd29
1 files changed, 18 insertions, 11 deletions
diff --git a/2004/n/fpga/src/pwm/convert_pwm.vhd b/2004/n/fpga/src/pwm/convert_pwm.vhd
index c043111..a3ab92e 100644
--- a/2004/n/fpga/src/pwm/convert_pwm.vhd
+++ b/2004/n/fpga/src/pwm/convert_pwm.vhd
@@ -1,14 +1,21 @@
--- convert_pwm.vhd
--- Eurobot 2004 : APB Team
--- Auteur : Fidèle GAFAN et Pierre-André Galmes
-
--- Principe :
+-------------------------------------------------------------------------------
+--convert_pwm.vhd
+--Eurobot 2004 : APB Team
+--Auteur : Fidèle GAFAN
+--Module générateur des PWM
--
--- Converti la valeur comprise dans l'intervalle [0 - 255]
--- et transmise par le -- PC en une valeur comprise dans
--- l'interval suivant :
--- [PWM_VALUE_MIN - (PWM_VALUE_MIN + data_in * -- PWM_INC_INT]
-
+--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;
@@ -22,7 +29,7 @@ use work.pwm_const.all;
entity convert_pwm is
port (
data_in : in T_OCTET;
- data_out : out T_DOUBLE_OCTET
+ data_out : out T_DOUBLE_OCTET --duree pdt laql la sortie
);
end entity;