LPC2000系列的CAN總線驗(yàn)收濾波器應(yīng)用
發(fā)布時(shí)間:2007/8/28 0:00:00 訪問(wèn)次數(shù):522
西南交通大學(xué) 曹均平 王長(zhǎng)林
CAN(Controller Area NetWork)總線,即控制器局域網(wǎng)總線,是由德國(guó)Bosch公司于1982年開(kāi)發(fā)和推出的最早用于汽車內(nèi)部測(cè)量與執(zhí)行部件之間的數(shù)據(jù)通信協(xié)議。在20多年的歷史中,CAN總線在許多領(lǐng)域得到了應(yīng)用,是到目前為止唯一有國(guó)際標(biāo)準(zhǔn)的現(xiàn)場(chǎng)總線。
CAN現(xiàn)場(chǎng)總線按照國(guó)際標(biāo)準(zhǔn)化組織ISO提出的"開(kāi)放系統(tǒng)互聯(lián)(OSI)"參考模式,實(shí)現(xiàn)其中的物理層、數(shù)據(jù)鏈路層和應(yīng)用層。CAN控制器用來(lái)實(shí)現(xiàn)CAN總線協(xié)議。CAN控制器芯片分為兩類:一類是獨(dú)立的控制器芯片,如SJA1000;另一類是和微控制器做在一起,如Philips公司的LPC2000系列32位ARM微控制器。兩類控制器都提供了報(bào)文標(biāo)識(shí)過(guò)濾的驗(yàn)收濾波器。但獨(dú)立CAN控制器的驗(yàn)收濾波器只能對(duì)規(guī)律性較強(qiáng)的報(bào)文標(biāo)識(shí)符(Identifier,簡(jiǎn)稱ID)進(jìn)行篩選過(guò)濾,或是對(duì)個(gè)數(shù)較少的ID進(jìn)行任意篩選,難以實(shí)現(xiàn)更加復(fù)雜的任意ID篩選。Philips公司的LPC2000系列32位ARM微控制器內(nèi)嵌的驗(yàn)收濾波器為CAN控制器提供了全局的標(biāo)識(shí)符查詢功能,能實(shí)現(xiàn)復(fù)雜的報(bào)文ID過(guò)濾,而且可以大大減輕微控制器的負(fù)擔(dān)。
1驗(yàn)收濾波器的特點(diǎn)和功能
1.1驗(yàn)收濾波器的特點(diǎn)
LPC2000系列ARM微控制器是采用ARM7TDMI-S內(nèi)核的32位嵌入式微處理器,內(nèi)嵌2路或4路CAN控制器和驗(yàn)收濾波器。驗(yàn)收濾波器為CAN控制器提供全局的報(bào)文標(biāo)識(shí)過(guò)濾功能。它包含一個(gè)512×32(2 KB)的RAM,在這2 KB的RAM中可以設(shè)置1~5個(gè)報(bào)文標(biāo)識(shí)符表,形成一個(gè)查找表LUT(LookUp Table)。整個(gè)查找表可以容納1 024個(gè)標(biāo)準(zhǔn)標(biāo)識(shí)符或512個(gè)擴(kuò)展標(biāo)識(shí)符,或兩種混合類型的標(biāo)識(shí)符。5個(gè)可能的標(biāo)識(shí)符表格包括FullCAN的標(biāo)準(zhǔn)標(biāo)識(shí)符表和獨(dú)立標(biāo)準(zhǔn)標(biāo)識(shí)符表、標(biāo)準(zhǔn)標(biāo)識(shí)符范圍表、獨(dú)立擴(kuò)展標(biāo)識(shí)符表以及擴(kuò)展標(biāo)識(shí)符范圍表。這5個(gè)表格不是必須同時(shí)存在,可以根據(jù)需要裁減。如果一個(gè)表格的起始地址等于下一個(gè)表格的起始地址或表格終止寄存器的數(shù)值,則該表格為空,在處理中將被忽略。
1.2驗(yàn)收濾波器的功能
LPC2000系列ARM微控制器的CAN驗(yàn)收濾波器有2種工作模式:一種是一般模式;另一種被稱為"FullCAN模式"。在一般模式下,當(dāng)CAN控制器的接收端收到一個(gè)完整的標(biāo)識(shí)符時(shí),它將通知接收驗(yàn)收濾波器。驗(yàn)收濾波器響應(yīng)這個(gè)信號(hào),讀出CAN控制器編號(hào)和標(biāo)識(shí)符大小(標(biāo)準(zhǔn)標(biāo)識(shí)符11位或擴(kuò)展標(biāo)識(shí)符29位);然后搜索LUT,查找匹配的標(biāo)識(shí)符。如果找到匹配的標(biāo)識(shí)符,則通知CAN控制器將接收的報(bào)文放入CAN控制器接收緩沖中;否則,放棄接收到的這一幀信息。其工作流程如圖1所示。
如果使能FullCAN模式,且CAN控制器報(bào)告產(chǎn)生的是一個(gè)標(biāo)準(zhǔn)標(biāo)識(shí)符,則驗(yàn)收過(guò)濾器首先查詢FullCAN標(biāo)準(zhǔn)標(biāo)識(shí)符表,然后在FullCAN模式下處理接收。如果在FullCAN標(biāo)準(zhǔn)標(biāo)識(shí)符表中沒(méi)有找到匹配的ID,則依次查找下一個(gè)存在的表格,直到找到匹配者或查找表結(jié)束。一旦發(fā)現(xiàn)匹配的ID,就將接收到的報(bào)文放入特定的報(bào)文緩沖中而不是CAN控制器接收緩沖中,這個(gè)特定的緩沖位于驗(yàn)收濾波器的RAM中,而且是在LUT的最后部分。CPU可以在任何時(shí)候讀取接收到的報(bào)文。FullCAN模式的接收工作流程如圖2所示。
2驗(yàn)收濾波器的驅(qū)動(dòng)程序開(kāi)發(fā)
2.1 驗(yàn)收濾波器寄存器描述
以LPC2292為例說(shuō)明其驗(yàn)收濾波器驅(qū)動(dòng)程序的開(kāi)發(fā)。在LPC2292中內(nèi)嵌2路CAN控制器,它的驗(yàn)收濾波器寄存器如表1所列。注意:這里的起始地址是以驗(yàn)收濾波器RAM的起始地址為基本地址的偏移。如在一般模式下,SFF_sa=O表示獨(dú)立標(biāo)準(zhǔn)幀標(biāo)識(shí)符的起始地址位于0xE0038000處。
一個(gè)表格的大小由其前后2個(gè)表格起始地址寄存器的差值決定。例如,SFF_GRP_sa-SFF_sa為獨(dú)立標(biāo)準(zhǔn)幀標(biāo)識(shí)符查找表格大小。若其值為0,即SFF_GRP_sa=SFF_sa,則獨(dú)立標(biāo)準(zhǔn)幀標(biāo)識(shí)符查找表格大小為0,在查找時(shí)此表格將被忽略。查找表結(jié)束寄存器ENDofTable代表查找表結(jié)束地址,ENDofTable-EFF_GRP_sa為擴(kuò)展幀組標(biāo)識(shí)符查找表大小。驗(yàn)收濾波器寄存器AFMR控制其工作模式,具體定義如表2所列。
西南交通大學(xué) 曹均平 王長(zhǎng)林 CAN(Controller Area NetWork)總線,即控制器局域網(wǎng)總線,是由德國(guó)Bosch公司于1982年開(kāi)發(fā)和推出的最早用于汽車內(nèi)部測(cè)量與執(zhí)行部件之間的數(shù)據(jù)通信協(xié)議。在20多年的歷史中,CAN總線在許多領(lǐng)域得到了應(yīng)用,是到目前為止唯一有國(guó)際標(biāo)準(zhǔn)的現(xiàn)場(chǎng)總線。 CAN現(xiàn)場(chǎng)總線按照國(guó)際標(biāo)準(zhǔn)化組織ISO提出的"開(kāi)放系統(tǒng)互聯(lián)(OSI)"參考模式,實(shí)現(xiàn)其中的物理層、數(shù)據(jù)鏈路層和應(yīng)用層。CAN控制器用來(lái)實(shí)現(xiàn)CAN總線協(xié)議。CAN控制器芯片分為兩類:一類是獨(dú)立的控制器芯片,如SJA1000;另一類是和微控制器做在一起,如Philips公司的LPC2000系列32位ARM微控制器。兩類控制器都提供了報(bào)文標(biāo)識(shí)過(guò)濾的驗(yàn)收濾波器。但獨(dú)立CAN控制器的驗(yàn)收濾波器只能對(duì)規(guī)律性較強(qiáng)的報(bào)文標(biāo)識(shí)符(Identifier,簡(jiǎn)稱ID)進(jìn)行篩選過(guò)濾,或是對(duì)個(gè)數(shù)較少的ID進(jìn)行任意篩選,難以實(shí)現(xiàn)更加復(fù)雜的任意ID篩選。Philips公司的LPC2000系列32位ARM微控制器內(nèi)嵌的驗(yàn)收濾波器為CAN控制器提供了全局的標(biāo)識(shí)符查詢功能,能實(shí)現(xiàn)復(fù)雜的報(bào)文ID過(guò)濾,而且可以大大減輕微控制器的負(fù)擔(dān)。 1驗(yàn)收濾波器的特點(diǎn)和功能 1.1驗(yàn)收濾波器的特點(diǎn) LPC2000系列ARM微控制器是采用ARM7TDMI-S內(nèi)核的32位嵌入式微處理器,內(nèi)嵌2路或4路CAN控制器和驗(yàn)收濾波器。驗(yàn)收濾波器為CAN控制器提供全局的報(bào)文標(biāo)識(shí)過(guò)濾功能。它包含一個(gè)512×32(2 KB)的RAM,在這2 KB的RAM中可以設(shè)置1~5個(gè)報(bào)文標(biāo)識(shí)符表,形成一個(gè)查找表LUT(LookUp Table)。整個(gè)查找表可以容納1 024個(gè)標(biāo)準(zhǔn)標(biāo)識(shí)符或512個(gè)擴(kuò)展標(biāo)識(shí)符,或兩種混合類型的標(biāo)識(shí)符。5個(gè)可能的標(biāo)識(shí)符表格包括FullCAN的標(biāo)準(zhǔn)標(biāo)識(shí)符表和獨(dú)立標(biāo)準(zhǔn)標(biāo)識(shí)符表、標(biāo)準(zhǔn)標(biāo)識(shí)符范圍表、獨(dú)立擴(kuò)展標(biāo)識(shí)符表以及擴(kuò)展標(biāo)識(shí)符范圍表。這5個(gè)表格不是必須同時(shí)存在,可以根據(jù)需要裁減。如果一個(gè)表格的起始地址等于下一個(gè)表格的起始地址或表格終止寄存器的數(shù)值,則該表格為空,在處理中將被忽略。 1.2驗(yàn)收濾波器的功能 LPC2000系列ARM微控制器的CAN驗(yàn)收濾波器有2種工作模式:一種是一般模式;另一種被稱為"FullCAN模式"。在一般模式下,當(dāng)CAN控制器的接收端收到一個(gè)完整的標(biāo)識(shí)符時(shí),它將通知接收驗(yàn)收濾波器。驗(yàn)收濾波器響應(yīng)這個(gè)信號(hào),讀出CAN控制器編號(hào)和標(biāo)識(shí)符大小(標(biāo)準(zhǔn)標(biāo)識(shí)符11位或擴(kuò)展標(biāo)識(shí)符29位);然后搜索LUT,查找匹配的標(biāo)識(shí)符。如果找到匹配的標(biāo)識(shí)符,則通知CAN控制器將接收的報(bào)文放入CAN控制器接收緩沖中;否則,放棄接收到的這一幀信息。其工作流程如圖1所示。 2.1 驗(yàn)收濾波器寄存器描述 以LPC2292為例說(shuō)明其驗(yàn)收濾波器驅(qū)動(dòng)程序的開(kāi)發(fā)。在LPC2292中內(nèi)嵌2路CAN控制器,它的驗(yàn)收濾波器寄存器如表1所列。注意:這里的起始地址是以驗(yàn)收濾波器RAM的起始地址為基本地址的偏移。如在一般模式下,SFF_sa=O表示獨(dú)立標(biāo)準(zhǔn)幀標(biāo)識(shí)符的起始地址位于0xE0038000處。 一個(gè)表格的大小由其前后2個(gè)表格起始地址寄存器的差值決定。例如,SFF_GRP_sa-SFF_sa為獨(dú)立標(biāo)準(zhǔn)幀標(biāo)識(shí)符查找表格大小。若其值為0,即SFF_GRP_sa=SFF_sa,則獨(dú)立標(biāo)準(zhǔn)幀標(biāo)識(shí)符查找表格大小為0,在查找時(shí)此表格將被忽略。查找表結(jié)束寄存器ENDofTable代表查找表結(jié)束地址,ENDofTable-EFF_GRP_sa為擴(kuò)展幀組標(biāo)識(shí)符查找表大小。驗(yàn)收濾波器寄存器AFMR控制其工作模式,具體定義如表2所列。
如果使能FullCAN模式,且CAN控制器報(bào)告產(chǎn)生的是一個(gè)標(biāo)準(zhǔn)標(biāo)識(shí)符,則驗(yàn)收過(guò)濾器首先查詢FullCAN標(biāo)準(zhǔn)標(biāo)識(shí)符表,然后在FullCAN模式下處理接收。如果在FullCAN標(biāo)準(zhǔn)標(biāo)識(shí)符表中沒(méi)有找到匹配的ID,則依次查找下一個(gè)存在的表格,直到找到匹配者或查找表結(jié)束。一旦發(fā)現(xiàn)匹配的ID,就將接收到的報(bào)文放入特定的報(bào)文緩沖中而不是CAN控制器接收緩沖中,這個(gè)特定的緩沖位于驗(yàn)收濾波器的RAM中,而且是在LUT的最后部分。CPU可以在任何時(shí)候讀取接收到的報(bào)文。FullCAN模式的接收工作流程如圖2所示。
2驗(yàn)收濾波器的驅(qū)動(dòng)程序開(kāi)發(fā)
熱門點(diǎn)擊
- 基于UC3638的PWM控制器在TEC溫控中
- 基于IR1150的單周期控制PFC的原理與設(shè)
- 基于XC164的六通道ABS開(kāi)發(fā)板設(shè)計(jì)
- 潛望鏡保護(hù)玻璃溫度控制器的設(shè)計(jì)
- 基于AT91M40800的音頻視頻處理系統(tǒng)設(shè)
- 基于氣動(dòng)人工肌肉的雙足機(jī)器人關(guān)節(jié)設(shè)計(jì)
- 心電圖機(jī)USB借口的熱敏打印控制系統(tǒng)
- SEP3203與偽彩LCD驅(qū)動(dòng)SSD1770
- 全橋移相ZVSPWM控制器LTC3722-X
- 基于DSP的馬達(dá)控制系統(tǒng)
推薦技術(shù)資料
- 自制經(jīng)典的1875功放
- 平時(shí)我也經(jīng)常逛一些音響DIY論壇,發(fā)現(xiàn)有很多人喜歡LM... [詳細(xì)]
- STGWA30IH160DF2
- 最新一代低功耗內(nèi)存LPDDR6
- EMI CISPR25 CLA
- Android 和Linux
- 汽車混合信號(hào)微控制器̴
- 4A,6A 3KVRMS雙通道隔離的閘門驅(qū)動(dòng)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究
深圳服務(wù)熱線:13692101218 13751165337
粵ICP備09112631號(hào)-6(miitbeian.gov.cn)

深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式