集成傳統(tǒng)測(cè)試儀器與模塊化儀器
基于消息和基于寄存器的設(shè)備差別給模塊化儀器創(chuàng)造了速度的優(yōu)勢(shì)。在傳統(tǒng)基于消息的儀器中,SCPI命令用ASCII碼發(fā)送,例如:MEASure:VOLTage:DC? 10.0,0.001
這個(gè)命令要求進(jìn)行一個(gè)直流電壓測(cè)量,最大值10V,分辨率1mV。然而儀器是不懂得這種類似英文的命令的。儀器內(nèi)部處理出必須解析(翻譯)一個(gè)命令以理解需要做什么。SCPI解析通常需要若干毫秒來(lái)完成。
然后測(cè)量開始執(zhí)行,由內(nèi)部寄存器訪問(wèn)儀器硬件。根據(jù)測(cè)量,這種操作僅需要若干微妙。上述電壓測(cè)量在100微秒內(nèi)可完成,得到二進(jìn)制格式的結(jié)果。然后儀器把結(jié)果轉(zhuǎn)為ASCII碼,發(fā)回給控制器??刂破靼袮SCII碼轉(zhuǎn)為二進(jìn)制來(lái)存儲(chǔ)或者和限制標(biāo)準(zhǔn)比較。整個(gè)過(guò)程要幾個(gè)毫秒,即使測(cè)量?jī)H僅需要微秒級(jí)。
對(duì)于基于寄存器的設(shè)備,這個(gè)過(guò)程完全不同。軟件驅(qū)動(dòng)被調(diào)用直接執(zhí)行寄存器操作。結(jié)果作為二進(jìn)制數(shù)據(jù)直接被控制器使用,不需轉(zhuǎn)化。速度提高50倍已經(jīng)被證實(shí)。
然而,還有一個(gè)易用性的折中。SCPI命令容易使用和讀取。也是可移植的;可以在任何操作系統(tǒng)或自動(dòng)環(huán)境中工作??梢员苊馐褂抿?qū)動(dòng),盡管驅(qū)動(dòng)在某些請(qǐng)況很有用。如果測(cè)量速度不是至關(guān)重要的,或者測(cè)量時(shí)間遠(yuǎn)遠(yuǎn)大于命令翻譯時(shí)間,基于消息的儀器都是一個(gè)好的選擇??紤]所有這些原因,很多系統(tǒng)都是既包括傳統(tǒng)的基于消息的儀器,也包括模塊化的基于寄存器的儀器。
集成混合系統(tǒng)
集成傳統(tǒng)和模塊化儀器在一個(gè)混合系統(tǒng)中,第一部分是選擇互連和配置。LXI儀器需要使用以太網(wǎng)。而LAN網(wǎng)絡(luò)不是完全相同的。很少直接把儀器連接到企業(yè)LAN網(wǎng)中。網(wǎng)絡(luò)中的數(shù)據(jù)可能會(huì)干擾和減慢實(shí)時(shí)儀器控制執(zhí)行,而儀器也會(huì)顯著增加網(wǎng)絡(luò)流量。通常,LXI儀器被置于一個(gè)完全不同的網(wǎng)絡(luò)。
這樣,控制器需要兩個(gè)LAN接口:一個(gè)連接到企業(yè)LAN網(wǎng),可以管理測(cè)試計(jì)劃和結(jié)果,另一個(gè)專用于儀器控制。使用一個(gè)以太網(wǎng)開關(guān)從控制器到每一臺(tái)儀器。這需要在控制器中安裝第二塊NIC(網(wǎng)卡)。
基于PCIe的模塊化系統(tǒng)也是類似的。從控制器到企業(yè)是LAN網(wǎng)的通信,而儀器通信是通過(guò)PCIe。大多數(shù)計(jì)算機(jī)內(nèi)部有PCIe。和LXI不同,儀器是同一PCIe網(wǎng)絡(luò)的一部分,內(nèi)存映射和所有其他計(jì)算機(jī)外設(shè)一樣,這就是如何獲得速度提升的原因。
內(nèi)部PCIe總線必須采用緩沖,以避免加載這些外部?jī)x器的時(shí)間。這樣,必須安裝PCIe接口卡,允許PCIe擴(kuò)展為像一根電纜對(duì)于PXI,AXIe,或VXI 4.0機(jī)架。這緩沖了PCIe總線但保持相同的內(nèi)存映射。如一個(gè)系統(tǒng)使用多個(gè)PCIe機(jī)架,需要每個(gè)都安裝額外的接口卡,或者機(jī)架擴(kuò)展。下圖所示系統(tǒng)配置了LAN和PCIe作為通信信道。下一步是添加所需軟件。
儀器軟件分層
無(wú)論是基于消息的儀器還是基于寄存器的儀器,都需要I/O命令。簡(jiǎn)單的基于SCPI的儀器需要某種方式把控制器的命令發(fā)送給儀器,這就需要VISA。VISA是一種業(yè)界標(biāo)準(zhǔn)的API,用于從PC和儀器通信。VISA版本可以從接口卡廠商處獲得。VISA也支持和LXI儀器的通信,以及PCIe內(nèi)存映射儀器,如PXI,AXIe和VXI 4.0。
VISA,或者相應(yīng)的I/O庫(kù),是基于消息的儀器需要的最少的軟件。安裝VISA后,可以根據(jù)手冊(cè)命令進(jìn)行儀器SCPI編程。
VISA本身,很少足夠控制PCIe儀器。還需要驅(qū)動(dòng)程序來(lái)生成儀器的功能。IVI驅(qū)動(dòng),基于由IVI聯(lián)盟管理的標(biāo)準(zhǔn)API,被設(shè)計(jì)用于從PC環(huán)境實(shí)現(xiàn)儀器控制。
IVI驅(qū)動(dòng)設(shè)計(jì)為了處理兩個(gè)問(wèn)題:軟件完成實(shí)際寄存器操作,是儀器功能的核心;并在驅(qū)動(dòng)層面保證不同類型儀器和不同廠商儀器之間的兼容性。這樣,IVI借用SCPI來(lái)定義基于產(chǎn)品類別的類(Classes),采用的API看起來(lái)和SCPI命令特別類似。例如,同樣的IVI功能調(diào)用數(shù)字萬(wàn)用表(DMM,digital multimeter)是這樣:
dmm.DCVoltage.Measure(10.0, 0.001)
因?yàn)檫@條調(diào)用在編譯時(shí)完成,很少時(shí)間損失在命令執(zhí)行時(shí)。執(zhí)行時(shí)不需要命令解析。
IVI驅(qū)動(dòng)有好幾種,如IVI-C,IVI-COM,為不同環(huán)境優(yōu)化。PXI和AXIe產(chǎn)品幾乎毫無(wú)例外地支持IVI-C,它可用于任何微軟自動(dòng)化環(huán)境,包括Microsoft Visual Studio,LabView, Matlab, Agilent VEE。要使用IVI驅(qū)動(dòng)還需要同時(shí)安裝一些共享組件。IVI Foundation網(wǎng)站提供了關(guān)于使用這些驅(qū)動(dòng)的細(xì)節(jié)。儀器廠商也可以根據(jù)不同操作環(huán)境提供特別訂制的驅(qū)動(dòng)。包括LabView和Matlab驅(qū)動(dòng)。
安裝好需要的軟件驅(qū)動(dòng),儀器可以編程用于自動(dòng)化環(huán)境。模塊化儀器使用選定的驅(qū)動(dòng)來(lái)編程。盡管基于消息的儀器可以直接用SCPI編程,很多時(shí)候也可以被相同的IVI驅(qū)動(dòng)控制,和模塊化儀器一樣,例如IVI-C或LabView。這使得多了額外一層一致性,并允許在傳統(tǒng)儀器和模塊化儀器之間替換。
下圖顯示了混合系統(tǒng)中的軟件分層。
嵌入式控制器
此前介紹的是使用外部控制器與LXI儀器或PCIe儀器交互。如果控制器是嵌入在模塊化系統(tǒng)里面的呢?這種方法有什么優(yōu)缺點(diǎn)呢?
主要變化是PCIe接口,它用于和模塊化系統(tǒng)機(jī)架通信,基本上是嵌入在模塊控制器里面的。此外,系統(tǒng)架構(gòu)是相同的。如果控制器要控制LXI儀器,也需要有兩個(gè)LAN口,一個(gè)用于LXI儀器控制,一個(gè)用于連接企業(yè)LAN網(wǎng),和使用外部控制器相同。嵌入式控制器通常有一個(gè)額外的擴(kuò)展端口,可以安裝網(wǎng)卡或連電纜的PCIe卡。
使用嵌入式控制器的一個(gè)優(yōu)勢(shì)是系統(tǒng)可以集成得更小,更輕,更便攜。另一個(gè)優(yōu)勢(shì)是作為帶有穩(wěn)定PCIe計(jì)數(shù)的儀器控制器,經(jīng)驗(yàn)證工作穩(wěn)定。
計(jì)數(shù)是計(jì)算機(jī)定位和辨識(shí)所有PCIe設(shè)備的過(guò)程。很多計(jì)算機(jī)無(wú)法驗(yàn)證對(duì)于模塊化儀器產(chǎn)生的深層PCIe樹結(jié)構(gòu)的計(jì)數(shù)。因此,一些儀器,盡管安裝在機(jī)架上,也無(wú)法被辨識(shí)和控制。這種情況通常需要計(jì)算機(jī)廠商更新BIOS來(lái)解決問(wèn)題。嵌入式控制器,通過(guò)其設(shè)計(jì)和大量測(cè)試,本質(zhì)上確保正確地執(zhí)行計(jì)數(shù)功能。
第三個(gè)優(yōu)勢(shì)是企業(yè)監(jiān)控。盡管形式對(duì)于很多工程師不重要,但嵌入式控制器更易于被企業(yè)IT部門接受,作為儀器系統(tǒng)的一部分,而外部連接的電腦通常屬于IT部門管理范疇。為避免購(gòu)買時(shí)批準(zhǔn)的延遲,一些工程師直接購(gòu)買嵌入式控制器。
曾經(jīng),嵌入式控制器還有速度優(yōu)勢(shì),因?yàn)槠淇偩€長(zhǎng)度更短與背板通信更快。但高速串行標(biāo)準(zhǔn)改變了這一點(diǎn),連電纜的PCIe與外部控制器也可以達(dá)到幾乎同樣的全部帶寬。
嵌入式控制器也有一些劣勢(shì)。第一點(diǎn)是成本。儀器控制相對(duì)于消費(fèi)類電子或工業(yè)自動(dòng)化的市場(chǎng)份額很小,因此,成本相當(dāng)高。
第二個(gè)缺點(diǎn)是性能。外部商用PC通常有最高性能的處理器和架構(gòu),每幾個(gè)月就有更新?lián)Q代。嵌入式儀器控制器沒(méi)有如此大的投資,設(shè)計(jì)周期少,通常落后于商用PC。因此,高性能控制器通常是采用獨(dú)立的控制器,也節(jié)省成本。一種通用的折中是采用工業(yè)機(jī)架控制器,相對(duì)性能高價(jià)格合適,只是需要1U的機(jī)架空間。
外部控制器的另外一個(gè)優(yōu)勢(shì)是可擴(kuò)展性。外部控制器提供多個(gè)擴(kuò)展槽,可用于控制其它外設(shè)或者額外的LAN和PCIe借口。
總之,好的儀器系統(tǒng)設(shè)計(jì)讓用戶能結(jié)合傳統(tǒng)儀器和模塊化儀器的優(yōu)勢(shì),為自己的應(yīng)用選擇最好地方案。本文側(cè)重于計(jì)算機(jī)系統(tǒng)和軟件挑戰(zhàn),以及整合混合儀器系統(tǒng)的多種選擇。以后,還將繼續(xù)這個(gè)話題的討論,從電子和機(jī)械方面挖掘更多的挑戰(zhàn)和選擇。
評(píng)論