首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >同样是ARM+FPGA,这套方案的中断响应仅2.7μs

同样是ARM+FPGA,这套方案的中断响应仅2.7μs

原创
作者头像
创龙科技Tronlong
发布2026-07-17 14:05:21
发布2026-07-17 14:05:21
490
举报

在运动控制、数据采集和图像处理等工业场景中,普遍面临“ARM响应慢”、“ARM与FPGA通信延迟高或带宽低”等问题。

今天给大家带来瑞芯微RK3576 + FPGA的PCIe XDMA实时通信方案,基于“AMP异构多核 + GPIO硬件中断 + PCIe XDMA高速搬运”,实现全链路微秒级确定性延迟,零误码稳定传输,实现国产化工业实时控制需求。

2.7μs低时延响应

全链路的延迟表现如下:

FPGA GPIO中断触发 → ARM GPIO中断响应(ARM GPIO输出高电平)(2.7us) → PCIe XDMA启动(2.7us) → PCIe写数据(12.5us),总时长:17.9us。

图1
图1

仅2.7us的硬件中断响应,证明了该方案在处理突发实时事件时的卓越性能,满足系统硬实时需求。

AMP多核异构架构

这套方案的核心,在于充分挖掘RK3576的多核异构潜力。

AMP非对称多核架构

Linux常规系统:运行在Cortex-A72(CPU0~3)和Cortex-A53(CPU0~2)核心,负责复杂的业务逻辑与网络通信。

RTOS实时系统:独立运行在Cortex-A53(CPU3)核心上,专门负责处理PCIe链路管理和实时IO交互。

GPIO中断触发机制

为了避免Linux系统调度带来的不确定性延迟,我们将实时性要求最高的GPIO中断处理放在了RTOS系统上,这种“专核专用”的模式,确保了中断响应不受Linux系统负载波动的影响。

图2
图2

▍PCIe XDMA高速搬运

基在数据传输层面,我们采用XDMA技术,利用PCIe总线的高带宽特性,实现FPGA与ARM内存之间的高速数据交换。

XDMA允许FPGA直接访问ARM的DDR内存,无需CPU参与数据搬运,极大地降低了CPU负载。

▍方案实测验证

我们通过Xilinx Artix-7 FPGA端的KEY0按键,模拟外部中断触发。按下按键,Artix-7 FPGA会产生GPIO中断,RTOS响应中断并启动PCIe XDMA搬运。

图3
图3
图4
图4

使用示波器测量Artix-7 FPGA GPIO(绿色波形)中断触发至ARM GPIO(黄色波形)输出高电平的时间间隔约为2.7us,即ARM GPIO中断响应时间约为2.7us。

图5
图5

串口终端将打印GPIO中断次数、ARM GPIO中断响应到启动PCIe XDMA的耗时、PCIe平均读写速率、PCIe读写耗时、误码率等相关信息,如下图所示:

图6
图6

从上图打印信息可知,ARM GPIO中断响应到启动PCIe XDMA的平均耗时为2.7us,最大耗时为4us。

图7 中断响应测试结果
图7 中断响应测试结果
图8 PCIe读写速率测试结果
图8 PCIe读写速率测试结果

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ▍2.7μs低时延响应
  • ▍AMP多核异构架构
  • ▍PCIe XDMA高速搬运
  • ▍方案实测验证
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档