eCAN模塊課件_第1頁
eCAN模塊課件_第2頁
eCAN模塊課件_第3頁
eCAN模塊課件_第4頁
eCAN模塊課件_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 傳統(tǒng)的控制系統(tǒng)難于實現(xiàn)設(shè)備之間以及系統(tǒng)與外界之間的信息交換,是一個“信息孤島”。要滿足自動控制技術(shù)現(xiàn)代化的要求,實現(xiàn)整個企業(yè)的信息集成,實施綜合自動化,就必須設(shè)計出一種能在工業(yè)現(xiàn)場環(huán)境中運行、性能可靠、造價低廉的通訊系統(tǒng),形成工廠底層網(wǎng)絡(luò),完成現(xiàn)場自動化設(shè)備之間的多點數(shù)字通訊,實現(xiàn)底層現(xiàn)場設(shè)備之間以及生產(chǎn)現(xiàn)場與外界信息的交換,現(xiàn)場總線就是在這種需求下應(yīng)運而生。 現(xiàn)場總線控制系統(tǒng)(FCS)既是一個開放的通訊網(wǎng)絡(luò),又是一種全分布控制系統(tǒng)。作為智能設(shè)備的聯(lián)系紐帶,把掛接在總線上、作為網(wǎng)絡(luò)節(jié)點的智能設(shè)備連接為網(wǎng)絡(luò)系統(tǒng),并進(jìn)一步構(gòu)成自動化系統(tǒng),實現(xiàn)基本控制、補(bǔ)償計算、參數(shù)修改、報警、顯示、監(jiān)控、優(yōu)化及

2、控管一體化的綜合自動化功能。 現(xiàn)場總線其規(guī)模屬于局域網(wǎng)、總線型結(jié)構(gòu),它簡單但能滿足現(xiàn)場的要求,信息楨短小,要求實時性高,可靠性高。 隨著嵌入式系統(tǒng)的高速發(fā)展,自1980年后十幾年間,好幾種現(xiàn)場總線技術(shù)走向成熟。 基金會現(xiàn)場總線(Foundation Fieldbus) 以美國Fisher-Rosemount公司為首,聯(lián)合ABB、西門子等80家公司,一同致力開發(fā)的一種國際上統(tǒng)一的現(xiàn)場總線。 LonWorks(美國Echelon、摩托羅拉、東芝等公司共同倡導(dǎo)) PROFIBUS(德國國家標(biāo)準(zhǔn)和歐洲標(biāo)準(zhǔn)的現(xiàn)場總線標(biāo)準(zhǔn)) HART(Highway Addressable Remote Transduc

3、er) 可尋址遠(yuǎn)程傳感器高速通道的開放通訊協(xié)議,其特點是在現(xiàn)有模擬信號傳輸線上實現(xiàn)數(shù)字信號通訊,屬于模擬系統(tǒng)向數(shù)字系統(tǒng)轉(zhuǎn)變過程的過度產(chǎn)品。 20世紀(jì)80年代,Bosch公司的工程人員開始探討現(xiàn)有的串行總線系統(tǒng)運用于轎車的可能性,因為還沒有一個網(wǎng)絡(luò)協(xié)議能完全滿足汽車工程的要求。 1983年,Kiencke開始設(shè)計新的串行總線系統(tǒng),來自Mercedes-Benz的工程人員介入新總線系統(tǒng)規(guī)范的制定。 德國Dr.Wolfhard給這個新網(wǎng)絡(luò)起名為“Controller Area Network” 今天,幾乎每一輛在歐洲生產(chǎn)的轎車都至少裝配有一個CAN網(wǎng)絡(luò)系統(tǒng)。CAN應(yīng)用在從火車到輪船等其他類型的運輸工

4、具上,以及工業(yè)控制方面。由于CAN總線本身的特點,其應(yīng)用范圍目前已經(jīng)不局限于汽車行業(yè),而擴(kuò)展到機(jī)械工業(yè)、紡織機(jī)械、農(nóng)業(yè)、機(jī)器人、數(shù)控機(jī)床及傳感器等領(lǐng)域。其通訊的突出特點為:可靠性、靈活性、實時性,具體可以概括如下:CAN為多主方式工作,網(wǎng)絡(luò)上任一節(jié)點均可在任意時刻主動向 網(wǎng)絡(luò)上其他節(jié)點發(fā)送信息,而不分主從。在報文標(biāo)志符上,CAN的節(jié)點分成不同的優(yōu)先級,可滿足不同 的實時要求。CAN采用非破壞性總線總裁技術(shù)。CAN節(jié)點只需通過對報文的標(biāo)志符濾波即可實現(xiàn)點對點、一點 對多點及全局廣播等幾種方式傳輸接收數(shù)據(jù)。 CAN的直接傳輸距離的直接傳輸距離10Km(速率在(速率在5Kbps下)下) 通訊最高速率

5、為通訊最高速率為1Mbps(此時通信的最長距離為(此時通信的最長距離為40m);); CAN的節(jié)點數(shù)的節(jié)點數(shù) 主要取決于總線驅(qū)動電路,目前可達(dá)到主要取決于總線驅(qū)動電路,目前可達(dá)到110個個 CAN的每幀信息都有的每幀信息都有CRC校驗及其他校驗措施,具有校驗及其他校驗措施,具有 極好的檢錯效果。極好的檢錯效果。 CAN的通信介質(zhì)為雙絞線、同軸電纜或光纖的通信介質(zhì)為雙絞線、同軸電纜或光纖 CAN節(jié)點在嚴(yán)重錯誤時具有自動關(guān)閉輸出功能,以便節(jié)點在嚴(yán)重錯誤時具有自動關(guān)閉輸出功能,以便 總線上其他節(jié)點的操作不受影響。總線上其他節(jié)點的操作不受影響。 Vcan-h和和Vcan-l為為CAN總線收發(fā)器與總線之

6、間的兩接口總線收發(fā)器與總線之間的兩接口 引腳,信號是以兩線之間的引腳,信號是以兩線之間的“差分差分”電壓形式出現(xiàn)。電壓形式出現(xiàn)。 CAN就是總線型結(jié)構(gòu)的一種適合工業(yè)現(xiàn)場自動控制的計算機(jī)局域網(wǎng)絡(luò)。CAN總線通訊技術(shù)是通過CANCAN總線控制器總線控制器在硬件上實現(xiàn)的。CAN總線控制器是一塊可編程的邏輯電路,片上集成CAN總線數(shù)據(jù)傳輸協(xié)議,通過硬件實現(xiàn)CAN總線編碼和解碼的功能,方便CAN總線技術(shù)在實際開發(fā)中的應(yīng)用。CAN總線控制器提供與微處理器的物理線路接口,通過對它的編程,CPU可以設(shè)置它的工作方式,控制它的工作狀態(tài),進(jìn)行數(shù)據(jù)的發(fā)送和接收。CAN總線控制器分為兩種類型。 一種是獨立的,片內(nèi)集成

7、對CAN總線的編解碼協(xié)議,它可以與多種類型的單片機(jī)、微處理器的標(biāo)準(zhǔn)總線進(jìn)行接口連接。另一種是將CAN總線控制器與微處理器作在一起,簡化了電路設(shè)計。 SJA1000是一種獨立的CAN控制器,用于一般工業(yè)環(huán)境中區(qū)域網(wǎng)絡(luò)控制。 支持CAN2.0A和CAN2.0B通訊協(xié)議; 24MMz時鐘頻率; 可與不同微處理器接口; 根據(jù)CAN協(xié)議對CAN總線上接收到的消息進(jìn)行解碼,向接收緩沖發(fā)送解碼后的消息; 根據(jù)CAN協(xié)議在CAN總線上傳送消息; F2812處理器中,eCAN模塊映射到兩個不同的地址段。兩段空間各占512字節(jié)。 第一段地址空間分配給控制寄存器、狀態(tài)寄存器、局部接收屏蔽、接受濾波器、定時郵遞和消息

8、對象超時。(600060FF) 第二段地址空間映射到32個郵箱;(610061FF) 消息存儲在RAM中,CAN控制器和CPU都可以對它進(jìn)行訪問。 eCAN提供32個郵箱,每個郵箱包括8字節(jié)數(shù)據(jù)區(qū)、29位標(biāo)志符和幾個控制位,每個郵箱都可以配置為接收或發(fā)送郵箱。 eCAN模塊有32個不同的消息郵箱,每個消息對象可以配置成發(fā)送或接收郵箱,每個消息目標(biāo)都有自己的接收濾波器. 消息郵箱用來存儲接收到的CAN消息,或存放等待發(fā)送的CAN消息。 消息郵箱映射到DSP的RAM存儲器,當(dāng)消息郵箱沒有存放消息時,CPU可以將相應(yīng)的RAM空間當(dāng)做通用存儲器使用。每個郵箱都是由四個32位寄存器構(gòu)成:MSGID:存儲

9、消息ID。MSGCTRL:定義字節(jié)數(shù)、發(fā)送極性和遠(yuǎn)程幀;MDL:4字節(jié)數(shù)據(jù);MDH:4字節(jié)數(shù)據(jù); TPL4:0-發(fā)送優(yōu)先級; RTR:遠(yuǎn)程發(fā)送請求位; DLC3:0-發(fā)送或接收數(shù)據(jù)的字節(jié)數(shù); 報文(Messeges)傳輸有如下4個不同類型的幀: 1.數(shù)據(jù)幀(Data Frame):數(shù)據(jù)幀將數(shù)據(jù)從發(fā)送器傳輸?shù)浇邮掌鳌?2.遠(yuǎn)程幀(Remote Frame):總線單元發(fā)出遠(yuǎn)程幀,請求發(fā)送具有同一標(biāo)志符的數(shù)據(jù)幀。 3.錯誤幀(Error Frame):任何單元檢測到總線錯誤就發(fā)出錯誤幀; 4.過載幀(Overload Frame):過載幀用在相鄰數(shù)據(jù)幀或遠(yuǎn)程幀之間提供附加的延時; 數(shù)據(jù)幀和遠(yuǎn)程幀可以

10、使用標(biāo)準(zhǔn)幀及擴(kuò)展幀2種格式。 郵箱使能寄存器(CANME)Mailbox Enable Register 郵箱方向寄存器(CANMD)Mailbox Direction Register 發(fā)送請求置位寄存器(CANTRS) Transmission Request Set Register 發(fā)送請求復(fù)位寄存器(發(fā)送請求復(fù)位寄存器(CANTRR) Transmission Request Reset Register 發(fā)送響應(yīng)寄存器(CANTA) Transmission Acknowledge RegisterME31.0310郵箱控制使能位:郵箱控制使能位:1 CAN模塊中相應(yīng)的郵箱被使能,

11、在寫標(biāo)志符之前,模塊中相應(yīng)的郵箱被使能,在寫標(biāo)志符之前,必須將所有郵箱屏蔽。必須將所有郵箱屏蔽。0 相關(guān)郵箱被屏蔽,郵箱映射為一般存儲空間使用。相關(guān)郵箱被屏蔽,郵箱映射為一般存儲空間使用。MD31.0310郵箱方向寄存器:郵箱方向寄存器:1 配置為接收郵箱配置為接收郵箱0 配置為發(fā)送郵箱配置為發(fā)送郵箱TRS31.0310發(fā)送請求設(shè)置位:發(fā)送請求設(shè)置位:1TRS置位發(fā)送郵箱中的消息,所有循環(huán)發(fā)送的消息的置位發(fā)送郵箱中的消息,所有循環(huán)發(fā)送的消息的TRS位可以同時位可以同時置位;置位; 0 沒有操作;沒有操作;注意:注意: 當(dāng)多個發(fā)送請求同時置位時,消息可以輪流發(fā)送。首先發(fā)送優(yōu)先級別當(dāng)多個發(fā)送請求同

12、時置位時,消息可以輪流發(fā)送。首先發(fā)送優(yōu)先級別高的郵箱(郵箱編號最大的具有最高優(yōu)先權(quán)),也可以設(shè)置高的郵箱(郵箱編號最大的具有最高優(yōu)先權(quán)),也可以設(shè)置TPL設(shè)定設(shè)定郵箱的優(yōu)先級別。郵箱的優(yōu)先級別。TRR31.0310發(fā)送請求復(fù)位位:發(fā)送請求復(fù)位位:1TRR置位取消發(fā)送請求置位取消發(fā)送請求 0 沒有操作;沒有操作;注意:注意:通過通過CPU寫入寫入1,將,將CANTRR寄存器中的位置寄存器中的位置1;如果通過如果通過TRS已經(jīng)初始化相應(yīng)位,但當(dāng)前沒有進(jìn)行消息處理,并且相已經(jīng)初始化相應(yīng)位,但當(dāng)前沒有進(jìn)行消息處理,并且相應(yīng)的應(yīng)的TRR位置位,則消息會取消傳送。位置位,則消息會取消傳送。如果發(fā)送成功或消

13、息發(fā)送放棄,則該寄存器的相應(yīng)位將復(fù)位;如果發(fā)送成功或消息發(fā)送放棄,則該寄存器的相應(yīng)位將復(fù)位;TA31.0310發(fā)送響應(yīng)位:發(fā)送響應(yīng)位:1如果郵箱中的消息成功發(fā)送,則響應(yīng)寄存器位置位;如果郵箱中的消息成功發(fā)送,則響應(yīng)寄存器位置位;0 消息沒被發(fā)出;消息沒被發(fā)出;注意:注意:如果如果CANMIM寄存器中相應(yīng)的中斷屏蔽位被置位,則寄存器中相應(yīng)的中斷屏蔽位被置位,則GMIF0/GMIF1會被置位,表示有中斷產(chǎn)生;會被置位,表示有中斷產(chǎn)生;如果已經(jīng)產(chǎn)生中斷,向如果已經(jīng)產(chǎn)生中斷,向CANTA寄存器寫寄存器寫1,可以清除中斷。,可以清除中斷。AA31.0310發(fā)送請求復(fù)位位:發(fā)送請求復(fù)位位:1郵箱消息發(fā)送失

14、敗,相應(yīng)位置位郵箱消息發(fā)送失敗,相應(yīng)位置位0 消息發(fā)送成功;消息發(fā)送成功;RMP31.0310發(fā)送響應(yīng)位:發(fā)送響應(yīng)位:1如果郵箱中包含接收到的消息,則寄存器相應(yīng)位置位;如果郵箱中包含接收到的消息,則寄存器相應(yīng)位置位;0 消息內(nèi)沒有消息;消息內(nèi)沒有消息;注意:注意:如果接收到的消息存儲到郵箱如果接收到的消息存儲到郵箱n中,則中,則RMPn將被置位;將被置位;如果在如果在CANMIM寄存器中的相應(yīng)的中斷屏蔽位被置位,則寄存器中的相應(yīng)的中斷屏蔽位被置位,則CANRMP寄存器相應(yīng)的位會對寄存器相應(yīng)的位會對GMIF0/GMIF1置位,表示中斷產(chǎn)生;置位,表示中斷產(chǎn)生; 主控寄存器(CANMC)Maste

15、r Control Register CANMC.13(SCB):標(biāo)準(zhǔn)):標(biāo)準(zhǔn)CAN模式兼容控制位模式兼容控制位 1 選擇選擇ECAN模式模式 0 ECAN工作在標(biāo)準(zhǔn)模式,只有工作在標(biāo)準(zhǔn)模式,只有16個郵箱使用個郵箱使用CANMC.12( CCR):改變配置請求):改變配置請求 1 CPU請求向標(biāo)準(zhǔn)模式配置寄存器請求向標(biāo)準(zhǔn)模式配置寄存器CANBTC和接受屏蔽和接受屏蔽寄寄 存器存器CANGAM)寫配置信息。寫配置信息。 CANMC.10( DBO):數(shù)據(jù)字節(jié)順序):數(shù)據(jù)字節(jié)順序 選擇消息數(shù)據(jù)區(qū)字節(jié)的排列次序選擇消息數(shù)據(jù)區(qū)字節(jié)的排列次序 1 首先接收或發(fā)送數(shù)據(jù)的最低有效位首先接收或發(fā)送數(shù)據(jù)的最低

16、有效位 0 首先接收或發(fā)送數(shù)據(jù)的最高有效位首先接收或發(fā)送數(shù)據(jù)的最高有效位 位時序配置寄存器CANBCR Bit-Timing Configuration Register 錯誤和狀態(tài)寄存器CANES Error and Status Register Ecan I/O控制寄存器(CANTIOC、CANRIOC) CANTIOC.3(TXFUNC) CANRIOC.3(TRFUNC) 全局中斷標(biāo)志寄存器(CANGIF0/CANGIF1) Global Interrupt Flag Registers 全局中斷屏蔽寄存器 (CANGIM) Global Interrupt Mask Registe

17、r 郵箱中斷屏蔽寄存器(CANMIM) Mailbox Interrupt Mask Register 郵箱中斷級別寄存器郵箱中斷級別寄存器(CANMIL) Mailbox Interrupt Level Register EALLOW; /*系統(tǒng)時鐘初始化*/ SysCtrlRegs.HISPCP.all = 0 x0001; SysCtrlRegs.LOSPCP.all = 0 x0002; /*使能外設(shè)ECAN模塊時鐘*/ SysCtrlRegs.PCLKCR.bit.ECANENCLK = 1; EDIS; EALLOW;ECanaShadow.CANTIOC.all = ECanaR

18、egs.CANTIOC.all;ECanaShadow.CANTIOC.bit.TXFUNC = 1;ECanaRegs.CANTIOC.all = ECanaShadow.CANRIOC.all;ECanaShadow.CANRIOC.all = ECanaRegs.CANRIOC.all;ECanaShadow.CANRIOC.bit.RXFUNC = 1;ECanaRegs.CANRIOC.all = ECanaShadow.CANRIOC.all;EDIS;注意: CANTX和CANRX引腳作為CAN的通訊接口引腳,需要通過CANTIOC和CANRIOC來設(shè)置。 如果上述引腳作為通用I

19、/O口使用,GPFMUX寄存器的相關(guān)控制腳需清零 ECAN TXIO控制寄存器含義 3腳 作為CAN模塊的功能使用,必須置1 ECAN RXIO控制寄存器含義 3腳 作為CAN模塊的功能使用,必須置1 EALLOW; GpioMuxRegs.GPFMUX.bit.XF_GPIOF14=0; GpioMuxRegs.GPFDIR.bit.GPIOF14=1; GpioMuxRegs.GPFMUX.bit.CANRXA_GPIOF7=1; GpioMuxRegs.GPFMUX.bit.CANTXA_GPIOF6=1; EDIS; EALLOW;ECanaShadow.CANMC.all = ECa

20、naRegs.CANMC.all;ECanaShadow.CANMC.bit.CCR = 1;/主控寄存器ECanaRegs.CANMC.all = ECanaShadow.CANMC.all;EDIS; do ECanaShadow.CANES.all = ECanaRegs.CANES.all; while(ECanaShadow.CANES.bit.CCE != 1);注意: CUP請求向標(biāo)準(zhǔn)模式的請求向標(biāo)準(zhǔn)模式的CANBTC寫入信息,須將寫入信息,須將CCR位置位置1,且,且CPU必須等必須等到到CANES寄存器的寄存器的CCE標(biāo)志為標(biāo)志為1后,才能對后,才能對CANBTC寄存器進(jìn)行寫

21、入操作。寄存器進(jìn)行寫入操作。 CCR = 0CPU請求正常操作。只有在配置寄存器請求正常操作。只有在配置寄存器CANBTC設(shè)置為允許值設(shè)置為允許值后才能實現(xiàn)該操作。后才能實現(xiàn)該操作。EALLOW;/*(BRPREG+1)=10 feeds a 15MHz CAN clock*/ECanaShadow.CANBTC.bit.BRP = 9; /*150/10=15*/ECanaShadow.CANBTC.bit.TSEG2 = 5;ECanaShadow.CANBTC.bit.TSEG1 = 7;ECanaRegs.CANBTC.all = ECanaShadow.CANBTC.all;ECan

22、aShadow.CANMC.all = ECanaRegs.CANMC.all;ECanaShadow.CANMC.bit.CCR = 0;ECanaRegs.CANMC.all = ECanaShadow.CANMC.all;EDIS;波特率波特率 = SYSCLK/BRPBit_time其中:其中: SYSCLK是是CAN 模塊的系統(tǒng)時鐘,與模塊的系統(tǒng)時鐘,與CPU時鐘相同;時鐘相同; BRP是是BRPreg +1的二進(jìn)制數(shù)值;的二進(jìn)制數(shù)值; Bit_Time = (TSEG1reg +1) +(TSEG1reg +1)+1CAN總線速度BRPreg +1CAN時鐘1Mbps1015MHz500Kbps207.5MHz250Kbps403.75MHz125Kbps801.875MHz100Kbps1001.5MHz50Kbps2000.75MHzBRP不同值的波特率(不同值的波特率( TSEG1reg=10 ,TSEG2reg =2)EALLOW;ECanaShadow.CANMC.all = ECanaRegs.CANMC.all; ECanaShadow.CANMC.bit.STM = 0; 自測試模式使能位 1 自測試模式 0 模塊正常工作模式ECanaShadow.CANMC.bit.SCM = 1; CA

溫馨提示

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

評論

0/150

提交評論