第09章控制器模塊2學時_第1頁
第09章控制器模塊2學時_第2頁
第09章控制器模塊2學時_第3頁
第09章控制器模塊2學時_第4頁
第09章控制器模塊2學時_第5頁
已閱讀5頁,還剩51頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、DSP原理與應用第9章CAN器模塊9.19.29.39.49.59.69.79.8CAN總線技術概述CAN總線郵箱CAN總線器模塊概述寄存器CAN總線狀態寄存器CAN總線的中斷CAN模塊的配置CAN器應用2第9章CAN器模塊9.1CAN總線技術概述測控系統向著網絡化方向發展。CAN總線的出現,使系統的網絡化成為可能,是國際公認的一種現場總線協議。CAN(ControllerAreaNetwork)總線是德國Bosch(奔馳)公司為解決現代汽車中眾多的單元與測試儀器之間的開發的串行數據通信協議。3第9章CAN器模塊CAN總線問世以來,以高效率、低成本和快速性等特點迅速在應用。、測量儀器、系統得到

2、廣泛的CAN協議一般用來管理器、傳感器、執行器和人機接口之間的數據傳輸。由于協議本身的優點,總線上的數據絕對發生、數據遺失等現象,使得CAN廣泛用于環境惡劣的工業現場和自動化生產線。4第9章CAN器模塊CAN總線是一種多主總線,通信介質可以是絞線、同軸電纜或光導。CAN協議用于分布式測控,已成為IS011898標準,特性如下:(1)結構簡單,只有兩根線與外部相連,且內部含有錯誤探測和管理模塊。(2)CAN是一種有效支持分布式串行通信網絡。和實時的5第9章CAN器模塊(3)CAN可以多主模式工作,網絡上任意一個節點均可在任意時刻主動地向網絡上的其它節點信息,而不分主從,節點之間有優先級之分,因而

3、通信活。(4)CAN采用非破壞性位仲裁技術,優先級,可以大大節省總線的性能。仲裁時間,在重負荷下表現出良好(5)CAN可以點對點、一點對多點(成組)及全局廣播等幾種方式傳送和接收數據。6第9章CAN器模塊(6)CAN的直接通信距離最遠可達10km(傳輸速率為5Kbps);最高通信速率可達1Mbps(傳輸距離為40m)。(7)(8)CAN上的節點數實際可達110個。CAN數據鏈路層采用短幀結構,每一幀為8個字節,易于糾錯。可滿足通常工業領域中命令、工作狀態及測試數據的一般要求,同時,8個字節線時間過長,從而保證了通信的實時性。占用總7第9章CAN器模塊(9)CAN每幀信息都有CRC校驗及其它檢錯

4、措施,有效地降低了數據的錯誤率。(10)CAN節點在錯誤嚴重的情況下,具有自動關閉的功能,使總線上其它節點不受影響。(11)信號調制解調方式采用NBZ(非歸零)編碼方式,并且采用填充位(位填充)技術。8第9章CAN器模塊CAN協議支持用于通信的4種不同的幀類型:數據幀:從節點到接收節點傳送數據。幀:主要用于請求信息,當節點A向節點B一個幀,如果節點B中的數據幀信息與節點A有相同的標識符,節點B將做出應答,并據幀到總線上。相應的數錯誤幀:在總線檢測錯誤時,任意一個節點所的幀。過載幀:在前后兩個數據幀或額外的延時。幀之間提供一個9第9章CAN器模塊CAN標準數據幀包含44到108位,而CAN擴展數

5、據幀包含64到128位,另外,多達23個填充位可以到一個標準數據幀中,多達28個填充位可以到擴展數據幀中,這要根據數據流的代碼來定。標準數據幀的最大長度為131位,擴展數據幀的最大長度為156位。10第9章CAN器模塊數據幀包含如下內容:11第9章CAN器模塊CAN總線所具有的卓越性能、極高的可靠性,設計獨特,特別適合工業設備測控單元相連。因此,備受工業界的重視,并已被公認為工業界最有前途的現場總線之一。12第9章CAN器模塊器模塊概述9.2CAN總線LF240x為第一個具有片上CAN模塊的DSP,給用戶設計分布式或網絡化運動系統提供了方便。CAN器是一個16位的外設模塊,具有以下特性:(1)

6、完全支持CAN2.0B協議。(2)提供6個郵箱給對象,其數據長度為0-8個字節。(3)郵箱0、1和2、3有局域接收寄存器。13第9章CAN器模塊(4)可編程波特率。(5)可編程中斷配置。(6)可編程的CAN總線喚醒功能。(7)自動回復請求。(8)當出現錯誤或仲裁丟失數據時能自動重發。(9)總線錯誤診斷功能。(10)自測試模式。(11)兩引腳通信,即CANTX和CANRX。14第9章CAN器模塊CAN器結構框圖15第9章CAN器模塊16第9章CAN器模塊9.3郵箱郵箱ram郵箱標志符郵箱域寄存器信息緩沖器寫郵箱ram17第9章CAN器模塊郵箱配置CAN接收濾波器郵箱接收郵箱幀的處理18第9章CA

7、N器模塊19第9章CAN器模塊20第9章CAN器模塊CAN總線9.4寄存器CAN總線總共有15個寄存器,這些寄存器著CAN的位定時器、郵箱的和接收使能、錯誤狀態及CAN的中斷等。21第9章CAN器模塊郵箱方向/使能寄存器寄存器接收寄存器主寄存器位配置寄存器22第9章CAN器模塊23CAN的位定時第9章CAN器模塊CAN總線狀態寄存器9.5錯誤狀態寄存器全局狀態寄存器錯誤計數寄存器24第9章CAN器模塊CAN總線的中斷能引起中斷:9.6下列郵箱操作確認放棄寫拒絕喚醒接收報文丟失總線關閉錯誤界限25第9章CAN器模塊CAN中斷標志寄存器CAN中斷寄存器26第9章CAN器模塊CAN模塊的配置9.7初

8、始化位配置寄存器BCR1和BCR2初始化郵箱中的寄存器27第9章CAN器模塊位配置寄存器的初始化28第9章CAN器模塊9.8CAN器應用器的操作步驟9.8.1CANCAN器的操作分成以下三大步:1初始化CAN2信息的3信息的接收器29第9章CAN器模塊9.8.2CANCAN器擴展硬件接口器擴展硬件接口如下圖所示,DSP需要通過一個CAN收發器連接到CAN總線上。DSP片內CAN器模塊CANTXCANRXCAN收發器CAN總線CAN器擴展硬件接口框圖30第9章CAN器模塊PCA82C25031第9章CAN器模塊硬件接口32第9章CAN器模塊9.8.3CAN程序實例1、CAN模塊一個幀請求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模塊自動應答一個幀請求41第9章CAN器模塊42第9章CAN器模塊43第9章CAN器模塊44第9章CAN器模塊45第9章CAN器模塊46第9章CAN器模塊47第9章3 、CAN程序如下:CAN器模塊器的程序設計(C語言)1建立中斷向量表(匯編).ref_nothing,_c_int0,_GRIS5;在其他定義;并在本需要使用的變量或標號.sect".vectors";定義主向量段;復位向量;中斷向量

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");/頭部文件/ 定義標志寄存器/在需要用到的函數/ 中斷子程序/ 中斷使能子程序49第9章CAN器模塊(1)main()主程序sytem_init();CAN_FLAG=0X00;/ 系統初始化程序/ 清CAN用戶標志,/CAN_FLAG=01表示接收到數據/ CAN初始化程序/ 中斷使能CAN_INIT();enable();for(;)*TCR=0X20;while(*TCR&0X2000=0) continu

12、e;/ MBX3請求/ 等待應答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標志位/ 等待接收數據/ 清接收到標志/ 郵箱不使能/ CDR=1,數據改變請求/ 郵箱2中數據加1用來更新郵箱3中的數據/ DBO=1,CDR=0,ABO=1,STM=1/ ME2=ME3=1

13、,MBX2接收, MBX351第9章CAN器模塊(2)系統初始化子程序void sytem_init()asm(" setc INTM");asm(" setc SXM");asm(" clrc OVM");asm(" clrc CNF");*IMR=0x0010;*IFR=0xFFFF;*SCSR1=0x81FE;*WDCR=0xE8;/ 開中斷優先級5/ 清中斷標志位52第9章CAN器模塊(3)CAN初始化子程序void CAN_INIT()*MCRB=*MCRB|0X0C0;*CAN_IFR=0XFFFF;*

14、LAM1_H=0X7FFF;*LAM1_L=0XFFFF;*MCR=0X1040;/ 設置IOPC6、IOPC7 為 CANRX,CANTX/ 清所有CAN中斷標志/ 設置郵箱2、3的/ 0則ID必須匹配ID寄存器/ CCR=1 改變配置請求while(*GSR&0X0010=0)continue;/ 當CCE=1 時即可配置 BCR2,BCR1 寄存器*BCR2=0X01;*BCR1=0X033;*MCR=*MCR&0XEFFF;/ 波特率預分頻寄存器/ 波特率設置為1M/ CCR=0 改變配置結束請求while(*GSR&0X0010!=0)continue; /

15、只有當CEE=0時,BCR2,BCR1 置寄存器配*MDER=0X040;*MCR=0X0143;*MSGID2H=0X2447; AME=0,/ 不使能郵箱,郵箱2設為接收方式/CDR=1,數據區改變請求設 置 郵 箱 2 的字 及 ID,IDE=0,/AAM=0, 標準方式為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;/ 設置域,數據長度DCL = 8,RTR=0 數據幀/ 郵箱2信息初始化/ 設置郵箱3的標識符/ RTR=0,DCL=8/ 郵箱3信息初始化/ DBO=1,ABO=1,STM=1設置為自測試模式/ ME3=1,MBX3, ME2=1 接收/ 中斷MBX3 不使

溫馨提示

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

評論

0/150

提交評論