一种基于SRIO门铃中断的FPGA与DSP抗干扰传输方法
本发明属于高速嵌入式异构系统数据传输,特别涉及一种基于srio门铃中断的fpga与dsp抗干扰传输方法。
背景技术:
1、传统的emif总线会占用大量fpga的i/o引脚,且传输速率较低。相比之下,srio(serial rapidio)是一种面向嵌入式系统开发的高可靠、高性能、基于包交换的新一代高速互联技术,其物理层采用高速差分串行信号传输。srio协议能够以较少的引脚支持可扩展拓扑和多点互连,适用于芯片之间、板卡之间以及芯片与板卡之间的高速数据交换。凭借低功耗、引脚占用少、高带宽和高可靠性等特点,srio已广泛应用于串行背板互连、dsp互连及数据平面互连等场景。
2、在dsp与fpga的嵌入式异构系统中,数据交互通常依赖硬件引脚中断配合高速串行总线完成。实际电路中,信号电平抖动极易引发中断误触发,进而导致数据读取错误。链路层方面,高速传输缺乏可靠的同步校验手段,一旦丢帧,收发双方便会失去同步,影响系统可靠性。传统设计中,为保障传输质量引入的复杂缓存架构,也使软件层级变得繁琐,降低了实时响应性能。
3、因此,现有技术中亟需一种能够有效避免硬件中断误触发、能够实时检测数据丢帧,并简化系统架构的fpga与dsp通信方法。
技术实现思路
1、本发明的目的在于克服现有技术的不足,提供一种基于srio门铃中断的fpga与dsp抗干扰传输方法。该方法利用srio协议的门铃中断替代传统硬件引脚中断,从机制上消除电平抖动、电磁干扰导致的中断误触发问题;同时通过门铃计数器与中断计数器差值比对,无需额外发送专用链路检测数据包,实现srio链路丢帧的实时监测与故障预警,在简化实现架构的同时,显著提升传输的抗干扰性与可靠性。
2、为实现上述目的,本发明采用一种基于srio门铃中断的fpga与dsp抗干扰传输方法,具体包括以下步骤:
3、步骤s1:fpga端获取当前门铃计数器的计数值,将所述计数值与待传输的用户数据一并封装至srio数据包;
4、步骤s2:fpga端通过srio协议向dsp端发送门铃事务包,通知dsp端数据已准备就绪,并在发送所述srio门铃事务包后,使所述门铃计数器执行自增操作;
5、步骤s3:dsp端响应接收到的门铃中断,使中断计数器执行自增操作,并通过srio读事务读取fpga端存储的包含所述计数值与用户数据的srio数据包;
6、步骤s4:dsp端解析接收到的srio数据包,提取所述计数值,并计算所述中断计数器的当前值与提取出的所述计数值之间的差值;
7、步骤s5:若所述差值等于预设值,则判定srio链路传输正常,执行后续数据处理;若所述差值不等于预设值,则判定srio链路发生丢帧异常,丢弃当前接收的数据包并输出链路故障报警信号。
8、进一步地,步骤s3中所述srio读事务,具体为dsp通过nread事务从fpga读取所述srio数据包。
9、进一步地,门铃计数器的初始值为0。在每轮数据传输中,组包时读取的是门铃计数器自增前的当前值,并将该值写入数据包;组包完成后,fpga发起门铃事务,此时门铃计数器才执行自增操作。因此,dsp端在本次传输中从所述srio数据包中读取到的门铃计数器计数值,实际上对应于上一次传输完成后fpga端的计数器状态,与dsp端中断计数器当前记录的接收次数二者相差1。基于此,通过判断dsp端中断计数器与所收到门铃计数器值的差值是否为1,即可检测本次传输是否存在丢帧。
10、本发明的有益效果在于:
11、(1) 本发明以门铃中断替代传统依赖于外部gpio引脚上升沿或下降沿跳变触发的硬件中断,避免了因外部信号抖动而导致的误触发,提升了系统的抗干扰能力与稳定性;
12、(2) 本发明在fpga与dsp两端分别设置门铃计数器和中断计数器,通过在中断处理函数中实时比对计数值的差值,实现链路状态监测与故障报警,能够有效检测因链路异常导致的丢帧问题。
1.一种基于srio门铃中断的fpga与dsp抗干扰传输方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于srio门铃中断的fpga与dsp抗干扰传输方法,其特征在于,步骤s3中所述srio读事务,具体为dsp通过nread事务从fpga读取所述srio数据包。
3.根据权利要求1所述的一种基于srio门铃中断的fpga与dsp抗干扰传输方法,其特征在于,所述步骤s5中预设值为1,若所述差值等于1,判定链路正常,否则判定链路发生丢帧异常,并输出报警信号。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com