CAN通信爲什麽需要過濾器?ECAN硬件過濾器使用手冊

億佰特物聯網應用 2024-05-09 15:07:13
爲什麽需要過濾器?

因CAN總線在網絡層是多主結構,或者說無主結構。所有報文通過廣播方式發送到總線上,各節點通過報文標識符(ID)決定是否需要處理此幀數據所攜帶的信息。在日常使用CAN總線過程中,需要對總線上的報文進行有效過濾,以達到正確獲取有效信息的目的。一般有兩種過濾方法,軟件過濾器過濾法和硬件過濾器過濾法,本文將著重介紹硬件過濾器使用方法。手冊適用型號ECAN-E01、ECAN-W01。

如何選擇軟、硬件過濾器?

說到使用過濾器,那就不得不提一下CAN節點的接收處理流程。CAN總線的報文接收,由CAN控制器硬件(即硬件過濾器)來完成,無需MCU的幹涉,減輕了MCU的處理負荷。在報文通過硬件過濾器後,將被儲存在接收郵箱中,本系列産品共有兩個(分別爲RFIFO0和RFIFO1)三級深度(mailbox1、2、3)的接收郵箱。然後應用程序通過從接收郵箱中取走相應的報文,已拿到需要的信息。

1.軟件過濾器

應用程序過濾,通過從郵箱中取出一幀數據,並通過軟件對報文標識符判斷是否是自己需要的數據幀。可單一過濾或者按段過濾。此方案適用于總線上報文量不大的使用場景。

2.硬件過濾器

報文從CAN總線上到達CAN控制器前,需要經過對應的規則以達到通過硬件過濾器,才能到達CAN控制器。如果不能通過硬件過濾器,則數據不會到達硬件控制器,也不會到達MCU。因此使用在總線上數據量很大,且自身節點又不需要接收很多數據的場景。

本系列産品總共包含28個過濾器組,分給兩路CAN使用,可通過配置對應的寄存器將寄存器一分爲二。在本系列産品中,使用平均分配方式,即0~13組用于CAN1,14~27用于CAN2。

硬件過濾器特點:

• 可變位寬

1個32位過濾器

2個16位過濾器

• 屏蔽模式

屏蔽位模式

標識符列表模式

其寄存器組織如下圖:

一般16位模式用于標准幀(11位ID);32位模式用于擴展幀(29位ID)。標識符列表模式,完全匹配即單一過濾;屏蔽位模式則是按位進行比較。

當上圖中屏蔽所在寄存器對應位爲1,則總線上的數據的對應ID位必須與上圖中ID對應位完成相同。

當上圖中屏蔽所在寄存器對應位爲0,則總線上的數據的對應ID位可與上圖中ID對應位相同或者不同,即可爲0也可爲1。

在配置上位機已對寄存器與不同位寬、不同模式、不同IDE(標准幀:0,擴展幀:1)、不同RTR(數據幀:0,遠程幀/遙控幀:1)做相應的處理,如下:

屏蔽位模式:

標識符列表模式:

注意:在使用CAN過程中,至少需要匹配一組過濾器。通常情況下,配置爲全通過模式,此模式能收到所有報文。即如下圖:

億佰特CAN通信設備:

CAN2.0協議是什麽?CAN通信模塊特點

什麽是CAN總線?常見CAN總線通信模塊及轉換器​

0 阅读:2

億佰特物聯網應用

簡介:一家專注于物聯網通信應用的高新技術企業