From bac601ddeafeac566cc4959f1ed86077c762179a Mon Sep 17 00:00:00 2001 From: sd2k9 Date: Sun, 2 Jun 2013 22:20:50 +0200 Subject: [PATCH 1/2] * Rewrite of sampling clock generation to use only one set of counters, * Sample the RX data bits in the MIDDLE of the bit to be more robust, Synchronise the sampling point to every start bit received Also add "Optimize Here" Markers for later trials - ignore them for now Original Resources for Example CoolRunner II Project: |Macrocells |Product Terms |Function Block |Registers |Pins | |Used/Tot |Used/Tot |Inps Used/Tot |Used/Tot |Used/Tot | |229/256 ( 89%) |458 /896 ( 51%) |472 /640 ( 74%) |178/256 ( 70%) |20 /118 ( 17%)| Resources for this commit: |Macrocells |Product Terms |Function Block |Registers |Pins | |Used/Tot |Used/Tot |Inps Used/Tot |Used/Tot |Used/Tot | |164/256 ( 64%) |339 /896 ( 38%) |376 /640 ( 59%) |119/256 ( 46%) |20 /118 ( 17%)| --- source/uart.vhd | 262 ++++++++++++++++++++++++++++++------------------ 1 file changed, 166 insertions(+), 96 deletions(-) diff --git a/source/uart.vhd b/source/uart.vhd index 9749f1e..bd3db6c 100644 --- a/source/uart.vhd +++ b/source/uart.vhd @@ -3,27 +3,42 @@ -- Implements a universal asynchronous receiver transmitter with parameterisable -- BAUD rate. Tested on a Spartan 6 LX9 connected to a Silicon Labs Cp210 -- USB-UART Bridge. --- +-- -- @author Peter A Bennett -- @copyright (c) 2012 Peter A Bennett --- @license LGPL +-- @license LGPL -- @email pab850@googlemail.com -- @contact www.bytebash.com -- +-- Extended by +-- @author Robert Lange +-- @copyright (c) 2013 Robert Lange +-- @license LGPL +-- @home https://github.com/sd2k9/ -------------------------------------------------------------------------------- library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; +-- Math/log2,ceil required to get the number of bits for our counter +use ieee.math_real.log2; +use ieee.math_real.ceil; + + +-- OPTIMIZE GENERAL: Replace clock enable with local clock instead? entity UART is Generic ( + -- Baudrate in bps, must be a straight multiple of 16-times + -- oversampling clock in receive path + -- See constant c_oversample_divider_val for more information BAUD_RATE : positive; + -- Input Clock frequency in Hz CLOCK_FREQUENCY : positive ); Port ( -- General CLOCK : in std_logic; - RESET : in std_logic; + RESET : in std_logic; DATA_STREAM_IN : in std_logic_vector(7 downto 0); DATA_STREAM_IN_STB : in std_logic; DATA_STREAM_IN_ACK : out std_logic := '0'; @@ -31,22 +46,39 @@ entity UART is DATA_STREAM_OUT_STB : out std_logic; DATA_STREAM_OUT_ACK : in std_logic; TX : out std_logic; - RX : in std_logic + RX : in std_logic -- Async Receive ); end UART; architecture RTL of UART is - + -- OPTIMIZE HERE: Constrain integer values (it seems like ISE creates 32bit + -- counters for them) ---------------------------------------------------------------------------- -- BAUD Generation ---------------------------------------------------------------------------- - constant c_tx_divider_val : integer := CLOCK_FREQUENCY / BAUD_RATE; - constant c_rx_divider_val : integer := CLOCK_FREQUENCY / (BAUD_RATE * 16); + -- First create the divider for the 16 times oversampled baud rate, + -- the baud rate then is derived by dividing by 16. + -- Thats why the 16 times oversampling clock must be derived without any reminder left + -- from the baud rate, to not disturb the resulting bit rate + -- You need to take care about this when selecting baud and clock frequency + -- Substract one, otherwise the reloading step is counted twice + constant c_oversample_divider_steps : natural := natural(CLOCK_FREQUENCY / (16*BAUD_RATE))-1; + -- And also how many bits do we need? + constant c_oversample_divider_bits : natural := natural(ceil(log2(real(c_oversample_divider_steps)))); + -- And this is the counter type we use + subtype oversample_baud_counter_type is unsigned(c_oversample_divider_bits-1 downto 0); + -- Please only use this final value + constant c_oversample_divider_val : oversample_baud_counter_type := to_unsigned(c_oversample_divider_steps, c_oversample_divider_bits); - signal baud_counter : integer; - signal baud_tick : std_logic := '0'; - signal oversample_baud_counter : integer; - signal oversample_baud_tick : std_logic := '0'; + signal oversample_baud_counter : oversample_baud_counter_type := c_oversample_divider_val; + -- Tick created every counter reset + signal oversample_baud_tick : std_ulogic := '0'; + -- At this moment we sample the incoming signal + signal uart_rx_sample_tick : std_ulogic := '0'; + -- The baud rate itself is the oversampling tick divided by 16 + subtype baud_counter_type is unsigned(3 downto 0); + signal baud_counter : baud_counter_type := ( others => '1'); + signal baud_tick : std_ulogic := '0'; ---------------------------------------------------------------------------- -- Transmitter Signals @@ -56,9 +88,9 @@ architecture RTL of UART is send_start_bit, transmit_data, send_stop_bit); - + signal uart_tx_state : uart_tx_states := idle; - + signal uart_tx_data_block : std_logic_vector(7 downto 0) := (others => '0'); signal uart_tx_data : std_logic := '1'; signal uart_tx_count : integer := 0; @@ -66,50 +98,61 @@ architecture RTL of UART is ---------------------------------------------------------------------------- -- Receiver Signals ---------------------------------------------------------------------------- - type uart_rx_states is ( rx_wait_start_synchronise, - rx_get_start_bit, - rx_get_data, - rx_get_stop_bit, + type uart_rx_states is ( rx_wait_start_synchronise, + rx_get_start_bit, -- We are reading the start bit + rx_get_data, + rx_get_stop_bit, rx_send_block); - - signal uart_rx_state : uart_rx_states := rx_get_start_bit; + + signal uart_rx_state : uart_rx_states := rx_wait_start_synchronise; signal uart_rx_bit : std_logic := '0'; signal uart_rx_data_block : std_logic_vector(7 downto 0) := (others => '0'); - signal uart_rx_data_vec : std_logic_vector(1 downto 0) := (others => '0'); signal uart_rx_filter : unsigned(1 downto 0) := (others => '0'); signal uart_rx_count : integer := 0; signal uart_rx_data_out_stb: std_logic := '0'; - signal uart_rx_bit_spacing : unsigned (3 downto 0) := (others => '0'); - signal uart_rx_bit_tick : std_logic := '0'; + -- Syncing Clock to Receive Data, compared to baud_counter and creates uart_rx_sample_tick + signal uart_rx_sync_clock : baud_counter_type := (others => '0'); + begin - DATA_STREAM_IN_ACK <= uart_rx_data_in_ack; - DATA_STREAM_OUT <= uart_rx_data_block; - DATA_STREAM_OUT_STB <= uart_rx_data_out_stb; + ---------------------------------------------------------------------------- + -- Transmitter Part: Sending Data + ---------------------------------------------------------------------------- TX <= uart_tx_data; - -- The input clock is 100Mhz, this needs to be divided down to the + -- The input clock is CLOCK_FREQUENCY + -- For example its set to 100Mhz, then needs to be divided down to the -- rate dictated by the BAUD_RATE. For example, if 115200 baud is selected -- (115200 baud = 115200 bps - 115.2kbps) a tick must be generated once -- every 1/115200 - TX_CLOCK_DIVIDER : process (CLOCK) + -- As explained above we use a two-step approach, so we just scale down + -- here the 16-times oversampled RX clock again + -- Use a down-counter to have a simple test for zero + -- Thats the counter part + TX_CLOCK_DIVIDER : process (CLOCK) begin if rising_edge (CLOCK) then if RESET = '1' then - baud_counter <= 0; - baud_tick <= '0'; + baud_counter <= (others => '1'); else - if baud_counter = c_tx_divider_val then - baud_counter <= 0; - baud_tick <= '1'; + if oversample_baud_tick = '1' then -- Use as Clock enable + if baud_counter = 0 then + baud_counter <= (others => '1'); else - baud_counter <= baud_counter + 1; - baud_tick <= '0'; + baud_counter <= baud_counter - 1; end if; + end if; end if; end if; end process TX_CLOCK_DIVIDER; - + -- And thats the baud tick, which is of course only one clock long + -- So both counters should be Zero + -- OPTIMIZE HERE - try to make "baud_counter=0" a intermediate signal (used + -- multiple times) + TX_TICK: baud_tick <= '0' when RESET = '1' else + '1' when oversample_baud_tick = '1' and baud_counter = 0 else + '0'; + -- Get data from DATA_STREAM_IN and send it one bit at a time -- upon each BAUD tick. LSB first. -- Wait 1 tick, Send Start Bit (0), Send Data 0-7, Send Stop Bit (1) @@ -130,7 +173,7 @@ begin uart_tx_data_block <= DATA_STREAM_IN; uart_rx_data_in_ack <= '1'; uart_tx_state <= wait_for_tick; - end if; + end if; when wait_for_tick => if baud_tick = '1' then uart_tx_state <= send_start_bit; @@ -141,9 +184,9 @@ begin uart_tx_state <= transmit_data; uart_tx_count <= 0; end if; - when transmit_data => + when transmit_data => -- OPTIMIZE HERE? if baud_tick = '1' then - if uart_tx_count < 7 then + if uart_tx_count < 7 then -- OPTIMIZE HERE? uart_tx_data <= uart_tx_data_block(uart_tx_count); uart_tx_count <= uart_tx_count + 1; @@ -164,54 +207,63 @@ begin end case; end if; end if; - end process UART_SEND_DATA; - - -- Generate an oversampled tick (BAUD * 16) - OVERSAMPLE_CLOCK_DIVIDER : process (CLOCK) + end process UART_SEND_DATA; + + ---------------------------------------------------------------------------- + -- Receiver Part: Getting Data + ---------------------------------------------------------------------------- + DATA_STREAM_IN_ACK <= uart_rx_data_in_ack; + DATA_STREAM_OUT <= uart_rx_data_block; + DATA_STREAM_OUT_STB <= uart_rx_data_out_stb; + + -- The RX clock divider uses the 16 times oversampled clock, which we + -- create here from the input clock + -- Use a down-counter to have a simple test for zero + -- Thats for the counter and tick creation part + RX_CLOCK_DIVIDER : process (CLOCK) begin if rising_edge (CLOCK) then if RESET = '1' then - oversample_baud_counter <= 0; - oversample_baud_tick <= '0'; + oversample_baud_counter <= c_oversample_divider_val; + oversample_baud_tick <= '0'; else - if oversample_baud_counter = c_rx_divider_val then - oversample_baud_counter <= 0; + if oversample_baud_counter = 0 then + oversample_baud_counter <= c_oversample_divider_val; oversample_baud_tick <= '1'; else - oversample_baud_counter <= oversample_baud_counter + 1; + oversample_baud_counter <= oversample_baud_counter - 1; oversample_baud_tick <= '0'; end if; end if; end if; - end process OVERSAMPLE_CLOCK_DIVIDER; - -- Synchronise RXD to the oversampled BAUD - RXD_SYNCHRONISE : process(CLOCK) - begin - if rising_edge(CLOCK) then - if RESET = '1' then - uart_rx_data_vec <= (others => '1'); - else - if oversample_baud_tick = '1' then - uart_rx_data_vec(0) <= RX; - uart_rx_data_vec(1) <= uart_rx_data_vec(0); - end if; - end if; - end if; - end process RXD_SYNCHRONISE; - - -- Filter RXD with a 2 bit counter. - RXD_FILTER : process(CLOCK) + end process RX_CLOCK_DIVIDER; + + -- We create the sample time by syncing the oversampled tick (BAUD * 16) + -- to the received start bit by comparing then vs. the stored receive sync value + -- It's only one clock tick active + RX_SAMPLE: uart_rx_sample_tick <= '0' when RESET = '1' else + '1' when oversample_baud_tick = '1' and uart_rx_sync_clock = baud_counter else + '0'; + + + -- Synchronise RXD and Filter to suppress spikes with a 2 bit counter + -- This is done with the 16-times oversampled clock + -- Take care, every time the receive clock is resynchronized to the next + -- start bit we can have somewhat of a jump here. But thats no problem + -- because the jump (in case it occur) is still synchronous. And we save us + -- another counter :-) + RXD_SYNC_FILTER : process(CLOCK) begin if rising_edge(CLOCK) then if RESET = '1' then uart_rx_filter <= (others => '1'); uart_rx_bit <= '1'; - else + else -- OPTIMIZE HERE - maybe a 3bit LUT? if oversample_baud_tick = '1' then -- Filter RXD. - if uart_rx_data_vec(1) = '1' and uart_rx_filter < 3 then + if RX = '1' and uart_rx_filter < 3 then uart_rx_filter <= uart_rx_filter + 1; - elsif uart_rx_data_vec(1) = '0' and uart_rx_filter > 0 then + elsif RX = '0' and uart_rx_filter > 0 then uart_rx_filter <= uart_rx_filter - 1; end if; -- Set the RX bit. @@ -223,43 +275,56 @@ begin end if; end if; end if; - end process RXD_FILTER; - - RX_BIT_SPACING : process (CLOCK) - begin - if rising_edge(CLOCK) then - uart_rx_bit_tick <= '0'; - if oversample_baud_tick = '1' then - if uart_rx_bit_spacing = 15 then - uart_rx_bit_tick <= '1'; - uart_rx_bit_spacing <= (others => '0'); - else - uart_rx_bit_spacing <= uart_rx_bit_spacing + 1; - end if; - if uart_rx_state = rx_get_start_bit then - uart_rx_bit_spacing <= (others => '0'); - end if; - end if; - end if; - end process RX_BIT_SPACING; - + end process RXD_SYNC_FILTER; + UART_RECEIVE_DATA : process(CLOCK) begin if rising_edge(CLOCK) then if RESET = '1' then - uart_rx_state <= rx_get_start_bit; + uart_rx_state <= rx_wait_start_synchronise; uart_rx_data_block <= (others => '0'); uart_rx_count <= 0; uart_rx_data_out_stb <= '0'; + uart_rx_sync_clock <= (others => '0'); else case uart_rx_state is - when rx_get_start_bit => + -- Waiting for new data to come + when rx_wait_start_synchronise => + -- Only here we need to look for start with the + -- oversampled clock rate if oversample_baud_tick = '1' and uart_rx_bit = '0' then + -- We are back in business! + uart_rx_state <= rx_get_start_bit; + -- Resynchronize the receive bit timing with the input signal + -- invert the MSB, because we need to skip half of + -- the start bit. + -- We want to sample in the MIDDLE of the bit, remember? + -- This will be used from now on as sample moment + uart_rx_sync_clock <= + (not baud_counter(3), baud_counter(2), baud_counter(1), baud_counter(0) ); + end if; + when rx_get_start_bit => + if uart_rx_sample_tick = '1' then + if uart_rx_bit = '0' then + -- Everything alright, we really got a start bit + -- Please continue with data reception uart_rx_state <= rx_get_data; + else + -- Oh now! Corrupted Start bit! Now we're in troube + -- Best to abort the game and issue an (simulation) + -- warning + uart_rx_state <= rx_wait_start_synchronise; + -- Not for synthesis: + -- pragma translate_off + report "We got an corrupted start bit! Something is wrong and most likely we will now fail to receive the following data. Trying to reset the receive state machine." + severity error; + -- pragma translate_on + end if; end if; when rx_get_data => - if uart_rx_bit_tick = '1' then - if uart_rx_count < 7 then + if uart_rx_sample_tick = '1' then + if uart_rx_count < 7 then -- OPTIMIZE HERE - no + -- compare please uart_rx_data_block(uart_rx_count) <= uart_rx_bit; uart_rx_count <= uart_rx_count + 1; @@ -270,22 +335,27 @@ begin end if; end if; when rx_get_stop_bit => - if uart_rx_bit_tick = '1' then + if uart_rx_sample_tick = '1' then if uart_rx_bit = '1' then uart_rx_state <= rx_send_block; uart_rx_data_out_stb <= '1'; + -- FIX HERE - else?? Abort Receive!! end if; end if; + -- OPTIMIZE HERE: Separate STREAM_OUT from receive, so + -- that recieve can continue while data can be fetched + -- from the system - also clock enable here with + -- uart_rx_sample_tick ? when rx_send_block => if DATA_STREAM_OUT_ACK = '1' then uart_rx_data_out_stb <= '0'; uart_rx_data_block <= (others => '0'); - uart_rx_state <= rx_get_start_bit; + uart_rx_state <= rx_wait_start_synchronise; else uart_rx_data_out_stb <= '1'; - end if; + end if; when others => - uart_rx_state <= rx_get_start_bit; + uart_rx_state <= rx_wait_start_synchronise; end case; end if; end if; From bf563d7589bf2e88bade347cfcb3344c40a6dc0b Mon Sep 17 00:00:00 2001 From: sd2k9 Date: Sun, 7 Jul 2013 19:19:31 +0200 Subject: [PATCH 2/2] Added waveform screenshots illustrating the wrong (before) and fixed (now) behaviour --- change/wrong receive sampling point/after.png | Bin 0 -> 38225 bytes change/wrong receive sampling point/before.png | Bin 0 -> 34492 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 change/wrong receive sampling point/after.png create mode 100644 change/wrong receive sampling point/before.png diff --git a/change/wrong receive sampling point/after.png b/change/wrong receive sampling point/after.png new file mode 100644 index 0000000000000000000000000000000000000000..b3bbcd69298aad4675fbe486983814bda07a08eb GIT binary patch literal 38225 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 literal 0 HcmV?d00001 diff --git a/change/wrong receive sampling point/before.png b/change/wrong receive sampling point/before.png new file mode 100644 index 0000000000000000000000000000000000000000..922bbb45b19b5d560e03c24341bb12807d58e2d3 GIT binary patch literal 34492 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