新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > can總線相關(guān)小知識(shí)

can總線相關(guān)小知識(shí)

作者: 時(shí)間:2016-12-15 來(lái)源:網(wǎng)絡(luò) 收藏


2.2.2.1SJA1000簡(jiǎn)介
PHILIPS公司的PCA82C200是符合CAN2.0A協(xié)議的總線控制器,SJA1000是它的替代產(chǎn)品,它是應(yīng)用于汽車(chē)和一般工業(yè)環(huán)境的獨(dú)立CAN總線控制器。具有完成CAN通信協(xié)議所要求的全部特性。經(jīng)過(guò)簡(jiǎn)單總線連接的SJA1000可完成CAN總線的物理和數(shù)據(jù)鏈路層的所有功能。其硬件與軟件設(shè)計(jì)和PCA82C200的基本CAN模式(BesicCAN)兼容。同時(shí),新增加的增強(qiáng)CAN模式(PeliCAN)還可支持CAN2.0B協(xié)議。

●管腳及電氣特性與獨(dú)立CAN總線控制器PCA82C200兼容;
●軟件與PCA82C200兼容(缺省為基本CAN模式);
●擴(kuò)展接收緩沖器(64字節(jié)FIFO);
●支持CAN2.0B協(xié)議;
●同時(shí)支持11位和29位標(biāo)識(shí)符;
●位通訊速率為1Mbits/s;
●增強(qiáng)CAN模式(PeliCAN); 7
●采用24MHz時(shí)鐘頻率;
●支持多種微處理器接口;
●可編程CAN輸出驅(qū)動(dòng)配置;
●工作溫度范圍為-40~+125℃。

圖2-3 SJA1000引腳配置


SJA1000的功能框圖如表1所示,圖2-3是其引腳圖。SJA1000型獨(dú)立CAN總線控制器由以下幾部分構(gòu)成;
(1)接口管理邏輯:它接收來(lái)自微處理器的命令,控制CAN寄存器的地址,并為微處理器提供中斷和狀態(tài)信息。
(2)發(fā)送緩沖器:有13字節(jié)長(zhǎng)。它位于CPU和位流處理器(BSP)之間,能存儲(chǔ)一條將在CAN總線上發(fā)送的完整的報(bào)文,報(bào)文由CPU寫(xiě)入,由SBP讀出。
(3)接收緩沖器(RXB、RXFIFO):它是CPU和接收濾波器之間的接口,用來(lái)存儲(chǔ)從CAN總線接收并通過(guò)了濾波的報(bào)文。接收緩沖器RXB是提供給CPU可訪問(wèn)的13字節(jié)的窗口,這個(gè)窗口是屬于接收FIFO(RXFIFO)的一部分,共由64字節(jié)長(zhǎng)。有了這個(gè)FIFO,可以在CPU處理一個(gè)報(bào)文的同時(shí)繼續(xù)接收其他到來(lái)的報(bào)文。
(4)接收濾波器:它把報(bào)文頭中的標(biāo)識(shí)符和接收濾波寄存器中的內(nèi)容進(jìn)行比較,以判斷文報(bào)文是否被接收。如果被接收,報(bào)文存入RXFIFO。
(5)位流處理器:它是一個(gè)控制發(fā)送緩沖器、RXFIFO并行數(shù)據(jù)和CAN總線(串行數(shù)據(jù))之間數(shù)據(jù)的序列發(fā)生器,同時(shí)它也執(zhí)行錯(cuò)誤檢測(cè)、仲裁、位填充和CAN總線錯(cuò)誤處理功能。
(6)位定時(shí)邏輯不:它將SJA1000同步于CAN總線上的位流。
(7)錯(cuò)誤管理邏輯:它按照CAN協(xié)議完成錯(cuò)誤界定。
由于SJA1000與PCA82C2000兼容,因此SJA1000的缺省工作方式即基本CAN模式與82C200相同。下面介紹SJA1000工作在增強(qiáng)CAN模式(PeliCAN)下的寄存器配置。在初始化期間,芯片在復(fù)位模式(RESET MODE)時(shí)的寄存器配置如表1所列,在工作期間的運(yùn)行模式(OPERATING MODE)下,部分寄存器的定義將有所更改,具體見(jiàn)表2。


表2 SJA1000寄存器配置(工作模式)


SJA1000的新增功能如下:
(1)支持CAN2.0B協(xié)議
SJA1000完全支持CAN2.0B協(xié)議,這意味著實(shí)現(xiàn)了擴(kuò)展的振蕩器容差和處理擴(kuò)展幀報(bào)文,在基本CAN方式中,僅可發(fā)送和接收標(biāo)準(zhǔn)幀報(bào)文(11位標(biāo)識(shí)符),若檢測(cè)到CAN總線上的擴(kuò)展幀報(bào)文(29位標(biāo)識(shí)符),他們將允許,并在確認(rèn)報(bào)文正確后給予應(yīng)答,但不會(huì)產(chǎn)生接收中斷。標(biāo)識(shí)符作為報(bào)文的名稱將被用于接收器的驗(yàn)收濾波過(guò)程中,同時(shí)在仲裁處理期間,也用來(lái)確定總線訪問(wèn)的優(yōu)先權(quán)。標(biāo)識(shí)符二進(jìn)制數(shù)值愈低,其優(yōu)先權(quán)愈高。
(2)擴(kuò)展的接收緩沖器
利用SJA1000可將原有的PAC82C200雙接收緩沖器被接收FIFO替代,并可用來(lái)存儲(chǔ)來(lái)自CAN總線上被接收和濾波的報(bào)文,作為CPU能訪問(wèn)的一個(gè)FIFO的13字節(jié)窗口,接收FIFO總長(zhǎng)度為64字節(jié)。通過(guò)FIFO,CPU可以在處理一個(gè)報(bào)文的同時(shí)接收其它報(bào)文。
(3)增強(qiáng)的錯(cuò)誤處理能力
在增強(qiáng)CAN模式功能中,SJA1000為增強(qiáng)錯(cuò)誤處理功能增加了一些新的特殊功能寄存器,包括:仲裁丟失捕捉寄存器(ALC),出錯(cuò)碼捕捉寄存器(ECC),錯(cuò)誤警告極限寄存器(EWLR),RX出錯(cuò)計(jì)數(shù)寄存器(RXERR)和TX出錯(cuò)計(jì)數(shù)寄存器(TXERR)等。借助于這些錯(cuò)誤寄存器可以找到丟失仲裁位的位置,分析總線錯(cuò)誤類(lèi)型和位置,定義錯(cuò)失仲裁位的位置,分析總線錯(cuò)誤類(lèi)型和位置,定義錯(cuò)誤警告極限值以及記錄發(fā)送和接收時(shí)出現(xiàn)錯(cuò)誤的個(gè)數(shù)等。
(4)增強(qiáng)的驗(yàn)收濾波功能
SJA1000帶有驗(yàn)收濾波器功能,它的作用是自動(dòng)檢查報(bào)文中的標(biāo)識(shí)符和數(shù)字節(jié)。通過(guò)設(shè)置濾波,與該總線節(jié)點(diǎn)不相關(guān)的一個(gè)報(bào)文或一組報(bào)文凈不被SJA1000所接收,這樣可以提高CPU的利用效率。在增強(qiáng)型CAN方式中,SJA1000還增加了單濾波方式和雙濾波方式,可以對(duì)標(biāo)準(zhǔn)幀和擴(kuò)展幀實(shí)現(xiàn)更復(fù)雜的濾波功能


2.2.2.2基于SJA1000的控制電路設(shè)計(jì)
控制器SJA1000作為本接口電路中的控制部分,應(yīng)用本設(shè)計(jì)中,對(duì)于SJA1000和單片機(jī)的連接,引腳AD0~AD7是和89C51的輸出輸入腳P0.0~P0.7相接;SJA1000的片選信號(hào)腳/CS必須由微控制器的P2.7口控制否則這個(gè)片選輸入必須接到VSS 也可以通過(guò)地址解碼控制例如當(dāng)?shù)刂?數(shù)據(jù)總線用于其他外圍器件,ALE對(duì)應(yīng)ALE,讀/寫(xiě)輸入腳/WR、/RD,/INT和單片機(jī)的/INT0連接,由于在該系統(tǒng)中要用到相同的時(shí)鐘頻率,所以我們要時(shí)鐘信號(hào)引腳CLKOUT和單片機(jī)的XTAL1腳相連,達(dá)到頻率一致的目的;而在復(fù)位信號(hào)的處理,可以在看門(mén)狗外圍電路的RST信號(hào)輸出后再通過(guò)和非門(mén)電路的相連,很好的實(shí)現(xiàn)了電路的復(fù)位作用。而對(duì)于控制器的收發(fā)引腳TX0,TX1與RX0,RX1,在本系統(tǒng)中TX0、RX0可和收發(fā)器82C250的TXD、RXD接通。同時(shí),在和CPU接口中SJA1000 支持對(duì)兩個(gè)著名的微型控制器系列的直接連接80C51 、68xx 。通過(guò)SJA1000 的MODE 引腳可選擇接口模式Intel 模式 MODE 高;Motorola 模式 MODE 低。在Intel 模式和Motorola 模式里地址/數(shù)據(jù)總線和讀/寫(xiě)控制信號(hào)的連接。本設(shè)計(jì)中,正是使用Intel模式。對(duì)SJA1000的Vdd1~Vdd3電源輸入腳,外接上驅(qū)動(dòng)+5V電壓;而Vss1~Vss3輸出接地。設(shè)計(jì)中,對(duì)SJA1000提供16Mkz的晶振。電路設(shè)計(jì)如下


圖2-4 SJA1000控制電路


2.2.3 CAN總線收發(fā)電路設(shè)計(jì)


2.2.3.1CAN總線收發(fā)器82C250介紹
82C250是CAN控制器與物理總線間的接口,可以提供對(duì)總線的差動(dòng)發(fā)送和接收能力,與IS011898標(biāo)準(zhǔn)完全兼容,并具有抗汽車(chē)環(huán)境下的瞬間干擾、保護(hù)總線的能力。為了提高系統(tǒng)的可靠性和抗干擾能力,在CAN控制器和CAN收發(fā)器之間采用光耦6N137進(jìn)行隔離
PCA82C250提供對(duì)物理總線的符合CAN電氣協(xié)議的差動(dòng)發(fā)送和接收功能,另外,它具有的電流限制電路,還提供了對(duì)總線的進(jìn)一步的保護(hù)功能。通過(guò)82C250與物理總線進(jìn)行連接,可使總線支持多達(dá)110個(gè)節(jié)點(diǎn)的掛接。上圖給出PCA82C250的功能方框圖。對(duì)于CAN控制器及帶有CAN總線接口的器件,82C250并不是必須使用的器件,因?yàn)槎鄶?shù)CAN控制器均具有配置靈活的收發(fā)接口并允許總線故障,只是驅(qū)動(dòng)能力一般只允許20~30個(gè)節(jié)點(diǎn)連接在一條總線上。而82C250支持多達(dá)110個(gè)節(jié)點(diǎn),并能以1Mbps的速率工作于惡劣電氣環(huán)境。

圖2-5 82C250引腳結(jié)構(gòu)

圖2-6 PCA82C250配置
82C250有8個(gè)管腳,其封裝形式在本設(shè)計(jì)中采用DIP形式,各引腳功能如表3:


表3 82C250引腳功能說(shuō)明


表4 82C250真值
從表4中可看出,CAN總線驅(qū)動(dòng)器82C250和RS485驅(qū)動(dòng)器的主要區(qū)別在于傳輸信號(hào)的電平上。RS485驅(qū)動(dòng)器的兩個(gè)輸出端分別向總線發(fā)送一對(duì)相異的電平,即一端為高電平,另一端則為低電平。而82C250輸出端的電平不是相異的,在CANH端,它的兩個(gè)狀態(tài)是高電平和懸浮狀態(tài);而在CANL端,它的兩個(gè)狀態(tài)則分別為低電平和懸浮狀態(tài),這樣一來(lái)即使多個(gè)節(jié)點(diǎn)同時(shí)向網(wǎng)絡(luò)發(fā)送數(shù)據(jù),也不會(huì)像RS485那樣發(fā)生短路現(xiàn)象。



關(guān)鍵詞: can總線小知

評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉