• 0
Javier olmos

use the uart port in nexys 4ddr board

Question

hello!! i want use the uart port, but when i send the data with the RS-232 interface its not appear in the virtual COM of my PC, i was try using the RTS and CTS pins but doesn´t work

Share this post


Link to post
Share on other sites

12 answers to this question

Recommended Posts

  • 0

Hi @Javier olmos,

Do you have the board files installed as shown in this tutorial? Are you using Microblaze and the uartlite ip core or using a pure HDL(Verilog/VHDL) project?  What version of Vivado are you using? What OS are you using on your PC? Here is the Nexys-4-DDR-GPIO VHDL project that sends data over the usb uart bridge.

thank you,

Jon

Share this post


Link to post
Share on other sites
  • 0

this is the simulation, for now, only was using the transmisor for the experimentation. this design was test in the nexys 2 and its worked.

the value of Fbaud was modified for the simulation

Captura1.JPG

Share this post


Link to post
Share on other sites
  • 0

So the design worked on your Nexys 2 board?  Does it still work through the same terminal on your Nexys-2 board?  Just to rule that out as a possibility.

One common problem with any new serial port is that the TX and RX lines are switched.  Digilent likes to mark them as TX or RX, but doesn't usually annotate on the schematic from whose perspective they are TX and RX.  For example, on my Nexys Video board, the XDC file labels the output of the serial port coming from the FPGA as "uart_rx_out".

An easy way to tell is to create a counter that controls an LED.  Examine one of the two ports, TX or RX.  Set the counter to start counting from zero any time the line is low.  Once the counter saturates, stop.  Now, as long as the counter hasn't saturated, set the LED.  This LED will now blink any time you send a character to your board--independent of having the right baud rate.  Only one of the two pins will respond properly.  (Make sure you have flow control "off" for this test)  The pin that properly responds is the RX input.

Next, create a simple design where you just connect the RX input to the output.  You should now be able to read (in double) from your board everything you type.  This will confirm that you have the proper wires selected for transmit and receive.

Dan

Share this post


Link to post
Share on other sites
  • 0

@Javier olmos,

Hence, my recommendation would be that you work your way through your design, pin by pin, making sure you have the mapping right.  C4 is probably the easiest pin to test.  D4 is the next easiest.  Once you know you have these two pins working, then you can turn on flow control and check CTS and RTS.

While I'd love to offer a better recommendation than this, and to point you directly at the problem you are having, you haven't provided me with enough information (yet) to answer that question.

Dan

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now