FPGA, SoC, And CPLD Boards And Kits
FPGA Evaluation and Development Kits
5925 Discussions

UART (RS-232) problems with the use of Altera DE1 and FTDI UM232R

Altera_Forum
Honored Contributor II
1,592 Views

Hello. 

 

I have a problem with UART (RS-232) on Altera DE1 development kit and FTDI UM232R module. Main task is data transfer between Altera DE1 and PC  

through FTDI UM232R module. It is only prototyping, because my target device use FTDI ft232r chip (like chip on FTDI UM232R module). 

 

My project don't work and i don't know - what problem i have and why. 

 

In attachment scheme of connecting Altera DE1 and FTDI UM232R (General_Scheme.jpg). 

 

I use ready UART (RS-232) Verilog module from this site http://www.fpga4fun.com/serialinterface.html , but I changed only two things: 

1) (in module async_transmitter) 

parameter ClkFrequency = 24000000; // 24MHz // Changed from default 25MHz 

2)(in module async_receiver) 

parameter ClkFrequency = 24000000; // 24MHz // Changed from default 25MHz 

 

 

in default code, for my 24MHz clock on Altera DE1. 

 

Changed files of this code in attachement (async_changed.zip). 

 

On the following screenshot - top level *.bdf file of my project (top_level_in_schematic_screenshot.jpg). 

 

I can't find Hyper Terminal client on Microsoft Windows 7 and for this reason I find free Terminal v1.9.b program and use it (for work with virtual FTDI COM port, which appear after installing FTDI VCP driver). Terminal v1.9.b program in attachment (Terminal v1.9b.zip). 

 

In attachment qartus archive file with my project for altera de1 - simple project for transmit and receive bytes between altera de1 and pc 

through FTDI UM232R module with using Terminal v1.9.b program (um232r_transmitter_and_receiver_with_altera_de1.qar). Receive bytes from PC and displaying on green LED's on de1 (LEDG[7..0]). And transmit bytes from toggle switches (SW[7..0]) on de1 to PC (displaying on red LED's (LEDR[7..0])) if we push KEY[0]. I know about button bouncing, but it not important at the currently moment. 

 

Sorry if i ask stupid question, but i really don't know solving of this problem.  

 

PS. When I connect USB cable from PC to FTDI UM232R - in Terminal v1.9.b appear new COM port. I connect to this port, but my project don't work (i can't see bytes from altera de1 on Terminal v1.9.b, and bytes on altera de1 from this program). 

 

Connection between altera de1 and ftdi um232r is good, i checked with tester.
0 Kudos
4 Replies
Altera_Forum
Honored Contributor II
701 Views

can you connect the oscilloscope to which ever is the TX pin of your DE1 ? If you send a single character you should be able to capture it on the scope and verify that your verilog/firmware code is working and not your terminal application or chip.  

 

Altera also has their own UART module which you add in Qsys/SOPC builder, this provides a GUI interface that you can use to just select the baud rate that you want.
0 Kudos
Altera_Forum
Honored Contributor II
701 Views

 

--- Quote Start ---  

can you connect the oscilloscope to which ever is the TX pin of your DE1 ? If you send a single character you should be able to capture it on the scope and verify that your verilog/firmware code is working and not your terminal application or chip.  

--- Quote End ---  

 

 

I transmit character U (85 = 01010101) in cycle with using Terminal v1.9b, and i tested TxD pin on FTDI UM232R module with oscilloscope. It's work !!! 

Screenshot in attachments - ss1.jpg 

 

And i connect TxD pin to RxD pin on FTDI UM232R module and i saw "echo" on Terminal v1.9b. UM232R is work !!! 

Screenshot in attachments - ss2.jpg 

 

And now i think, that problems has Verilog modules with transmitter/receiver. From site http://www.fpga4fun.com/serialinterface.html. I only changet default clock 50 MHZ to 24 MHZ. Why it not work ??? 

 

 

--- Quote Start ---  

Altera also has their own UART module which you add in Qsys/SOPC builder, this provides a GUI interface that you can use to just select the baud rate that you want. 

--- Quote End ---  

 

 

I have free quartus 13.0 web, and megacores functions set is not included to this free edition. 

 

I have question - For use this "their own UART module" i must buy all quartus 13.0 subscription edition or i can buy only this single megacores function (or set of all this functions).
0 Kudos
Altera_Forum
Honored Contributor II
701 Views

 

--- Quote Start ---  

can you connect the oscilloscope to which ever is the TX pin of your DE1 ? If you send a single character you should be able to capture it on the scope and verify that your verilog/firmware code is working and not your terminal application or chip.  

 

Altera also has their own UART module which you add in Qsys/SOPC builder, this provides a GUI interface that you can use to just select the baud rate that you want. 

--- Quote End ---  

 

 

 

Hi, 

 

Have you ever used UART(RS232) qsys IPs ? 

Can you please comment on the below thread? 

 

http://www.alteraforum.com/forum/showthread.php?t=46325 

 

Thanks
0 Kudos
Altera_Forum
Honored Contributor II
701 Views

I solved this problem long time ago. But I want carry out this topic to the end, for helping to other altera beginners (who has problems with UART receiver/transmitter developing). 

 

1) UART (RS-232) Verilog module from fpga4fun site (http://www.fpga4fun.com/serialinterface.html) not worked, because I had problem with clocks and synchronization. In this project we have difficult "baud_tick_generator" (which control receiving and transmitting) and multiplexer for data shifting. 

 

I think that shift register in UART module more useful than multiplexer. But it my own opinion. 

 

Workable source code and quartus project for Altera DE1 kit and FTDI UM232R device for this UART module from fpga4fun site in attachment. 

 

fpga4fun_quartus_project.zip 

fpga4fun_verilog_source_code.zip 

 

2) For beginners (which develop own UART module) - i recommend this video-tutorial - http://www.youtube.com/watch?v=fmmcspgotj4

 

This video show, how create UART receiver/transmitter on Altera DE1 kit (with VHDL code creating). 

 

Workable source code and quartus project for Altera DE1 kit and FTDI UM232R device for this UART module from youtube video-tutorial in attachment too. 

 

toni_axe_quartus_project.zip 

toni_axe_vhdl_source_code.zip 

 

PS. And thanks to all for previous help in this topic.
0 Kudos
Reply