基于FPGA和PCI的AFDX终端接口卡设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于FPGA和PCI的AFDX终端接口卡设计。
若是Local 中断,则应用程序发送DMA 读写命令,该操作将IRP 传递
给驱动调用SerialRead()或SerialWrite()例程,运行回调例程OnDmaReady()判定是否符合DMA 传输条件并开启StartDMA()例程实现DMA 传输,产生DMA 中断;若是DMA 中断,则调用OnDmaReady()例程判定DMA 传输是否结束,未结束则再一次开启StartDMA()例程继续DMA 传输并产生中断。
如此循环一
直到完成所有的DMA 传输,应用程序结束线程。
为提高设备驱动程序的安全
性和可靠性,在设计中采用自旋锁来保护共享数据和设备寄存器,编写程序时
严格遵循编程规范和C++语言标准语法格式。
3 仿真与测试基于本文的设计方案,借助Altera 公司的Quartus II 软件对AFDX 接口卡的关键模块进行了功能和时序仿真。
发送模块时序仿真如图7 所示。
当主机需要发送数据时,通过给
发送模块发送一个脉冲信号TxStartFrm 来指示数据帧发送的开始,发送模块检测到这个脉冲后使发送使能MTxEn 有效,开始数据的发送。
由图7 可知,发
送模块发送的数据与待发送数据一致,较好地完成了发送模块的功能。
接收模
块时序仿真如图8 所示。
当接收开始信号RxStartFrm 有效时,RxValid 信号被
置为可用状态,开始数据的接收过程。
接收MRxD 表示从MAC 发送过来的数据。
由图8 可知,接收模块工作正常,较好地完成了接收模块的功能,满足设
计的要求。
在对系统的功能和时序进行仿真并保证仿真正确的基础上,将协议
芯片的设计下载到Altera 公司生产的Stratix II 系列的EP2S180F1020C5 中,并使用Sniffer 协议分析软件进行在线系统验证。
验证表明,该协议芯片最高工作
频率可达152.64 MHz,满足AFDX 协议对时延和抖动的要求,且能正确、完整地完成发送和接收功能,通信正常。
使用SoftICE 调试了PCI 驱动程序,结
果表明,驱动程序能正确加载,能实现对硬件的正确驱动和控制管理,中断正。