LabVIEWCompactRIO 開(kāi)發(fā)指南第六章40 模塊分類(lèi)
模塊分類(lèi)
本節(jié)介紹不同類(lèi)型的C系列I/O模塊。需要了解這些模塊是如何設(shè)計(jì)以正確實(shí)現(xiàn)計(jì)時(shí)和同步的。模塊分類(lèi)的基本類(lèi)型如圖6.6所示。

圖6.6.C系列模塊分類(lèi)組織樹(shù)
直接FPGA通信
在CompactRIO機(jī)箱中與FPGA直接通信的模塊,將來(lái)自模塊前部I/O連接器的信號(hào)通過(guò)模塊背面的15針D-SUB路由到FPGA。這種架構(gòu)使得使用直接FPGA通信模塊進(jìn)行編程變得更加容易,因?yàn)榭梢詫⒚織l線路視為一個(gè)唯一的編程實(shí)體。唯一使用直接FPGA通信的模塊是具有8條或更少線路的數(shù)字I/O(DIO)模塊。
并行數(shù)字
由于直接FPGA通信模塊上的每條數(shù)字線都編程為一個(gè)單獨(dú)的實(shí)體,因此具有八個(gè)或更少通道的數(shù)字模塊也稱為并行數(shù)字模塊。這些模塊的并行設(shè)計(jì)使得其最容易在LabVIEW中編程。并行數(shù)字模塊的I/O節(jié)點(diǎn)可以從SCTL調(diào)用,這使得編程更加高效,并且可以從單獨(dú)的環(huán)路同時(shí)調(diào)用單個(gè)通道線,如圖6.7所示,無(wú)需擔(dān)心仲裁。

圖6.7.可以從單獨(dú)的環(huán)路調(diào)用同一并行數(shù)字模塊上的線路
請(qǐng)注意,在8通道并行模塊的DIO線路上的任何時(shí)間要求改變方向都會(huì)導(dǎo)致中斷,必須在LabVIEW框圖上適當(dāng)?shù)靥幚碓撝袛?,以防止在方向改變時(shí)使用的其他線路出現(xiàn)毛刺或抖動(dòng)。NI9402沒(méi)有這個(gè)問(wèn)題。四條線用于DIO,其他四條線用于控制方向。方向更改可以獨(dú)立于數(shù)據(jù)傳輸發(fā)生。NI9401是最廣流行的DIO模塊之一,使用所有八條DIO線,并且必須切換模式來(lái)通信線路狀態(tài)。此模式更改會(huì)影響所有DIO線路,無(wú)論哪些線路正在更改狀態(tài)。
SPI總線通信
串行外設(shè)接口總線(SPI)是一種標(biāo)準(zhǔn)的4線通信協(xié)議,用于主/從、全雙工(雙向同時(shí))通信??偩€時(shí)鐘速率通常為1MHz至70MHz。CompactRIO硬件用于與C系列模塊通信的SPI時(shí)鐘速率各不相同,但通常工作在10MHz左右。
SPI總線模塊的通用架構(gòu)包含一個(gè)復(fù)雜的可編程邏輯器件(CPLD),該器件在模塊側(cè)控制ADC/DAC芯片的時(shí)序和數(shù)據(jù)收集。在機(jī)箱側(cè),CPLD通過(guò)SPI總線與FPGA通信。根據(jù)使用的特定模塊和插槽位置,LabVIEWAPI知道如何以及在何處與模塊上各個(gè)CPLD進(jìn)行通信。這就是新版LabVIEW中增加新模塊支持的原因。
SPI總線挑戰(zhàn)
無(wú)論前端電路如何,每個(gè)SPI模塊都通過(guò)一條專用SPI總線與CompactRIO機(jī)箱中的FPGA通信。這意味著,即使可以并行執(zhí)行到模塊的命令(來(lái)自LabVIEW框圖上的多個(gè)環(huán)路)或數(shù)據(jù)檢索(來(lái)自具有多個(gè)ADC的模塊),但這些命令必須通過(guò)單個(gè)SPI總線進(jìn)行隔行處理。LabVIEW和NI-RIO驅(qū)動(dòng)程序可以正確地優(yōu)先處理同時(shí)傳入的多個(gè)呼叫,但如果一個(gè)呼叫在前一個(gè)呼叫仍在處理時(shí)傳入,則可能會(huì)在控制或數(shù)據(jù)采集循環(huán)中引入不需要的抖動(dòng)。傳達(dá)這一概念的另一種方式是,從LabVIEW?FPGA程序的不同部分對(duì)單個(gè)模塊的I/O節(jié)點(diǎn)調(diào)用會(huì)產(chǎn)生“硬件競(jìng)爭(zhēng)條件”。這絕不會(huì)限制模塊或CompactRIO系統(tǒng)的能力,但需要在程序內(nèi)仲裁I/O節(jié)點(diǎn)調(diào)用。執(zhí)行此操作的最簡(jiǎn)單方法是將所有I/O節(jié)點(diǎn)調(diào)用保留在同一循環(huán)中,但也可以使用序列結(jié)構(gòu)或信號(hào)量??梢栽贜I開(kāi)發(fā)人員專區(qū)文檔LabVIEW?FPGA的信號(hào)量參考設(shè)計(jì)中找到LabVIEW?FPGA信號(hào)實(shí)現(xiàn)的參考設(shè)計(jì)。
在繼續(xù)閱讀有關(guān)模塊的不同分類(lèi)的信息時(shí),請(qǐng)注意,所有使用SPI通信的模塊都必須遵守相同的硬件仲裁警告。
需要說(shuō)明的是,上述的例程和文檔,都是可以下載的,雙擊即可打開(kāi),其中壓縮文件是可以采用粘貼復(fù)制的方式,拷貝到硬盤(pán)上。這不是圖片,各位小伙伴看到后嘗試一下,這個(gè)問(wèn)題就不用加微信咨詢了。有關(guān)LabVIEW編程、LabVIEW開(kāi)發(fā)等相關(guān)項(xiàng)目,可聯(lián)系們。附件中的資料這里無(wú)法上傳,可去公司網(wǎng)站搜索下載。