FPGA编程指南: CSU DMA传输

  1. 将安全流开关配置设置为从DMA源接收,即设置csu.csu_sss_cfg[pcap_sss]为0x5。

  2. 配置并设置CSU_DMA以建立通道和传输,具体编程方法可参考CSU DMA编程部分。

  • 通道类型为DMA_SRC。

  • 设置源地址为位流的地址。

  • 设置大小为以字表示的位流大小。

  1. 等待CSU DMA操作完成,确保源频道的传输已完成。

  2. 清除CSU_DMA中断并确认传输完成,这需要设置csudma.csudma_src_i_sts[done]。

  3. 等待PCAP完成,当csu清除pcap_status[pcap_wr_idle]位时表示传输完成。

接着,需要等待PL完成状态以确保位流已正确编程,具体步骤如下:

  1. 等待PL完成状态,然后进行其他操作。

  2. 配置完成后,复位PCAP接口,通过设置csu.pcap_reset[reset]位。

在CSU DMA编程中,CSU会在执行CSU ROM代码期间使用CSU DMA进行引导映像传输。FSBL(First Stage Boot Loader)也会使用CSU DMA进行PL编程(通过PCAP)和图像传输。CSU DMA的触发和配置如下:

  1. 触发CSU DMA传输,首先需要为DMA源通道写入大小值。在PL编程的情况下,只有源通道;在环回的情况下,需要先配置DMA目标通道,然后配置源通道。

  2. 配置源/目的大小:

  • 针对源通道,需要配置csudma.csudma_src_size[size]为源缓冲区的大小。

  • 针对目的通道,需要配置csudma.csudma_dst_size[size]为目的缓冲区的大小。

在等待CSU DMA完成时,可以通过轮询状态寄存器的完成位来验证,具体步骤如下:

  1. 轮询源通道,确认csudma.csudma_src_i_sts[done]未设置。

  2. 若不是源通道,则确认csudma.csudma_dst_i_sts[done]未设置。

  3. 确认DMA已完成后,可以通过清除状态寄存器的相同位来确认。

在搭建SOC系统工程方面,需要创建Vivado系统工程并选择正确的芯片型号。用户应当注意选择适合的型号,例如xczu7ev-ffvc1156-2-i。创建Block Design图形化设计时,需要在IP Integrator中创建System,并添加相应的IP。对于Zynq Ultrascale+ MPSOC IP的设置,需要调整时钟频率、内存类型和接口输出,以确保硬件设置与程序的兼容性,避免在Vitis IDE中出现崩溃和运行问题。正确的配置是确保成功的必要条件。

相关推荐
博览鸿蒙11 分钟前
芯片设计过程中常见的挑战有哪些?
fpga开发
LCMICRO-133108477461 小时前
长芯微LSC3490完全P2P替代MAX3490,3.3V 高静电防护 10M 全双工 RS485/RS422 收发器
单片机·嵌入式硬件·fpga开发·硬件工程·dsp开发
二十画~书生1 小时前
攻克BGA扇出+高速信号难题—逻辑派FPGA-G1开发板6层PCB全流程设计总结
嵌入式硬件·fpga开发·硬件工程·pcb工艺
Yyq130208696821 小时前
实时时钟和日历电路-MS85163-替PCF8563等
单片机·嵌入式硬件·fpga开发
悲喜自渡7212 小时前
FPGA学习(自用)
fpga开发
国科安芯11 小时前
芯片抗单粒子性能研究及其在商业卫星测传一体机中的应用
嵌入式硬件·安全·fpga开发·性能优化·硬件架构
szxinmai主板定制专家19 小时前
RK3588 8个USB工控解决方案,适用于机器视觉,工业互联等
arm开发·人工智能·fpga开发
Aaron15881 天前
RFSOC与ADRV9009、AD9026、AD9361技术指标及应用场景对比分析
人工智能·算法·fpga开发·硬件工程·信息与通信·信号处理·基带工程
忙碌5442 天前
实战指南:如何用Docker+Kubernetes高效部署机器学习模型
fpga开发
国科安芯2 天前
实战验证:ASM1042S2S CANFD收发器的质子单粒子效应试验与在轨性能
网络·人工智能·单片机·嵌入式硬件·物联网·fpga开发