嵌入式分布模塊控制系統(tǒng)與網(wǎng)絡(luò)的互連
現(xiàn)代微電子學(xué)為實(shí)驗(yàn)物理學(xué)、工程學(xué)和其他應(yīng)用中的分布式系統(tǒng)發(fā)展提供了新的可能。
用于數(shù)據(jù)采集(DAQ)且與網(wǎng)絡(luò)相互連接的新型模塊化微處理器系統(tǒng)和分布式控制應(yīng)用正被人們提出并討論。高功率多功能的特定(用于通信和DSP)微處理器與分布式存儲器一起作為實(shí)時(shí)系統(tǒng)來運(yùn)作。用于數(shù)字信號處理(DSP)和控制應(yīng)用的嵌入式模塊化系統(tǒng)在工業(yè)標(biāo)準(zhǔn)(工業(yè)計(jì)算機(jī)系統(tǒng)(ICS)ISA機(jī)箱(MicroPC)有兩個(gè)/四個(gè)插槽或cPCI有四至八個(gè)插槽)中發(fā)展起來。多處理器系統(tǒng)能有效應(yīng)用于分布式控制,人們正在研究用于此系統(tǒng)的實(shí)時(shí)多處理器核和操作系統(tǒng)(OS)以適應(yīng)實(shí)驗(yàn)研究和工程技術(shù)應(yīng)用中的可能發(fā)生的各種應(yīng)用場合。
人們正考慮將具有有源底板的緊湊型工業(yè)計(jì)算機(jī)系統(tǒng)(ICS)和具有無源底板的基于緊湊型PCI的系統(tǒng)(cPCI/PXI)通過以太網(wǎng)連接起來作為嵌入式實(shí)時(shí)系統(tǒng)用于控制應(yīng)用場合。人們也考慮將分布式系統(tǒng)與系統(tǒng)區(qū)域網(wǎng)絡(luò)(SAN)連接起來作為具備并行流水線數(shù)據(jù)處理能力的高級模塊系統(tǒng)用于數(shù)據(jù)采集和控制應(yīng)用場合。在對數(shù)據(jù)采集、觸發(fā)和控制子系統(tǒng)進(jìn)行聯(lián)合建模的基礎(chǔ)上,人們考慮將實(shí)驗(yàn)物理學(xué)和工程子系統(tǒng)結(jié)合起來。
1.具備有源底板的嵌入式模塊化實(shí)時(shí)系統(tǒng)
微型機(jī)由許多元件(插入到底板上)組成,包括CPU、存儲器、磁盤驅(qū)動器和串口/并口。一些計(jì)算機(jī)基于IBM PC(ISA總線)插件模塊,另一些作為在單個(gè)板上的獨(dú)立系統(tǒng)(無底板)來實(shí)現(xiàn),其他的則是基于底板總線(VME/VXI)的單板計(jì)算機(jī)(SBC)。
基于底板的微型機(jī)可以用于數(shù)據(jù)采集、過程控制和不同的研發(fā)項(xiàng)目,但是一般情況下,由于其過大的體積而不將它作為智能元件嵌入到設(shè)備中去。二十世紀(jì)八十年代,計(jì)算機(jī)板被大規(guī)模集成芯片所限制,集成電路因具有先進(jìn)的性能而占領(lǐng)了整個(gè)計(jì)算機(jī)板市場,而后發(fā)展為單片機(jī)或DSP。PC/104和PC/104-Plus 模塊趨向于由支持嵌入式Linux的標(biāo)準(zhǔn)PC臺式機(jī)和筆記本電腦組件來組成。PC/104-Plus增加了使用board-to-board總線(120 針)的PCI總線。
在基于PC的非桌面嵌入式系統(tǒng)上,人們對IBM PC兼容性的興趣日益增加:
- PC芯片級和外圍的兼容性能使成本更低、結(jié)構(gòu)更簡單、支持更容易,
- PC兼容性提供了PC機(jī)操作系統(tǒng)(MS-DOS, Windows, Linux)、語言和工具等優(yōu)勢。
由于新型接口(USB, FireWire, 藍(lán)牙)、架構(gòu)(MIPS, PowerPC, arm)和操作系統(tǒng)(RTLinux, RTEMS)的出現(xiàn),嵌入式單板計(jì)算機(jī)(SBC)平臺能夠更好地服務(wù)于嵌入式模塊化實(shí)時(shí)系統(tǒng):
- 增加了嵌入式智能,許多應(yīng)用需要有對用戶友好的圖形和語音界面;
- 增加了需要進(jìn)行相互連接(TCP/IP, PPP, HTTP, FTP)的電子設(shè)備的需求;
- USB正在取代串口、并口和PS/2接口,以太網(wǎng)隨處可見,F(xiàn)ireWire (IEEE-1394)正開始被使用;
- 處理器(高度集成了基于arm, MIPS, PowerPC和x86的面向應(yīng)用的片上系統(tǒng)) 正在開發(fā)中;
Linux用于所有的計(jì)算處理,它提供了低成本、開源的解決方案,支持開放性標(biāo)準(zhǔn)、網(wǎng)絡(luò)連接、通信、Internet和其他功能。
有人提議將基于小型工業(yè)計(jì)算機(jī)系統(tǒng)(ICS)的具有兩個(gè)插槽的緊湊型模塊化系統(tǒng)作為嵌入式控制器端(CS)和工作虛擬端(VS)通過10/100M以太網(wǎng)在分布式網(wǎng)絡(luò)中連接起來。每個(gè)虛擬端(VS)都是基于Windows 或/和 Linux,每個(gè)控制器端(CS)都是基于RT-Linux并且用于數(shù)據(jù)采集,監(jiān)測和控制。兩個(gè)PCI插槽中的一個(gè)用于基于DSP的數(shù)據(jù)采集和控制模塊,另一個(gè)則用于擴(kuò)展或另外的以太網(wǎng)連接。
通常,在硬件和軟件上,現(xiàn)場總線用經(jīng)濟(jì)的模塊化方法來取得不同的應(yīng)用成果。今天,大多數(shù)計(jì)算機(jī)將傳統(tǒng)的網(wǎng)絡(luò)(10/100M以太網(wǎng)、FireWire、USB)作為標(biāo)準(zhǔn)的連接?,F(xiàn)場總線的概念對于所有電子設(shè)備來說應(yīng)該是透明的。串行總線(USB、 FireWire)用于中高速的I/O連接。SCI的相互連接支持可擴(kuò)展的多處理器集群和高性能模塊化實(shí)時(shí)系統(tǒng)。
另一版本的緊湊型CS隨著具有基本通信處理器模塊的四個(gè)插槽的Micro PC機(jī)箱發(fā)展起來,此處理器模塊也包括了動態(tài)和靜態(tài)的存儲芯片和一套標(biāo)準(zhǔn)接口(CAN總線、RS232及其它)。實(shí)時(shí)操作系統(tǒng)(RT-Linux, RTEMS)可用于數(shù)據(jù)采集和控制應(yīng)用場合。
2.具備無源底板的嵌入式模塊化實(shí)時(shí)系統(tǒng)
Euro -card(3U格式)是國際標(biāo)準(zhǔn)(IEEE 1101.1)。VME總線允許16位數(shù)據(jù)以3U格式傳送(6U板支持全數(shù)據(jù)總線帶寬)。與VME(3U)相比,cPCI(3U)是個(gè)性能更高且更有效率的系統(tǒng),而在VME體系結(jié)構(gòu)中實(shí)現(xiàn)PC功能困難重重。3U cPCI總線性能優(yōu)于3U VME。
與嵌入式PC板格式相比,cPCI/PXI總線支持single-wide板和double-wide板中的全32位或64位數(shù)據(jù)傳輸。cPCI/PXI也提供了一些優(yōu)勢。cPCI/PXI提升了系統(tǒng)的靈活性,將PCI插槽數(shù)由4個(gè)提高到了8個(gè)。cPCI為工業(yè)環(huán)境(如VME)所設(shè)計(jì),而PXI為儀器使用系統(tǒng)(如VXI)所設(shè)計(jì)。3U cPCI無源底板比較小但可以增大。使用底板的方法使維護(hù)和升級3U cPCI模塊變得更為簡單。cPCI/PXI(3U)板支持工業(yè)自動化所需要的I/O,而工業(yè)自動化也需要分布式I/O。
cPCI支持現(xiàn)場總線用于數(shù)據(jù)采集、控制、監(jiān)測和進(jìn)程報(bào)告。為了滿足工業(yè)應(yīng)用的需要,cPCI系統(tǒng)支持高級的用于cPCI單板計(jì)算機(jī)上的網(wǎng)絡(luò)連接功能(10/100M以太網(wǎng)、 USB、FireWire和現(xiàn)場總線)。模塊性能夠幫助人們進(jìn)行最廣泛的應(yīng)用并提供了基于cPCI/PXI的SBC支持的靈活性。
嵌入式模塊化cPCI/PXI(3U)系統(tǒng)硬件有如下優(yōu)勢:1)小型規(guī)格(220針,2mm連接器)體現(xiàn)了它是個(gè)對抗控制應(yīng)用場合中沖擊和振動的良好平臺。2) 完整的PC模塊(帶有圖形、快速以太網(wǎng)、IEEE1394、USB、現(xiàn)場總線、flash存儲器和128M的SDRAM)能夠建立在緊湊型且具靈活性的 3U平臺上。3)降低功耗是減小成本的重要步驟,追求更小型的處理器幾何尺寸降低了功率級。研究顯示,通過3U cPCI實(shí)現(xiàn)的控制設(shè)備消耗的功率通常低于20W。4)另外,帶有64位總線的8插槽cPCI底板通過使用機(jī)架和EMI屏蔽附件提供了經(jīng)濟(jì)型底板(無源的和有源的)?,F(xiàn)代嵌入式計(jì)算機(jī)的解決方案需要基于Windows的軟件來完成用于控制應(yīng)用 (RT-Linux, RTEMS, QNX, OS-9, VxWork)的人機(jī)連接、網(wǎng)絡(luò)連接、文件管理和確定性的實(shí)時(shí)軟件。
用于與PC兼容的嵌入式SBCs的Linux支持傾向于以正常方式使用芯片來提供,包括一些特定的功能如:顯示控制器模式、LCD面板控制信號、PCMCIA、板上固態(tài)磁盤和非標(biāo)準(zhǔn)的功能(看門狗定時(shí)器)。[!--empirenews.page--]
3.與SAN相互連接的分布式系統(tǒng)
由于在分布式數(shù)據(jù)處理系統(tǒng)中,大量并行處理器受到總線的限制,所以可擴(kuò)展一次性接口(SCI)就成為一個(gè)用于高級多處理器體系結(jié)構(gòu)的最好的系統(tǒng)區(qū)域網(wǎng)絡(luò) (SAN)而發(fā)展起來。隨后,第一個(gè)具有硬件一致性的基于SCI的高性能模塊化多處理器系統(tǒng)被開發(fā)出來。根據(jù)多級物理模型,人們提出將用于高性價(jià)比系統(tǒng)的基于標(biāo)準(zhǔn)緊湊型PC (PC-board)和鏈路模塊(如Dolphin)的高級集成化實(shí)時(shí)系統(tǒng)高效SAN體系結(jié)構(gòu)用于實(shí)驗(yàn)物理研究中的高性能數(shù)據(jù)采集、控制和分布式數(shù)據(jù)處理。組建高性價(jià)比實(shí)時(shí)系統(tǒng)的一個(gè)最佳方法是使用工業(yè)計(jì)算機(jī)系統(tǒng)MB(ICS MB)、PC MB 或 cPCI/PXI,并根據(jù)實(shí)際的應(yīng)用場合通過不同的拓?fù)溥B接到SAN中。
分布式并行數(shù)據(jù)處理模型包括對稱多處理(SMP)、大規(guī)模并行處理(MPP)和機(jī)群系統(tǒng)(RMC和NUMA)。RMC(映射內(nèi)存集群)是一個(gè)在節(jié)點(diǎn)和通信連接之間具有內(nèi)存復(fù)制功能和內(nèi)存?zhèn)鬏敊C(jī)制的集群系統(tǒng)。
借助系統(tǒng)區(qū)域網(wǎng)絡(luò)(SAN)的鏈路模塊,分布式集成系統(tǒng)的高模塊化結(jié)構(gòu)能夠支持分布式處理器和內(nèi)存之間的高效交互作用。SAN包括以下幾個(gè)級:
1)核心級由一套內(nèi)核處理器、存儲器、I/O控制器所組成,它們之間相互連接。與同一板上的片外存儲器相比,新型單芯片微型機(jī)具有更短的通信鏈路,更易訪問和更短的數(shù)據(jù)傳輸時(shí)間。
2) 系統(tǒng)模型的緊湊型板結(jié)構(gòu)的原子級(A模塊)包括用于特定目的和一般目的的處理器。用于數(shù)據(jù)采集和控制的最簡高效實(shí)時(shí) 系統(tǒng)可以以具有單核、雙核或三核處理器的標(biāo)準(zhǔn)PC MB為基礎(chǔ)。在同一總線上,處理器模塊有數(shù)量限制。對稱多處理(SMP)是用于多處理器的基本軟件模型。
3)分子級(宏觀結(jié)構(gòu))取決于系統(tǒng)拓?fù)浣Y(jié)構(gòu)。大量多處理器節(jié)點(diǎn)可以通過SAN(“大總線”模型)連接到大型(千處理器)系統(tǒng)中以支持分布式集成實(shí)時(shí)系統(tǒng)用于數(shù)據(jù)采集、控制和數(shù)據(jù)處理應(yīng)用。
4)分布式系統(tǒng)的相互連接基于鏈路、橋接和開關(guān)模塊(L模塊、B模塊和S模塊)。通信速度的成本比針腳和板空間的成本下降地更快。傳統(tǒng)的通信基于總線,這限制了處理器的數(shù)目。
一個(gè)可行的解決方案是在許多獨(dú)立的點(diǎn)對點(diǎn)連接上使用基于包的信號,這可以解決總線瓶頸的問題,但也帶來了新的問題——如何保持系統(tǒng)中共享內(nèi)存模型的cache一致性。
處理器模塊之間的弱相互作用基于消息傳送(以太網(wǎng))。中級相互作用基于集群中使用的外部存儲設(shè)備(磁盤、磁帶)。處理器核之間的強(qiáng)相互作用基于直接讀取分布式存儲器,并在SCI上實(shí)現(xiàn),SCI也支持處理器模塊之間的弱相互作用。SCI的強(qiáng)相互作用包括小包交易(有回顯地發(fā)送和響應(yīng)分離的包)。包格式包括寫 xx、讀xx、移動xx和鎖定命令,此處xx表示允許的數(shù)據(jù)塊長度(數(shù)據(jù)字節(jié)數(shù)目,在數(shù)據(jù)包頭的右方)。
可擴(kuò)展性是增強(qiáng)多處理器實(shí)時(shí)系統(tǒng)性能(與千處理器系統(tǒng)相連接)的一個(gè)問題。
SAN架構(gòu)的分布式存儲器模型能支持并行流水線數(shù)據(jù)處理(計(jì)算)作為SMP模型運(yùn)行于單個(gè)地址空間。64位地址支持每個(gè)節(jié)點(diǎn)上的256T字節(jié)。
Cache 一致性支持分布式并行數(shù)據(jù)處理實(shí)時(shí)系統(tǒng)中所有處理器的數(shù)據(jù)可用性。實(shí)時(shí)系統(tǒng)包含有許多處理器,它們嘗試著修改單個(gè)數(shù)據(jù)或與此同時(shí)將數(shù)據(jù)的備份保存到自己的 cache中。通過軟件或硬件實(shí)現(xiàn)的一致性阻止多處理器在同一時(shí)刻嘗試修改同樣的數(shù)據(jù)。硬件一致性支持高性能(高價(jià)格)而軟件一致性則提供了高性能(低價(jià)格)。
模塊化實(shí)時(shí)系統(tǒng)的拓?fù)浣Y(jié)構(gòu)應(yīng)該基于一套精選過的模塊來發(fā)展系統(tǒng)以達(dá)到最優(yōu)化地解決確定問題的目的。它應(yīng)該是個(gè)具有矩陣探測器的用于數(shù)據(jù)采集的矩陣或是用于3D圖像的3D拓?fù)浣Y(jié)構(gòu)。在控制領(lǐng)域,系統(tǒng)應(yīng)該需要有個(gè)類似于大型機(jī)器(線性或環(huán)形)結(jié)構(gòu)的拓?fù)洹?/p>
基于SAN的分布式系統(tǒng)應(yīng)該共享64位SCI地址,高16位用于在適當(dāng)?shù)墓?jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)包。系統(tǒng)拓?fù)淇梢栽诤喴篆h(huán)、多環(huán)、橋接或交換器的基礎(chǔ)上實(shí)現(xiàn)處理器之間的并行流水線的強(qiáng)相互作用。SCI基于點(diǎn)到點(diǎn)的連接并支持同一時(shí)間內(nèi)所有處理器模塊的事務(wù)。商用Dolphin的L模塊提供了每秒800M字節(jié)的雙向 SCI連接用于移動大量的具有小型應(yīng)用-應(yīng)用潛力(2.3毫秒)的分布式數(shù)據(jù)并且減少了用于多點(diǎn)應(yīng)用的最好的可擴(kuò)展性的節(jié)點(diǎn)控制信息。
基于網(wǎng)絡(luò)的分布式實(shí)時(shí)系統(tǒng)包括下面節(jié)點(diǎn):連接到虛擬端(VS)的控制器端(CS)收集實(shí)時(shí)數(shù)據(jù)并輸出控制數(shù)據(jù)。具有一個(gè)以太網(wǎng)端口的簡易CS基于具有兩個(gè) PCI插槽的緊湊型ICS MB用于數(shù)據(jù)采集和控制模塊。另一個(gè)端口用于擴(kuò)展或另外的以太網(wǎng)連接。VS應(yīng)該支持專業(yè)級的仿真、監(jiān)測和測試。虛擬儀器和標(biāo)準(zhǔn)應(yīng)用軟件基于基本的操作系統(tǒng) (Windows、Linux),借助于10/100M以太網(wǎng),它們工作于連接到大量安裝有RTLinux的分布式CS的VS上。每個(gè)VS應(yīng)該能夠達(dá)到多服務(wù)器級。
可擴(kuò)展模塊化實(shí)時(shí)系統(tǒng)的聯(lián)合通用模型集成了基于相互連接的網(wǎng)絡(luò)(以太網(wǎng))和SAN(SCI)的數(shù)據(jù)采集、觸發(fā)和控制系統(tǒng)。對于控制技術(shù)領(lǐng)域中的工程系統(tǒng)來說,具有兩個(gè)PCI插槽的緊湊型ICS MB (A模塊)和以太網(wǎng)是個(gè)不錯的平臺。而對于實(shí)驗(yàn)物理領(lǐng)域中的高性能數(shù)據(jù)采集和觸發(fā)系統(tǒng)來說,基于嵌入式cPCI/PXI且與SAN(SCI)相互連接的節(jié)點(diǎn)是個(gè)不錯的平臺。