FTDI 245 FIFO Tutorial with Visual Studio and a Lattice MachXO2 FPGA

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ก.ค. 2024
  • This guide explains how to use the FTDI D2XX driver and library to transfer data via the "FTDI Synchronous 245 FIFO" protocol. I used a PC running Visual Studio 2019 to communicate with a Lattice MachXO2 FPGA. 1GB of data was transferred at a speed of approximately 355Mbps.
    I start by showing how to find all of the relevant documentation for the FTDI UM232H development board and the D2XX API. I show example Verilog code for the Lattice MachXO2 FPGA and explain how it works. Then I show how to configure a Visual Studio 2019 project and write the demo software. Finally, I benchmarked the transfer speed, with a result of 355Mbps.
    Source code and links to all of the documentation are available on my web site:
    www.farrellf.com/projects/soft...
    Here are the items I used: (or similar items)
    FTDI FT232H development board: amzn.to/2ysNofW
    Lattice MachXO2 development board: amzn.to/2ROKR6j
    Jumper wires: amzn.to/2VKmEj0
    Mini-USB "converters": amzn.to/3bmGQhh
    USB hub: amzn.to/3cqgNGb
    I am a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for me to earn fees by linking to Amazon.com and affiliated sites.
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 19

  • @malgailany
    @malgailany 4 ปีที่แล้ว +2

    One of the best explained coding videos I've seen.
    Thank you so much for showing all the details.

  • @afonsusmuralha
    @afonsusmuralha 3 ปีที่แล้ว +1

    Really thoroughly explained. Thank you and congratulations for the great tutorial!

  • @biju209
    @biju209 4 ปีที่แล้ว +1

    Thank you so much for this detailed and useful video. You have made my covid-19 lock down exciting!!!

  • @user-zj5os2zl8w
    @user-zj5os2zl8w 3 ปีที่แล้ว

    Dude. You help me a lot. Thanks for your amazing video!

  • @serkangercek2792
    @serkangercek2792 3 ปีที่แล้ว +1

    Very good and instructive tutorial. Great tips... Thank you.

  • @goofypettiger
    @goofypettiger 3 ปีที่แล้ว +1

    Well done! This helped me a lot.

  • @kevhead8914
    @kevhead8914 3 ปีที่แล้ว +1

    You are a god. Thanks for this amazing content!

  • @chrisabad6666
    @chrisabad6666 4 ปีที่แล้ว +2

    Very good!

  • @damny0utoobe
    @damny0utoobe 5 หลายเดือนก่อน

    Excellent

  • @bartleyjohnson4032
    @bartleyjohnson4032 3 ปีที่แล้ว

    Truly a great tutorial! One thing that would be useful is a schematic of the hookup to the FT Module. I am having a bit of trouble translating the ACBUS0-ACBUS6 pin names into ins and outs as shown on the Lattice source code doc. Some are obvious such as read\ = ACBUS2, etc, but signals you documented as TX_full, RX _empty and send_immediately_n are not obvious as to how they map to ACBUS pins. And, I would assume that the ACBUS pin functions do not require any special configuration outside of whats shown in your C++ coding? Thank you!

  • @jedvirgilbarrientos8969
    @jedvirgilbarrientos8969 2 ปีที่แล้ว

    thank you for your detailed tutorial. just one question on the VM you used and how to enable the USB devices to discoverable in the VM. I am trying to follow thru your tutorial and seems this one is not shown in detail.

    • @upgrdman
      @upgrdman  2 ปีที่แล้ว

      If you plug in a USB device while the VM has focus, VMware will ask want you want to do (or may automatically connect it to the VM depending on your settings.)

  • @richardbenfield
    @richardbenfield 3 ปีที่แล้ว

    I can't seem to compile this, is it likely because I'm using VS2017?

    • @upgrdman
      @upgrdman  3 ปีที่แล้ว

      What error are you getting?

    • @richardbenfield
      @richardbenfield 3 ปีที่แล้ว +1

      @@upgrdman I don't really use c++ but it looks like i was using the newest "CDM+v2.12.36.1+WHQL+Certified" h file "CDM v2.12.28 WHQL Certified" seems to work.

    • @richardbenfield
      @richardbenfield 3 ปีที่แล้ว +1

      @@upgrdman btw nice video.

  • @nischay4778
    @nischay4778 4 ปีที่แล้ว

    Can you show how to create a Display which shows RPM ,SPEED, FUEL GAUGE, Trip meter.

  • @mrcray9999
    @mrcray9999 3 ปีที่แล้ว

    ft2232d i2c tutorial please

  • @manueldipolt3446
    @manueldipolt3446 3 ปีที่แล้ว

    thanks for the great tutorial, had following issue that i lost around every 510 byte.
    made your example for the icoboard with ft323h baseboard see github.com/xeniter/icoboard_yosys_demos/tree/main/baseboard_ft245_counter_demo_losing_bytes
    found solution to avoid loosing each 510 byte : "With great FTDI support I have solved problem TXE signal can go HIGH on falling edge of clock and so it must not be checked only on rising edge." at
    community.intel.com/t5/Programmable-Devices/FT2232H-245-Synchronous-FIFO-Mode-problem/td-p/111192
    fixed version for icoboard is here: github.com/xeniter/icoboard_yosys_demos/tree/main/baseboard_ft245_counter_demo_fixed