国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

CAN總線驗(yàn)收濾波器設(shè)置方法研究

2012-08-22 11:05董庭瓊劉志浩邵亞軍
科技視界 2012年27期
關(guān)鍵詞:標(biāo)識(shí)符報(bào)文屏蔽

董庭瓊 劉志浩 邵亞軍

(中國(guó)人民解放軍第二炮兵工程大學(xué) 陜西 西安 710025)

0 引言

CAN-bus(Controller Area Network)即控制器局域網(wǎng)是由德國(guó)Bosch公司為汽車應(yīng)用而開(kāi)發(fā)的多主機(jī)局部網(wǎng)絡(luò),主要應(yīng)用于汽車的監(jiān)測(cè)和控制。德國(guó)Bosch公司開(kāi)發(fā)CAN總線的最初目的是為了解決汽車上數(shù)量眾多的電子設(shè)備之間的通信問(wèn)題,減少電子設(shè)備之間繁多的信號(hào)線。于是設(shè)計(jì)了一個(gè)單一的網(wǎng)絡(luò)總線,使所有的外圍器件可以被掛接在該總線上。作為一種技術(shù)先進(jìn)、可靠性高、功能完善、成本合理的遠(yuǎn)程網(wǎng)絡(luò)通訊控制方式,已被廣泛應(yīng)用到各個(gè)領(lǐng)域中。基于CAN總線的優(yōu)越性和廣泛應(yīng)用,許多著名的芯片生產(chǎn)商都推出了獨(dú)立的CAN控制器芯片,或者帶有CAN控制器的MCU芯片。

圖1 CAN控制器結(jié)構(gòu)圖

在CAN總線網(wǎng)絡(luò)的設(shè)計(jì)過(guò)程中,濾波器的設(shè)置起著非常重要的作用,濾波器設(shè)置的好壞將直接影響整個(gè)系統(tǒng)的實(shí)時(shí)性和可靠性,所以本文針對(duì)CAN控制器中的濾波器的設(shè)置方法進(jìn)行研究探討,并根據(jù)自己的經(jīng)驗(yàn)總結(jié)出一套濾波器設(shè)置的方法。

1 CAN控制器介紹

1.1 CAN控制工作原理

CAN控制器用于將欲收發(fā)的信息報(bào)文轉(zhuǎn)換為符合CAN規(guī)范的CAN幀,通過(guò)CAN收發(fā)器在CAN總線上交換信息。CAN控制器主要包括接口管理邏輯、CAN核心模塊、發(fā)送緩沖器、驗(yàn)收濾波器、接收FIFO等部分組成,如圖1所示。

(1)接口管理邏輯

接口管理邏輯用于連接外部主控制器,解釋來(lái)自主控制器的命令,控制CAN控制器寄存器的尋址,并向主控制器提供中斷信息和狀態(tài)信息。

(2)核心模塊

核心模塊在收到一個(gè)報(bào)文時(shí)會(huì)根據(jù)CAN規(guī)范將串行位流轉(zhuǎn)換成用于接收的并行數(shù)據(jù),發(fā)送一個(gè)報(bào)文時(shí)則相反。

(3)發(fā)送緩沖器

發(fā)送緩沖器用于存儲(chǔ)一個(gè)完整的報(bào)文,當(dāng)CAN控制器發(fā)送初始化時(shí),接口管理邏輯會(huì)使CAN核心模塊從發(fā)送緩沖器讀CAN報(bào)文。

(4)驗(yàn)收濾波器

驗(yàn)收濾波器可以根據(jù)用戶的編程設(shè)置,過(guò)濾掉無(wú)須接收的報(bào)文。

(5)接收 FIFO

接收FIFO是驗(yàn)收濾波器和主控制器之間的接口,用于存儲(chǔ)從CAN總線上接收的所有報(bào)文。

(6)工作模式

CAN控制器可以有兩種工作模式 (BasicCAN和Peli-CAN)。BasicCAN僅支持標(biāo)準(zhǔn)模式,PeliCAN支持CAN2.0B的標(biāo)準(zhǔn)模式和擴(kuò)展模式。在SJA1000復(fù)位模式下,設(shè)置寄存器CDR.7為“0”,即設(shè)置CAN控制器SJA1000工作于BasicCAN模式;設(shè)置寄存器CDR.7為“1”,即設(shè)置CAN控制器SJA1000工作于PeliCAN模式,相比較而言,PeliCAN功能更強(qiáng)大一些。

1.2 CAN控制器分類

市場(chǎng)上有許多CAN控制器,大致可以分為兩類:一類是獨(dú)立的控制器芯片,如SAJ1000;另一類是和微控制器做在一起,如NXP半導(dǎo)體公司的Cortex-M0內(nèi)核LPC11Cxx系列微控制器、LPC2000系列32位ARM微控制器。CAN控制器的大致分類及相應(yīng)的產(chǎn)品如表4.1所示。

表1 CAN控制器分類及相應(yīng)產(chǎn)品型號(hào)

PLILIPS公司的獨(dú)立CAN處理器SJA1000是一種比較理想的選擇,它是市場(chǎng)上比較受歡迎的一款芯片,SJA1000不僅與傳統(tǒng)的CAN控制器PCA82C250硬件兼容,同時(shí)也實(shí)現(xiàn)了新的運(yùn)行方式,支持具有新功能的CAN2.0B協(xié)議。另外,SJA1000T擴(kuò)展出了64個(gè)字節(jié)的FIFO接收緩沖器,可以接收兩個(gè)以上的報(bào)文,SJA1000T還為增強(qiáng)錯(cuò)誤處理功能增強(qiáng)了一些新的特殊功能寄存器,包括:可讀/寫訪問(wèn)的錯(cuò)誤計(jì)數(shù)器,可編程的錯(cuò)誤告警極限,前次錯(cuò)誤碼寄存器,每次CAN總線錯(cuò)誤均引起錯(cuò)誤中斷及借助位置細(xì)分的仲裁丟失中斷。所有這些優(yōu)點(diǎn)使得SJA1000成為了當(dāng)前CAN總線應(yīng)用中的主流器件。論文將以SJA1000作為研究對(duì)象進(jìn)行分析總結(jié)。

2 濾波器的工作原理

CAN系統(tǒng)中,驗(yàn)收濾波器的設(shè)置非常重要,在CAN總線上,CAN幀信息由一個(gè)節(jié)點(diǎn)發(fā)送,其他節(jié)點(diǎn)同時(shí)接收,每當(dāng)總線上有幀信息,節(jié)點(diǎn)都會(huì)把濾波器的設(shè)置和接收到得幀信息的標(biāo)識(shí)碼相比較,節(jié)點(diǎn)只接收符合一定條件的信息,對(duì)不符合條件的CAN幀不予接收。所以濾波器的設(shè)置如果設(shè)置合適,便可以提高整個(gè)系統(tǒng)的效率,減輕CAN控制器的信息處理量,否則便會(huì)影響系統(tǒng)。在SJA1000中,濾波器的設(shè)置主要是由4個(gè)驗(yàn)收碼寄存器ACR0、ACR1、ACR2、ACR3和4個(gè)AMR0、AMR1、AMR2、AMR3 來(lái)實(shí)現(xiàn)的, 濾波方式有兩種:?jiǎn)螢V波器模式(AFM位是1)和雙濾波器模式(AFM位是0)。

濾波的規(guī)則是:每一位驗(yàn)收屏蔽分別對(duì)應(yīng)每一位驗(yàn)收代碼,當(dāng)該位驗(yàn)收屏蔽位為“1”的時(shí)候(即設(shè)為無(wú)關(guān)),接收的相應(yīng)幀ID位無(wú)論是否和相應(yīng)的驗(yàn)收代碼位相同均會(huì)表示為接收;當(dāng)驗(yàn)收屏蔽位為“0”的時(shí)候(即設(shè)為相關(guān)),只有相應(yīng)的幀ID位和相應(yīng)的驗(yàn)收代碼位值相同的情況才會(huì)表示接收。只有在所有的位都表示為接收的時(shí)候,CAN控制器才會(huì)接收該報(bào)文。

3 濾波器的設(shè)置方法

濾波器的設(shè)置這個(gè)環(huán)節(jié),大多數(shù)人通常沒(méi)有具體的考慮,只是從實(shí)現(xiàn)功能的角度來(lái)完成濾波器的設(shè)置,沒(méi)有進(jìn)行優(yōu)化設(shè)計(jì),作者在濾波器的設(shè)置方面依據(jù)自己的經(jīng)驗(yàn)總結(jié)出一種優(yōu)化的設(shè)置方法,能夠使濾波器的濾波速度提高幾倍。

3.1 濾波器設(shè)置的常見(jiàn)方法

濾波器設(shè)置的方法與標(biāo)識(shí)符的分配有關(guān)系,標(biāo)識(shí)符分配非常靈活,但總結(jié)起來(lái)主要有兩種,也是出于濾波器的考慮而進(jìn)行的兩種分配方法:源節(jié)點(diǎn)法和目標(biāo)節(jié)點(diǎn)法。源節(jié)點(diǎn)法就是分配幾個(gè)標(biāo)識(shí)符作為報(bào)文發(fā)送地址;目標(biāo)節(jié)點(diǎn)法就是分配幾個(gè)標(biāo)識(shí)符作為報(bào)文接收地址。因此濾波器的設(shè)置方法也分為兩種:源設(shè)置法和目標(biāo)設(shè)置法。

3.2 源設(shè)置法

源設(shè)置法是指標(biāo)示符按照源節(jié)點(diǎn)法分配時(shí),濾波器的設(shè)置方法。其主要思想是在進(jìn)行濾波器設(shè)置時(shí),首先要分析節(jié)點(diǎn)接收的報(bào)文主要來(lái)源于那些節(jié)點(diǎn),而后再對(duì)這些節(jié)點(diǎn)的ID進(jìn)行分析,找出其異同進(jìn)而確定濾波器的驗(yàn)收碼與屏蔽碼的值。

表2 節(jié)點(diǎn)接收來(lái)源表

(1)分析節(jié)點(diǎn)接收信息來(lái)源

CAN總線網(wǎng)絡(luò)系統(tǒng)中,每一個(gè)節(jié)點(diǎn)都有自己唯一的ID用來(lái)區(qū)分節(jié)點(diǎn),ID是區(qū)分節(jié)點(diǎn)的唯一特殊符,首先必須對(duì)每個(gè)節(jié)點(diǎn)接收的報(bào)文來(lái)源進(jìn)行總結(jié)。例如一個(gè)CAN總線系統(tǒng)中有六個(gè)節(jié)點(diǎn),ID用四位標(biāo)示符表示,其ID分別為0000、0001、0010、0011、0100、0101,每個(gè)節(jié)點(diǎn)接收的報(bào)文的來(lái)源表2所示。

(2)找出ID各位區(qū)別,確定驗(yàn)收碼與屏蔽碼

將節(jié)點(diǎn)報(bào)文的來(lái)源節(jié)點(diǎn)的ID與其他節(jié)點(diǎn)ID對(duì)比分析,由高位向地位的順序,找出ID標(biāo)示符每一位的異同,而后確定驗(yàn)收碼與屏蔽碼的值。例如上述系統(tǒng)中,節(jié)點(diǎn)0000接收的報(bào)文來(lái)自節(jié)點(diǎn)0010和節(jié)點(diǎn)0011,最高位都為0,后三位都有0和1,所以我們可以設(shè)置濾波器的驗(yàn)收碼為x01x(x表示有設(shè)計(jì)者隨意取值),屏蔽碼為1001。

3.3 目標(biāo)設(shè)置法

目標(biāo)設(shè)置法是指標(biāo)示符按照目標(biāo)節(jié)點(diǎn)法分配時(shí),濾波器的設(shè)置方法。其主要思想是在進(jìn)行濾波器設(shè)置時(shí),首先要分析系統(tǒng)中所有節(jié)點(diǎn)的數(shù)量,而后根據(jù)數(shù)量分配合適的標(biāo)識(shí)符位數(shù),最后以目標(biāo)地址來(lái)確定濾波器的驗(yàn)收碼與屏蔽碼的值。

(1)分析系統(tǒng)節(jié)點(diǎn)數(shù)量,分配標(biāo)識(shí)符

CAN總線網(wǎng)絡(luò)系統(tǒng)中,目標(biāo)地址標(biāo)識(shí)符的分配要根據(jù)節(jié)點(diǎn)的數(shù)量來(lái)確定,不可多也不可少。例如當(dāng)系統(tǒng)中有六個(gè)節(jié)點(diǎn),則只分配三個(gè)標(biāo)識(shí)符,節(jié)點(diǎn) ID 分別為 000、001、010、011、100、101。

(2)根據(jù)ID確定驗(yàn)收碼和屏蔽碼

根據(jù)上面的系統(tǒng)的分配,各個(gè)節(jié)點(diǎn)的驗(yàn)收碼分別確定為000、001、010、011、100、101,屏蔽碼則都是 000。

4 總結(jié)

本文對(duì)CAN總線控制器的原理,濾波器的原理和濾波器的設(shè)置進(jìn)行了討論,總結(jié)出濾波器設(shè)置的兩種方法,為今后的濾波器設(shè)置提供了借鑒,實(shí)驗(yàn)證明效果非常顯著,但是本文總結(jié)的濾波器的設(shè)置方法只適合于點(diǎn)對(duì)點(diǎn)傳輸方式,對(duì)于點(diǎn)對(duì)多、廣播等方式傳播的設(shè)置方法還需要進(jìn)一步的研究。

[1]饒運(yùn)濤,鄒繼軍,王進(jìn)宏.現(xiàn)場(chǎng)總線CAN原理與應(yīng)用技術(shù)[M].北京:北京航空航天大學(xué)出版社,2007.

[2]牛躍聽(tīng),周立功,方舟.CAN總線嵌入式開(kāi)發(fā)[M].北京:北京航空航天大學(xué)出版社,2012.

[3]李光忠,吳士濤.基于CAN總線智能節(jié)點(diǎn)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2009(26).

[4]王志兵.CAN總線技術(shù)應(yīng)用中的有關(guān)問(wèn)題探討[J].工業(yè)控制計(jì)算機(jī),2009(8).

[5]馮鵠.淺談 CAN 總線的特點(diǎn)及應(yīng)用[J].科技信息,2009(17).

[6]郝蕓,段青亞.CAN 2.0 總線控制器的設(shè)計(jì)[J].小型微型計(jì)算機(jī)系統(tǒng),2009(9).

[7]范瑋,楊濤.CAN 總線在車身網(wǎng)絡(luò)設(shè)計(jì)中的應(yīng)用[J].電子質(zhì)量,2009(8).

[8]陽(yáng)憲惠.現(xiàn)場(chǎng)總線技術(shù)及其應(yīng)用[M].北京,清華大學(xué)出版社,2008.

猜你喜歡
標(biāo)識(shí)符報(bào)文屏蔽
淺析5G V2X 通信應(yīng)用現(xiàn)狀及其側(cè)鏈路標(biāo)識(shí)符更新技術(shù)
基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
基于底層虛擬機(jī)的標(biāo)識(shí)符混淆方法
把生活調(diào)成“屏蔽模式”
CTCS-2級(jí)報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
基于區(qū)塊鏈的持久標(biāo)識(shí)符系統(tǒng)①
淺析反駁類報(bào)文要點(diǎn)
滿足CLASS A++屏蔽性能的MINI RG59集束電纜的研發(fā)
幾乎最佳屏蔽二進(jìn)序列偶構(gòu)造方法
ATS與列車通信報(bào)文分析
浪卡子县| 彰化县| 禹州市| 招远市| 阿拉善左旗| 普洱| 襄樊市| 武安市| 依兰县| 延津县| 克拉玛依市| 安陆市| 镇雄县| 承德市| 民勤县| 曲阳县| 建昌县| 集贤县| 新河县| 麻阳| 澄迈县| 光泽县| 时尚| 台东市| 博罗县| 中阳县| 沁阳市| 马尔康县| 南昌市| 阿克苏市| 庆元县| 邛崃市| 英超| 海盐县| 五莲县| 肇庆市| 洛浦县| 苏州市| 文水县| 甘德县| 自治县|