Jump to content
  • 0

DPTI demo for Arty


rean

Question

Hi,

I have an FT232H board(from Adafruit) and Arty, is it possible to port the DPTI demo of Nexys Video board to Arty?

I tried copying the block design(except the clock for MIG), implement and download the software, see UART output but when running DPTI Transfer program the top left indicator is red.

Any hint or help? thanks.

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

8 hours ago, rean said:

I have an FT232H board(from Adafruit) and Arty, is it possible to port the DPTI demo of Nexys Video board to Arty?

I wouldn't want to try doing that. I'm assuming that you want to experiment with the FT245 mode. I haven't done the homework to see if it's possible to use 2 standard PMODs to connect that interface to the Arty... I suspect that it is with a bit of breadboarding magic. Adafruit makes some nice inexpensive wire boards. I've just made my own PCBs for these kinds of projects.  If you are competent in VHDL or Verilog I'd suggest that you do what I've done with FTDI modules and use the FTDI driver code. FTDI documentation is not the best but mostly adequate and there are a number of application notes and software examples available. If you are good at HDL development and want to create your own Vivado board design IP that is also possible but a lot more complicated. If you are not experienced in using an HDL then I've got no advice for how you might proceed.

Be aware that if you want to do synchronous FT245 mode you will have to modify the eeprom to support that mode.

You might find it easier to use one of the other interfaces available on the FT232H as a first project.

Link to comment
Share on other sites

Hi @zygot

Thanks for your reply.

I've completed the test of the FT245 async. FIFO function(and get almost 1.2MB/sec throughput), because I need more data rate to transfer bulk data between PC and FPGA, I found the DPTI demo and think maybe the sync. FIFO is a good choice.

As you mentioned I connect the FT232H to FPGA through an Arduion shield with breadboard, I know it is not a good idea to connect 60MHz clock by this way, making a dedicate PCB is a better method. For now just a test to see if it function works, but I can't get the FT232H clock out after configuring the eeprom and sending FT_SetBitMode command, I'll continue try it.

 

Hi @jpeyron,

Thank you, I know the FT2232H of Arty not connect FIFO port to FPGA and is used for UART and configure function, maybe could support FIFO pin connection in future boards.

 

Link to comment
Share on other sites

9 hours ago, rean said:

I've completed the test of the FT245 async. FIFO function(and get almost 1.2MB/sec throughput)

@rean, In order to achieve maximum data rates in USB you want to transfer large ( > 1 MB ) blocks of data and pay attention to details like avoiding partial packets of data. For sustained streaming of data your PC application will probably have to be multi-threaded. On Digilent FPGA boards the  FTDI devices are programmed to support asynchronous FT245 and can achieve significantly higher rates than 1.2 MB/s. Again, it depends on how you do it. Transferring a lot of 512 byte blocks of data intermittently will result in a low data rate due to a number of reasons including software overhead. 

The nice thing about your approach is that if you brick the FTDI chip by accident you've not lost an expensive board. I've not bricked anything yet but have been very careful.

If you have a larger budget and can afford a board with an LPC FMC connector ( or HSMC for Altera )  FTDI and Cypress offer inexpensive development boards to do USB 3.0. You can also wrangle piddling low data rates out of USB 3.0....

I seem to recall having a problem getting the 60 MHz clock out of the very first FT232H experiment that I did but that was a long time ago. I'll see if I can find my project notes for a tip ....

Link to comment
Share on other sites

@rean I assume that you have referenced FTDI AN_130, configured the eeprom to use FT245 mode and are using the D2xx drivers ( also set in eeprom ). After the device has powered up and been enumerated in FT245 mode you can set FT_SetBitMode = 0x40 in your application software to use synchronous 245 mode and get a clock out on the ACBUS5 pin.

 

Link to comment
Share on other sites

Hi @zygot,

Thanks for your reply and suggestion, indeed it is not a best design in my FT245 circuit, I'll make some modification to enhance it and do the flow you mentioned to try the sync. FIFO clock out.

Thanks again.

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...