请选择 进入手机版 | 继续访问电脑版
虹科测试测量 首页 客户支持 常见问题 查看内容

在GX3500_GX3700G_X3700e FPGA仪器中如何使用中断

2018-8-31 15:05| 发布者: Stone_Mei| 查看: 94| 评论: 0|原作者: Stone_Mei

摘要: 本篇文章主要介绍在FPGA设计中如何使用本GXFPGA驱动创建一个中断事件/请求。
1.    概要
       本篇文章主要介绍在FPGA设计中如何使用本GXFPGA驱动创建一个中断事件/请求。

2.    简介
       中断作为硬件与软件握手和同步的手段而被广泛使用,可用于表示硬件进程的完成或软件执行过程中的请求。Gx3500 & GX3700/GX3700e用户可编程FPGA板卡都支持这一特性,并向FPGA设计者开放专用的硬件中断引脚;软件方面,三个API函数用于中断管理和设置。
       在开始编程设计之前,请进行以下准备:
              l  检查并更新Gx3500 & GX3700/GX3700e最新固件。FPGA包含设备的核心固件,FPGA版本必须为B003及其以上。使用虚拟软面板(GxFpgaPanel.exe)对GX3500进行初始化后,点击About按钮,点击Upgrade Firmware按钮,然后浏览选择用于更新的固件文件(.RPD文件)。
              l  检查并安装最新的GXFPGA(.exe)驱动(1.2或更高版本)。

3.    软件
       用户可以 以下两种方式中选择一种方式处理硬件中断:
       l  无论中断事件/请求何时发生,都调用回调(callback)函数(GxFpgaSetEvent)。
       l  等待,直到中断事件/请求发生或超时(GxFpgaWaitOnEvent

3.1  GxFpgaSetEvent
       GxFpgaSetEvent(SHORT nHandle,SHORT nEventType, BOOL bEnable, Gt_EventCallback procCallback, PVOIDpvUserData, PSHORT pnStatus)

       此函数用于控制是否捕捉中断事件/请求,并设置用于处理中断事件/请求的回调函数。
       nEventType:捕捉的事件/请求类型。通常此值必须设置为 GT_EVENT_INTERRUPT
       bEnable:布尔量,控制启用或关闭中断事件/请求的创建。
       procCallBack:一个回调函数(函数指针)。
       pvUserData:一个指向用户数据(标量或结构体)的指针,在中断事件/请求发生时,会传递给回调函数。

       注意:回调函数原型必须符合以下形式,函数名可以任意。
       GxFpgaCallBack(SHORT nHandle,SHORT nEventType, PVOID pvUserData)

3.2  GxFpgaWaitOnEvent
       GxFpgaWaitOnEvent(SHORT nHandle, SHORT nEventType,LONG lTimeout, PSHORT pnStatus)

       此函数会阻止程序的执行,并等待中断事件/请求的发生。
       nEventType:捕捉的事件/请求类型。通常此值必须设置为 GT_EVENT_INTERRUPT
       lTimeout:超时(ms),用于设置等待中断事件/请求的时间,若在此时间内中断事件/请求没有发生则继续执行程序。

3.3  GxFpgaDiscardEvents
       GxFpgaDiscardEvents(SHORT nHandle, SHORTnEventType, PSHORT pnStatus)

       此函数用于清除所有挂起的中断请求。
       nEventType:捕捉的事件/请求类型。通常此值必须设置为 GT_EVENT_INTERRUPT

4.    硬件
       在进行FPGA设计时,可使用IRQ(见GX3500用户手册GX3700/GX3700e用户手册的Pin Assignment Table)引脚创建一个硬件中断事件/请求。IRQ引脚输入信号为上升沿时,创建中断事件/请求

5.    例程/范例
       GXFPGA 驱动包含一个例程,演示如何进行中断事件/请求编程。参阅…\GxFpga\Examples\C文件夹内的GxFpgaExampleC.cpp与 GxFpgaExampleIRQx250ms.rpd(FPGA设计文件) 。
       在例程中,每250ms创建一个中断事件/请求。
1.png

鲜花

握手

雷人

路过

鸡蛋

相关阅读

相关分类

 
QQ在线咨询
售前咨询热线
400-999-3848
售后服务热线
400-999-3848
返回顶部