第三章 時間延遲討論
3.2 時間延遲之量測與產生
以圖 2-11 的方式實現以 Zigbee 與 CAN 網路傳輸的網路控制系統,當取樣 頻率為 20ms 時,實驗結果如圖 3-4 所示,原本的控制效能因為 Zigbee 網路的存 在而受到了影響。
圖 3-4 取樣頻率為 20ms 時 Zigbee 網路控制系統響應圖
為了測量 Zigbee 網路的延遲時間,在這邊以兩個 Zigbee 裝置互相傳送封包,
並記錄時間。實驗方式為,第一個 Zigbee 傳送封包給第二個 Zigbee,當第二個 Zigbee 收到封包後立即回傳,第一個 Zigbee 記下總經過時間。實驗 200 次紀錄 結果後計算其平均時間為 34.1687(ms),也就是說 Zigbee 網路每傳送一次封包平 均需要花費 34 毫秒的時間。
因為 Zigbee 網路的傳輸時間為 34 毫秒,大於系統的取樣週期因而導致系統 響應變差,因此更改系統取樣週期則可以改善此現象。若將系統取樣週期更改為 50ms,此時可得到結果如圖 3-5 所示,將 20ms 取樣週期時過大的振幅以及震盪
25
現象消除了。
圖 3-5 取樣頻率為 50ms 時 Zigbee 網路控制系統響應圖
3.2.2 網路系統時間延遲量測
為了探討時間延遲對於網路控制系統的影響,必須先取得整個網路的延遲時 間,此網路延遲時間是指圖 3-1 中 T1與 T2時間的總和,T1為命令延遲時間,T2 為回授延遲時間。其中 T1和 T2延遲時間為每個節點的應用層到另外一邊應用層 加起來的總和,而不是單純指硬體層對硬體層之間的傳輸時間,如圖 3-6 所示。
26
圖 3-6 延遲時間計算
時間延遲的量測方法是由 DSP 端每一取樣週期傳送一筆帶有 Index 的資料 封包經由 Server 傳送到 Client 端,這裡 Index 指的是該封包的編號,封包傳送出 去前會記錄封包發送的起始時間,當 Client 端接收封包之後,立刻將封包原封不 動傳回 DSP,DSP 接到封包後記錄到達時間,並且根據封包上面的 Index 找出發 送時的起始時間,將到達時間跟起始時間相減即可求得延遲時間。
3.2.3 固定時間延遲的產生
若想分析較長的時間延遲會對系統造成什麼影響,或想測試設計的控制架構 在長時間延遲情況下的效能,一個方法是將 DSP 端與 Client 端分別放置在相隔 遙遠的兩地,將網路傳輸的實體線路拉長,中間可能經過多個 Hub,使網路實際 傳輸的時間拉大。另外一個方式可以在命令端或是回授端建立一個 Buffer 如圖 3-7 所示,當有回授訊號要傳回 Remote 端時,回授訊號會先進入 Buffer,然後每 隔一次取樣週期位移一個位置,直到離開 Buffer 之後 Remote 端的控制器才會取 得回授訊號,如此每筆回授訊號依序進入 Buffer 再出來,每筆訊息的延遲時間 會等量的增加,增加後的延遲時間和 Buffer 大小關係如下:
27
d s Buffer
new
d
Size T T
T
_ ( 1 )
( 3-1 )其中Td_new為延長過後的延遲時間,SizeBuffer為 Buffer 大小,T 為系統取樣週期,s
T 為原本網路的延遲時間。此方法不只可以造成較長的時間延遲,同時也能產d
生固定的時間延遲,這對於分析時間延遲對於系統架構的引響,便利性相當大。
圖 3-7 回授端加 Buffer 示意圖