簡介
傳統桌面型儀器的數據傳輸接口為GPIB、RS-232或是LAN,這些接口的好處在于非常容易操作使用,但在傳輸大量數據時其效率并不理想。當要采集大量連續數據時,數據長度就會因為內部存儲器大小而受限。目前市面上新款的高級儀器,例如示波器、波型發生器或邏輯分析儀,采用x86的架構,因此在高速、大量數據采集的長度上則基本上沒有限制。但若要跨儀器同步達到多通道采集時,便是個困難且復雜的課題。
自從1998年第一版的PXI規格問世后,PXI平臺與其模塊已經被大量應用于軍工、電子制造及科學研究應用中。第一版的PXI規格采用了PCI總線的高速傳輸特性,而后續的PXI規范更采用了PCI Express總線,繼承了其低延遲(Low Latency)、高帶寬及點對點傳輸的特性,另外再加上特有的觸發與時序同步的接口,使得PXI平臺與PXI模塊特別適合應用于高速數據傳輸。
當以PXI平臺設計適用于高速數據記錄的系統,不管是將數據連續由模塊化儀器傳送至系統內存或存儲裝置,或者相反的數據流向,都能夠利用PXI Express的高速總線、點對點傳輸的特性以及特有的觸發與時序信號,輕松地完成實現。接下來的文章內容將進一步討論,在設計、實現數據記錄系統的過程中,需要考慮的幾個要點與方向。
數據記錄系統的架構及其考量因素
下圖一簡單的示意了一組PXI Express平臺中數據的流向,組成的組件包含了PXI Express機箱、PXI Express控制器及模塊化儀器,包含數字化儀及波形發生器。以高速數字化儀為例,模擬信號被ADC采集轉換成數字量數據后,會搬移到板載內存上暫存,接下來再經由總線控制器及PCI Express接口,傳送到PXI Express控制器的系統內存上,做后續的計算及處理。若數據的流向目的地是存儲設備,則會在未經任何處理計算的情況下,被直接搬移到存儲裝置,以維持高速、連續不斷的數據記錄。在PXI Express背板上,采用了PCIe switch使得系統得以擴展出更多槽位。由于不同的PXI Express機箱有不同的槽位型態,因此每個PCIe switch的繞線方式都不同,進而影響到數據傳輸效率。如模塊化儀器-波形發生器,其數據流則以相反方向運行。
圖一、PXI Express平臺與模塊化儀器整體架構簡化圖,顯示PXI Express系統的數據記錄傳輸的方向
接下來我們會討論數據記錄系統的每個環節及對于數據帶寬的影響。
模塊化儀器的板載內存
大約十多年前,高速的PCI數字化儀都需要配備大量的板載內存以暫存來自高速ADC的數據,主要原因是當時的PCI總線僅能提供約132MB/s的數據帶寬(多數系統僅能達到約80MB/s)。PCI總線的帶寬,無法滿足于8位1GS/s或14位200MS/s的數字化儀所需要的數據帶寬。為了要增加記錄或采集時間,512MB、1GB或甚至4GB的板載內存就會被應用于數字化儀之上。目前雖然高速PCIe總線接口可提供數倍于PCI總線的帶寬,但數字化儀通常還是會配備有大量的板載內存深度(大于100MB),用于當作數據暫存,以避免CPU或DMA控制器過于忙碌而無法實時傳輸數據。舉例來說,一個單通道8位500MS/s的數字化儀,在完全不將數據傳回系統內存狀況下,可以記錄高達1秒的時間,若配備有2GB內存則可記錄高達4秒。
在選擇數字化儀時,另外一個需要注意的就是其板載內存控制器的數據處理帶寬。作為ADC與系統內存之間的橋梁,內存控制器需要有兩倍的數據傳輸量,以能同時應付來自ADC的數據流入,以及將數據通過PCIe總線傳送至系統內存。若存儲設備控制器的帶寬小于兩倍數據流量,則數據會被暫存在板載內存上,長久下來就會造成數據溢出,而使數據連續性受損。
圖二、數字化儀內的數據流
模塊化儀器的總線接口
PCI總線提供132MB/s (32位、33MHz)傳輸速率,針對低速(小于80MB/s)且低價的數據記錄應用來說,PCI接口仍可滿足,不過需要注意的是,PCI是并行的總線接口,若有多個設備置于同一總線時,帶寬則會被分享。區別于PCI總線,PCI Express接口具有點對點的特性,每個link在每個方向上可提供高達250MB/s傳輸速率。若要增加帶寬,最簡單的方式就是將多個link結合起來,成為x4、x8甚至x16通道。而2003年推出的PCIe 1.0a規格、2007年推出的PCIe 2.0標準,PCI-SIG在2010年11月再度提出PCIe 3.0規格,持續推進更新的編碼方式及強化的信號完整性以大幅度提升其傳輸速率,因此對于需要高速數據記錄的應用來說,采用PCIe接口的模塊化儀器是一大利器。顯而易見,采用PCI Express為模塊化儀器的總線接口可以得到優化的系統效率。
|
PCIe GEN 1 |
PCIe GEN 2 |
PCIe GEN 3 |
Lane |
Bandwidth, per direction & lane |
Bandwidth, per direction & lane |
Bandwidth, per direction & lane |
X 1 |
250MB/s |
500MB/s |
1GB/s |
X 4 |
1GB/s |
2GB/s |
4GB/s |
X 16 |
4GB/s |
8GB/s |
16GB/s |
PXI Express機箱內PCIe總線的繞線架構
在PXI Express機箱的系統槽中,為了讓外圍槽的擴展及規劃更有彈性,系統槽連接到背板上的接口有4-Link及2-Link兩種架構。4-Link架構中每個link具備有4個通道,而2-Link架構中則允許其中一個link有8個通道,而另外一個link則可有高達16通道。為了要達到最高的傳輸速率,在PXI Express機箱內的PCI Express總線的走線方式、架構也是需要考慮的重點。以凌華科技PXES-2780機箱為例,這是一款具有18個槽位的機箱,含1個系統槽位、1個系統時序槽位(System Timing slot)、6個PXIe外圍槽位(PXIe Peripheral Slot)及10個混合式槽位(Hybrid Slot)。當該機箱的系統槽位規劃成4-Link接口時,可以提供每個槽位相對高速及平衡的傳輸速率。由于此機箱內的PCI Express接口為PCIe Gen2, 因此對整個系統來說可以提供高達8GB/s的系統帶寬,單獨對于第8與12槽這種具有x8接口來說,可以擁有4GB/s的帶寬,而其他個別的PXI Express外圍槽來說,則可擁有2GB/s的帶寬。該機箱的4-Link規劃示意圖如下:
圖三、配置為4-Link的凌華科技PXES-2780機箱示意圖
若將PXI Express系統槽位設置成2-Link x8, 則可得到更高的傳輸帶寬。凌華科技的PXES-2780機箱,其系統槽位可通過軟件設置成2-Link x8接口,其架構如下圖4。使用該架構,槽位8與槽位12可以提供x8的帶寬。
圖四、規劃成2-Link的凌華科技 PXES-2780機箱示意圖
使用者若能熟悉PXI Express機箱的規劃架構,將能使模塊化儀器在傳輸大量數據上獲得更佳的傳輸性能。
系統內存與操作系統(OS)
在PXI Express系統控制器上,若能配有大容量的系統內存,則可延長數據記錄的時間。然而搭配不同的操作系統(Operating System)可能會有不同的內存上限。例如對于32位的操作系統,其內存尋址空間通常不能超過4GB,而對于64位操作系統而言,一般可達512GB或者1TB的內存尋址。因此使用者需根據自身的需求來選擇合適的操作系統,以支持所需的內存空間。
存儲裝置
要能穩定的執行大數據的讀寫工作,選擇合適的存儲裝置極為重要。硬盤(HDD)是一種具有特別的機械裝置,內含有高速旋轉的磁盤以及具有磁性的讀寫頭,來回于磁盤表面上,用以讀取磁盤內所存儲的數據單元。由此可知,讀或寫的速度將會受限于讀寫頭的移動速度。為了增加讀寫的速度,幾個硬盤通常會被組合起來成為一個虛擬的硬盤,這也是大家所熟知的RAID(Redundant Array of Independent Disks),即磁盤陣列。另外最近越來越流行的固態磁盤則因為沒有讀寫頭的機械移動問題,因此能提供較硬盤更好的讀寫效率。若考慮到最佳的讀寫性能的話,固態磁盤將會是最佳的選擇。
應用示例一、數據記錄至系統內存
材料結構測試的高速數據記錄
方案需求
某系統集成商想要開發一套多通道材料震動監控設備,并能夠實現從不同的傳感器同時進行1MS/s~50MS/s采樣率的數據采集,同時將采集進來的數據記錄到系統內存中,以直接進行后續的處理,而不需要將數據記錄到磁盤上做存儲。另外該系統集成商希望每個采集通道能夠記錄至少5~10秒的時間。接下來我們會針對這些應用條件進行評估,并討論使用PXI Express平臺實現這類型應用時,不同的采樣率在設計上會遇到的瓶頸有哪些。
評估
下面是我們用來評估這個高速數據記錄系統會使用到的組件:
PXI Express機箱: 凌華科技PXES-2780,18槽PXI Express機箱
數字化儀: 凌華科技PXIe-9848,高速8通道100 MS/s 14位PXI Express數字化儀
首先我們先考慮PXI Express機箱中只有單一數字化儀的狀況。下表是單一數字化儀在不同采樣率下,以不同采集時間所需要的內存評估表。
Single PXI Express-9848 in PXI Express Chassis |
System Memory Required for Specified Time in MB |
|||||||
SR MS/s |
Data Width, Byte |
No of CH |
Data Rate, MB/s |
1/2 sec |
1 sec |
2 sec |
5 sec |
10 sec |
5 |
2 |
8 |
80 |
40 |
80 |
160 |
400 |
800 |
10 |
2 |
8 |
160 |
80 |
160 |
320 |
800 |
1600 |
20 |
2 |
8 |
320 |
160 |
320 |
640 |
1600 |
3200 |
50 |
2 |
8 |
800 |
400 |
800 |
1600 |
4000 |
8000 |
100 |
2 |
8 |
1600 |
800 |
1600 |
3200 |
8000 |
16000 |
當只有一張PXIe-9848時,以100MS/s進行8通道的采樣時,總數據帶寬為1.6GB/s。然而PXIe-9848其接口為PCIe x4且為Gen 1,因此若要進行連續不斷的數據記錄時,其產生的數據量最好能低于1GB/s。若將采樣率降低至50MS/s,則PXIe-9848能產生800MB/s數據量。由于PXES-2780機箱采用PCIe Gen2規格,因此能夠負荷800MB/s的數據量。若要以50MS/s采樣率進行10秒長度的采樣,則進一步的限制會落在系統內存大小上,以此狀況下,需要8GB系統內存。若系統內存無法分配出高達8GB的系統內存供數字化儀使用,則必須縮減采樣時間的長度。
接下來,我們再來考慮多張卡片安裝于同一系統的狀況。若想要達到最多采樣通道,那么最多則可以把17張PXIe-9848數字化儀,安裝于機箱內,那么此時除了考慮PXI Express控制器的系統帶寬外,還要把PXI Express背板上的PCIe連接配置也考慮進去。
我們觀察PXES-2780機箱的連接配置,如圖四所示,它上面的PCIe switch#1上游有兩個x4的連接通道,下游有三個x4連接通道,因此以平均來說,每個下游通道可從上游通道分得約1.33GB/s的帶寬(4GB/s ÷ 3 ports)。PCIe switch#2也可用相同的計算方式來換算其下游帶寬。至于PCIe switch#3與#4的下游通道約可分別分得222MB/s (1.33GB ÷ 6 ports)及190MB/s (1.33GB/s ÷ 7 ports)的帶寬。若每個數字化儀都使用同樣的采樣率,則帶寬瓶頸會出現在位于第10、13~18插槽的數字化儀上。
圖五、配置成PCIe x4 link的機箱帶寬預估示意圖
若我們根據第10、13~18槽的帶寬限制,來計算不同采樣時間長度所需的系統內存,其結果如下表:
Configuration of single PXIe-9848 module |
|
System memory (MB) required for specified time with 17 PXIe-9848 modules deployed in PXI Express platform |
|||||||
SR MS/s |
Data Width, Byte |
No of CH |
Data Rate, MB/s |
Slot BW Bottle-neck, MB/s |
1/2 sec |
1 sec |
2 sec |
5 sec |
10 sec |
5 |
2 |
8 |
80 |
190 |
680 |
1360 |
2720 |
6800 |
13600 |
8.33 |
2 |
8 |
133.28 |
190 |
1133 |
2266 |
4532 |
11329 |
22658 |
10 |
2 |
8 |
160 |
190 |
1360 |
2720 |
5440 |
13600 |
27200 |
由上表評估結果可知,若以5MS/s采樣率進行5秒鐘連續采樣,17張數字化儀共需系統內存達6.8GB大小。若采樣率達10MS/s,則記錄時間會縮減至2秒(需5.44GB內存),若仍需要加長記錄時間,則數字化儀上的板載內存將可延成某個程度的記錄時間。
應用示例二、數據記錄至磁盤
激光監控中高速光二極管的信號采集
方案需求
客戶的應用是有關激光信號監控,需要采集光二極管的信號且需為便攜式的設計。只需要采集一個通道,但采樣率需高達200MS/s。
解決方案
由于客戶需要高達200MS/s的單通道采樣率,因此以凌華PXIe-9842及便攜式的PXI Express機箱PXES-2590為應用組合,以此提供高達400MB/s的數據記錄速率。由于需要將數據記錄至磁盤,而PXI Express控制器上的磁盤裝置一般很難提供高達400MB/s的帶寬,即使使用SSD也很難,因此使用外部的RAID存儲裝置來進行數據存取。我們使用的RAID模塊是PXI Express接口且具有4個SATA III界面的SSD。
PXI Express系統控制器: 凌華科技PXIe-3975,3U Intel® CoreTM i5-520E 2.4GHz 雙核 PXI Express系統控制器
PXI Express機箱: 凌華科技PXES-2590,9槽全混和式PXI Express機箱
數字化儀: 凌華科技PXIe-9842,14位200 MS/s采樣率的PXI Express數字化儀
RAID存儲裝置: Conduant DM-425
結論
要以PXI Express平臺來實現數據記錄的應用,需要考慮的不只是模塊化儀器本身的條件,更要考慮到PXI Express平臺的數據傳輸帶寬。通過本文中所探討的設計上的細節及應用范例,用戶將能有效構建更高性能的測量測試平臺、大幅提升開發效率。
關于凌華
凌華科技憑借創新的嵌入式計算解決方案,為測量測試、工業自動化、網絡通信、軍工、交通、醫療和信息娛樂產業提供智能應用平臺(Application Ready Intelligent Platform)。凌華科技為Intel® Internet of Things Solutions聯盟高級會員(Premier Member)、PICMG®協會和PC/104協會可參與制定規格的會員,PXI Systems Alliance協會(PXISA)董事會及最高等級會員,AXIe聯盟戰略會員,VMEbus國際貿易協會(VITA)成員和嵌入式技術標準化組織(SGeT)成員等。凌華科技總部位于臺灣,并在臺灣和中國大陸設有制造中心,研發與整合事業群則分布在臺灣、中國、美國、德國,銷售與服務據點更遍布世界各地。凌華科技通過了ISO-9001、ISO-14001、ISO-13485與TL9000認證,為全球客戶提供可信賴的產品、快捷的服務和實時支持。網址:http://www.adlinktech.com/cn