




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、DSP原理與應(yīng)用第9章CAN器模塊9.19.29.39.49.59.69.79.8CAN總線技術(shù)概述CAN總線郵箱CAN總線器模塊概述寄存器CAN總線狀態(tài)寄存器CAN總線的中斷CAN模塊的配置CAN器應(yīng)用2第9章CAN器模塊9.1CAN總線技術(shù)概述測控系統(tǒng)向著網(wǎng)絡(luò)化方向發(fā)展。CAN總線的出現(xiàn),使系統(tǒng)的網(wǎng)絡(luò)化成為可能,是國際公認(rèn)的一種現(xiàn)場總線協(xié)議。CAN(ControllerAreaNetwork)總線是德國Bosch(奔馳)公司為解決現(xiàn)代汽車中眾多的單元與測試儀器之間的開發(fā)的串行數(shù)據(jù)通信協(xié)議。3第9章CAN器模塊CAN總線問世以來,以高效率、低成本和快速性等特點(diǎn)迅速在應(yīng)用。、測量儀器、系統(tǒng)得到
2、廣泛的CAN協(xié)議一般用來管理器、傳感器、執(zhí)行器和人機(jī)接口之間的數(shù)據(jù)傳輸。由于協(xié)議本身的優(yōu)點(diǎn),總線上的數(shù)據(jù)絕對(duì)發(fā)生、數(shù)據(jù)遺失等現(xiàn)象,使得CAN廣泛用于環(huán)境惡劣的工業(yè)現(xiàn)場和自動(dòng)化生產(chǎn)線。4第9章CAN器模塊CAN總線是一種多主總線,通信介質(zhì)可以是絞線、同軸電纜或光導(dǎo)。CAN協(xié)議用于分布式測控,已成為IS011898標(biāo)準(zhǔn),特性如下:(1)結(jié)構(gòu)簡單,只有兩根線與外部相連,且內(nèi)部含有錯(cuò)誤探測和管理模塊。(2)CAN是一種有效支持分布式串行通信網(wǎng)絡(luò)。和實(shí)時(shí)的5第9章CAN器模塊(3)CAN可以多主模式工作,網(wǎng)絡(luò)上任意一個(gè)節(jié)點(diǎn)均可在任意時(shí)刻主動(dòng)地向網(wǎng)絡(luò)上的其它節(jié)點(diǎn)信息,而不分主從,節(jié)點(diǎn)之間有優(yōu)先級(jí)之分,因而
3、通信活。(4)CAN采用非破壞性位仲裁技術(shù),優(yōu)先級(jí),可以大大節(jié)省總線的性能。仲裁時(shí)間,在重負(fù)荷下表現(xiàn)出良好(5)CAN可以點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)(成組)及全局廣播等幾種方式傳送和接收數(shù)據(jù)。6第9章CAN器模塊(6)CAN的直接通信距離最遠(yuǎn)可達(dá)10km(傳輸速率為5Kbps);最高通信速率可達(dá)1Mbps(傳輸距離為40m)。(7)(8)CAN上的節(jié)點(diǎn)數(shù)實(shí)際可達(dá)110個(gè)。CAN數(shù)據(jù)鏈路層采用短幀結(jié)構(gòu),每一幀為8個(gè)字節(jié),易于糾錯(cuò)??蓾M足通常工業(yè)領(lǐng)域中命令、工作狀態(tài)及測試數(shù)據(jù)的一般要求,同時(shí),8個(gè)字節(jié)線時(shí)間過長,從而保證了通信的實(shí)時(shí)性。占用總7第9章CAN器模塊(9)CAN每幀信息都有CRC校驗(yàn)及其它檢錯(cuò)
4、措施,有效地降低了數(shù)據(jù)的錯(cuò)誤率。(10)CAN節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下,具有自動(dòng)關(guān)閉的功能,使總線上其它節(jié)點(diǎn)不受影響。(11)信號(hào)調(diào)制解調(diào)方式采用NBZ(非歸零)編碼方式,并且采用填充位(位填充)技術(shù)。8第9章CAN器模塊CAN協(xié)議支持用于通信的4種不同的幀類型:數(shù)據(jù)幀:從節(jié)點(diǎn)到接收節(jié)點(diǎn)傳送數(shù)據(jù)。幀:主要用于請(qǐng)求信息,當(dāng)節(jié)點(diǎn)A向節(jié)點(diǎn)B一個(gè)幀,如果節(jié)點(diǎn)B中的數(shù)據(jù)幀信息與節(jié)點(diǎn)A有相同的標(biāo)識(shí)符,節(jié)點(diǎn)B將做出應(yīng)答,并據(jù)幀到總線上。相應(yīng)的數(shù)錯(cuò)誤幀:在總線檢測錯(cuò)誤時(shí),任意一個(gè)節(jié)點(diǎn)所的幀。過載幀:在前后兩個(gè)數(shù)據(jù)幀或額外的延時(shí)。幀之間提供一個(gè)9第9章CAN器模塊CAN標(biāo)準(zhǔn)數(shù)據(jù)幀包含44到108位,而CAN擴(kuò)展數(shù)
5、據(jù)幀包含64到128位,另外,多達(dá)23個(gè)填充位可以到一個(gè)標(biāo)準(zhǔn)數(shù)據(jù)幀中,多達(dá)28個(gè)填充位可以到擴(kuò)展數(shù)據(jù)幀中,這要根據(jù)數(shù)據(jù)流的代碼來定。標(biāo)準(zhǔn)數(shù)據(jù)幀的最大長度為131位,擴(kuò)展數(shù)據(jù)幀的最大長度為156位。10第9章CAN器模塊數(shù)據(jù)幀包含如下內(nèi)容:11第9章CAN器模塊CAN總線所具有的卓越性能、極高的可靠性,設(shè)計(jì)獨(dú)特,特別適合工業(yè)設(shè)備測控單元相連。因此,備受工業(yè)界的重視,并已被公認(rèn)為工業(yè)界最有前途的現(xiàn)場總線之一。12第9章CAN器模塊器模塊概述9.2CAN總線LF240x為第一個(gè)具有片上CAN模塊的DSP,給用戶設(shè)計(jì)分布式或網(wǎng)絡(luò)化運(yùn)動(dòng)系統(tǒng)提供了方便。CAN器是一個(gè)16位的外設(shè)模塊,具有以下特性:(1)
6、完全支持CAN2.0B協(xié)議。(2)提供6個(gè)郵箱給對(duì)象,其數(shù)據(jù)長度為0-8個(gè)字節(jié)。(3)郵箱0、1和2、3有局域接收寄存器。13第9章CAN器模塊(4)可編程波特率。(5)可編程中斷配置。(6)可編程的CAN總線喚醒功能。(7)自動(dòng)回復(fù)請(qǐng)求。(8)當(dāng)出現(xiàn)錯(cuò)誤或仲裁丟失數(shù)據(jù)時(shí)能自動(dòng)重發(fā)。(9)總線錯(cuò)誤診斷功能。(10)自測試模式。(11)兩引腳通信,即CANTX和CANRX。14第9章CAN器模塊CAN器結(jié)構(gòu)框圖15第9章CAN器模塊16第9章CAN器模塊9.3郵箱郵箱ram郵箱標(biāo)志符郵箱域寄存器信息緩沖器寫郵箱ram17第9章CAN器模塊郵箱配置CAN接收濾波器郵箱接收郵箱幀的處理18第9章CA
7、N器模塊19第9章CAN器模塊20第9章CAN器模塊CAN總線9.4寄存器CAN總線總共有15個(gè)寄存器,這些寄存器著CAN的位定時(shí)器、郵箱的和接收使能、錯(cuò)誤狀態(tài)及CAN的中斷等。21第9章CAN器模塊郵箱方向/使能寄存器寄存器接收寄存器主寄存器位配置寄存器22第9章CAN器模塊23CAN的位定時(shí)第9章CAN器模塊CAN總線狀態(tài)寄存器9.5錯(cuò)誤狀態(tài)寄存器全局狀態(tài)寄存器錯(cuò)誤計(jì)數(shù)寄存器24第9章CAN器模塊CAN總線的中斷能引起中斷:9.6下列郵箱操作確認(rèn)放棄寫拒絕喚醒接收?qǐng)?bào)文丟失總線關(guān)閉錯(cuò)誤界限25第9章CAN器模塊CAN中斷標(biāo)志寄存器CAN中斷寄存器26第9章CAN器模塊CAN模塊的配置9.7初
8、始化位配置寄存器BCR1和BCR2初始化郵箱中的寄存器27第9章CAN器模塊位配置寄存器的初始化28第9章CAN器模塊9.8CAN器應(yīng)用器的操作步驟9.8.1CANCAN器的操作分成以下三大步:1初始化CAN2信息的3信息的接收器29第9章CAN器模塊9.8.2CANCAN器擴(kuò)展硬件接口器擴(kuò)展硬件接口如下圖所示,DSP需要通過一個(gè)CAN收發(fā)器連接到CAN總線上。DSP片內(nèi)CAN器模塊CANTXCANRXCAN收發(fā)器CAN總線CAN器擴(kuò)展硬件接口框圖30第9章CAN器模塊PCA82C25031第9章CAN器模塊硬件接口32第9章CAN器模塊9.8.3CAN程序?qū)嵗?、CAN模塊一個(gè)幀請(qǐng)求33第9
9、章CAN器模塊34第9章CAN器模塊35第9章CAN器模塊36第9章CAN器模塊37第9章CAN器模塊38第9章CAN器模塊39第9章CAN器模塊40第9章CAN器模塊2、CAN模塊自動(dòng)應(yīng)答一個(gè)幀請(qǐng)求41第9章CAN器模塊42第9章CAN器模塊43第9章CAN器模塊44第9章CAN器模塊45第9章CAN器模塊46第9章CAN器模塊47第9章3 、CAN程序如下:CAN器模塊器的程序設(shè)計(jì)(C語言)1建立中斷向量表(匯編).ref_nothing,_c_int0,_GRIS5;在其他定義;并在本需要使用的變量或標(biāo)號(hào).sect".vectors";定義主向量段;復(fù)位向量;中斷向量
10、1;中斷向量2;中斷向量3;中斷向量4;中斷向量5;中斷向量6RSVECT INT1 INT2 INT3 INT4 INT5INT6B B B B B B B B B_c_int0_nothing_nothing_nothing_nothing_GRIS5_nothing_nothing_nothingSW_INT8SW_INT31B_nothing48第9章CAN器模塊2C語言程序#include "f2407_c.h" int CAN_FLAG; void sytem_init();void CANMBX_ISR();void CAN_INIT(); void inli
11、ne disable()asm(" setc INTM");void inline enable()asm(" clrc INTM");/頭部文件/ 定義標(biāo)志寄存器/在需要用到的函數(shù)/ 中斷子程序/ 中斷使能子程序49第9章CAN器模塊(1)main()主程序sytem_init();CAN_FLAG=0X00;/ 系統(tǒng)初始化程序/ 清CAN用戶標(biāo)志,/CAN_FLAG=01表示接收到數(shù)據(jù)/ CAN初始化程序/ 中斷使能CAN_INIT();enable();for(;)*TCR=0X20;while(*TCR&0X2000=0) continu
12、e;/ MBX3請(qǐng)求/ 等待應(yīng)答50第9章CAN器模塊*TCR=0X2000;while(CAN_FLAG=0) continue;CAN_FLAG=0;*MDER=0X0000;*MCR=0X0140;*MBX3A=*MBX2A+1;*MBX3B=*MBX2B+1;*MBX3C=*MBX2C+1;*MBX3D=*MBX2D+1;*MCR=0X04C0;*MDER=0X04C;/ 清 TA3 和MIF3標(biāo)志位/ 等待接收數(shù)據(jù)/ 清接收到標(biāo)志/ 郵箱不使能/ CDR=1,數(shù)據(jù)改變請(qǐng)求/ 郵箱2中數(shù)據(jù)加1用來更新郵箱3中的數(shù)據(jù)/ DBO=1,CDR=0,ABO=1,STM=1/ ME2=ME3=1
13、,MBX2接收, MBX351第9章CAN器模塊(2)系統(tǒng)初始化子程序void sytem_init()asm(" setc INTM");asm(" setc SXM");asm(" clrc OVM");asm(" clrc CNF");*IMR=0x0010;*IFR=0xFFFF;*SCSR1=0x81FE;*WDCR=0xE8;/ 開中斷優(yōu)先級(jí)5/ 清中斷標(biāo)志位52第9章CAN器模塊(3)CAN初始化子程序void CAN_INIT()*MCRB=*MCRB|0X0C0;*CAN_IFR=0XFFFF;*
14、LAM1_H=0X7FFF;*LAM1_L=0XFFFF;*MCR=0X1040;/ 設(shè)置IOPC6、IOPC7 為 CANRX,CANTX/ 清所有CAN中斷標(biāo)志/ 設(shè)置郵箱2、3的/ 0則ID必須匹配ID寄存器/ CCR=1 改變配置請(qǐng)求while(*GSR&0X0010=0)continue;/ 當(dāng)CCE=1 時(shí)即可配置 BCR2,BCR1 寄存器*BCR2=0X01;*BCR1=0X033;*MCR=*MCR&0XEFFF;/ 波特率預(yù)分頻寄存器/ 波特率設(shè)置為1M/ CCR=0 改變配置結(jié)束請(qǐng)求while(*GSR&0X0010!=0)continue; /
15、只有當(dāng)CEE=0時(shí),BCR2,BCR1 置寄存器配*MDER=0X040;*MCR=0X0143;*MSGID2H=0X2447; AME=0,/ 不使能郵箱,郵箱2設(shè)為接收方式/CDR=1,數(shù)據(jù)區(qū)改變請(qǐng)求設(shè) 置 郵 箱 2 的字 及 ID,IDE=0,/AAM=0, 標(biāo)準(zhǔn)方式為MSGID2H12-253第9章CAN器模塊*MSGID2L=0XFFFF;*MSGCTRL2=0X08;*MBX2A=0X0000;*MBX2B=0X0000;*MBX2C=0X0000;*MBX2D=0X0000;*MSGID3H=0X2447;*MSGID3L=0XFFFF;*MSGCTRL3=0X08;*MBX3A=0X2211;*MBX3B=0X4433;*MBX3C=0X6655;*MBX3D=0X8877;*MCR=0X04C0;*MDER=0X4C;*CAN_IMR=0XF7FF;*CAN_IFR=0XFFFF;/ 設(shè)置域,數(shù)據(jù)長度DCL = 8,RTR=0 數(shù)據(jù)幀/ 郵箱2信息初始化/ 設(shè)置郵箱3的標(biāo)識(shí)符/ RTR=0,DCL=8/ 郵箱3信息初始化/ DBO=1,ABO=1,STM=1設(shè)置為自測試模式/ ME3=1,MBX3, ME2=1 接收/ 中斷MBX3 不使
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 成功通過2025年樂理考試的關(guān)鍵點(diǎn)試題及答案
- 施工安全免責(zé)條款解讀試題及答案
- 流暢表達(dá)的技巧的試題及答案
- 黃埔社工面試真題及答案
- 黃科院面試真題及答案
- 深度解讀:2025年仿制藥一致性評(píng)價(jià)對(duì)醫(yī)藥市場醫(yī)藥行業(yè)市場風(fēng)險(xiǎn)的影響報(bào)告
- 綠色建筑材料市場推廣與政策支持下的綠色建材產(chǎn)業(yè)政策實(shí)施路徑報(bào)告
- 2025房地產(chǎn)工程管理面試題庫及答案
- 熱傳導(dǎo)與絕熱過程研究試題及答案
- 生態(tài)保護(hù)2025:監(jiān)測網(wǎng)絡(luò)建設(shè)實(shí)施方案與環(huán)境風(fēng)險(xiǎn)評(píng)估
- 2024-2025學(xué)年河南省天一大聯(lián)考高二下學(xué)期4月期中測試數(shù)學(xué)試卷(含答案)
- 診療規(guī)范考核試題及答案
- 臨沂市羅莊區(qū)興羅資本投資有限公司招聘筆試題庫2025
- 船舶動(dòng)力系統(tǒng)可靠性提升-全面剖析
- 彩超試題及答案三基
- 《雙碳管理基礎(chǔ)與實(shí)務(wù)》課件-第六章 ESG管理
- 期中試題2024-2025學(xué)年人教PEP版英語六年級(jí)下冊(cè)(含答案)
- 靜脈用藥混合調(diào)配操作
- 2025工廠員工安全培訓(xùn)考試試題及一套答案
- 地理2024-2025學(xué)年人教版七年級(jí)地理下冊(cè)期末檢測卷
評(píng)論
0/150
提交評(píng)論