Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Digitális rendszerek II. Multiplexelés 2009.11.29.

Hasonló előadás


Az előadások a következő témára: "Digitális rendszerek II. Multiplexelés 2009.11.29."— Előadás másolata:

1 Digitális rendszerek II. Multiplexelés

2 Feladat Az FPGA panel 4 db 7 szegmenses kijelzőjén meg kell jeleníteni az egyenként 2 bites (0,1,2,3) számokat RESET (P41) CLK50 P54 Tolókapcsolók Programozó Kapcsoló LENT kell lennie!

3 kapcsolo(7:0) seg(6:0) digit(3:0) RST

4 Mi a multiplexer? Egy kombinációs áramkör, ahol van több sorszámozható bemenet és egy címbemenet. A címbemenet aktuális értékétől függ, hogy a kimeneten melyik bemeneti érték jelenik meg (olyan mint egy kapcsoló) kimenet N0 N1 N2 N3 címbemenet

5 Állapotgráf F0 F1 F2 F3 RST 1 ms-ot vár 1 ms letelt

6 Kijelző multiplexelése aktív „0” jellel Bekapcsoljuk A0-t és kiírjuk a számot a kijelzőre, várunk 1 ms-ot Kikapcsoljuk A0-t és bekapcsoljuk A1-et, várunk 1 ms-ot Stb. Olyan gyorsan villog minden kijelző (4 ms-onként), hogy az emberi szem ezt folyamatos világításként érzékeli

7 clk50 rst kapcsolok(7:0) digit(3:0) seg(6:0)

8 Modulok Állapot generátor Számjegy kiválasztó Hexa-> 7 seg kódoló Digit kijelölő clk50 rst kapcsolok(7:0) seg(6:0) digit(3:0) cim N0 N1 N2 N3 curr(1:0) cd(1:0) engedélyező

9 Portok (be- és kimenetek) library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity modul is Port ( clk50 : in STD_LOGIC; rst : in STD_LOGIC; kapcsolok : in STD_LOGIC_VECTOR (7 downto 0); digit : out STD_LOGIC_VECTOR (3 downto 0); seg : out STD_LOGIC_VECTOR (6 downto 0)); end modul;

10 Signal (változók) architecture Behavioral of modul is constant teszt1ms: std_logic_vector(31 downto 0) := conv_std_logic_vector(50000,32); signal curr : std_logic_vector(3 downto 0); --akt. multiplexalt dekad signal frissit_szlo : std_logic_vector(31 downto 0); signal cd: std_logic_vector(1 downto 0);--dekadszamlalo signal bcdint : std_logic_vector(15 downto 0); Begin bcdint <= "00" & kapcsolok(7 downto 6) & "00" & kapcsolok(5 downto 4) & "00" & kapcsolok(3 downto 2) & "00" & kapcsolok(1 downto 0);

11 Process (minden órajelnél lefut) process (clk50, rst, cd) begin if rst='1' then cd '0'); frissit_szlo '0'); elsif clk50'event and clk50 = '1' then frissit_szlo <= frissit_szlo +1; if frissit_szlo = teszt1ms-1 then frissit_szlo '0'); cd <= cd + 1; end if; end process; Érzékenységi lista

12 Feltételes értékadások curr <= bcdint(3 downto 0) when cd ="00" else bcdint(7 downto 4) when cd ="01" else bcdint(11 downto 8) when cd ="10" else bcdint(15 downto 12); digit <= "1111" when rst= '1' else "1110" when cd= "00" else "1101" when cd= "01" else "1011" when cd= "10" else "0111"; seg <= " " when rst= '1' else " " when curr= "0000" else " " when curr= "0001" else " " when curr= "0010" else " "; end Behavioral;

13 ZH Konzultáció: (szerda) Jelentkezni az ajtóra kitett papíron lehet majd ZH: (csütörtök) Honlapot nézni hétvégén!

14 NIK Portál


Letölteni ppt "Digitális rendszerek II. Multiplexelés 2009.11.29."

Hasonló előadás


Google Hirdetések