FPGA 31 - Zynq SoC FPGA Data acquisition to SD card (Acquisition / DMA and record to SD card)

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 ต.ค. 2024
  • We're building a complete Zynq SoC FPGA application demonstrating a full data acquisition design where a block of data or potentially any digitized signal can be processed and streamed through DMA to system memory before getting recorded onto an SD card as a binary file.
    The DMA engine and the GPIO controller gets configured and controlled by software through the AXI4-lite interface. Software uses the GPIO controller to access the acquisition enable signal to ensure proper initialization of the front-end data path as well as the timely start of the data acquisition phase.
    Some RTL is constructed to represent the digitized signal at the front end of the data acquisition path as a block of 64 32-bit incrementing numbers. This block of data gets transferred first to a FIFO and to the DMA engine through the AXI4-stream interface before getting DMA-written into system memory through the standard AXI4 interface and recorded to the SD card as a binary file.
    #fpga #zynq #vivado #vitis #embedded #verilog #xilinx #dataacquisition
    Related Zynq SoC FPGA episodes:
    FPGA 30 - Zynq SoC FPGA Direct Memory Access (DMA) between PS DDR memory space and PL AXI4-Stream FIFO
    • FPGA 30 - Zynq SoC FPG...
    FPGA 29 - Zynq SoC FPGA XADC application to measure on-chip power supply voltages and die temperature
    • FPGA 29 - Zynq SoC FPG...
    FPGA 27 - Zynq SoC FPGA PL interrupts PS to trigger software execution
    • FPGA 27 - Zynq SoC FPG...
    FPGA 26 - Shared PS-PL AXI BRAM Application on Zynq SoC FPGA (VHDL)
    • FPGA 26 - Shared PS-PL...
    FPGA 25 - Shared PS-PL AXI BRAM Application on Zynq SoC FPGA (Verilog)
    • FPGA 25 - Shared PS-PL...
    FPGA 20 - Build complete Zynq SoC FPGA application for PYNQ-Z1 with software control of AXI GPIO LEDs
    • FPGA 20 - Build comple...
    Recommended prerequisites:
    FPGA 1 - Set up AMD Xilinx Vivado/Vitis (free version)
    • FPGA 1 - Set up AMD Xi...
    FPGA 3 - First Verilog Vivado project for beginners
    • FPGA 3 - First Verilog...
    FPGA 4 - First VHDL Vivado project for beginners
    • FPGA 4 - First VHDL Vi...
    FPGA 15 - Xilinx Zynq SoC FPGA Build your first "hello world" program
    • FPGA 15 - Xilinx Zynq ...

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

  • @NithinVarghese-zk4vt
    @NithinVarghese-zk4vt 3 หลายเดือนก่อน

    can you do a video on read and write in NVME SSD?

  • @korayk.454
    @korayk.454 8 หลายเดือนก่อน

    Thanks for the video! I got error building the project it seems the MKFS_PARM is not defined.. Whout would be the solution? Yes I am a noob:)

  • @roneneskin7685
    @roneneskin7685 10 หลายเดือนก่อน

    Awesome video!
    Tried to implement this on my PYNQ-Z1 board, but the DMA is constantly busy, even after the initialization.
    I'm using 2023.1 workspace, same as you.
    I saw that it is a common problem, but have not found a solution.
    Do you know the solution for it?

    • @FPGARevolution
      @FPGARevolution  10 หลายเดือนก่อน +2

      If you follow all the steps as is, things should come out working as demonstrated, unless you add your own changes that have not been verified. Have a careful review to make sure you didn't miss any connections and that software drivers were generated properly without any reported errors then re-check the status of your DMA channel before you actually start to use it. If you can't seem to have proper initialization of your DMA channel early in the application, that's a good hint that you mess up somewhere and the bug is much simpler than if it was something that shows up dynamically. Review your software initialization and if it seems solid then review your hardware block design of the DMA channel.

    • @roneneskin7685
      @roneneskin7685 10 หลายเดือนก่อน +1

      Yep, somehow forgot tkeep signal, that was the problem.
      Thanks :)@@FPGARevolution