利用XC2300系列微控制器實(shí)現(xiàn)CAN網(wǎng)絡(luò)安全
靈活的FIFO結(jié)構(gòu)
本文引用地址:http://m.butianyuan.cn/article/93434.htmCAN 節(jié)點(diǎn)共享的所有報(bào)文對(duì)象可分別被單獨(dú)地分配給特定的鏈表,而每個(gè)鏈表則被綁定到特定的節(jié)點(diǎn)。例如,鏈表1對(duì)應(yīng)節(jié)點(diǎn)0,鏈表2對(duì)應(yīng)節(jié)點(diǎn)1,以此類(lèi)推。鏈表0是對(duì)應(yīng)所有未被分配的報(bào)文對(duì)象的附加鏈表。這些鏈表采用雙鏈?zhǔn)芥湵斫Y(jié)構(gòu)。這種結(jié)構(gòu)為在不同CAN節(jié)點(diǎn)上使用報(bào)文對(duì)象提供了高度靈活性。同時(shí),未被使用的報(bào)文對(duì)象可用于FIFO結(jié)構(gòu)。而這些FIFO既可被分配給特定的CAN節(jié)點(diǎn),也可被分配給一個(gè)未使用節(jié)點(diǎn)的鏈表。由于僅需將輸入到節(jié)點(diǎn)的報(bào)文與分配給該鏈表的報(bào)文對(duì)象進(jìn)行比較,報(bào)文對(duì)象的判斷速度得到提高。當(dāng)然,需要將FIFO基礎(chǔ)報(bào)文對(duì)象鏈接到特定的節(jié)點(diǎn)鏈表。
網(wǎng)關(guān)功能
嵌入式應(yīng)用中通常有多個(gè)CAN網(wǎng)絡(luò),以適合該應(yīng)用的不同速度運(yùn)行。有些報(bào)文需要從一個(gè)總線(xiàn)系統(tǒng)傳輸?shù)搅硪粋€(gè)總線(xiàn)系統(tǒng)。網(wǎng)關(guān)功能對(duì)實(shí)現(xiàn)上述應(yīng)用非常有效,而且還有可能將網(wǎng)關(guān)和FIFO功能結(jié)合起來(lái)。例如,在將出現(xiàn)頻度很高的報(bào)文從高速CAN總線(xiàn)傳輸?shù)降退?CAN總線(xiàn)時(shí),將網(wǎng)關(guān)和FIFO功能結(jié)合起來(lái),就有可能在不增加CPU負(fù)荷的前提下實(shí)現(xiàn)這種報(bào)文傳輸。
分析器模式
CAN網(wǎng)絡(luò)的所有節(jié)點(diǎn)通常都采用CAN協(xié)議,即對(duì)報(bào)文做出反應(yīng)并進(jìn)行確認(rèn)。在分析器模式下,CAN節(jié)點(diǎn)監(jiān)聽(tīng)總線(xiàn),不主動(dòng)利用協(xié)議進(jìn)行傳輸。該特性對(duì)于多種應(yīng)用具有價(jià)值。例如在不影響總線(xiàn)運(yùn)行的情況下檢測(cè)波特率,該特性還可以用于實(shí)現(xiàn)對(duì)運(yùn)行中的CAN網(wǎng)絡(luò)進(jìn)行熱插拔。更多優(yōu)點(diǎn)包括同步分析和驅(qū)動(dòng)器延時(shí)測(cè)量。這可用于幀定時(shí)測(cè)量,并根據(jù)物理CAN總線(xiàn)情況調(diào)整位定時(shí)值。它還能提供所檢測(cè)到錯(cuò)誤的詳細(xì)信息,便于分析出錯(cuò)原因。比如,上次錯(cuò)誤代碼(LEC)位域、所有錯(cuò)誤計(jì)數(shù)器的可讀性和錯(cuò)誤報(bào)警級(jí)別的靈活下調(diào)。
用于安全應(yīng)用的分析器模式
安全應(yīng)用具有特殊要求,例如在關(guān)鍵路徑中增加冗余部件。在CAN網(wǎng)絡(luò)中,CAN節(jié)點(diǎn)和CAN收發(fā)器就處于這種關(guān)鍵路徑中。通過(guò)節(jié)點(diǎn)進(jìn)行的報(bào)文傳輸可能會(huì)被阻斷,更糟糕的是,總線(xiàn)上其他節(jié)點(diǎn)的通信也可能會(huì)受到干擾。英飛凌XC2300系列微控制器最多可提供4個(gè)獨(dú)立的CAN節(jié)點(diǎn),并可在多種配置下利用分析器模式進(jìn)行錯(cuò)誤檢測(cè)。利用2個(gè)CAN節(jié)點(diǎn)和2個(gè)獨(dú)立的CAN收發(fā)器,可檢測(cè)從物理CAN總線(xiàn)到報(bào)文存儲(chǔ)器的錯(cuò)誤。第二個(gè)CAN節(jié)點(diǎn)以分析器模式運(yùn)行,監(jiān)聽(tīng)總線(xiàn),不主動(dòng)利用協(xié)議進(jìn)行傳輸。這種配置的優(yōu)點(diǎn)在于,CAN收發(fā)器引起的錯(cuò)誤也能被檢測(cè)到。其缺點(diǎn)在于成本。另一種配置是放棄第二CAN收發(fā)器,這種配置在成本上更低,但不能檢測(cè)到收發(fā)器引起的錯(cuò)誤。在兩種配置下,節(jié)點(diǎn)均被異步處理,原因是內(nèi)部協(xié)議處理器按一個(gè)報(bào)文對(duì)象接著另一個(gè)的順序請(qǐng)求信息。使用兩個(gè)不同的報(bào)文對(duì)象并通過(guò)軟件進(jìn)行比較,以檢驗(yàn)所收到信息的正確性。這樣甚至能發(fā)現(xiàn)協(xié)議處理器和報(bào)文存儲(chǔ)器之間的問(wèn)題。
圖2 利用網(wǎng)關(guān)功能自主傳送CAN報(bào)文,毋須額外增加CPU負(fù)荷
評(píng)論