B
barzel
Guest
bok svi
Napisao sam VHDL kod za UART prijemnik, ali ja licemjerje dobiti 9600 bps sa mojim Altera kit.
koristim Altera cycloneII FPGA Development Kit [EP2C20F484C7N].
ima 3 vrste satova 24Mhz, 27MHz i 50MHz.
mog koda koristite UART counter koji broji satove i svakih 16 krpelja jedno malo.
thats znači trebam 16 * 9600 = 153600 [Hz] frekvencija.kako mogu to učiniti?
Sat / X = 153600 => X = 175,78125 [za 27MHz] ja za podjelu 176
Napisao sam jednostavnu kod:
što nije u redu ili kako mogu to učiniti bolje?
Šifra:library IEEE;
uporabu ieee.std_logic_1164.all;
entiteta uart_frq je
općenito (Nadkoljenica integer: = 176);luka (frqin: u std_logic;
frqout: out std_logic;
reset: in std_logic);
end uart_frq;arhitektura ponašaju se od uart_frq
signal HNK: cijeli broj od 0 do Bedra;
početiproces (frqin)
početi
ako reset = '1 'onda HNK <= 0; frqout <= '0';
elsif frqin'event i frqin = '1 'onda
HNK <= HNK 1;
ako je HNK <88 onda
frqout <= '1 ';
elsif HNK> = 88 onda
frqout <= '0 ';
elsif cnt = cnt onda 176 <= 0;
end if;
end if;
kraju procesa;
end ponašaju;
Napisao sam VHDL kod za UART prijemnik, ali ja licemjerje dobiti 9600 bps sa mojim Altera kit.
koristim Altera cycloneII FPGA Development Kit [EP2C20F484C7N].
ima 3 vrste satova 24Mhz, 27MHz i 50MHz.
mog koda koristite UART counter koji broji satove i svakih 16 krpelja jedno malo.
thats znači trebam 16 * 9600 = 153600 [Hz] frekvencija.kako mogu to učiniti?
Sat / X = 153600 => X = 175,78125 [za 27MHz] ja za podjelu 176
Napisao sam jednostavnu kod:
što nije u redu ili kako mogu to učiniti bolje?
Šifra:library IEEE;
uporabu ieee.std_logic_1164.all;
entiteta uart_frq je
općenito (Nadkoljenica integer: = 176);luka (frqin: u std_logic;
frqout: out std_logic;
reset: in std_logic);
end uart_frq;arhitektura ponašaju se od uart_frq
signal HNK: cijeli broj od 0 do Bedra;
početiproces (frqin)
početi
ako reset = '1 'onda HNK <= 0; frqout <= '0';
elsif frqin'event i frqin = '1 'onda
HNK <= HNK 1;
ako je HNK <88 onda
frqout <= '1 ';
elsif HNK> = 88 onda
frqout <= '0 ';
elsif cnt = cnt onda 176 <= 0;
end if;
end if;
kraju procesa;
end ponašaju;