某些FPGA終端允許通過(guò)FPGA VI生成中斷以通知主控VI事件。例如,數(shù)據(jù)已準(zhǔn)備好、產(chǎn)生錯(cuò)誤或任務(wù)完成。如要判定終端是否支持中斷,請(qǐng)?jiān)L問(wèn)FPGA終端屬性對(duì)話(huà)框的常規(guī)頁(yè)面的終端信息部分。
等待和確認(rèn)信號(hào)終端
按照下列步驟在主控VI中等待和通知信號(hào)中斷
1、打開(kāi)至FPGA VI的引用或位文件。
2、在數(shù)據(jù)流中需要主控VI等待來(lái)自FPGA VI的中斷的位置,添加調(diào)用方法函數(shù)至主控VI的程序框圖。請(qǐng)確保連線(xiàn)FPGA VI引用輸入輸入端。
3、右鍵單擊“調(diào)用方法”函數(shù),從快捷菜單中選擇方法?等待IRQ。
4、右鍵單擊“調(diào)用方法”函數(shù)的IRQ編號(hào)輸入端并從快捷菜單中選擇創(chuàng)建?常量。或者創(chuàng)建輸入控件。
5、輸入在FPGA VI中選中的邏輯中斷的值。
6、如要指定主控VI繼續(xù)數(shù)據(jù)流前等待的最大中斷時(shí)間,請(qǐng)連線(xiàn)超時(shí)輸入端。默認(rèn)情況下,主控VI不會(huì)等待中斷發(fā)生且僅返回已由FPGA VI設(shè)置的中斷?;蛘邽槌A窟B線(xiàn)–1值,即無(wú)限等待。使用超時(shí)輸入端時(shí),可使用超時(shí)輸出端判定主控VI是在發(fā)生超時(shí)還是接收到中斷時(shí)繼續(xù)數(shù)據(jù)流。如發(fā)生超時(shí),超時(shí)輸出端將返回TRUE。
7、右鍵單擊“調(diào)用方法”函數(shù)的IRQ暫停輸出端并從快捷菜單中選擇創(chuàng)建?顯示控件。LabVIEW將創(chuàng)建一個(gè)數(shù)值顯示控件。顯示控件的值為–1表示未接收到中斷。
8、在需要主控VI確認(rèn)來(lái)自FPGA VI的中斷位置的數(shù)據(jù)流中,添加調(diào)用方法函數(shù)至主控VI的程序框圖。如需要函數(shù)在僅當(dāng)主控VI收到中斷時(shí)執(zhí)行,可添加“調(diào)用方法”函數(shù)至條件結(jié)構(gòu)。如連線(xiàn)值為T(mén)RUE的布爾常量至中斷VI的等待前清零輸入端,請(qǐng)?jiān)跀?shù)據(jù)流中需要中斷VI停止等待的位置添加“調(diào)用方法”函數(shù)。請(qǐng)確保連線(xiàn)“調(diào)用方法”函數(shù)的FPGA VI引用輸入的輸入端。
9、右鍵單擊“調(diào)用方法”函數(shù),從快捷菜單中選擇方法?確認(rèn)IRQ。使用確認(rèn)IRQ方法確認(rèn)等待IRQ方法返回的邏輯中斷。
10、直接連線(xiàn)等待IRQ方法的IRQ暫停輸出端至確認(rèn)IRQ方法的IRQ編號(hào)的輸入端。
等待和確認(rèn)多個(gè)中斷
按照下列步驟等待和確認(rèn)主控VI中的多個(gè)中斷
1、打開(kāi)至FPGA VI的引用或位文件。
2、在數(shù)據(jù)流中需要主控VI等待來(lái)自FPGA VI的中斷的位置,添加調(diào)用方法函數(shù)至主控VI的程序框圖。請(qǐng)確保連線(xiàn)FPGA VI引用輸入輸入端。
3、右鍵單擊“調(diào)用方法”函數(shù),從快捷菜單中選擇方法?等待IRQ。
4、在程序框圖上放置一個(gè)數(shù)組常量。數(shù)組由索引框、元素框和可選標(biāo)簽組成。索引框位于左側(cè),元素框位于右側(cè)。
5、添加數(shù)值常量至數(shù)組。
6、使用定位工具將數(shù)組常量展開(kāi)為所需的中斷數(shù)。
7、輸入邏輯中斷的值。
8、連線(xiàn)數(shù)組常量至IRQ編號(hào)輸入端。
9、如要指定主控VI繼續(xù)數(shù)據(jù)流前等待的最大中斷時(shí)間,請(qǐng)連線(xiàn)超時(shí)輸入端。默認(rèn)情況下,主控VI不會(huì)等待中斷發(fā)生且僅返回已由FPGA VI設(shè)置的中斷?;蛘邽槌A窟B線(xiàn)–1值,即無(wú)限等待。使用超時(shí)輸入端時(shí),可使用超時(shí)輸出端判定主控VI是在發(fā)生超時(shí)還是接收到中斷時(shí)繼續(xù)數(shù)據(jù)流。如發(fā)生超時(shí),超時(shí)輸出端將返回TRUE。
10、右鍵單擊“調(diào)用方法”函數(shù)的IRQ暫停輸出端并從快捷菜單中選擇創(chuàng)建?顯示控件。LabVIEW創(chuàng)建一個(gè)數(shù)組顯示控件。IRQ暫停前面板顯示控件顯示FPGA終端暫停的終端數(shù)值??諗?shù)組表示未接收到終端。
11、在數(shù)據(jù)流中需要主控VI確認(rèn)來(lái)自FPGA VI的中斷的位置,添加“調(diào)用方法”函數(shù)至主控VI的程序框圖。如需要函數(shù)在僅當(dāng)主控VI收到中斷時(shí)執(zhí)行,可添加“調(diào)用方法”函數(shù)至條件結(jié)構(gòu)。如連線(xiàn)值為T(mén)RUE的布爾常量至中斷VI的等待前清零輸入端,請(qǐng)?jiān)跀?shù)據(jù)流中需要中斷VI停止等待的位置添加“調(diào)用方法”函數(shù)。請(qǐng)確保連線(xiàn)“調(diào)用方法”函數(shù)的FPGA VI引用輸入的輸入端。
12、右鍵單擊“調(diào)用方法”函數(shù),從快捷菜單中選擇方法?確認(rèn)IRQ。使用“確認(rèn)IRQ”方法確認(rèn)“等待IRQ”方法返回的邏輯中斷。
13、直接連線(xiàn)“等待IRQ”方法的IRQ暫停輸出端至“確認(rèn)IRQ”方法的IRQ編號(hào)輸入端。
評(píng)論