cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
petelu
Visitor
Visitor
6,773 Views
Registered: ‎04-08-2011

ML605 UART to USB Bridge inteface

I'm using the ML605 to capture ADC data inteface and need to post process data in PC. I see that with the ML605 there is an UART to USB bridge by SiLabs CP2103GM. In wanting a simplier interface, I was wondering if I can use this bridge along with some simple UART VHDL code to get data from FPGA to PC through a HyperTerm?

 

I see that on ML605, Xilinx saids that an UART IP needs to be implemented such as XPS UART Lite or UART16550. I would prefer a simple FIFO to serial interface inside the FPGA instead of a whole UART IP with softwre. Is it possible to implement simple UART such as describe on XAPP223 or If you think there is a more simplier way of getting data to PC from the ML605 board.

 

Thanks in advance

Attachments:

ML605 User Guide UG534

200 MHz UART XAPP223

 

0 Kudos
4 Replies
eteam00
Professor
Professor
6,768 Views
Registered: ‎07-21-2009

First, I noticed you attached a copy of UG534.pdf to your post.  If everyone did this, there wouldn't be enough disk drives in the universe to store all the redundant copies and version of Xilinx docs for the forum posts.

 

Instead, just embed in your post a link to the document on the website (see the link button in the formatting bar when composing your post).  This saves space, and ensures that the latest and greatest version of the doc is accessed.  Example:  UG534.

 

To answer your question, you should have no problem with substituting your own UART design for the UART16550 or XPS UART Lite "cores".  Keep in mind that the USB = serial bridge includes RTS/CTS handshaking lines, and your UART implementation should have these signals in mind.

 

HyperTerm is a simple dumb terminal or console.  There is no higher level protocol inferred or implied with the use of HyperTerm.  If you were to run a more sophisticated application on the host PC -- one which implements a higher level protocol -- you should still be able to use your own low-level UART design in the FPGA.  Any higher-level protocol support falls outside the boundaries of such interfaces as XPS UART Lite or UART 16550.  In most cases, any higher level protocol sent via the serial/USB path would be implemented with a processor or controller of some sort (e.g. PicoBlaze or MicroBlaze).

 

Hope this helps.  Does this make sense?

 

-- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.
petelu
Visitor
Visitor
6,762 Views
Registered: ‎04-08-2011

Thanks Bob, I'll keep the usage of links instead of attachments in mind next time.

 

As for your reply on using HyperTerm, I see that SiLabs offer a Virtual COM Port driver that lets you use COM to any SiLabs device from PC application. I don't have much experience in the software / PC port interface myself. I recall hearing that HyperTerm might limit the amount of data receive so this might be an issue, in other words do you recommend any other solution in extracting data.

 

Any how, thanks for your reponse

0 Kudos
eteam00
Professor
Professor
6,754 Views
Registered: ‎07-21-2009

It sounds like you are under the impression that you can use either HyperTerm or the SiLabs driver to converse with the SiLabs USB device.  If so, you have made a very understandable mistake.

 

HyperTerm is a COM (serial) port console/terminal application program.  In other words, it connects to a Windows COM port.

 

The SiLabs driver provides the smarts for Windows to view the SiLabs USB<=>serial adapter as a virtual Windows COM port.  In other words, the SiLabs driver connects the HyperTerm application to the USB device.  HyperTerm (or any other COM port application) requires the SiLabs driver in order to talk to the SiLabs device.

 

It is the SiLabs driver which allows any COM port application to converse with the SiLabs USB device as if the device is a COM port.  If HyperTerm doesn't meet your needs, you have many other COM port applications from which to choose (or you could write your own).

 

Does this make sense?

 

On an admin note, the forum design allows you to edit your posts (including the original post in this thread), and to add or delete attachments to your posts.  In case you are interested.

 

- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.
0 Kudos
fgr1986
Newbie
Newbie
4,946 Views
Registered: ‎06-05-2013

Dear petelu, would you mind sharing your uart code.
I would like to include it in my design avoiding the Xilinx Core.

Thanks in advance

0 Kudos