《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > LPC2000系列的CAN總線驗收濾波器應用
LPC2000系列的CAN總線驗收濾波器應用
摘要: LPC2000系列ARM微控制器的CAN驗收濾波器能夠有效地屏蔽總線上不允許通過的報文,大大減輕了CPU的負擔,在以CAN總線為通信網絡的應用中發揮了很大的作用。
Abstract:
Key words :

  CAN(Controller Area NetWork)總線,即控制器局域網總線,是由德國Bosch公司于1982年開發和推出的最早用于汽車內部測量與執行部件之間的數據通信協議。在20多年的歷史中,CAN總線在許多領域得到了應用,是到目前為止唯一有國際標準的現場總線。

  CAN現場總線按照國際標準化組織ISO提出的"開放系統互聯(OSI)"參考模式,實現其中的物理層、數據鏈路層和應用層。CAN控制器用來實現CAN總線協議。CAN控制器芯片分為兩類:一類是獨立的控制器芯片,如SJA1000;另一類是和微控制器做在一起,如Philips公司的LPC2000系列32位ARM微控制器。兩類控制器都提供了報文標識過濾的驗收濾波器。但獨立CAN控制器的驗收濾波器只能對規律性較強的報文標識符(Identifier,簡稱ID)進行篩選過濾,或是對個數較少的ID進行任意篩選,難以實現更加復雜的任意ID篩選。Philips公司的LPC2000系列32位ARM微控制器內嵌的驗收濾波器為CAN控制器提供了全局的標識符查詢功能,能實現復雜的報文ID過濾,而且可以大大減輕微控制器的負擔。

  1驗收濾波器的特點和功能

  1.1驗收濾波器的特點

  LPC2000系列ARM微控制器是采用ARM7TDMI-S內核的32位嵌入式微處理器,內嵌2路或4路CAN控制器和驗收濾波器。驗收濾波器為CAN控制器提供全局的報文標識過濾功能。它包含一個512×32(2 KB)的RAM,在這2 KB的RAM中可以設置1~5個報文標識符表,形成一個查找表LUT(LookUp Table)。整個查找表可以容納1024個標準標識符或512個擴展標識符,或兩種混合類型的標識符。5個可能的標識符表格包括FullCAN的標準標識符表和獨立標準標識符表、標準標識符范圍表、獨立擴展標識符表以及擴展標識符范圍表。這5個表格不是必須同時存在,可以根據需要裁減。如果一個表格的起始地址等于下一個表格的起始地址或表格終止寄存器的數值,則該表格為空,在處理中將被忽略。

  1.2驗收濾波器的功能

  LPC2000系列ARM微控制器的CAN驗收濾波器有2種工作模式:一種是一般模式;另一種被稱為"FullCAN模式"。在一般模式下,當CAN控制器的接收端收到一個完整的標識符時,它將通知接收驗收濾波器。驗收濾波器響應這個信號,讀出CAN控制器編號和標識符大小(標準標識符11位或擴展標識符29位);然后搜索LUT,查找匹配的標識符。如果找到匹配的標識符,則通知CAN控制器將接收的報文放入CAN控制器接收緩沖中;否則,放棄接收到的這一幀信息。其工作流程如圖1所示。

  
 驗收濾波器工作流程
 
        如果使能FullCAN模式,且CAN控制器報告產生的是一個標準標識符,則驗收過濾器首先查詢FullCAN標準標識符表,然后在FullCAN模式下處理接收。如果在FullCAN標準標識符表中沒有找到匹配的ID,則依次查找下一個存在的表格,直到找到匹配者或查找表結束。一旦發現匹配的ID,就將接收到的報文放入特定的報文緩沖中而不是CAN控制器接收緩沖中,這個特定的緩沖位于驗收濾波器的RAM中,而且是在LUT的最后部分。CPU可以在任何時候讀取接收到的報文。FullCAN模式的接收工作流程如圖2所示。
 

FullCAN模式的接收工作流程

       2驗收濾波器的驅動程序開發 

       2.1 驗收濾波器寄存器描述

  以LPC2292為例說明其驗收濾波器驅動程序的開發。在LPC2292中內嵌2路CAN控制器,它的驗收濾波器寄存器如表1所列。注意:這里的起始地址是以驗收濾波器RAM的起始地址為基本地址的偏移。如在一般模式下,SFF_sa=O表示獨立標準幀標識符的起始地址位于0xE0038000處。

  一個表格的大小由其前后2個表格起始地址寄存器的差值決定。例如,SFF_GRP_sa-SFF_sa為獨立標準幀標識符查找表格大小。若其值為0,即SFF_GRP_sa=SFF_sa,則獨立標準幀標識符查找表格大小為0,在查找時此表格將被忽略。查找表結束寄存器ENDofTable代表查找表結束地址,ENDofTable-EFF_GRP_sa為擴展幀組標識符查找表大小。驗收濾波器寄存器AFMR控制其工作模式,具體定義如表2所列。

 驗收濾波器寄存器AFMR控制其工作模式 

  驗收濾波器寄存器AFMR控制其工作模式
 
        2.2查找表中標識符格式

 ①FullCAN的標準標識符表和獨立標

準標識符表。
要注意的是,每個FullCAN的標準標識符表和獨立標準標識符表都必須按升序排列,即標識符1大于標識符O;否則,在AF中將引起表格錯誤而使接收過濾失敗。表格格式如下:

 

 FullCAN的標準標識符表和獨立標準標識符表 
 

  ②標準標識符范圍表。標識符上邊界和下邊界(包括上下邊界)之間的ID為允許通過ID。表格格式如下:

  
 標準標識符范圍表

  
        ③獨立擴展標識符表。1個獨立擴展標識符占1個字,而且需要按升序排列。表格格式如下:

  
 獨立擴展標識符表

  
        ④擴展標識符范圍表。它總是成對出現,占用2個字,因此合法的表格必須以偶數個字出現,而且必須按升序排列。表格格式如下:

  
 擴展標識符范圍表

  
        2.3驗收濾波器驅動程序的設計

  根據以上說明,就可以設計驗收濾波器的驅動程序了。以LPC2292為例來說明如何設計驅動程序。

  假定獨立標準標識符有ID0和ID1兩個,依次按升序排列,組標準幀標識符范圍為ID2~ID3(ID2www.mesnet.com.cn--編者注)

  3 結論

  LPC2000系列ARM微控制器的CAN驗收濾波器能夠有效地屏蔽總線上不允許通過的報文,大大減輕了CPU的負擔,在以CAN總線為通信網絡的應用中發揮了很大的作用。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 精品女同一区二区三区免费站| 98久久人妻无码精品系列蜜桃| 欧美乱人伦中文字幕在线不卡| 午夜福利一区二区三区在线观看| 日本激情一区二区三区| 女人被狂c躁到高潮视频| 久久久精品午夜免费不卡| 欧美性色欧美a在线观看| 免费被靠视频动漫| 香港aa三级久久三级不卡| 国产精品自在线拍国产电影| 一级做a爱过程免费视频高清| 明星女友开挂吧电视剧在线观看| 亚洲综合色网站| 草草影院ccyy国产日本欧美| 老师你好电影高清完整版在线观看| 老司机午夜电影| 色老成人精品视频在线观看| 窝窝免费午夜视频一区二区| 国产男女野战视频在线看| aaa毛片免费观看| 扒开末成年粉嫩的小缝视频| 亚洲av日韩av综合| 永久免费毛片在线播放| 午夜不卡av免费| 青青草国产免费| 国产精品亚洲片在线观看不卡| ssss国产在线观看| 探花www视频在线观看高清| 久久综合色婷婷| 欧美伊香蕉久久综合类网站| 人妻互换一二三区激情视频| 经典欧美gifxxoo动态图暗网| 国产午夜无码福利在线看网站| 西西人体免费视频| 天堂8中文在线最新版在线| 一级黄色毛片播放| 新婚夜被别人开了苞诗岚| 久久精品国产一区二区三区不卡 | 国产精品亚洲片在线观看不卡 | 欧美日韩视频在线|