M
modeonz
Guest
Jeg bruker spartansk 3e ...jeg prøve å kommunisere med PC via seriell kommunikasjon .....Jeg bruker 50 mhz CLK .....Jeg ønsker å få 9600 baud rate å sende en 8-bits register ....hva er verdien av divisor burde jeg ta .....Jeg brukte 5208 til divisor også jeg forsøkt 1302 men jeg vet ikke tilsendt noe på hyberterminal ?!!!!!!whatshould jeg gjøreJeg laget denne koden
itried denne koden i simulatoren, og jeg bli en ekte produksjonen med usind divisor = 5 til legge merke til den utgang så jeg tror feilen vil være i baudhastighetc er klokken
y er TX
BIBLIOTEK IEEE;
BRUK ieee.std_logic_1164.all;
BRUK ieee.std_logic_arith.all;
Bruk ieee.std_logic_unsigned.all;ENTITY domstol IS
PORT (
c: IN std_logic;
rst: IN std_logic;
y: UT std_logic
);
- Erklæringer
END domstol;
- HDS interface_end
ARKITEKTUR muha AV domstol IS
signal tm: std_logic_vector (15 downto 0): = (andre => '0 ');
konstant div: heltall: = 5208;
signal CLK: std_logic;
signal opptatt: std_logic: = '0 ';
signal rotet: std_logic_vector (9 downto 0): = (andre => '0 ');
signal domstol: std_logic_vector (15 downto 0): = (andre => '0 ');
BEGIN
clkgen: prosess (rst, c)
begynner
hvis rst = '1 'deretter
tm <= (andre => '0 ');
CLK <= '0 ';
elsif c = '1 'deretter
CLK <= '0 ';
hvis tm = div deretter
tm <= (andre => '0 ');
CLK <= '1 ';
annet
tm <= tm 1;
end if;
end if;
end prosessen;
shif: prosess (c)
begynner
Hvis opptatt = '0 'og deretter
rotet <= "0111010111";
opptatt <= '1 ';
elsif (travle = '1 '), så
if (CLK '1 = 'og c = '1'), så
y <= rot (9);
søl (9 downto 1) <= rot (8 downto 0);
domstol <= domstolen 1;
end if;
end if;
dersom domstolen = 20 da
opptatt <= '0 ';
domstol <= (andre => '0 ');
end if;
end prosessen;
END muha;
itried denne koden i simulatoren, og jeg bli en ekte produksjonen med usind divisor = 5 til legge merke til den utgang så jeg tror feilen vil være i baudhastighetc er klokken
y er TX
BIBLIOTEK IEEE;
BRUK ieee.std_logic_1164.all;
BRUK ieee.std_logic_arith.all;
Bruk ieee.std_logic_unsigned.all;ENTITY domstol IS
PORT (
c: IN std_logic;
rst: IN std_logic;
y: UT std_logic
);
- Erklæringer
END domstol;
- HDS interface_end
ARKITEKTUR muha AV domstol IS
signal tm: std_logic_vector (15 downto 0): = (andre => '0 ');
konstant div: heltall: = 5208;
signal CLK: std_logic;
signal opptatt: std_logic: = '0 ';
signal rotet: std_logic_vector (9 downto 0): = (andre => '0 ');
signal domstol: std_logic_vector (15 downto 0): = (andre => '0 ');
BEGIN
clkgen: prosess (rst, c)
begynner
hvis rst = '1 'deretter
tm <= (andre => '0 ');
CLK <= '0 ';
elsif c = '1 'deretter
CLK <= '0 ';
hvis tm = div deretter
tm <= (andre => '0 ');
CLK <= '1 ';
annet
tm <= tm 1;
end if;
end if;
end prosessen;
shif: prosess (c)
begynner
Hvis opptatt = '0 'og deretter
rotet <= "0111010111";
opptatt <= '1 ';
elsif (travle = '1 '), så
if (CLK '1 = 'og c = '1'), så
y <= rot (9);
søl (9 downto 1) <= rot (8 downto 0);
domstol <= domstolen 1;
end if;
end if;
dersom domstolen = 20 da
opptatt <= '0 ';
domstol <= (andre => '0 ');
end if;
end prosessen;
END muha;