Stone_Mei的個(gè)人空間 http://selenalain.com/space-uid-139656.html [收藏] [復制] [RSS]

博客

在GX3500_GX3700G_X3700e FPGA儀器中如何使用中斷

已有 1402 次閱讀2018-8-31 15:12 | fpga, pxi, 中斷請求, 測試測量, interrupt

完整版鏈接:http://www.hongketest.com/portal.php?mod=view&aid=59

1.     概要

本篇文章主要介紹在FPGA設計中如何使用本GXFPGA驅動(dòng)創(chuàng )建一個(gè)中斷事件/請求。

2.     簡(jiǎn)介

中斷作為硬件與軟件握手和同步的手段而被廣泛使用,可用于表示硬件進(jìn)程的完成或軟件執行過(guò)程中的請求。Gx3500 & GX3700/GX3700e用戶(hù)可編程FPGA板卡都支持這一特性,并向FPGA設計者開(kāi)放專(zhuān)用的硬件中斷引腳;軟件方面,三個(gè)API函數用于中斷管理和設置。

在開(kāi)始編程設計之前,請進(jìn)行以下準備:

l  檢查并更新Gx3500 & GX3700/GX3700e最新固件。FPGA包含設備的核心固件,FPGA版本必須為B003及其以上。使用虛擬軟面板GxFpgaPanel.exe)對GX3500進(jìn)行初始化后,點(diǎn)擊About按鈕,點(diǎn)擊Upgrade Firmware按鈕,然后瀏覽選擇用于更新的固件文件(.RPD文件)。

l  檢查并安裝最新的GXFPGA.exe驅動(dòng)1.2或更高版本)。

3.     軟件

用戶(hù)可以 以下兩種方式中選擇一種方式處理硬件中斷:

l  無(wú)論中斷事件/請求何時(shí)發(fā)生,都調用回調(callback)函數(GxFpgaSetEvent)。

l  等待,直到中斷事件/請求發(fā)生或超時(shí)(GxFpgaWaitOnEvent

3.1  GxFpgaSetEvent

GxFpgaSetEvent(SHORT nHandle, SHORT nEventType, BOOL bEnable, Gt_EventCallback procCallback, PVOID pvUserData, PSHORT pnStatus)

 

此函數用于控制是否捕捉中斷事件/請求,并設置用于處理中斷事件/請求的回調函數。

nEventType:捕捉的事件/請求類(lèi)型。通常此值必須設置為 GT_EVENT_INTERRUPT。bEnable:布爾量,控制啟用或關(guān)閉中斷事件/請求的創(chuàng )建。
procCallBack
:一個(gè)回調函數(函數指針)。

pvUserData:一個(gè)指向用戶(hù)數據(標量或結構體)的指針,在中斷事件/請求發(fā)生時(shí),會(huì )傳遞給回調函數。

 

注意:回調函數原型必須符合以下形式,函數名可以任意。

GxFpgaCallBack(SHORT nHandle, SHORT nEventType, PVOID pvUserData)

3.2  GxFpgaWaitOnEvent

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

 

此函數會(huì )阻止程序的執行,并等待中斷事件/請求的發(fā)生。

nEventType:捕捉的事件/請求類(lèi)型。通常此值必須設置為 GT_EVENT_INTERRUPT。

lTimeout:超時(shí)(ms),用于設置等待中斷事件/請求的時(shí)間,若在此時(shí)間內中斷事件/請求沒(méi)有發(fā)生則繼續執行程序。

3.3  GxFpgaDiscardEvents

GxFpgaDiscardEvents(SHORT nHandle, SHORT nEventType, PSHORT pnStatus)

 

此函數用于清除所有掛起的中斷請求。

nEventType:捕捉的事件/請求類(lèi)型。通常此值必須設置為 GT_EVENT_INTERRUPT。

4.     硬件

在進(jìn)行FPGA設計時(shí),可使用IRQ(見(jiàn)GX3500用戶(hù)手冊GX3700/GX3700e用戶(hù)手冊Pin Assignment Table)引腳創(chuàng )建一個(gè)硬件中斷事件/請求。IRQ引腳輸入信號為上升沿時(shí),創(chuàng )建中斷事件/請求

5.     例程/范例

GXFPGA 驅動(dòng)包含一個(gè)例程,演示如何進(jìn)行中斷事件/請求編程。參閱…\GxFpga\Examples\C文件夾內的GxFpgaExampleC.cppGxFpgaExampleIRQx250ms.rpdFPGA設計文件) 。

在例程中,每250ms創(chuàng )建一個(gè)中斷事件/請求。

 

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
返回頂部
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页