1. kamerák
  2. Car Audio & Electronics
  3. Home Audio
  4. Personal Audio
  5. TV-k
  6. Okos otthon
  >> Elektronikai Technológia Online >  >> TV-k >> TV konverterek

Kód négyzethullám generálásához VHDL-ben?

``` vhdl

könyvtár ieee;

használja az ieee.std_logic_1164.all;

használja az ieee.numeric_std.all;

entitás square_wave_generator is

port (

clk :in std_logic;

reset :in std_logic;

frekvencia :in std_logic_vector(7 downto 0); -- Bemeneti frekvencia Hz-ben (0-255)

output_signal:out std_logic

);

endity square_wave_generator;

a square_wave_generator architektúra viselkedése

jelszámláló :unsigned(7-től 0-ig);

signal half_period :unsigned(7-től 0-ig);

kezdődik

- Félperiódus kiszámítása a frekvencia bemenet alapján

félidőszak <=10000000 / (2 * előjel nélküli(gyakoriság)); -- 10000000 =10 MHz órajel

folyamat (clk, reset)

kezdődik

ha reset ='1' akkor

számláló <=(egyéb => '0');

kimeneti_jel <='0';

elsif rising_edge(clk) akkor

ha számláló =félperiódus - 1 akkor

számláló <=(egyéb => '0');

kimeneti_jel <=nem kimeneti_jel;

más

számláló <=számláló + 1;

vége if;

vége if;

folyamat befejezése;

vég architektúra viselkedési;

```

Magyarázat:

1. Entitásnyilatkozat:

- Meghatározza a `square_wave_generator` entitást az órajel, a visszaállítás, a frekvencia bemenet (8 bites) és a kimeneti jel portjaival.

2. Architektúra:

- A „viselkedési” architektúrát használja a logika leírására.

3. Jelek:

- `számláló`:8 bites előjel nélküli számláló a hullámalak generálásához.

- `half_period`:8 bites előjel nélküli jel, amely a négyszöghullám félperiódusát reprezentálja (a bemeneti frekvencia alapján számítva).

4. Félidőszak számítása:

- A `half_period <=10000000 / (2 * unsigned(frekvencia));` sor kiszámítja a félidőszakot a bemeneti frekvencia és egy 10 MHz-es órajel alapján. Állítsa be az `10000000' értéket, ha az órajel frekvenciája eltérő.

5. Folyamat:

- A folyamat érzékeny az órajelekre és a reset jelekre.

- A következőket hajtja végre:

- Logika visszaállítása: Ha a „reset” értéke magas, a számláló nullázódik, a kimenet pedig alacsonyra áll.

- Rising Edge Logic: Az óra felfutó élén a folyamat ellenőrzi, hogy a számláló elérte-e a `half_period - 1` értéket. Ha igen, akkor átkapcsolja az "output_signal" értéket, és alaphelyzetbe állítja a számlálót. Ellenkező esetben növeli a számlálót.

Hogyan működik:

- A számláló 0-tól `fél periódus - 1-ig számol.

- Amikor a számláló eléri a `half_period - 1` értéket, a kimeneti jel átkapcsol, és a számláló nullázódik.

- Ez egy négyzethullámot hoz létre, amelynek periódusa kétszerese a kiszámított "félperiódusnak".

Használat:

- Csatlakoztassa a "clk" és "reset" jeleket az órájához és a reset bemenetekhez.

- Adja meg a kívánt frekvenciát (0-255 Hz) a "frekvencia" bemeneten keresztül.

- Az `output_signal` a generált négyszöghullámot adja ki.

Megjegyzés: Ez a kód 10 MHz-es órajelet feltételez. Módosítsa a `half_period` számítást, ha az órajel frekvenciája eltérő.

  1. Hogyan szereljük a DLP TV
  2. SDTV adatok
  3. Mit csinált Guillermo Gonzalez Camarena a színes tévé feltalálása után vagy előtt?
  4. Hogyan tisztítsa meg a képernyő, a hátsó projektoros TV
  5. Mi az a komponens videó aljzat a tévében?