基于μC/OS-Ⅱ的Flexray線(xiàn)控轉向系統的實(shí)現

4 實(shí)驗驗證
使用Vector公司的CANoe軟件,可以方便地觀(guān)察FlexRay總線(xiàn)上的數據流情況。實(shí)驗中,將CANoe軟件提供的FlexRay接口板VN3600接入總線(xiàn)網(wǎng)絡(luò )中,之后參考MC9S12XF512芯片手冊中FlexRay通信的MicroTick定義為25 ns,因此在FlexRay初始化定義中,設置參數P_MICRO_PER_M-ACRO_NOM為40,則一個(gè)MareroTick等于40個(gè)MicroTick,也就是說(shuō),FlexRay通信配置的基準時(shí)間片為lμs。據此,配置通信周期為5 000 μs;1個(gè)靜態(tài)時(shí)槽長(cháng)度為24μs,共有91個(gè);1個(gè)動(dòng)態(tài)時(shí)槽為5μs,共有289個(gè);特征窗與網(wǎng)絡(luò )空閑時(shí)間為1 371μs。
程序中對節點(diǎn)Node_A和Node_B的時(shí)槽定義如表2所示。
實(shí)驗結果如圖4所示,運行時(shí)間2 289 s,時(shí)槽變化與周期數均與設計一致,數據收發(fā)正常。由圖5可知,幀速率為3 200幀/s,總計傳輸7 369 600幀,沒(méi)有出現無(wú)效幀與錯誤幀,達到了實(shí)時(shí)性和穩定性的要求。
在通信過(guò)程中,分別進(jìn)行故障模擬實(shí)驗。
(1)突然斷開(kāi)總線(xiàn)來(lái)模擬應用現場(chǎng)出現線(xiàn)路故障的情況,可以發(fā)現數據停止更新,故障檢測LED指示燈閃爍,說(shuō)明程序檢測到了線(xiàn)路故障問(wèn)題并進(jìn)行報警。當再次連接總線(xiàn)后,故障檢測LED熄滅,數據繼續更新,說(shuō)明通信自動(dòng)重新啟動(dòng)。
(2)將任意一個(gè)控制器進(jìn)行掉電,模擬單一控制器故障情況,可以發(fā)現數據停止更新,故障檢測LED指示燈開(kāi)始常亮,說(shuō)明程序檢測到了任意節點(diǎn)故障導致通信中斷的問(wèn)題并進(jìn)行報警。當再次開(kāi)啟掉電控制器后,故障檢測LED熄滅,數據繼續更新,說(shuō)明通信自動(dòng)重新啟動(dòng)。通過(guò)以上兩個(gè)實(shí)驗,驗證了故障檢測報警功能良好。
5 結語(yǔ)
針對線(xiàn)控轉向系統FlexRay通信過(guò)程中存在的問(wèn)題,將實(shí)時(shí)操作系統μC/OS-Ⅱ應用于系統中,進(jìn)行了代碼移植和通信任務(wù)設計。之后通過(guò)硬件實(shí)驗,對數據結果和故障檢測進(jìn)行了測試,從實(shí)驗結果可以看出,該系統解決了FlexRay總線(xiàn)應用的復雜問(wèn)題,并利用μC/OS-Ⅱ操作系統保證了系統實(shí)時(shí)性、穩定性和安全性的要求,為今后實(shí)現線(xiàn)控轉向系統在汽車(chē)輔助駕駛和智能駕駛方面的應用奠定了基礎。
評論