UART receiver

Greetings !

I'm looking for a simple RS232 UART16550 receiver for my tiny cyclone board for different baudrates, 8databits, 1stop&startbit and no(!) partity and handshake stuff.

I found several free VHDL implementations in the net but compared to what I need they are to complicated and appear like shooting with missiles on birds ;-)

The entity might have a simple structure like this:

entity receiver is generic( frequency : integer := 10000000; -- e.g. for 10MHz baudrate : integer := 9600 -- e.g. for 9600bps );

port( clk : in std_logic; -- clockspeed is 'frequency' reset : in std_logic; -- resets the receiver receiver : in std_logic; -- input from receive pin from RS232 connector

char_avail : out std_logic; -- indicated that a valid char has beed received char : out std_logic_vector(7 downto 0) -- received char, only available for one clock ); end receiver;

The 'reciever' values are 'active high'...

This structure gives the responsibility for catching received data in time to the user but surely allowes adding a FIFO.

Probably this question has been asked about 47283407239 times in this group so please just send me a usefull link or code snippet...

Konstantin

--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
Reply to
Konstantin Dols
Loading thread data ...

formatting link
(but probably something you have already investigated).

The UART "problem" seems to be a pretty common example in various VHDL books. I think Ben Cohen's book has an implementation as well as Navabi's. I can't comment on how or if they work (synthesis).

Have you prowled around on the Xilinx web site. A quick search popped up lots of internal links, for example

formatting link
formatting link

but these may be the "missles" you are refering to. xapp223.pdf does look promising however...

If it was me, I'd start with one of the "missles" and start paring it down, removing features.

Reply to
Rob Young

Hello:

At

formatting link
you can find many uarts, for a very simple UART I recommend you to use the miniUART project, if you need a complete 16650 UART use UART16550 project.

Best Regards

Javier Castillo snipped-for-privacy@opensocdesign.com

formatting link

"Konstantin Dols" wrote in news:opsiv94toznxvpac@pc113:

Reply to
Javier Castillo

I am currently working on an implementation of such a controller for my semester project. So I will let you have a look to my code when I have finished it.

Greetz :)

Grégory Mermoud snipped-for-privacy@epfl.ch Swiss Federal Institute of Technology - Lausanne Computer Science Departement

Reply to
Grégory Mermoud
010900080100040806070409 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit

Hi,

in the attachement you'll find something you could use. I've used it on a cyclone to do some ASCII communication (giving commands and sending/receiving data to/from the system). I'm just in the middle of updating the things so it's possible you have to mess around with some libs (or change the libs to 'work').

I've added some functions to convert a 4 bit hex 'string' into a 7 bit char 'string.

kind regards, Jan

K>

Reply to
Jan De Ceuster

C_ASCII_CAPITAL_A;

C_ASCII_CAPITAL_B;

C_ASCII_CAPITAL_C;

C_ASCII_CAPITAL_D;

C_ASCII_CAPITAL_E;

C_ASCII_CAPITAL_F;

slave

E_EIA232State_Waiting then

Reply to
Jan De Ceuster

Yeah that would be great !

Thanks !

Konstantin

--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
Reply to
Konstantin Dols

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.