X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=calu.git;a=blobdiff_plain;f=cpu%2Fsrc%2Frs232_tx_arc.vhd;h=ee231e4068079786297ca90a1b5a5d64a69d1941;hp=9b5a582f3f9d84235ee4e797fc6b214020df38bc;hb=8e24e8c2dd4dbc06bb3c243e9ada320540738c69;hpb=96cf9cabc078d3d8fbb6d3918667f72027426c21 diff --git a/cpu/src/rs232_tx_arc.vhd b/cpu/src/rs232_tx_arc.vhd index 9b5a582..ee231e4 100755 --- a/cpu/src/rs232_tx_arc.vhd +++ b/cpu/src/rs232_tx_arc.vhd @@ -22,7 +22,7 @@ architecture beh of rs232_tx is type STATE_TYPE is (IDLE,SEND); signal state, state_next : STATE_TYPE; signal bus_tx_int, bus_tx_nxt : std_logic := '1'; - signal baud_cnt,baud_cnt_next : integer := CLK_PER_BAUD; + signal baud_cnt,baud_cnt_next : integer := 0; signal cnt, cnt_next : natural range 0 to 11 := 0; signal idle_sig, idle_sig_next : std_logic := '0'; @@ -76,18 +76,17 @@ begin idle_sig_next <= '0'; bus_tx_nxt <= bus_tx_int; cnt_next <= cnt; - baud_cnt_next <= baud_cnt; + -- Counter erhoehen um die Zeit einer Bitdauer abzuwarten + baud_cnt_next <= baud_cnt + 1; case state is when IDLE => -- tx-Signale im idle Zustand halten tx_rdy <= '1'; - baud_cnt_next <= CLK_PER_BAUD; + baud_cnt_next <= to_integer(unsigned(bd_rate)); when SEND => -- Signalisiert dass gerade ein Byte versendet wird tx_rdy <= '0'; - -- Counter erhoehen um die Zeit einer Bitdauer abzuwarten - baud_cnt_next <= baud_cnt + 1; if baud_cnt = bd_rate then -- wenn die Bitdauer erreicht ist, Counter reseten baud_cnt_next <= 0;