EM9170工控主板采用FlexCAN,有關filter的設置,說明如下。
CAN Filter的設置:通過DeviceIoControl的CAN_IOCTL_SET_FILTER命令來設置,輸入參數為數據結構:
typedef struct
{
DWORD dwGroup; // 組號,= 0,1,2
DWORD dwType; // = 0:標準幀;= 1:擴展幀
DWORD dwID; // 標準幀:11-bit;擴展幀:29-bit,右對齊
DWORD dwRTR; // = 0:數據幀;= 1:遠程幀
DWORD dwMask; // 各位與dwID對應,= 0:該位不檢查;= 1:該位須檢查
} CAN_FILTER, *PCAN_FILTER;
對以上數據結構中各個參數的定義解釋如下:
? DWORD dwGroup:組號,EM9170的CAN接收Buffer共分成3組,可同時接收不同ID組的數據幀。EM9170的多個分組,類似于SJA1000中的雙濾波概念,即總線上的數據
幀只要滿足任意一組設定的條件,該數據幀將被接收。
? DWORD dwType:設置本組接收數據幀的類型。
? DWORD dwRTR:設置本組接收的是否為遠程幀。
? DWORD dwID:用于定義本組接收的數據幀ID的公共部分,即相同部分。
? DWORD dwMask:用于定義需要匹配的bit位,即置1的bit位。dwMask與dwID需要配合使用,舉例說明如下:
例:本組為標準幀包括連續的64個ID號,dwID = 2’b01010000000 = 0x280,相應的dwMask = 2’b11111000000 = 0x7C0。這時的dwMask表示可被接收的數據幀的低6位ID可以是任意編碼(設置為0的那些位),但其高5位(設置為1的那些位)必須與dwID的高5位的定義匹配,即為2’b01010xxxxxx。在實際應用中,為了便于理解,CAN地址的劃分,通常采用低位分配給各個設備,而高位地址作為應用組標志。而每一個應用組的地址數采取2的冪次方,可方便設置dwMask。
-
嵌入式主板
+關注
關注
7文章
6101瀏覽量
36301
發布評論請先 登錄
DEKRA德凱成為沙特通信和信息技術設備技術法規認證機構
科普|信創是什么?一文讀懂“信息技術應用創新”戰略

2025第二屆教育信息技術應用創新大賽正式開賽
龍芯中科榮獲2024年度信息技術應用創新工作委員會卓越貢獻成員單位
芯盛智能榮獲2024年信息技術應用創新工作委員會卓越貢獻成員單位
飛騰助力首屆教育信息技術應用創新大賽圓滿落幕
有方科技參編的信息技術團體標準發布
龍芯中科助力2024首屆教育信息技術應用創新大賽成功舉辦
拓維信息參與牽頭組建!長沙新一代信息技術產教聯合體正式獲批

中科創達榮獲2024年軟件和信息技術服務優秀企業
信創國產化背景下的工控主板發展現狀
梯度科技入選2023年信息技術應用創新解決方案名單
CAN轉Profinet協議轉化網關

評論