3.2 系統同步的實現
A和B系統同步是指2個采集系統開始采集力數據和位移數據的時間是一致的,先計算出2片C805lF350控制無線模塊通信過程中的時間差,經過時間補償后使2個采集系統開始同步數據采集。A和B進行系統同步的流程圖分別如圖4、圖5所示。
A同步初始化后向B發送一個準備開始采集的同步信號,隨即檢測是否接收到B發來的應答信號(同步信號和應答信號為相同字節),同時A使用定時器中斷監測同步信號是否丟失,定時時間要遠大于從發送同步信號到接收到應答信號所用時間的理論計算值。若定時內沒有收到應答信號則認為同步信號丟失,觸發中斷,在中斷子程序中將重新發送同步信號并裝載定時初值,直到收到應答信號。
A的定時時間包括發送同步信號的時間、同步信號的傳輸時間、B檢測判斷該信號的時間、發送應答信號的時間、應答信號的傳輸時間和關定時器的時間。
其中A發送同步信號需m個機器周期,B檢測判斷同步信號需n個機器周期,發送應答信號需p個機器周期(p=m),關定時器需q個機器周期,C8051F350的機器周期為T,則執行這些指令的時間S=(m+n+p+q)T。nRF24L0l的數據傳輸率為l Mbps,同步信號的傳輸時間為tl,應答信號的傳輸時間為t2(t2=t1),這一過程共用時G=t1+t2+S,定時時間為H》》G。
B接收到同步信號后,向A發送一個應答信號,經過X的延時后2個采集系統便完成了系統同步。由于測試環境的不同,X也是不確定的,可由另外的測試程序測試后加以計算獲得。
因為A,B選用的均為C805lF350,機器周期相同,所以2個采集系統在完成系統同步后的數據采集過程可視為是同步進行的,不考慮其間的時間差。
3.3 同步測試設計
A的測試流程圖如圖6所示。A定時H觸發中斷,在中斷子程序中令同步測試信號丟失標志Flag=1,表明同步測試信號丟失,要重新發送。同時A使能計數器,利用計數值可以計算出從發送同步測試信號到接收到應答信號的實際用時,進而得到同步(應答)信號的實際傳輸時間。用多次測試中出現概率最大的數值計算實測時間,實測時間記為TA。
B始終處于接收數據的狀態,只要收到A發來的同步測試信號就發送一個測試應答信號,如圖7所示。
從圖6可知實測時間中開、關計數器的時間可相互抵消,且A檢測判斷應答信號同樣需n個機器周期,則同步(應答)信號的實際傳輸時間tA=(TA-(n+p+n)T)/2。
圖5中的延時時間包括應答信號的傳輸時間、A檢測判斷該應答信號的時間和關定時器的時間,則x=tA+(n+q)T。
4 測試結果及分析
A,B對加入l V直流偏置、頻率為1 kHz、峰值為1 V的同一正弦信號進行同步數據采集,利用MATLAB將采集到的2路數據擬合。圖8為多次實驗中擬合效果較好的波形,C805lF350的采樣頻率為19.2 kHz。
從圖8可以看出兩路波形基本重合,進行局部放大后的波形如圖9所示。可根據波形的周期、采樣頻率計算出A和B對同一數值采集的時間差在μs量級,實現了系統的同步數據采集。
5 結論
通過多次實驗證明了本文提出的時間補償法可使采集系統實現同步數據采集,為殲擊機進行操縱性能檢測評估提供有效、準確的測量數據。本系統具有電路簡單、體積小巧,使用方便等特點,可應用于其他相關領域和行業中。
評論
查看更多