DMA采集与主机同步:FPGA中断与实时应用协同

需积分: 50 22 下载量 82 浏览量 更新于2024-08-06 收藏 11.87MB PDF 举报
"本文档详细介绍了与主机同步的DMA(Direct Memory Access)采集技术,特别是在gicv3软件环境下的应用。文档通过图6.21和图6.22阐述了下溢检查、采样模式以及如何实现主机与FPGA(现场可编程门阵列)之间的同步,以避免DMA缓冲区溢出和实时应用程序超时的问题。同时,讨论了在 CompactRIO (ni)系统中,如何进行板载标定与通道总数的确认,确保数据正确地按通道顺序排列。 在DMA采集过程中,有两种主要的采集类型:连续采集和有限采集。连续采集允许数据持续不断地传输,而有限采集则会在读取特定数量的数据后自动停止,增加了应用的灵活性。采集类型的设定也会影响为主控制器分配的实时DMA缓冲区的内存大小。 主机同步是通过中断机制实现的,如图6.22所示。在应用程序启动时,FPGA等待主机确认中断,然后开始数据采集。在采集过程中,"第一次读取"指示器标记数据采集的开始,"完成"指示器用于指示采集循环的结束。外部while循环负责重新运行FPGA代码以进行新的采集任务,且在新任务开始前,会保持中断状态等待主机确认。 数据处理时,由于多个通道的数据交织在DMA FIFO中,实时应用程序需要按通道数重新组织数据。例如,如果有四个通道,就需要将一维FIFO数组转换为二维数组。因此,确保实时应用程序与FPGA VI(Virtual Instrument)的通道数量匹配至关重要。 此外,文档还提供了对CompactRIO系统的基础介绍,包括实时控制器、可重构的FPGA机箱、工业级I/O模块的概述,以及控制系统架构的基本规则和设计方法,如状态机编程模型,这对于理解整个系统的工作流程和控制逻辑具有指导意义。" 这篇摘要涵盖了标题和描述中的关键知识点,包括DMA采集模式、主机同步、中断机制、数据重组以及CompactRIO系统的组件和控制架构。内容详实,旨在提供全面的IT知识。