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.

Hasonló előadás


Az előadások a következő témára: "Digitális rendszerek II."— 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 CLK50 P54 Programozó Kapcsoló LENT kell lennie! Tolókapcsolók RESET (P41)

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

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ó) címbemenet N0 N1 N2 N3 kimenet

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

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

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 <= (others => '0'); frissit_szlo <= (others => '0'); elsif clk50'event and clk50 = '1' then frissit_szlo <= frissit_szlo +1; if frissit_szlo = teszt1ms-1 then 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ó: 2009.12.2. (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 http://nikportal.cickany.hu/


Letölteni ppt "Digitális rendszerek II."

Hasonló előadás


Google Hirdetések