課程CAN通信CAN總線畢業(yè)論文_第1頁(yè)
課程CAN通信CAN總線畢業(yè)論文_第2頁(yè)
課程CAN通信CAN總線畢業(yè)論文_第3頁(yè)
課程CAN通信CAN總線畢業(yè)論文_第4頁(yè)
課程CAN通信CAN總線畢業(yè)論文_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、課程設(shè)計(jì)題目 CAN通信 13 / 13摘要:CAN總線是控制器局域網(wǎng)總線(contr01ler AreaNetwork)的簡(jiǎn)稱。屬于現(xiàn)場(chǎng)總線的疇,是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò)。由于其高性能、高可靠性與獨(dú)立的設(shè)計(jì)而被廣泛應(yīng)用于工業(yè)現(xiàn)場(chǎng)控制系統(tǒng)中。SJAl000是一個(gè)獨(dú)立的CAN控制器,PCA82C200的硬件和軟件都兼容,具有一系列先進(jìn)的性能,特別在系統(tǒng)優(yōu)化、診斷和維護(hù)方面,因此,SJAl000將會(huì)替代PCA82C200。SJAl000支持直接連接到兩個(gè)著名的微型控制器系列80C51和68xx。下面以單片機(jī)AT89C52和SJAl000為例,介紹CAN總線模塊的硬件設(shè)計(jì)和C

2、AN通信軟件的基本設(shè)計(jì)方法。關(guān)鍵詞:AT89S52 CAN通信SJA1000 目錄: (一) 背景: (二) CAN介紹(三) SJA1000部結(jié)構(gòu)和功能簡(jiǎn)介 (四) 硬件電路圖(五) 初始化程序(六) 測(cè)試(七) 總結(jié)一 背景:CAN(Controller Area Network)數(shù)據(jù)總線是一種極適于汽車環(huán)境的汽車局域網(wǎng)。CAN總線是德國(guó)Bosch公司為解決汽車監(jiān)控系統(tǒng)中的復(fù)雜技術(shù)難題而設(shè)計(jì)的數(shù)字信號(hào)通信協(xié)議,它屬于總線式串行通信網(wǎng)絡(luò)。由于采用了許多新技術(shù)和獨(dú)特的設(shè)計(jì)思想,與同類車載網(wǎng)絡(luò)相比,CAN總線在數(shù)據(jù)傳輸方面具有可靠、實(shí)時(shí)和靈活的優(yōu)點(diǎn)。1991年9月Philips半導(dǎo)體公司制定并發(fā)

3、布了CAN技術(shù)規(guī)(版本2.0),該技術(shù)規(guī)包括A部分和B兩部分,其中2.0A給出了CAN報(bào)文的標(biāo)準(zhǔn)格式;2.0B給出了標(biāo)準(zhǔn)和擴(kuò)展兩種格式。此后,1993年11月ISO正式頒布了道路交通運(yùn)輸工具一數(shù)據(jù)信息交換一高速通信控制器局域網(wǎng)(CAN)的國(guó)際標(biāo)準(zhǔn)IS011898,為控制器局域網(wǎng)的標(biāo)準(zhǔn)化和規(guī)化鋪平了道路。二 CAN介紹CAN通信的特點(diǎn):(1)CAN是到目前為止唯一具有國(guó)際標(biāo)準(zhǔn)且成本較低的現(xiàn)場(chǎng)總線;(2)CAN廢除了傳統(tǒng)總線的站地址編碼,對(duì)通信數(shù)據(jù)塊進(jìn)行編碼,為多主方式工作,不分主從,通信方式靈活,通過(guò)報(bào)文標(biāo)識(shí)符通信,可使不同的節(jié)點(diǎn)同時(shí)接收到一樣的數(shù)據(jù),無(wú)需站地址等節(jié)點(diǎn)信息。(3)CAN采用非破壞

4、性總線仲裁技術(shù),當(dāng)多個(gè)節(jié)點(diǎn)同時(shí)向總線發(fā)送信息時(shí),優(yōu)先級(jí)較低的節(jié)點(diǎn)會(huì)主動(dòng)地退出發(fā)送,而最高優(yōu)先級(jí)的節(jié)點(diǎn)可不受影響地繼續(xù)傳輸數(shù)據(jù),從而大大節(jié)省了總線沖突仲裁時(shí)間。尤其是在網(wǎng)絡(luò)負(fù)載很重的情況下也不會(huì)出現(xiàn)網(wǎng)絡(luò)癱瘓情況(以太網(wǎng)則有可能出現(xiàn)這種情況)。(4)CAN只需通過(guò)報(bào)文濾波即可實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)即全局廣播等方式傳送接收數(shù)據(jù),無(wú)需專門的“調(diào)度”。(5)CAN的直接通信距離最遠(yuǎn)可達(dá)10km(速率5kbps以下);通信速率最高可lMbps(此時(shí)通信距離最長(zhǎng)為40m);(6)CAN上的節(jié)點(diǎn)數(shù)最多可達(dá)110個(gè)(主要取決于總線驅(qū)動(dòng)電路)。(7)CAN采用短幀結(jié)構(gòu),單幀最大長(zhǎng)度僅150位,傳輸時(shí)間短,從而保證

5、了通信的實(shí)時(shí)性,受干擾概率低。(8)CAN的每幀信息都有CRC校驗(yàn)與其他檢錯(cuò)措施,降低了數(shù)據(jù)出錯(cuò)率,保證了數(shù)據(jù)通信的可靠性。(9)CAN節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)關(guān)閉輸出功能,以使總線上其他節(jié)點(diǎn)的操作不受影響。(10)CAN的通信介質(zhì)可使用雙絞線作為傳輸介質(zhì),價(jià)格低廉,可靠性強(qiáng)。三 SJA1000部結(jié)構(gòu)和功能簡(jiǎn)介SJAl000是一個(gè)獨(dú)立的控制器,有兩種不同的模式。(1)BasiccAN模式:系統(tǒng)上電后默認(rèn)的模式,與PCA82C200兼容。(2)PelicAN模式:支持CAN2.0B協(xié)議規(guī)定的所有功能。SJAl000的部結(jié)構(gòu)如圖1所示,其功能模塊主要有:接口管理邏輯、接收FIFO隊(duì)列、接收濾

6、波器、發(fā)送緩沖器和CAN核心模塊。CAN核心模塊基于CAN20B的協(xié)議執(zhí)行對(duì)CAN幀的發(fā)送和接收。邏輯管理接口實(shí)現(xiàn)與外部單片機(jī)的連接。SJAlO00的發(fā)送緩沖器可以存儲(chǔ)一個(gè)完整的報(bào)文,當(dāng)單片機(jī)開始一個(gè)傳送時(shí),邏輯管理接口會(huì)使CAN核心模塊讀發(fā)送緩沖器的數(shù)據(jù),依照CAN2.OB協(xié)議發(fā)送數(shù)據(jù)。當(dāng)收到一個(gè)報(bào)文時(shí),cAN核心控制模塊將連續(xù)的位轉(zhuǎn)換為標(biāo)準(zhǔn)的數(shù)據(jù)存放于接收過(guò)濾器中,通過(guò)驗(yàn)收碼寄存器、驗(yàn)收屏蔽寄存器進(jìn)行過(guò)濾處理,將符合標(biāo)志位要求的數(shù)據(jù)放人接收FIF0隊(duì)列中。圖1 管腳與電氣特性與獨(dú)立CAN總線控制器PCA82C200兼容; 軟件與PCA82C200兼容(缺省為基本CAN模式); 擴(kuò)展接收緩沖

7、器(64字節(jié)FIFO); 支持CAN2.0B協(xié)議; 同時(shí)支持11位和29位標(biāo)識(shí)符; 位通訊速率為1Mbits/s; 增強(qiáng)CAN模式(PeliCAN); 采用24MHz時(shí)鐘頻率; 支持多種微處理器接口; 可編程CAN輸出驅(qū)動(dòng)配置; 工作溫度圍為-40+125。圖2SJA1000的功能框圖如表1所示,圖2是其引腳圖。從表1可以看出,SJA1000型獨(dú)立CAN總線控制器由以下幾部分構(gòu)成;(1)接口管理邏輯:它接收來(lái)自微處理器的命令,控制CAN寄存器的地址,并為微處理器提供中斷和狀態(tài)信息。(2)發(fā)送緩沖器:有13字節(jié)長(zhǎng)。它位于CPU和位流處理器(BSP)之間,能存儲(chǔ)一條將在CAN總線上發(fā)送的完整的報(bào)文

8、,報(bào)文由CPU寫入,由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í)符和接收濾波寄存器中的容進(jìn)行比較,以判斷文報(bào)文是否被接收。如果被接收,報(bào)文存入RXFIFO。(5)位流處理器:它是一個(gè)控制發(fā)送緩沖器、RXFIFO并行數(shù)據(jù)和CAN總線(串行數(shù)據(jù))之間數(shù)據(jù)的序列發(fā)生器,同時(shí)它也執(zhí)行錯(cuò)誤

9、檢測(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)下,部分寄存器的定義將有所更改。四 硬件電路圖圖3圖3是一般CAN總線連接方式圖,本文中采用AT89C52作為主控芯片,S

10、JA1000為CAN控制芯片,PCA82C250作為CAN總線收發(fā)器,應(yīng)用了2套這樣的系統(tǒng),一個(gè)作為下位機(jī),另一個(gè)作為上位機(jī),下位機(jī)負(fù)責(zé)接受由上位機(jī)經(jīng)CAN總線傳輸過(guò)來(lái)的數(shù)據(jù)。圖4CAN總線接口的原理框圖如圖4所示。SJAl000的地址數(shù)據(jù)復(fù)用總線同AT89C52的PO口相連,MODE引腳接高電平時(shí)選擇Intel模式。SJA1000的ALE ,RD,WR與單片機(jī)對(duì)應(yīng)的管腳相連,INT接單片機(jī)的INT0口,CS接P2.7。為了提高總線的驅(qū)動(dòng)能力,在SJAl000與CAN總線之間加PCA82C250總線驅(qū)動(dòng)芯片,PCA82C250是SJAl000與物理總線間的接口。對(duì)模擬信號(hào)的采樣用AD7715該

11、器件有一個(gè)差分模擬輸入端口,能直接接收來(lái)自傳感器的弱電平信號(hào)并輸出連續(xù)的數(shù)字信號(hào)。它運(yùn)用轉(zhuǎn)換技術(shù)實(shí)現(xiàn)了無(wú)損編碼。AT89C52的P1口通過(guò)驅(qū)動(dòng)電路接執(zhí)行機(jī)構(gòu)。五 初始化程序系統(tǒng)軟件設(shè)計(jì)的指導(dǎo)思想是系統(tǒng)上電后首先對(duì)單片機(jī)和SJA1000進(jìn)行初始化。以下是用C寫的程序初始化程序。void CAN_init(void) EA=0; rest=0; / 將復(fù)位鍵拉低,SJA1000進(jìn)入復(fù)位工作模式 delay(1); do / 進(jìn)入復(fù)位請(qǐng)求 CONTROL_REG=0x01; while( (CONTROL_REG & 0x01) != 0x01 ); /時(shí)鐘分頻寄存器 BIT7位0:Basi

12、cCAN模式;1:PeliCAN模式 CDR_REG=0x08;/CLOCK OFF=1 BTR0_REG=0x31; / 10kbps BTR1_REG=0x1c; /SAM=1 總線采樣3次 ACR_REG=0x55; /第1個(gè)節(jié)點(diǎn) AMR_REG=0xAA; /驗(yàn)收濾波 OCR_REG=0xAA;/下拉輸出 CONTROL_REG |=0x1A; / OIE=1 EIE=1 TIE=1 RIE=1 RR=0 rest=1; do CONTROL_REG=0x1A; while( (CONTROL_REG & 0x1A) != 0x1A); EA=1;對(duì)CAN控制器進(jìn)行初始化,實(shí)際

13、上就是對(duì)ACR、AMR、BTR0、BTRl、OCR這些寄存器進(jìn)行訪問(wèn)。只有當(dāng)控制寄存器CR中的復(fù)位請(qǐng)求位為高時(shí),訪問(wèn)才被允許,否則既寫不進(jìn)去,也讀不出正確的容。對(duì)CR進(jìn)行第一次寫操作,要設(shè)定將要開放的中斷類型,并置位復(fù)位請(qǐng)求,允許初始化開始。對(duì)ACR、AMR進(jìn)行寫操作,要界定對(duì)什么樣的報(bào)文予以接收,因此有時(shí)稱它們?yōu)轵?yàn)收濾波器。當(dāng)滿足以下兩個(gè)條件之一,并存在空的接收緩存器(RBF)時(shí),完整報(bào)文可被正確接收。條件一:ACR與報(bào)文標(biāo)識(shí)符的高8位在AMR為“0”相關(guān)位上對(duì)應(yīng)相等。條件二:AMR=0FFH,即ACR的所有位均為不相關(guān)(或屏蔽)位。這兩個(gè)寄存器也是編排標(biāo)識(shí)符的基本依據(jù)。對(duì)BTR0進(jìn)行操作,

14、可決定波特率預(yù)分頻器(BRP)和同步跳轉(zhuǎn)寬度(SJW)的數(shù)值;對(duì)BTRl進(jìn)行寫操作,可決定位周期的寬度,采樣點(diǎn)的位置與在每個(gè)采樣點(diǎn)進(jìn)行采樣的次數(shù)。這兩個(gè)寄存器的容,可唯一確定波特率與同步跳轉(zhuǎn)寬度。例如:程序中BTR0=00H,BTRl=14H,晶振頻率為16MHz時(shí),采樣時(shí)鐘周期TSCL等于兩倍的振蕩器時(shí)鐘周期。波特率剛好為lMbps,同步跳轉(zhuǎn)寬度為一個(gè)TSCL。六 測(cè)試1 本系統(tǒng)在建立好硬件平臺(tái),確保硬件電路無(wú)誤后。首先測(cè)試單片機(jī)AT89S52、顯示模塊、串口通信模塊都能正常工作,2 在對(duì)SJA1000進(jìn)行程序初始化、寫一個(gè)數(shù)據(jù)0x35到SJA1000中,在SJA1000處于正常工作模式下在

15、此去讀發(fā)送緩沖區(qū)中數(shù)據(jù),將數(shù)據(jù)顯示到1602中,可以觀察到顯示數(shù)據(jù),本系統(tǒng)再次都能正常工作。3 在將上位機(jī)和下位機(jī)通過(guò)CAN總線相連,這樣就是一個(gè)簡(jiǎn)單的CAN總線網(wǎng)絡(luò),但上位機(jī)不能接到下位機(jī)傳輸過(guò)來(lái)的數(shù)據(jù),經(jīng)過(guò)對(duì)上位機(jī)硬件檢測(cè),發(fā)現(xiàn)CAN傳輸線上少接了一個(gè)120歐的匹配電阻,接上后用示波器查看可以在上位機(jī)中SJA1000中的TR0口得到相應(yīng)的數(shù)字信號(hào)。 4 在確保了上下位機(jī)都可以通信后,經(jīng)觀察顯示的數(shù)據(jù)發(fā)現(xiàn),數(shù)據(jù)傳輸有錯(cuò)誤,經(jīng)過(guò)對(duì)SJA1000芯片資料反復(fù)研究發(fā)現(xiàn),對(duì)ACR、AMR控制字寫入有無(wú)。改正過(guò)后系統(tǒng)可以正常工作。七 總結(jié)經(jīng)過(guò)兩周課程設(shè)計(jì)對(duì)CAN通信協(xié)議與它的硬件電路有了初步了解,特別

16、是對(duì)SJA1000中的寄存器有了較深入認(rèn)識(shí)。在硬件調(diào)試中遇到了諸多實(shí)際困難,在此要感實(shí)驗(yàn)室老師的細(xì)心指導(dǎo),小組同學(xué)共同努力將此系統(tǒng)調(diào)試成功。八 參考文獻(xiàn):1 饒運(yùn)濤、鄒繼軍. 現(xiàn)場(chǎng)總線CAN原理與應(yīng)用技術(shù)第一版.北航2003年6月:122-128.154-1602 黃河高浪琴 基于CAN總線通訊智能節(jié)點(diǎn)的設(shè)計(jì)與實(shí)現(xiàn)??茖W(xué) 2004年第四期:289-292 3 曉龍.工業(yè)測(cè)控系統(tǒng)的發(fā)展趨勢(shì).:電子技術(shù)應(yīng)用,2002年5月4 金家峰.一種嶄新的現(xiàn)場(chǎng)測(cè)控網(wǎng)絡(luò)CAN.:微計(jì)算機(jī)信息,1997年5月5 湯儒蘭幾種典型的現(xiàn)場(chǎng)總線與應(yīng)用1999年第2期:50-526 介華電子技術(shù)課程設(shè)計(jì)指導(dǎo)第一版高等教育2003年4月:259-2607 雪麗CAN總線與其智能節(jié)點(diǎn)的軟硬件設(shè)計(jì)東北農(nóng)業(yè)大學(xué)學(xué)報(bào)2004年第3 期:366-3688 易軍基于CAN總線技術(shù)的一類智能節(jié)點(diǎn)開發(fā)與應(yīng)用監(jiān)控技術(shù)2003年第7期:31-359 長(zhǎng)泉CAN總線控制器SJA1000與其應(yīng)用半導(dǎo)體技術(shù)第11期:61-6610 鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì).:北航,1999年6月11 Philips.TMS32

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論