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