一個CAN節(jié)點(diǎn)接入總線后,濾波不使能的情況下,總線上所有CAN數(shù)據(jù)幀都能被接收。若僅需接收一個固定范圍ID的數(shù)據(jù)幀,可以通過配置屏蔽碼和驗(yàn)收碼,從而對數(shù)據(jù)幀進(jìn)行過濾處理。數(shù)據(jù)幀在CAN總線上傳輸時,CAN節(jié)點(diǎn)通過驗(yàn)收濾波器來對比總線上的數(shù)據(jù)幀的ID與本節(jié)點(diǎn)的ID是否一致,若ID一致,CAN控制器才允許將已接收信息存入對應(yīng)的寄存器中;ID不一致,該數(shù)據(jù)幀會被丟棄以此減輕CAN控制器的工作量。驗(yàn)收濾波器是由驗(yàn)收代碼寄存器(ACR)和驗(yàn)收屏蔽寄存器(AMR)共同組成。用戶通過配置驗(yàn)收屏蔽寄存器和驗(yàn)收代碼寄存器,進(jìn)而得出對應(yīng)的屏蔽碼和驗(yàn)收碼對CAN數(shù)據(jù)幀進(jìn)行過濾處理。本文以SJA1000為例進(jìn)行說明,其濾波方式分為單濾波和雙濾波兩種。由模式寄存器AFM位控制,AFM=1時為單濾波;AFM=0時為雙濾波。
?雙濾波雙濾波模式下,定義了兩個驗(yàn)收濾波器,接收的數(shù)據(jù)幀只要通過其中一個驗(yàn)收濾波器,就被認(rèn)定為有效幀,即能被正常接收并存入寄存器中。ACR0、ACR1和AMR0、AMR1組成第一個驗(yàn)收濾波器,ACR2、ACR3和AMR2、AMR3組成第二個驗(yàn)收濾波器。以接收CAN拓展幀為例,該數(shù)據(jù)幀的ID段的前兩個字節(jié),即29位ID中的高16位參與濾波。ACR0和ACR1控制ID位為No.13-No.28,ACR2和ACR3也控制ID位為No.13-No.28,如表1所示。這意味著該CAN拓展幀ID位No.13-No.28這16位要與這兩組驗(yàn)收代碼中的其中一組一致才能被該節(jié)點(diǎn)正常接收并存入接收緩存區(qū);否則該數(shù)據(jù)幀會被丟棄,這樣達(dá)到了兩次濾波的效果。表1 AMR、ACR和控制ID位對應(yīng)表 ?單濾波
單濾波模式下,所有AMR為“0”的位所對應(yīng)的ACR位和參與單濾波數(shù)據(jù)對應(yīng)的位需要一致才能被認(rèn)定為驗(yàn)收濾波通過,如表2所示。接收CAN標(biāo)準(zhǔn)幀時,11位ID、RTR位和DATA段前16位都參與濾波;接收CAN拓展幀時,29位ID和RTR位參與濾波,如圖1所示。表2AMR、ACR和濾波ID對應(yīng)表
圖1CAN標(biāo)準(zhǔn)幀和CAN拓展幀的幀格式示意圖
?CSM330A
我司的隔離SPI/UART轉(zhuǎn)CAN芯片CSM330A并未采用單濾波或者雙濾波的方式進(jìn)行接收濾波。CSM330A的驗(yàn)收濾波器是由1個驗(yàn)收屏蔽寄存器和6個驗(yàn)收代碼寄存器組成,用戶可以通過配置一組屏蔽碼“管理”6組驗(yàn)收碼。當(dāng)屏蔽碼某位值為 1 時,則該位對應(yīng)的驗(yàn)收碼會被“使能”,被“使能”的“驗(yàn)收碼”和產(chǎn)品要接收的 CAN 幀的“幀 ID”相同,該 CAN 幀才會被接收到接收緩沖區(qū)。當(dāng)“屏蔽碼”的位值為0時,驗(yàn)收碼不起作用,相應(yīng)位的幀標(biāo)識為任何值都可被接收,如表3所示。
表3濾波、屏蔽碼真值表
?產(chǎn)品應(yīng)用
CSM330A適用于工業(yè)通訊、電池檢測、充電樁、軌道交通、樓宇自動化等領(lǐng)域。CSM330A協(xié)議轉(zhuǎn)換芯片應(yīng)用在智能汽車司機(jī)行為監(jiān)測的應(yīng)用方案,如圖2所示。ZLG面向DMS行業(yè)客戶主要提供主控、供電、通訊防護(hù)等的模塊化方案。主控方面為Cortex-A35 M1808 AI核心板,搭載自研圖像傳感技術(shù)搭配出車載行為檢測系統(tǒng)解決方案。可實(shí)現(xiàn)駕駛員身份識別,對司機(jī)異常操作發(fā)出警報和提醒等功能。圖2司機(jī)行為檢測應(yīng)用方案
-
寄存器
+關(guān)注
關(guān)注
31文章
5336瀏覽量
120231 -
CAN
+關(guān)注
關(guān)注
57文章
2744瀏覽量
463621 -
通信
+關(guān)注
關(guān)注
18文章
6024瀏覽量
135950
發(fā)布評論請先 登錄
相關(guān)推薦
評論