從控制系統的角度看未來汽車總線的需求
最壞情況下消息的響應時間是:
Bm指的是較低優先級的消息在最壞情況下的傳送時間(這里lp(m)指比m低優先級的消息集合)。
報文在CAN總線上發送有2種情況需要等待:
(1) 有高于本報文優先度的報文要發送;
(2) 有低于本報文優先度的報文正在發送。
最長等待時間未:(hp(m)指比m高優先級的消息集合)
2.3 在傳輸出錯情況下的響應時間
根部Burns的理論,在一個時間t范圍內,只有一個突發性的錯誤,其長度為nerror;除了這個突發性的錯誤,錯誤的周期為Terror。我們可以將一個消息在最壞情況下的響應時間分為以下四個部分:
- 從消息觸發到排隊時間的最壞延時。
- 消息排隊時間Qm。
- 傳送時間Cm。
- 出錯恢復時間EQm。
所以,一個消息的最壞延時時間可以表達為:
于是,在t時間內傳輸錯誤的數目為(nerror + |t/Terror|-1)。將其代入公式(4)則得出:
其中,E(t)為出錯恢復時間EQm的函數,表示其最大的恢復時間。
3 試驗及結果
要進行試驗,首先要確定系統控制器最多能承受多大的延時時間及產生延時時間后系統的控制器有何不同的要求,關于延時時間的選擇,參照了TTP/的Kopeiz所提出的20ms和福特汽車公司所提出的50ms。Kopetz認為汽車車身通信延遲最多不能超過20ms是基于以下兩方面的考慮,一是駕駛員對他的所有操作動作都認為是立即得到響應了,而不會由于系統延時的影響使得駕駛員做出重復的誤操作,二是對于傳統的內燃機的最高轉速而言,每個氣缸的工作循環大致在20ms左右,也就是說能夠在每個工作循環產生一次控制命令。關于福特公司的延時時間不超過50ms沒有詳細的理論敘述,我們只能認為其是來自于經驗的工程實踐。但是,在我們所進行的對汽車車身系統的仿真初步試驗中發現,每當系統延時時間超過50ms附近時(根據各個子系統的區別大致在正負5ms之間)系統將出現振蕩。
圖3為響應時間過長(轉速測量時間較長)而致系統發生振蕩的實例。
圖3 響應時間過長而導致系統振蕩
3.1 試驗模型
我們選取了MatLab的Simulink中提供的汽車發動機進氣模型作為基礎,進一步設計了控制進氣的PID控制器。系統輸入階躍信號,初值為2000rpm,終值為3000 rpm。由于在較大慣性環節或滯后環節的作用下,控制器力圖克服誤差的作用,但其變化總是落后于誤差的變化。解決的辦法是使克服誤差的作用的變化要有些“超前”,即在誤差接近零時,克服誤差的作用就應該是零。這就是說,在這個控制器中僅引入“比例”項是不夠的,比例項的作用僅是放大誤差的幅值,而目前需要增加的是“微分項”,它能預測誤差變化的趨勢,這樣,具有比例+微分的控制器,就能夠提前使克服誤差的控制作用等于零,甚至為負值,從而避免了被控量的嚴重地沖過頭。
評論