最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

LabVIEWCompactRIO 開發(fā)指南第六章42

2023-05-30 18:07 作者:bjcyck  | 我要投稿

LabVIEWCompactRIO?開發(fā)指南第六章42

要使用用戶控制的I/O示例方法進行編程,請按照以下步驟操作,這些步驟引用了圖6.9中的示例程序。

初始化進程

1.調用重置I/O函數。此調用完成后,模塊已準備好使用用戶控制的I/O采樣函數執(zhí)行采集。必須首先調用復位I/O函數,以準備NI9223以使用其他用戶控制的I/O采樣函數。

2.將停止的布爾值設置為false。此布爾值在最后一個序列幀中的While循環(huán)之間提供同步。如果任何循環(huán)停止,則會導致其他循環(huán)也停止。

3.使用中斷向主機發(fā)出信號,表明FPGA已準備好開始采集數據,并等待開始采集,直到主機確認。這對于確保在獲取數據之前啟動DMAFIFO是必要的。

循環(huán)1

4.調用生成I/O采樣脈沖函數以開始采集數據。調用此函數的速率決定了采集的采樣速率,因此使用循環(huán)計時器來強制執(zhí)行所需的采樣周期。

循環(huán)2

5.調用讀取I/O函數以讀取從模塊獲取的數據。此功能配置為從模塊上的每個通道讀取單個樣本。由于此函數等待數據可用,因此提供了大量但非無限的超時。對于默認的40MHz頂級時鐘,超時為1秒。

6.將采集的數據寫入DMAFIFO。

7.如果在等待來自模塊的數據或等待將數據寫入DMAFIFO時發(fā)生超時,則向主機報告超時并停止VI。

循環(huán)3

8.調用“獲取讀取I/O狀態(tài)”函數的速率與調用“生成I/O采樣脈沖”函數的速率相同。這將檢查獲取的每個樣品的狀態(tài)。如果發(fā)生“覆蓋”或“樣本門控”(輸出=true),則向主機報告狀態(tài)并停止VI。在此示例中,此循環(huán)包含在關系圖禁用結構中,以使其易于從應用程序中移除。調用“獲取讀取I/O狀態(tài)”函數對于開發(fā)和調試很有用,但如果應用程序中沒有可變計時,則對于部署不是絕對必需的。在圖6.9示例中,除非頂部循環(huán)的采樣周期小于模塊支持的最小采樣周期,否則無法獲取樣本門控狀態(tài)。但是,如果主機VI無法足夠快地從DMAFIFO讀取,則此應用程序可能會產生覆蓋狀態(tài)。

Δ-Σ調制

表6.2.具有Δ-Σ調制的同步模塊示例

許多專為高速、動態(tài)測量而設計的C系列模塊都使用三角積分(Δ∑)轉換器。為了更好地了解這些模塊的工作原理,必須首先了解Δ-Σ調制的基礎知識。希臘字母delta和sigma分別是差和和的數學符號。Δ-Σ轉換器的調制電路比較所需電壓輸入V輸入與已知基準電壓V參考之間的差值和。比較器的輸出變?yōu)楸忍亓?,送入數字濾波器和1位DAC。由于這種負反饋,差值在0V或地附近振蕩。數字濾波器有效地跟蹤差異高于0V的次數,并根據該計數和基準電壓確定輸入電壓。該調制環(huán)路的運行頻率遠高于轉換器的實際輸出頻率。

帶有Δ-Σ轉換器的C系列模塊具有運行調制電路的過采樣時鐘。過采樣時鐘以12MHz或更快的頻率運行,會影響時序、同步和編程范例。以下列表提供了對使用三角積分調制的C系列模塊的具體挑戰(zhàn)的見解。

■需要同步脈沖復位—過采樣時鐘在使用前需要“復位”。這就是為什么有一個LabVIEW?FPGAI/O節(jié)點來向模塊發(fā)送“開始”事件的原因。

■數據就緒時間不為零-“啟動”事件和數據可用性之間的時間指定為“首次數據的時間”。這個時間在不同的基于增量西格瑪的模塊之間可能略有不同,而在其他類型的模塊之間可能有很大的不同。按需模塊的“首次數據時間”為零??梢詤⒖迹篕nowledgeBase4DAEUNNQ:?How?Do?I?Compensate?for?Different?Group?Delays?With?C?Series?Modulesin?LabVIEW?FPGA??and?KnowledgeBase53CHLD6C:?What?Is?the?Best?Method?to?Synchronize?Two?Different?DSA?Modules?inLabVIEW?FPGA?

■采樣速率是離散且特定的—由于過采樣時鐘和數字濾波器,Δ-Σ模塊只能以離散采樣速率運行。這些采樣率是除數和過采樣時鐘的函數。這就是為什么增量西格瑪模塊的“速率”輸入是預定采樣率的枚舉數據類型。如果嘗試輸入不支持的采樣率,則會將其舍入到下一個可用的最高采樣率。

■最小采樣率大于1kHz—Δ-Σ模塊的最小采樣率通常超過1kHz。使用平均、濾波或某種形式的抽取來進一步減少數據集,使其超出模塊上數字濾波器輸出的速率。

■沒有不規(guī)則或外部時鐘—Δ-Σ模塊無法“按需”報告數據,因此不能處理不規(guī)則定時的I/O節(jié)點調用,因為迭代過程必須完成大量循環(huán)才能返回準確的數據。增量西格瑪模塊的I/O節(jié)點始終阻塞模塊設置為采集的確切(Δt)。間隔小于Δt的I/O節(jié)點調用必須等到完整采樣周期完成。這為過采樣電路提供了足夠的時間來計算精確值。為了彌補這一點,在處理數據或在控制環(huán)路中使用數據之前,在FPGA上實施重采樣算法。

■?塊—需要同步的兩個增量Σ模塊必須共享相同的過采樣時鐘。要同步模塊,必須從右鍵點擊屬性菜單將一個模塊的過采樣時鐘導出為LabVIEW項目中的“源”模塊。它必須從其他“客戶端”模塊的同一菜單中導入。任何模塊都可以是“源”或“客戶端”模塊—由程序員自行決定。請記住,從項目視圖對模塊屬性窗口所做的更改會導致重新編譯,并且無法在運行時更改。

可以在圖6.10所示的示例程序NI9234?Getting?Started.lvprj的框圖中看到其中的許多警告。

圖6.10.NI?9234?GettingStarted.lvprj的框圖

可以在NI示例查找器中找到所有三角積分模塊的示例程序。

需要說明的是,上述的例程和文檔,都是可以下載的,雙擊即可打開,其中壓縮文件是可以采用粘貼復制的方式,拷貝到硬盤上。這不是圖片,各位小伙伴看到后嘗試一下,這個問題就不用加微信咨詢了。有關LabVIEW編程、LabVIEW開發(fā)等相關項目,可聯(lián)系們。附件中的資料這里無法上傳,可去公司網站搜索下載。


LabVIEWCompactRIO 開發(fā)指南第六章42的評論 (共 條)

分享到微博請遵守國家法律
阳谷县| 凤庆县| 祁阳县| 浑源县| 威远县| 万源市| 桂林市| 江永县| 平山县| 西城区| 八宿县| 博白县| 邹平县| 日土县| 韶关市| 开化县| 乐都县| 金阳县| 彭泽县| 平遥县| 松阳县| 读书| 涟源市| 湖州市| 吉木萨尔县| 台安县| 泾阳县| 肥城市| 博野县| 兴业县| 伊宁县| 鹤峰县| 买车| 缙云县| 麻江县| 辽阳县| 开封县| 临邑县| 福鼎市| 三原县| 东港市|