9 bit nájazd vlna

A

Anu Nair

Guest
Ahoj priatelia

Iam robí môj projekt v FPGA a kódovanie musí byť napísané v VHDL.
Teraz iam potrebujú kódovanie pre nájazd vlna 9bit.
plz niekto pomôže.

ide Anu

 
Anu Nair Napísal:

Ahoj priateliaIam robí môj projekt v FPGA a kódovanie musí byť napísané v VHDL.

Teraz iam potrebujú kódovanie pre nájazd vlna 9bit.

plz niekto pomôže.ide Anu
 
Nájazd vlna?Ak chcete vytvoriť analógového tvaru zuba píly vlnovú,
môžete hodiny jednoduché 9-bit up-spoluručenia v FPGA, a jeho hodnota výstupu na externé 9-bit digital-to-analog-prevodník.Alebo môžete vytvoriť 9-bit-width pulznou modulátor a výstupné jeho pulz, spolu s reset, na externý analógový integrátor.

 
OK Mám to!
Tu je to, čo hľadáte Anu!
A trojfázové indukčné motor radiče!
Kód:- Indukcia 3Phase Motor Controler II --

Knižnica IEEE;

použitie IEEE.STD_LOGIC_1164.ALL;

použitie IEEE.STD_LOGIC_arith.ALL;

jednotka inv3pa je Port (speed_clk, vector_clk, inhibit_sw, over_current: in std_logic;

port_U, port_V, port_W, port_IU, port_IV, port_IW viedla: mimo std_logic);

koniec inv3pa;

architektúra RTL z inv3pa je

- 6step invertor

signálu Hex: integer rozmedzí 0 až 5;

signálu STECF: integer rozmedzí 0 - 4;

- Vektor protizáruku

signálu vektore: integer rozmedzí 0 - 30;

signálu vecshot: std_logic_vector (1 downto 0);

signálu vector_reset: std_logic;

- Vektory

signálu vector_x, vector_y, ivector_x, ivector_y, vector_z: std_logic;

signálu UD, VD, WD: std_logic;

signál, U, V, W: std_logic;

- Kontrola

signálu over_current_flag: std_logic;

začať

-------------------------------------------------- -------------------

- Genarate Hex (6STEP invertor STEP) a STECF (delta STEP VALUE)

procesu (speed_clk)

začať

if (speed_clk'event a speed_clk ='1 '), potom

if (hex = 5 a STECF = 4) potom

Hex <= 0;

STECF <= 0;

elsif (STECF = 4) potom

STECF <= 0;

Hex <= hex 1;

iné

STECF <= STECF 1;

end if;

end if;

konci procesu;

-------------------------------------------------- --------------------

- Genarate vektore freerun čítač

procesu (vector_clk, vector_reset, vektor)

začať

if (vector_clk'event a vector_clk ='1 '), potom

if (vektor <30), potom

vektor <= vektor 1;

iné

vektor <= 0;

end if;

end if;

konci procesu;

-------------------------------------------------- --------------------

- Reset obvode (jeden výstrel) vektorových protizáruku

- Reset na speed_clk vedú hrany.

procesu (vector_clk, speed_clk)

začať

if (vector_clk'event a vector_clk ='1 '), potom

vector_reset <= vecshot (0) a (ne vecshot (1));

vecshot (1) <= vecshot (0);

vecshot (0) <= speed_clk;

end if;

konci procesu;

-------------------------------------------------- --------------------

- Genarate vektormi

procesu (vector_clk, STECF, vektor)

začať

if (STECF = 0) potom

if (vektor <= 3), potom

vector_x <='1 ';

iné

vector_x <='0 ';

end if;

if (vektor <= 24) potom

vector_y <='1 ';

iné

vector_y <='0 ';

end if;

if ((30-vektor)> = 3), potom

ivector_x <='1 ';

iné

ivector_x <='0 ';

end if;

if ((30-vektor)> = 24) potom

ivector_y <='1 ';

iné

ivector_y <='0 ';

end if;

end if;

if (STECF = 1) potom

if (vektor <= 8), potom

vector_x <='1 ';

iné

vector_x <='0 ';

end if;

if (vektor <= 25) potom

vector_y <='1 ';

iné

vector_y <='0 ';

end if;

if ((30-vektor)> = 8), potom

ivector_x <='1 ';

iné

ivector_x <='0 ';

end if;

if ((30-vektor)> = 25) potom

ivector_y <='1 ';

iné

ivector_y <='0 ';

end if;

end if;

if (STECF = 2), potom

if (vektor <= 13) potom

vector_x <='1 ';

iné

vector_x <='0 ';

end if;

if (vektor <= 26) potom

vector_y <='1 ';

iné

vector_y <='0 ';

end if;

if ((30-vektor)> = 13) potom

ivector_x <='1 ';

iné

ivector_x <='0 ';

end if;

if ((30-vektor)> = 26) potom

ivector_y <='1 ';

iné

ivector_y <='0 ';

end if;

end if;

if (STECF = 3), potom

if (vektor <= 17) potom

vector_x <='1 ';

iné

vector_x <='0 ';

end if;

if (vektor <= 25) potom

vector_y <='1 ';

iné

vector_y <='0 ';

end if;

if ((30-vektor)> = 17) potom

ivector_x <='1 ';

iné

ivector_x <='0 ';

end if;

if ((30-vektor)> = 25) potom

ivector_y <='1 ';

iné

ivector_y <='0 ';

end if;

end if;

if (STECF = 4) potom

if (vektor <= 21) potom

vector_x <='1 ';

iné

vector_x <='0 ';

end if;

if (vektor <= 24) potom

vector_y <='1 ';

iné

vector_y <='0 ';

end if;

if ((30-vektor)> = 21) potom

ivector_x <='1 ';

iné

ivector_x <='0 ';

end if;

if ((30-vektor)> = 24) potom

ivector_y <='1 ';

iné

ivector_y <='0 ';

end if;

end if;

konci procesu;

-------------------------------------------------- --------------------

- Výstup pre vektorové 6step invertor

procesu (vector_clk, vektor, Hex, vector_x, vector_y, ivector_y, ivector_x)

začať

if (vektor <= 26) potom

vector_z <='1 ';

iné

vector_z <='0 ';

end if;

if (hex = 0) potom

U <= vector_x;

V <='0 ';

Z <= vector_y;

elsif (hex = 1) potom

U <= vector_z;

V <= ivector_y;

Z <= ivector_x;

elsif (hex = 2), potom

U <= vector_y;

V <= vector_x;

Z <='0 ';

elsif (hex = 3), potom

U <= ivector_x;

V <= vector_z;

Z <= ivector_y;

elsif (hex = 4) potom

U <='0 ';

V <= vector_y;

Z <= vector_x;

iné

U <= ivector_y;

V <= ivector_x;

Z <= vector_z;

end if;

konci procesu;

-------------------------------------------------- ---------------------------------

- Mŕtvy čas Genarate z hornej a dolnej strane.

- A inhibit_sw.
, V porovnaní so súčasnou kontrolou.

- Mŕtvy čas Genarate

procesu (vector_clk)

začať

if (vector_clk'event a vector_clk ='1 '), potom

UD <= U;

VD <= V;

WD <= W;

end if;

konci procesu;

- Viac ako aktuálne Lach

- Reset Lach iba zapnutí znova.

procesu (over_current)

začať

ak over_current ='1 'potom

over_current_flag <='1 ';

viedla <='1 ';

end if;

konci procesu;

- Výstupná kontrola

port_U <= (U a UD) a inhibit_sw a nie over_current_flag;

port_IU <= (not (U alebo UD)) a inhibit_sw a nie over_current_flag;

port_V <= (V a VD) a inhibit_sw a nie over_current_flag;

port_IV <= (not (V alebo VD)) a inhibit_sw a nie over_current_flag;

port_W <= (W a WD) a inhibit_sw a nie over_current_flag;

port_IW <= (not (W alebo WD)) a inhibit_sw a nie over_current_flag;

-------------------------------------------------- ---------------------------------

koniec RTL;
 

Welcome to EDABoard.com

Sponsor

Back
Top