FlexRay网络管理与测试
隨著車(chē)載網(wǎng)絡(luò)發(fā)展,ECU的通訊速率相較以往得到飛速提升。現(xiàn)今多數(shù)OEM在中高速通訊場(chǎng)景中仍采用CANFD進(jìn)行過(guò)渡,但當(dāng)同時(shí)考慮安全和更高帶寬時(shí),CANFD則無(wú)法滿足,因此FlexRay成為部分OEM的首要選擇。其中控制各ECU的睡眠喚醒依舊利用耳熟能詳?shù)腘M網(wǎng)絡(luò)管理實(shí)現(xiàn)。
下面跟隨小懌一起了解FlexRay網(wǎng)絡(luò)管理及相關(guān)測(cè)試吧。
01?FlexRay網(wǎng)絡(luò)管理簡(jiǎn)介
01?報(bào)文格式
FlexRay網(wǎng)段通信時(shí)為了表示各ECU表示自身是否加入網(wǎng)絡(luò),特意在NM報(bào)文中引入Vote投票位,當(dāng)Vote=1時(shí)代表加入網(wǎng)絡(luò),Vote位是否有效取決于FlexRay-NM狀態(tài)機(jī)。
FlexRay-NM報(bào)文格式及內(nèi)容如下所示:
其中針對(duì)CBV字節(jié)的BIT信息定義如下:
02??FlexRay-NM狀態(tài)機(jī)
POC:Protocol Operation Control,協(xié)議操作控制,簡(jiǎn)稱POC狀態(tài)機(jī)
PNC:Patiral Network Control,局部網(wǎng)絡(luò)控制,簡(jiǎn)稱PNC狀態(tài)機(jī)
SWC:Software Component,應(yīng)用層軟件組件,負(fù)責(zé)實(shí)現(xiàn)不同功能
WUP:Wakeup Pattern,FlexRay喚醒信號(hào),以低高電平呈現(xiàn)
FlexRay網(wǎng)絡(luò)管理設(shè)計(jì)類(lèi)同于CAN網(wǎng)絡(luò)管理設(shè)計(jì),不同的是FlexRay的網(wǎng)絡(luò)管理為了更清晰的劃分局部網(wǎng)絡(luò),同一FlexRay網(wǎng)段下根據(jù)ECU功能劃分了PNC網(wǎng)關(guān)、非PNC網(wǎng)關(guān)與不支持PN三種。其中ECU的休眠、喚醒、同步的時(shí)機(jī)由NM狀態(tài)機(jī)決定;各ECU狀態(tài)由自身POC狀態(tài)機(jī)控制負(fù)責(zé)實(shí)現(xiàn);喚醒狀態(tài)時(shí),各SWC映射至PNC的相關(guān)報(bào)文是否發(fā)送由PNC狀態(tài)機(jī)與ComM channel狀態(tài)機(jī)共同決定。測(cè)試時(shí)僅關(guān)注PNC狀態(tài)機(jī)即可,也就是PNC網(wǎng)關(guān)的網(wǎng)絡(luò)管理報(bào)文對(duì)應(yīng)PNCID是否置1,這一信息部分OEM也布置了VFC報(bào)文進(jìn)行體現(xiàn)。
再簡(jiǎn)而言之,在FlexRay網(wǎng)絡(luò)管理與CAN/CANFD網(wǎng)絡(luò)管理測(cè)試不同點(diǎn)為NM狀態(tài)機(jī)跳轉(zhuǎn)與PNC狀態(tài)機(jī)Map-Frame的一致性。今天我們主要介紹FlexRay-NM狀態(tài)機(jī)的跳轉(zhuǎn)機(jī)制。
FlexRay-NM狀態(tài)機(jī)模式有三大三小,后文有關(guān)狀態(tài)描述采用對(duì)應(yīng)縮寫(xiě):
BSM:Bus Sleep Mode,總線睡眠模式
SYM:Synchronize Mode,同步模式
NM:Network Mode,網(wǎng)絡(luò)模式
Network Mode模式中包含三個(gè)子狀態(tài):
RMS:Repeat Message State,重復(fù)消息狀態(tài)
NOS:Normal Operation State,正常操作狀態(tài)
RSS:Ready Sleep State,準(zhǔn)備睡眠狀態(tài)
FlexRay-NM狀態(tài)機(jī)與CAN-NM狀態(tài)機(jī)唯一不同的是取消了PBM預(yù)睡眠模式,并引入同步模式給與全局時(shí)基同步時(shí)間。各個(gè)狀態(tài)跳轉(zhuǎn)的條件基本取決于NM-Timeout-Timer、Repeat-Message-Timer、Wait-Bus-Sleep-Timer及網(wǎng)絡(luò)是否釋放。具體的跳轉(zhuǎn)條件如下:
Condition1:本地喚醒請(qǐng)求
Condition2:接收網(wǎng)絡(luò)管理報(bào)文成功
Condition3:發(fā)送網(wǎng)絡(luò)管理報(bào)文成功
Condition4:Repeat-Message-Timer超時(shí)
Condition5:不進(jìn)行本地喚醒請(qǐng)求
Condition6:NM-Timeout-Timer超時(shí)
Condition7:配置FlexRayNmPnEnabled=False并且網(wǎng)絡(luò)請(qǐng)求
Condition8:Wait-Bus-Sleep-Timer超時(shí)
Condition9:配置FlexRayNmPnEnabled =True并且重復(fù)消息請(qǐng)求
Condition10:POC狀態(tài)機(jī)完成同步
Action1:初始化
Action2:初始化NM-Timeout-Timer
Action3:開(kāi)始Repeat-Message-Timer
Action4:開(kāi)始Wait-Bus-Sleep-Timer
了解了FlexRay網(wǎng)絡(luò)管理的基礎(chǔ)知識(shí),下面跟隨小編一起學(xué)習(xí)下網(wǎng)絡(luò)管理中FlexRay不同于CAN的部分測(cè)試吧。
02?FlexRay網(wǎng)絡(luò)管理測(cè)試
01測(cè)試環(huán)境搭建
基于Vector的基礎(chǔ)測(cè)試環(huán)境
懌星自研的FlexRay自動(dòng)測(cè)試臺(tái)架由上圖Vector基礎(chǔ)測(cè)試環(huán)境再搭配自研ETS6210、EH6466板卡共同構(gòu)成,可同時(shí)實(shí)現(xiàn)FlexRay單節(jié)點(diǎn)、系統(tǒng)級(jí)、網(wǎng)絡(luò)管理以及診斷刷寫(xiě)測(cè)試。基于CDD的診斷實(shí)現(xiàn)同樣滿足OEM在FlexRay節(jié)點(diǎn)診斷協(xié)議的不一致性,常見(jiàn)的診斷協(xié)議為DoIP、FlexRay、CAN。測(cè)試中為避免CANoe中POC狀態(tài)機(jī)重啟將影響網(wǎng)絡(luò)管理測(cè)試,在Network Hardware中配置如下:
當(dāng)被測(cè)件為冷啟動(dòng)節(jié)點(diǎn)時(shí),為保證網(wǎng)絡(luò)啟動(dòng)時(shí)被測(cè)節(jié)點(diǎn)的冷啟動(dòng)優(yōu)先級(jí),還需取消CANoe的冷啟動(dòng)功能:
02Vote投票位測(cè)試
測(cè)試方法:利用CANoe發(fā)送WUP喚醒電平,仿真帶有請(qǐng)求所有PNC的有效網(wǎng)絡(luò)管理報(bào)文,監(jiān)測(cè)ECU發(fā)出網(wǎng)絡(luò)管理報(bào)文中Vote有效性。
發(fā)送喚醒報(bào)文后,ECU的NM報(bào)文Vote=1
前文所述,Vote有效代表節(jié)點(diǎn)自身加入網(wǎng)絡(luò),可以概括為Vote在需要節(jié)點(diǎn)通信時(shí)總是有效,具體的變化如下:
·?本地喚醒/網(wǎng)絡(luò)喚醒進(jìn)入RMS狀態(tài)時(shí)Vote=1
·?本地喚醒/網(wǎng)絡(luò)喚醒維持進(jìn)入NOS狀態(tài)時(shí)Vote=1
·?網(wǎng)絡(luò)被釋放且NM-Timeout-Timer超時(shí)后Vote=0
·?Wait-Bus-Sleep-Timer超時(shí)后Vote不再發(fā)送
03?BSM-RMS測(cè)試
測(cè)試方法:利用CANoe發(fā)送WUP喚醒電平,仿真vote=1有效網(wǎng)絡(luò)管理報(bào)文,監(jiān)測(cè)ECU發(fā)出網(wǎng)絡(luò)管理報(bào)文中Vote的發(fā)送次數(shù)與PNC信息。
發(fā)送喚醒信號(hào)后,ECU的NM報(bào)文持續(xù)10個(gè)NM-Cycle
FlexRay采用時(shí)隙(時(shí)間片)傳輸,因此處于靜態(tài)段的網(wǎng)絡(luò)管理報(bào)文傳輸無(wú)法像CAN一樣在RMS狀態(tài)設(shè)置快發(fā)送,但仍然規(guī)定了網(wǎng)絡(luò)管理報(bào)文的發(fā)送次數(shù),通常配置為10個(gè)NM-Cycle。基于FlexRay的10Mbit/傳輸,網(wǎng)絡(luò)管理報(bào)文周期相較于CAN仍加速3-4倍,相較于CANFD加速1-2倍,這也取決于NM-RepCycle的設(shè)置。BSM-RMS狀態(tài)測(cè)試正是檢測(cè)此項(xiàng)機(jī)制。監(jiān)測(cè)實(shí)現(xiàn)采用on frframe事件,測(cè)試時(shí)最好設(shè)置同一Cycle中仿真的網(wǎng)絡(luò)管理報(bào)文時(shí)隙ID大于被測(cè)的網(wǎng)絡(luò)管理報(bào)文,大家可以參照Lin協(xié)議的調(diào)度表運(yùn)行考慮不這樣做會(huì)有什么bug,又有哪種方法可以解決?
04?PNC掩碼測(cè)試
測(cè)試方法:利用Arxml解析后的PNC-PDU-Signal Group信息,使用CANoe發(fā)送WUP喚醒電平,仿真帶有不同PNCID的有效網(wǎng)絡(luò)管理報(bào)文,監(jiān)測(cè)ECU相關(guān)PDU的Signal Group是否更新。
分別發(fā)送PNCID=16,17的NM報(bào)文
前文所述,FlexRay節(jié)點(diǎn)為安全與高速服務(wù),任何節(jié)點(diǎn)的通信都必須保證,因此在整車(chē)網(wǎng)絡(luò)中各冷啟動(dòng)節(jié)點(diǎn)常被配置為PNC網(wǎng)關(guān),那PNC掩碼喚醒/喚醒維持測(cè)試就必不可少了。測(cè)試中需注意on frpdu事件無(wú)法抓取object::name,必須將Arxml文件中的信息提取并根據(jù)object::FR_cycle與object::FR_slotID做匹配。Capl提供主要抓取對(duì)象如下:
on frpdu事件主要對(duì)象
以上,就是本次給大家分享的全部?jī)?nèi)容啦。小懌相信隨著OEM對(duì)于整車(chē)功耗標(biāo)準(zhǔn)的不斷提升,FlexRay的優(yōu)點(diǎn)與管理用戶數(shù)據(jù)的PNC狀態(tài)設(shè)計(jì)在未來(lái)將會(huì)有更多運(yùn)用。限于篇幅,內(nèi)容不詳之處如果您還有疑問(wèn),歡迎下方留言,也可隨時(shí)聯(lián)系我們呦!
參考資料
1.《FlexRay Protocol Specification_V2.1》
2.《Specification of Communication Manager??AUTOSAR CP Release 4.3.0??》
3.《AUTOSAR SWS CANNetworkManagement-4.3.0》
喜歡此篇文章歡迎評(píng)論、收藏、分享支持小編~
總結(jié)
以上是生活随笔為你收集整理的FlexRay网络管理与测试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: 计算机配置主要看哪些东西,买电脑主要看哪
- 下一篇: 青岛大学计算机二级考试,2017年3月青
