文/孟飛 詹承華
EE1588 同步協議的主要想法是同步網絡設備(客戶)的時鐘與主控制時鐘,把軟硬件緊密耦合,從而實現亞微秒級時間同步的精度。主要應用于以太網中的設備時鐘同步,但不限于以太網,也能實現其它網絡中的時鐘同步功能,同時結合PID 進行相位調整的方法,使其更加精確。
PID 控制是目前應用最廣泛的控制方法。該系統運行可靠,結構簡單,具有一定的穩定性。只有三個參數需要設置:根據系統偏差E(t)(即設定目標值R(t)與實際輸出值Y(t)之差),利用系統內部比例、積分和微分三種計算方式,將三種功能的結果結合起來。以獲得輸出U(T)控制系統,實現控制效果。
在PID 控制中,比例環節的作用是按比例減小偏差值E(t)。而積分環節則是用來消除靜差,提高系統的精度和無差的程度,在PID 控制中,積分作用的強度與數值成反比;微分環節是反映偏差值變化的指標。當超調量過大時,可增加校正指令,防止對系統的不利影響,縮短調節時間,改善動態特性。通過以上環節的結合,理論上可以達到較好的控制效果。PID 控制的有效性取決于數學模型的精度,但實際工程問題大多是時變非線性的,存在許多不確定性,因此傳統的PID 控制往往難以適應實際工況,性能較差。
它以主從模式工作,時鐘校準是根據時鐘的同步信息完成的。主時鐘發送同步消息具有周期性,從時鐘會依據收到消息的具體的時間戳信息來計算消息傳輸的時間、延遲甚至是主從線上的時鐘偏移量,從而對本地的時間進行相應的調整,使從時鐘與主時鐘之間保持在同一時間。在時鐘同步過程中,通過時鐘偏移以及網絡延遲測量這兩個相位。,在時鐘偏移量測量階段,主時鐘依次從時鐘同步消息和消息發送,接收到來自時鐘的消息并記錄時間戳。在網絡延遲的測量階段中,根據時鐘延遲請求報紙的發送以及接收對應的通知,從而記錄發送然后接收的時間戳。當從同步時鐘周期撥打記錄的四個要求時,計算時鐘誤差和網絡延遲,改變本地時鐘,重復該過程從而保持時鐘同步。
(1)時鐘同步模塊分為兩部分:主控模塊和網絡通信模塊,在時鐘同步模塊中,主控模塊配有微控制器、實時時鐘、串行口以及USB 接口。網絡的通信模塊配置的主要控制模塊有電源的模塊、必要的GPIO 接口以及網絡接口模塊。應該選擇主控制芯片STM32F107VC 因為它能提供MII 接口的。支持DP83640L 的是以太網的通信模塊PHY芯片,且其具有精確的時鐘同步功能。在高精度的芯片內部,由硬件執行時間戳功能的IEEE1588 時鐘,可以在包內發送和接收物理播放時間標記。無論什么樣的工作模式,都可以確定消息發送以及接收的精準時間。
(2)系統軟硬件設計和提高IEEE1588時鐘同步精度是提高時間戳精度的關鍵。并且越接近物理層,時間戳的精度越高,同步系統就可以達到同步精度。物理層芯片DP83640集成了發送和接收數據包的能力,建立了時間戳硬件標記時間戳(C),它能準確地反映IEEE1588 報文的實際發送和接收時間,能消除協議棧的時間延遲和抖動,從而計算出報文在傳輸端的延遲時間。任務路徑和主從時鐘偏差更準確。在此基礎上,硬件時鐘同步模塊采用了標簽時間戳的方法IEEE1588 協議。以GPS 時鐘為基準時鐘源,并通過UDP/IP 通信系統進行時鐘同步。
時鐘同步模塊軟件的部分,由驅動程序、協議層、應用層組成,完成的是底層的硬件控制、人機交互等功能,驅動層又分為三個部分:標準驅動、以太網驅動和抑制PTP的時鐘驅動;協議層分為兩部分:TCP 和IP 協議,應用層分為四部分:串行口的通信、精確時間同步、以太網通信、實時時鐘等。在協議層當中,嵌入式TCP/IP 協議棧利用了LWLP LWLP 以太網協議棧來實現接收信息中的中斷響應機制,當MAC 接收到網絡信號,來觸發以太網中斷,主控芯片實行中斷功能,先進行底層處理的功能,然后進入P。類似的是:協議棧;應用層協議通過協議棧發送LWLP 協議棧,讓以太網信息逐步傳遞到MAC 層,這稱之為處理函數的相關底層。
PID 參數整定的方法是采用帶kp、積分系數ki 以及微分系數kd 以完成調節器的確定。通過理論計算是可以確定的,就是誤差比較大。在目前主要采用方法是工程整定法、經驗法、反應曲線法、臨界比帶法、衰減曲線法等等。本文采用就是單中的經驗試錯法,大致過程如下:
(1)給出參數值kp、ki,改變控制系統的給定值然后施加擾動,進行觀察判斷然后控制曲線的形狀。如果曲線不夠完美,就可以改變kp 或者ki,多次進行嘗試,直到控制曲線可以完全滿足動態過程質量要求為止。因為在這種情況下,kp 和ki 是最佳參數值。
(2)依據為kp 和ki 集再加上微分參數。因為微分作用是具有抵抗偏差能力的,所以在確定kd 值之后,可以適當的將以前設置的kp和ki 值減少,多次進行試驗,直到kp、ki 和kd 達到最佳值為止。雖然經驗試錯法所設定的參數是對的,但它需要更多的時間。如果先要減少時間,我們應看一下以下幾點:
(1)要依據控制對象具有的特點確定初始得參數值kp、ki 和kd。再結合實際運行中控制系統的參數值,使初始參數接近其理想值集,從而試驗次數。
(2)在試驗過程中,如果發現控制變量變化慢,不能夠快速的達到穩定值,都是kp 過大、ki 過長造成的,兩者不同的是:kp 過大,導致曲線浮動過大形成不規則變化,ki 過長,曲線會存在振蕩分量,然后接近給定值。進而會根據曲線的形狀而改變kp 或ki。
(3)kp 和ki 臺小,而kd 過多導致了振蕩衰減緩慢不衰減,如果差異kp 過小,則振蕩周期短;Ki 太短的話振蕩的周期長。kd 長的話振蕩周期是最短的。
本文首先對時鐘同步系統進行數學建模,然后基于MATLAB 進行仿真建模。建立了PID 控制器,對KP、KI 和KD 參數進行調節。通過生成的控制曲線來評價這組參數的控制效果。在時鐘同步系統上對所得到的參數進行了驗證,減少了實驗的時間和工作量。結果令人滿意。然而,平衡中的小振蕩等問題需要改進。在簡單的PID 控制中加入模糊控制,對PID控制器進行優化設計。