新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 在PC上運(yùn)行的實(shí)時(shí)操作系統(tǒng)LabVIEWRT

在PC上運(yùn)行的實(shí)時(shí)操作系統(tǒng)LabVIEWRT

作者: 時(shí)間:2006-05-07 來(lái)源:網(wǎng)絡(luò) 收藏

實(shí)時(shí)操作和硬實(shí)時(shí)操作系統(tǒng)

本文引用地址:http://m.butianyuan.cn/article/241589.htm

電子測(cè)試和工業(yè)測(cè)控都依賴各種PC作為控制器,因?yàn)镻C的硬件、軟件資源豐富,價(jià)格實(shí)惠,采用開(kāi)放式工業(yè)標(biāo)準(zhǔn),完全滿足作為測(cè)試系統(tǒng)的主控機(jī),以及單機(jī)的微控制器的各種要求。特別是PC基數(shù)據(jù)采集系統(tǒng)和虛擬儀器的問(wèn)世,PC在系統(tǒng)、單臺(tái)、手提、模塊、板卡中同樣起著核心作用,反過(guò)來(lái),測(cè)試產(chǎn)品可從PC中獲得最新的計(jì)算機(jī)和網(wǎng)絡(luò)成果。PC基的數(shù)據(jù)采集廣泛用來(lái)解決信號(hào)測(cè)控的各種問(wèn)題,可用比傳統(tǒng)儀器和控制器更低的投入,更快的上市時(shí)間開(kāi)發(fā)功能強(qiáng)大的測(cè)控系統(tǒng)。

表1 RT系列數(shù)據(jù)采集卡

型號(hào) 模擬輸入 分辨率 取樣率 輸入電壓 模擬輸出 數(shù)字I/O
6040E 16SE/8DI 12位 250ks/s ±0.05~±10V 2 8
6303 E16SE/8DI 16位 100ks/s ±0.1~±10V 2 8

當(dāng)前,大部分PC采用奔騰芯片和Windows操作系統(tǒng),芯片時(shí)鐘不斷升高,今年將超過(guò)1GHz,Windows版本也從95、98、NT升級(jí)至2000,PC不但是精巧的控制器,而且也是很好的服務(wù)器,性能直迫工作部。然而,由于Windows著重事務(wù)處理,雖然具有多任務(wù)、多線程、多媒體、網(wǎng)絡(luò)和通信功能,仍然不適用于對(duì)過(guò)程時(shí)間有嚴(yán)格要求的實(shí)時(shí)測(cè)控系統(tǒng)。

“實(shí)時(shí)”是工業(yè)最廣泛使用的術(shù)語(yǔ),但意義不夠明確,多數(shù)工程為員認(rèn)為實(shí)時(shí)是指在可接受的延時(shí)內(nèi)的時(shí)間,因?yàn)槿魏芜^(guò)程都不可能在瞬時(shí)產(chǎn)生。并且且硬實(shí)時(shí)間間表示一種對(duì)系統(tǒng)反應(yīng)時(shí)間的約束,在限定時(shí)間內(nèi)系統(tǒng)保證作業(yè)的無(wú)失效執(zhí)行,并符合實(shí)時(shí)的要求。我們用一個(gè)控制回路來(lái)表達(dá)實(shí)時(shí)應(yīng)用(見(jiàn)圖1),傳感器在某一時(shí)刻測(cè)得的物理量,經(jīng)過(guò)過(guò)程收集后作出控制決定,再產(chǎn)生控制輸出由執(zhí)行機(jī)構(gòu)去執(zhí)行。顯然,從傳感器測(cè)量至執(zhí)行器動(dòng)作之間需要占有一定時(shí)間,這個(gè)時(shí)間間隔稱為控制回路周期時(shí)間。如果回路周期時(shí)間得到保證,則系統(tǒng)是在確定情況下運(yùn)行。亦即,如果回路周期時(shí)間不確定,則系統(tǒng)是在不穩(wěn)定狀態(tài)下運(yùn)行。

測(cè)控系統(tǒng)一般是在PC的Windows下運(yùn)行。雖然Windows是可靠的操作系統(tǒng),但是并非可時(shí)操作系統(tǒng),工程為員不敢依靠Windows去執(zhí)行嚴(yán)格的硬實(shí)時(shí)應(yīng)用,因?yàn)閾?dān)心操作系統(tǒng)會(huì)“崩潰”。

LabVIEW RT和RT系列硬件

測(cè)控使用的PC基插卡中,以數(shù)據(jù)采集卡最普遍,數(shù)據(jù)采集卡充分利用計(jì)算技術(shù)的開(kāi)放系統(tǒng)、圖形用戶接口、連續(xù)性、網(wǎng)絡(luò)能力,構(gòu)建適于快速實(shí)時(shí)控制的對(duì)時(shí)間有嚴(yán)格要求的應(yīng)用。在編程工具中,美國(guó)國(guó)家儀器公司的LabVIEW已有20年的經(jīng)驗(yàn),在PC基儀器編程中,LabVIEW占有最大的份額。國(guó)家儀器公司生產(chǎn)的數(shù)據(jù)采集系統(tǒng)也是性能最好的產(chǎn)品之一。

然而,國(guó)家儀器公司的數(shù)據(jù)采集卡和LabVIEW都是在Windows平臺(tái)上運(yùn)行的,Windows并非確定性的實(shí)時(shí)操作系統(tǒng),在它的控制算法中,回路周期時(shí)間是變動(dòng)的,不能解決硬實(shí)時(shí)控制。對(duì)于Windows基PC來(lái)說(shuō),數(shù)據(jù)采集系統(tǒng)在執(zhí)行回控制時(shí)典型延時(shí)或抖動(dòng)是幾百毫秒。對(duì)于一般控制系統(tǒng)幾百毫秒的回路周期時(shí)間是可以接受的,例如溫度控制器通常只執(zhí)行每秒幾次的取樣和控制溫度,幾百毫秒的回路抖致力或不確定并不影響系統(tǒng)的穩(wěn)定。顯然,對(duì)于需要硬實(shí)時(shí)控制來(lái)說(shuō),往往要求控制回路的周期時(shí)間穩(wěn)定在幾十毫秒或者幾毫秒。Windows操作系統(tǒng)不適合這種高速的控制回路使用。

采用LabVIEW進(jìn)行處理,周期時(shí)間可達(dá)到8ms,但不夠穩(wěn)定,每隔幾分鐘左右周期時(shí)間會(huì)突然增加到30ms,原因是底層內(nèi)核或Windows內(nèi)務(wù)處理引起的變化。既然Windows和LabVIEW都不能解決硬實(shí)時(shí)控制的確定周期時(shí)間,用戶只能尋求其它解決方案,例如UNIX操作系統(tǒng)的實(shí)時(shí)軟件,使控制系統(tǒng)的總費(fèi)用達(dá)到幾萬(wàn)美元,而且編程為員還要重新學(xué)習(xí)難以掌握的命令集和在工作站上編程。

當(dāng)然,還有在PC和Windows平臺(tái)上發(fā)展的實(shí)時(shí)專用硬件和控制器,即有獨(dú)立的設(shè)備也有插卡,總線多種多樣,如VME、PCI或CompactPCI。這些控制器只有固定的或很有限的編程能力,編程軟件也是專用開(kāi)發(fā)工具。專用控制器和開(kāi)發(fā)工具的售價(jià)仍在一萬(wàn)美元以上。由于缺乏公認(rèn)的標(biāo)準(zhǔn)和缺少靈活性。妨礙這些專用實(shí)時(shí)產(chǎn)品用于PC基的軟實(shí)時(shí)控制系統(tǒng)中。

為解決硬實(shí)時(shí)的測(cè)控問(wèn)題,國(guó)家儀器公司在LabVIEW的基礎(chǔ)上開(kāi)發(fā)出LabVIEW RT軟件,在普通數(shù)據(jù)采集卡上開(kāi)發(fā)出RT系列硬件,構(gòu)成真正實(shí)時(shí)測(cè)控系統(tǒng),而價(jià)位在一萬(wàn)美元以下。

實(shí)時(shí)操作系統(tǒng)的構(gòu)成

LabVIEW RT實(shí)時(shí)圖形編程工具要在RT系列數(shù)據(jù)采集卡上的RT CPU運(yùn)行,RT CPU是一個(gè)AMD486DX5處理器,時(shí)鐘頻率133MHz,PCI總線速度33MHz,用戶編程用在DRAM存儲(chǔ)容量8MB。RT CPU相當(dāng)于RT系列數(shù)據(jù)采集卡上的處理器,執(zhí)行主機(jī)PC的命令,與主機(jī)交換信息。RT系列數(shù)據(jù)采集卡目前有兩種,性能如表1所示。

為增加數(shù)據(jù)采集的I/O數(shù)目,RT系列6533型I/O插卡的特點(diǎn)是,I/O數(shù)32個(gè),傳輸率13MB/s(圖形)和76MB/S(信號(hào)交換),TTL電平。RT系列插卡是雙槽PCI板卡,由堆疊在一起的處理器母板和功能子板構(gòu)成。處理器板實(shí)際上是一塊PC板,由PC芯片集、BIOS、RAM和RT專用CPU組成,只是沒(méi)有硬盤、鍵盤、鼠標(biāo)、串并口等I/O器件。因此RT系列插卡必須與主機(jī)PC一起工作,執(zhí)行程序開(kāi)發(fā)、調(diào)試、數(shù)據(jù)收集、用戶界面等操作。RT系列插卡有PCI、PXI和Compact PCI三種總線選擇。RT系列插卡的處理器板方框圖如圖2所示。

子板就是6430E/6440E數(shù)據(jù)采集卡,備有16個(gè)單端模擬輸入或8個(gè)差分模擬輸入,分辨率是16/12位,取樣率是100/250ks/s。可見(jiàn)當(dāng)前的RT系列硬件主要用于過(guò)程控制,在主機(jī)PC和Windows平臺(tái)下運(yùn)行時(shí)RT系列插卡可在750μs內(nèi)響應(yīng)一個(gè)事件,采用軟件定時(shí)的最大周期時(shí)間抖動(dòng)為10μs,采用板上定時(shí)器的硬件定時(shí)的抖動(dòng)降低到ns量級(jí)。實(shí)時(shí)控制性能顯然比LabVIEW好得多,而且不會(huì)出現(xiàn)不穩(wěn)定的周期時(shí)間突變,是名副其實(shí)的硬實(shí)時(shí)控制系統(tǒng)。實(shí)時(shí)LabVIEW RT的編程與標(biāo)準(zhǔn)LabVIEW的編程基本相同。

LabVIEW RT圖形編程工具由兩部分構(gòu)成,亦即開(kāi)發(fā)系統(tǒng)和RT引擎。RT開(kāi)發(fā)系統(tǒng)的功能是編制和調(diào)試LabVIEW RT代碼,然后將程序下載到RT系列插卡上的RT CPU,以及提供用戶界面。可見(jiàn)RT實(shí)時(shí)系統(tǒng)是在主機(jī)PC下運(yùn)行的應(yīng)用軟件,RT引擎是在RT CPU內(nèi)運(yùn)行和執(zhí)行嵌入的LabVIEW RT程序。實(shí)時(shí)引擎實(shí)上是一個(gè)32位的內(nèi)核,但增強(qiáng)了與開(kāi)發(fā)系統(tǒng)通信服務(wù)等功能。

RT引擎運(yùn)行LabVIEW RT的代碼,提供確切的實(shí)時(shí)特性。因?yàn)椋琑T引擎不在主機(jī)PC運(yùn)行,而在RT系列插板上運(yùn)行,對(duì)實(shí)時(shí)特性調(diào)諧,減少瓶頸。RT引擎是在實(shí)時(shí)操作系統(tǒng)下運(yùn)行,保證調(diào)度程序和其它操作系統(tǒng)服務(wù)粘附到實(shí)時(shí)操作上。RT引擎是多線程的,較高優(yōu)先級(jí)的線程一定比低優(yōu)先級(jí)的線程先執(zhí)行。使用者無(wú)需了解內(nèi)核的詳細(xì)運(yùn)行,實(shí)時(shí)操作系統(tǒng)管理全部實(shí)時(shí)細(xì)節(jié)。這種屏蔽作用保證在實(shí)時(shí)操作系統(tǒng)更新時(shí),用戶不必更改代碼。

實(shí)時(shí)控制與分布式實(shí)時(shí)控制

有了LabVIEW RT之后,構(gòu)建實(shí)時(shí)測(cè)控應(yīng)用變得很容易和方便。對(duì)熟悉LabVIEW的使用者來(lái)說(shuō),先在LabVIEW RT軟件開(kāi)發(fā)環(huán)境下編寫應(yīng)用程序,然后將代碼下載到RT系列數(shù)據(jù)采集板上的RT處理器內(nèi)。這樣,使用者就備有可靠的獨(dú)立運(yùn)行的處理器全力以赴地執(zhí)行硬實(shí)時(shí)控制的要求,而其它對(duì)時(shí)間沒(méi)有嚴(yán)格要求的用戶界面臨視,數(shù)據(jù)收集和有其它功能留給主機(jī)PC去處理。因?yàn)長(zhǎng)abVIEW RT代碼在智能的RT系列數(shù)據(jù)采集卡運(yùn)行,即使主機(jī)PC崩潰,控制回路應(yīng)用程序仍然工作。對(duì)于熟悉LabVIEW編程和傳統(tǒng)數(shù)據(jù)采集插卡的使用者,由于LabVIEW RT和RT系列數(shù)據(jù)采集卡采用同樣的應(yīng)用程序接口,使用者可利用從前的編程經(jīng)驗(yàn)而不必深入了解實(shí)時(shí)技術(shù)來(lái)構(gòu)建硬實(shí)時(shí)應(yīng)用。

由LabVIEW RT開(kāi)發(fā)實(shí)時(shí)應(yīng)用程序可用于大型測(cè)控系統(tǒng)的頒結(jié)構(gòu),在分布結(jié)構(gòu)中主機(jī)PC運(yùn)用標(biāo)準(zhǔn)的LabVIEW主程序和對(duì)用戶提供界面,對(duì)時(shí)間要求不嚴(yán)格的控制硬件可接入分布網(wǎng)絡(luò)中,對(duì)時(shí)間要求嚴(yán)格的RT系列硬件執(zhí)行LabVIEW RT程序。標(biāo)準(zhǔn)的LabVIEW主程序軟件與嵌入的LabVIEW RT程序相互通信和分享RT系列的板上存儲(chǔ)器,在網(wǎng)絡(luò)上運(yùn)行TCP/IP協(xié)調(diào)或調(diào)用虛擬儀器(VI)服務(wù)器,執(zhí)行分布式硬實(shí)時(shí)測(cè)控作業(yè)。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉