熱搜關(guān)鍵詞: PCIe高速數(shù)據(jù)采集卡RFSOC高速數(shù)據(jù)采集軟件無線電平臺(tái)VPX高速數(shù)據(jù)采集卡高速信號(hào)采集卡PCIe數(shù)據(jù)采集數(shù)字信號(hào)處理
在本應(yīng)用筆記中,我們描述了如何在大型多通道系統(tǒng)中使用ADQ8上的菊花鏈功能來分配和校準(zhǔn)觸發(fā)信號(hào),。該方法可用于在多個(gè)機(jī)箱之間實(shí)現(xiàn)200皮秒的時(shí)序校準(zhǔn),。主要包括:
菊花鏈觸發(fā)信號(hào)
計(jì)算重啟時(shí)間
更換已安裝系統(tǒng)中的設(shè)備
校準(zhǔn)
1 菊花鏈觸發(fā)
由多個(gè)數(shù)字化儀組成的數(shù)字化系統(tǒng),如果需要同步,,面臨的一個(gè)問題是如何分配觸發(fā)信號(hào),。無論采用哪種方法,,最終目標(biāo)都是相同的,同時(shí)觸發(fā)所有通道,。一個(gè)不成熟的解決方案是將觸發(fā)信號(hào)分開,,并通過等長(zhǎng)的電纜傳遞給每個(gè)數(shù)字化儀。但是,,這種解決方案并不能隨著系統(tǒng)中數(shù)字化儀的數(shù)量而擴(kuò)展,,最終,觸發(fā)信號(hào)的衰減程度超過了模擬輸入的靈敏度,。此外,,由于信號(hào)的衰減,觸發(fā)沿失真,,精度也會(huì)下降,。
為了解決這些問題,本系統(tǒng)采用了菊花鏈觸發(fā)機(jī)制,。其理念是通過SYNC IN/OUT連接器將觸發(fā)信號(hào)從一個(gè)設(shè)備傳遞到下一個(gè)設(shè)備,。然而,,為了跟蹤所有設(shè)備的觸發(fā)點(diǎn),,需要一個(gè)公共時(shí)間范圍。由一個(gè)機(jī)箱組成的系統(tǒng)可以使用其內(nèi)置的10 MHz時(shí)鐘參考,,而由兩個(gè)以上的機(jī)箱組成的系統(tǒng)必須使用通過同等長(zhǎng)度的電纜提供給每個(gè)機(jī)箱的外部源,。如果不能以這種方式設(shè)置系統(tǒng),就會(huì)導(dǎo)致機(jī)箱之間的時(shí)序網(wǎng)格出現(xiàn)偏差,。
圖1給出了一個(gè)系統(tǒng)的框圖,,該系統(tǒng)由兩個(gè)采用菊花鏈配置的機(jī)箱組成。菊花鏈中的第一個(gè)設(shè)備被指定為主設(shè)備,,接下來是第一個(gè)從設(shè)備,,之后是第二個(gè)從設(shè)備,以此類推,。每次觸發(fā)信號(hào)通過一個(gè)從設(shè)備時(shí),,它都會(huì)重新同步到10MHz網(wǎng)格,即每個(gè)從設(shè)備都以一個(gè)明確定義的方式將觸發(fā)信號(hào)延遲一個(gè)10MHz周期(100 ns),。這意味著真實(shí)觸發(fā)點(diǎn)和從設(shè)備檢測(cè)到的觸發(fā)點(diǎn)之間的時(shí)間相對(duì)距離隨其到菊花鏈中與主設(shè)備的距離的增加而增加,。反過來,這意味著每個(gè)從設(shè)備都必須在感知到的觸發(fā)點(diǎn)之前記錄數(shù)據(jù),,以便捕獲真實(shí)觸發(fā)點(diǎn)附近的數(shù)據(jù),。圖2給出了觸發(fā)過程開始的結(jié)果圖。
采集數(shù)據(jù)時(shí),,在采集成功后,,從屬設(shè)備的觸發(fā)信息與主設(shè)備的觸發(fā)信息會(huì)進(jìn)行調(diào)整,。
圖1 系統(tǒng)的菊花鏈觸發(fā)機(jī)制的框圖,該系統(tǒng)由橫跨兩個(gè)機(jī)箱的16個(gè)設(shè)備組成,。
圖2 菊花鏈觸發(fā)機(jī)制的時(shí)序圖,,用于鏈中前三個(gè)設(shè)備:主設(shè)備和兩個(gè)從設(shè)備。
2 菊花鏈觸發(fā)
2.1重新準(zhǔn)備時(shí)間
重新準(zhǔn)備時(shí)間是從記錄結(jié)束到數(shù)字化儀能夠接受新觸發(fā)器的時(shí)間,,即記錄之間的最短時(shí)間,。對(duì)于ADQ8,其計(jì)算公式為:4000ns + N · 1ns(1)其中N是預(yù)觸發(fā)樣本的數(shù)量,。使用菊花鏈觸發(fā)器時(shí),,預(yù)觸發(fā)樣本的數(shù)量取決于設(shè)備在鏈中的位置。從設(shè)備在位置P處的預(yù)觸發(fā)樣本數(shù)由下式給出:152+ 100·P(2),,結(jié)合(1)和(2)得出重置時(shí)間方程為4152ns + P·100ns,。
在重新準(zhǔn)備期間,設(shè)備會(huì)忽略觸發(fā)發(fā)生,。由于菊花鏈中各單元之間的預(yù)觸發(fā)樣本數(shù)量不同,,因此在重新準(zhǔn)備期間,一個(gè)設(shè)備的觸發(fā)會(huì)導(dǎo)致更早的設(shè)備觸發(fā),。因此,,重要的是在重置窗口期間不發(fā)生任何觸發(fā)。
3 維護(hù)
本節(jié)介紹如何執(zhí)行系統(tǒng)的基本維護(hù),。
3.1 更換設(shè)備
收到替換設(shè)備后,,應(yīng)執(zhí)行以下操作:
確認(rèn)固件版本與其他設(shè)備匹配。
校準(zhǔn)新設(shè)備的時(shí)鐘參考延遲,,請(qǐng)參閱第3.2節(jié),。
3.2 校準(zhǔn)
對(duì)于新的數(shù)字化儀,必須對(duì)時(shí)鐘參考延遲進(jìn)行校準(zhǔn),。菊花鏈觸發(fā)時(shí)序必須在規(guī)格內(nèi)進(jìn)行校準(zhǔn),。校準(zhǔn)是針對(duì)特定插槽中的單個(gè)設(shè)備進(jìn)行的,校準(zhǔn)完成后,,請(qǐng)勿移動(dòng)設(shè)備,。
校準(zhǔn)將使新的數(shù)字化儀的延遲與參考數(shù)字化儀相匹配。參考數(shù)字化儀可以是與新器件位于同一機(jī)箱內(nèi)的任何數(shù)字化儀,。
3.2.1 校準(zhǔn)文件
每個(gè)底盤都有一個(gè)校準(zhǔn)文件在%LOCALAPPDATA%\SP Devices\calibration\delays_chassis_tspd1_tspd2_tspd3.csv,,該文件包含所有機(jī)箱的校準(zhǔn)數(shù)據(jù)。文件中的每一行都包含特定機(jī)箱插槽中一個(gè)數(shù)字化儀的校準(zhǔn)值,。當(dāng)校準(zhǔn)一個(gè)新的數(shù)字化儀時(shí),,需要該校準(zhǔn)文件。校準(zhǔn)完成后,,必須用新的值手動(dòng)更新該文件,。
3.2.2 要求
能夠產(chǎn)生1MHz信號(hào)的方波發(fā)生器,。
250MHz低通濾波器
50歐姆信號(hào)分配器,至少1:2,。
一個(gè)先前校準(zhǔn)的ADQ8數(shù)字化儀作為參考,。此參考數(shù)字化儀必須與未校準(zhǔn)的設(shè)備在同一機(jī)箱中。
Python 3
Python校準(zhǔn)腳本
delays_chassis_tspd1_tspd2_tspd3.csv文件,,帶有參考數(shù)字化儀的校準(zhǔn)值,。
3.2.3 校驗(yàn)?zāi)_本
校準(zhǔn)腳本需要Python 3.6或更高版本以及Python軟件包matplotlib和numpy。該腳本在每個(gè)數(shù)字化儀上收集1000條記錄,,并測(cè)量每個(gè)記錄的相對(duì)延遲,。延遲的平均值將被用作校準(zhǔn)值。結(jié)果將被保存到data/calibrate_delay_single_adq8_
calibrate_delay_single_adq8.py 延遲校準(zhǔn)腳本。從delay_calibration.py調(diào)用函數(shù),。
delay_calibration.py包含與數(shù)字化儀的接口,、保存和讀取數(shù)據(jù)的功能。直接調(diào)用該腳本不會(huì)有任何效果,。
3.2.4 校準(zhǔn)程序
校準(zhǔn)步驟如下所述,。在進(jìn)行校準(zhǔn)時(shí),數(shù)字化儀應(yīng)處于其工作溫度,。為了在冷啟動(dòng)后達(dá)到工作溫度,,數(shù)字化儀必須在初始化后開機(jī)一小時(shí),。軟件首次連接到數(shù)字化儀時(shí),,本機(jī)將被初始化。
1. 如果機(jī)箱已經(jīng)關(guān)閉,,請(qǐng)通過采集一次數(shù)據(jù)來初始化數(shù)字化儀,。初始化后,讓數(shù)字化儀加熱至少一個(gè)小時(shí),。
2. 關(guān)閉與數(shù)字化儀通信的所有軟件,。
3. 將1 MHz信號(hào)連接到新設(shè)備和參考設(shè)備的通道1。該信號(hào)應(yīng)通過低通濾波器和分路器連接,。
信號(hào)必須連接到通道1,。
分路器的電纜長(zhǎng)度必須匹配。
振幅應(yīng)該在0.8 Vpp左右,,偏移量為零,。如果振幅過低或過高,腳本將失敗,。
4. 斷開連接機(jī)箱和其他機(jī)箱的菊花鏈電纜,。機(jī)箱內(nèi)連接數(shù)字化儀的菊花鏈電纜必須為所有設(shè)備保持連接,。
5. 更新校準(zhǔn)腳本中的以下值:
new_device_sn:新數(shù)字化儀的序列號(hào)。
reference_device_sn: 參考數(shù)字化儀的序列號(hào),。
delayfile_path:延遲文件的路徑,。Delays_chassis_tspd1_tspd2_tspd3.csv文件的路徑,包含參考設(shè)備的校準(zhǔn)值,。
6. 通過發(fā)出以下命令來運(yùn)行校準(zhǔn):
> python calibrate_delay_single_adq8.py
從Python終端,。 輸出示例:
Found reference delay 100.0 for device SPD-06512 in delay file
Setting ”number_of_records” to 1000
Setting ”data_path” to data\calibrate_delay_single_adq8_tspd5
Enumerating devices..
Found device: SPD-06512
Found device: SPD-06784
[...]
Measuring delays
Saving delay metrics to data\calibrate_delay_single_adq8_tspd5\delay_metrics.txt
Max delay: [’176.85’, ’0.00’]
Min delay: [’118.95’, ’0.00’]
Abs diff : [’57.89’, ’0.00’]
Std. dev.: [’11.94’, ’0.00’]
Mean: [’142.82’, ’0.00’]
Delays: [’242.82’, ’100.00’]
Plot delays..
Saving delay figure to data\calibrate_delay_single_adq8_tspd5\delays.png
Saving delays to: data\calibrate_delay_single_adq8_tspd5\
delays_chassis_tspd5_dev_SPD-06784.csv
7. 驗(yàn)證圖中的延遲。 參考設(shè)備的延遲應(yīng)為零,。 新設(shè)備的延遲應(yīng)在±250ps之內(nèi),。
8. 將新設(shè)備校準(zhǔn)值的行從生成的.csv文件復(fù)制到delays_chassis_tspd1_tspd2_tspd3.csv文件。
9. 更新所有機(jī)箱上的校準(zhǔn)文件,。