summaryrefslogtreecommitdiff
path: root/2004/n/fpga/src/pwm/pwm_generator.vhd
diff options
context:
space:
mode:
authorgalmes2004-04-28 18:51:19 +0000
committergalmes2004-04-28 18:51:19 +0000
commit2cc572c158db009811d9de1d5174d9b7043f4217 (patch)
tree2f84320896879cc9961f7b577ba9b9eec0a6bdc6 /2004/n/fpga/src/pwm/pwm_generator.vhd
parent5fc9600f130c7a356f33312b679fd2a35580ed6d (diff)
pwm : Suppression de tb (non, pas Thomas Burg, les test_benchs ;)
pwm : modifications des fichiers de pwm ! Dernier refit du code pour qu'il soit beau et simple et compréhensible...
Diffstat (limited to '2004/n/fpga/src/pwm/pwm_generator.vhd')
-rw-r--r--2004/n/fpga/src/pwm/pwm_generator.vhd31
1 files changed, 20 insertions, 11 deletions
diff --git a/2004/n/fpga/src/pwm/pwm_generator.vhd b/2004/n/fpga/src/pwm/pwm_generator.vhd
index 960a734..af73f00 100644
--- a/2004/n/fpga/src/pwm/pwm_generator.vhd
+++ b/2004/n/fpga/src/pwm/pwm_generator.vhd
@@ -1,22 +1,31 @@
--- pwm_generator.vhd
--- Eurobot 2004 : APB Team
--- Auteur : Fidèle GAFAN et Pierre-André Galmes
--- Génèrateur de signal PWM à partir du nombre de cycles
--- à l'état haut et du nombre de cycles de l'enveloppe .
+-------------------------------------------------------------------------------
+--pwm_generator.vhd
+--Eurobot 2004 : APB Team
+--Auteur : Fidèle GAFAN
+--Registre à décalage affichantles signaux PWM
--
-- Les commentaires ci-dessous ne sont plus trop valables.
-- Maintenant, clock = 40MHz
+
+--REMARQUE(S):changer tccompt,q et valuecompt
+-- si CLK#32MHz et/ou qu'on modifie les valeurs de référence de T1
+-- et T2
-- Tcmax = 20ms / 1us
-- = 20161 cycles.
--- Si DATACOMPT = 0, on veut que T2 vale 0,5ms donc on
--- initialise Q à la -- valeur Q=0,5ms/1us=505.
+-- Si DATACOMPT = 0, on veut que T2 vale 0,5ms donc on initialise Q à la
+-- valeur Q=0,5ms/1us=505.
+
+-- Si DATACOMPT=255,on veut que T2 vale 1,5ms donc on initialise Q à la
+-- valeur Q=1,5ms/1us=1515.
--- Si DATACOMPT=255,on veut que T2 vale 1,5ms donc on
--- initialise Q à la -- valeur Q=1,5ms/1us=1515.
+-- 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-1)]
+------------------------------------------------rtl de la sortie pwm en fonction de tc
library ieee;
use ieee.std_logic_1164.all;
@@ -24,7 +33,7 @@ use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
use work.nono_const.all;
-use work.pwm_const.all;
+use work.pwm_const.all;
--ENTITE
entity pwm_generator is
@@ -50,7 +59,7 @@ begin
pwm_out <= '0';
elsif (clk'event and clk = '1') then
compt <= compt + x"0001";
- if (compt <= reg) then
+ if (compt < reg) then
pwm_out <= '1';
else
pwm_out <= '0';