summaryrefslogtreecommitdiff
path: root/2004/n/fpga/src/pwm/affichepwm3.vhd
diff options
context:
space:
mode:
Diffstat (limited to '2004/n/fpga/src/pwm/affichepwm3.vhd')
-rw-r--r--2004/n/fpga/src/pwm/affichepwm3.vhd57
1 files changed, 57 insertions, 0 deletions
diff --git a/2004/n/fpga/src/pwm/affichepwm3.vhd b/2004/n/fpga/src/pwm/affichepwm3.vhd
new file mode 100644
index 0000000..1462a61
--- /dev/null
+++ b/2004/n/fpga/src/pwm/affichepwm3.vhd
@@ -0,0 +1,57 @@
+-------------------------------------------------------------------------------
+--affichepwm3.vhd
+--Eurobot 2004 : APB Team
+--Auteur : Fidèle GAFAN
+--Registre à décalage affichantles signaux PWM
+--
+--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=20161cycles.
+--*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.
+--*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;
+use ieee.std_logic_unsigned.all;
+use ieee.std_logic_arith.all;
+--ENTITE
+entity affichepwm3 is
+ port ( RST : in std_logic;
+ CLK : in std_logic;
+ CLK1USAFF : in std_logic;
+ valueaff : in integer range 0 to 1000000;
+ outpwm : out std_logic
+ );
+end entity;
+--ARCHITECTURE
+architecture affichepwm3behav of affichepwm3 is
+
+begin
+ process(RST,CLK)
+ begin
+
+ if RST ='1' then
+ if (valueaff = 0)then
+ outpwm<='0';
+ elsif (valueaff /= 0) then
+ outpwm<='1';
+ end if;
+ elsif (clk'event and clk='1') then
+ if (CLK1USAFF='1') then
+ if (valueaff = 0)then
+ outpwm<='0';
+ elsif (valueaff /= 0) then
+ outpwm<='1';
+ end if;
+ end if;
+ end if;
+end process;
+end affichepwm3behav;
+