




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
汽車總線應(yīng)用技術(shù)第四章飛思卡爾控制器與MSCAN黃愛(ài)蓉huang2010@163.飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第1頁(yè)!本章主要內(nèi)容4.1概述4.2MC9S08DZ60MC9S08DZ60的主要特性MC9S08DZ60的內(nèi)部結(jié)構(gòu)4.3多功能時(shí)鐘管理器MCG4.4飛思卡爾MSCAN模塊MSCAN特征MSCAN相關(guān)寄存器介紹報(bào)文發(fā)送基礎(chǔ)4.5S08DZ60開(kāi)發(fā)環(huán)境CodeWarriorfors08的使用飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第2頁(yè)!4.1概述飛思卡爾半導(dǎo)體是全球最大的半導(dǎo)體公司之一,設(shè)計(jì)制造嵌入式半導(dǎo)體產(chǎn)品;是車用微控制器(MCU)領(lǐng)域排名的供應(yīng)商,具有20年的汽車電子經(jīng)驗(yàn);飛思卡爾的微控制器按照CPU字長(zhǎng)分為8位、16位、32位三種8位16位32位信息娛樂(lè)系統(tǒng)目前,飛思卡爾的各MCU中廣泛使用CAN模塊設(shè)計(jì)。飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第3頁(yè)!飛思卡爾對(duì)汽車的了解飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第4頁(yè)!飛思卡爾在汽車領(lǐng)域的應(yīng)用----底盤飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第5頁(yè)!飛思卡爾在汽車領(lǐng)域的應(yīng)用----信息娛樂(lè)系統(tǒng)飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第6頁(yè)!飛思卡爾在汽車領(lǐng)域的應(yīng)用----動(dòng)力系統(tǒng)控制飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第7頁(yè)!MCU選擇標(biāo)準(zhǔn)MCU內(nèi)置功能:?Flash、ROM、EEPROM?管腳輸出?封裝選擇?功能?低功率?開(kāi)發(fā)支持?成本?質(zhì)量?軟件可用性可擴(kuò)展性和靈活性:?兼容性(重復(fù)使用)?移植選擇?外圍設(shè)備飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第8頁(yè)!MC9S08DZ60微控制器說(shuō)明:S08DZ系列提供了飛思卡爾最低成本的內(nèi)嵌CAN的微控制器;將內(nèi)嵌CAN、內(nèi)嵌EPROM和片上仿真/調(diào)試模塊組合在一起;主要特性8位HCS08中央處理器(CPU)?40-MHzHCS08CPU(20-MHz總線)?HC08指令集,帶附加的BGND指令?支持最多32個(gè)中斷/復(fù)位源片內(nèi)存儲(chǔ)器整個(gè)工作電壓和溫度范圍內(nèi)可讀取/編程/擦除的Flash存儲(chǔ)器—MC9S08DZ60=60K?最大2K的EEPROM在線可編程內(nèi)存;支持8字節(jié)單頁(yè)或4字節(jié)雙頁(yè)擦除分區(qū);執(zhí)行Flash程序的同時(shí)可進(jìn)行編程和擦除操作;支持擦除取消操作?最大4K的隨機(jī)存取內(nèi)存(RAM)飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第9頁(yè)!MCS9S08DZ60微控制器主要特性外圍設(shè)備?ADC數(shù)模轉(zhuǎn)換器—24通道,12位分辨率,2.5uS轉(zhuǎn)換時(shí)間,自動(dòng)比較功能,1.7mV/°C溫度傳感器,包含內(nèi)部能隙參考源通道?ACMPx—兩個(gè)模擬比較器,支持比較器輸出的上升、下降或任意邊沿觸發(fā)的中斷;可選擇與內(nèi)部參考電壓源進(jìn)行比較?MSCAN—CAN協(xié)議–V2.0A和B;支持標(biāo)準(zhǔn)和擴(kuò)展數(shù)據(jù)幀;支持遠(yuǎn)程幀;5個(gè)帶有FIFO存儲(chǔ)機(jī)制的接收緩沖器;靈活的接收識(shí)別符過(guò)濾器,可編程如下:2x32位、4x16位或8x8位?SCIx—兩個(gè)串行通信接口SCI,可支持LIN2.0協(xié)議和SAEJ2602協(xié)議;全雙工;主節(jié)點(diǎn)支持break信號(hào)生成;從節(jié)點(diǎn)支持中斷信號(hào)檢測(cè);支持激活邊沿喚醒飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第10頁(yè)!MCS9S08DZ60—內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)內(nèi)核:中央處理器CUP后臺(tái)調(diào)試控制器BDC斷點(diǎn)控制器BKP用戶閃存60k,用于存放用戶程序和數(shù)據(jù),在正常運(yùn)行時(shí)為只讀4k的RAM存儲(chǔ)器用做堆棧、保存中間結(jié)果及動(dòng)態(tài)數(shù)據(jù)。2k的EEROM保存組態(tài)、設(shè)置信息等半永久數(shù)據(jù)。飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第11頁(yè)!系統(tǒng)時(shí)鐘分配下面列出了本MCU中使用的時(shí)鐘:?BUSCLK—總線頻率始終為MCGOUT的一半?LPO—獨(dú)立的1kHz時(shí)鐘,可以作為COP和RTC模塊的時(shí)鐘源。?MCGOUT—MCG的主輸出,為總線頻率的兩倍。?MCGLCLK—在BUSCLK被配置為以很低的頻率運(yùn)行的系統(tǒng)中,開(kāi)發(fā)工具可以選擇這一時(shí)鐘源來(lái)加快BDC通信。?MCGERCLK—外部參考時(shí)鐘,可用作RTC時(shí)鐘源。它還可以用作ADC和MSCAN的備用時(shí)鐘。?MCGIRCLK—內(nèi)部參考時(shí)鐘,可用作RTC時(shí)鐘源。?MCGFFCLK—固定頻率時(shí)鐘,可用作TPM1和TPM2的時(shí)鐘源。?TPM1CLK—TPM1的外部輸入時(shí)鐘源。?TPM2CLK—TPM2的外部輸入時(shí)鐘源。飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第12頁(yè)!MCG模塊的主要特性?鎖頻環(huán)(FLL)—使用內(nèi)部32-kHz參考時(shí),全電壓和溫度范圍內(nèi)2%的偏差—可以使用內(nèi)部或外部參考控制FLL?鎖相環(huán)(PLL)—壓控振蕩器(VCO)—模數(shù)VCO分頻器—相位/頻率檢測(cè)器—集成環(huán)路濾波器—帶中斷功能的鎖定檢測(cè)器飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第13頁(yè)!MCG寄存器--MCG控制寄存器1(MCGC1)返回飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第14頁(yè)!MCG寄存器--MCG狀態(tài)和控制寄存器(MCGSC)飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第15頁(yè)!MCG操作模式飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第16頁(yè)!MCG操作模式--FLLEngagedExternal(FEE)當(dāng)滿足下列條件時(shí)就進(jìn)入FLLengagedExternal(FEE)模式:?CLKS位寫入00?IREFS位寫入0?PLLS位寫入0?RDIV位寫入介于31.25kHz-39.0625kHz頻率范圍內(nèi)的分頻參考時(shí)鐘。在FEE模式中,MCGOUT時(shí)鐘來(lái)自FLL時(shí)鐘,由外部參考時(shí)鐘控制。使能的外部參考時(shí)鐘可以是外部晶體/諧振器,也可以是另外一個(gè)外部時(shí)鐘源。MCGLCLK來(lái)自FLL,PLL被禁止并處于低功率狀態(tài)。選擇外部參考時(shí)鐘作為時(shí)鐘源MCGC3,PLL模式禁止,選擇FLL飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第17頁(yè)!MCG操作模式--FLLBypassedExternal(FBE)在FLLBypassedExternal(FBE)模式中,MCGOUT時(shí)鐘來(lái)自外部參考時(shí)鐘,F(xiàn)LL處于運(yùn)行狀態(tài)但其輸出時(shí)鐘未使用。當(dāng)滿足以下條件時(shí)就進(jìn)入FLLBypassedExternal模式:?CLKS位寫入10?IREFS位寫入0?PLLS位寫入0?RDIV位寫入介于31.25kHz-39.0625kHz頻率范圍內(nèi)的分頻參考時(shí)鐘。?LP位寫入0在FLLBypassedExternal模式中,MCGOUT時(shí)鐘源自FLL時(shí)鐘。使能的外部參考時(shí)鐘可以是外部晶體/諧振器,也可以是另外一個(gè)外部時(shí)鐘源。FLL時(shí)鐘由外部參考時(shí)鐘控制
MCGLCLK來(lái)自FLL,PLL被禁止處于低功率狀態(tài)MCGC2,在旁路模式中不禁止FLL系統(tǒng)時(shí)鐘源為外部參考時(shí)鐘飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第18頁(yè)!MCG操作模式--PLLBypassedExternal(PBE)在PLLBypassedExternal(PBE)模式中,MCGOUT時(shí)鐘源自外部參考時(shí)鐘,PLL處于運(yùn)行狀態(tài)但其輸出時(shí)鐘未使用。該模式對(duì)允許PLL獲得目標(biāo)頻率非常有用。當(dāng)滿足以下條件時(shí)就進(jìn)入PLLBypassedExternal模式:?CLKS位寫入00?IREFS位寫入0?PLLS位寫入1?RDIV位寫入介于1MHz-2MHz頻率范圍的分頻參考時(shí)鐘。?LP位寫入0在PLLBypassedExternal模式中,MCGOUT時(shí)鐘源自外部參考時(shí)鐘。使能的外部參考時(shí)鐘可以是外部晶體/諧振器,也可以是另外一個(gè)外部時(shí)鐘源。PLL時(shí)鐘頻率是參考頻率(RDIV位所選)和倍頻因子(VDIV位所選)乘積。如果使能BDM,MCGLCLK值就是DCO除以2(開(kāi)放環(huán)路模式)的得數(shù)。飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第19頁(yè)!MCG操作模式--BypassedLowPowerExternal(BLPE)當(dāng)滿足以下條件時(shí)就進(jìn)入BypassedLowPowerExternal(BLPE)模式:?CLKS位寫入10?IREFS位寫入0?PLLS位寫入0或1?LP位寫入1?BDM模式未活動(dòng)在BypassedLowPowerExternal模式中,MCGOUT時(shí)鐘源自外部參考時(shí)鐘。使能的外部參考時(shí)鐘可以是外部晶體/諧振器,也可以是另外一個(gè)外部時(shí)鐘源。在BLPE模式中,PLL和FLL總是無(wú)效的,且MCGLCLK不能用于BDC通信。如果BDM進(jìn)入活動(dòng)狀態(tài),該模式將切換到由PLLS位狀態(tài)決定的另外一種外部旁路模式。飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第20頁(yè)!MCG操作模式飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第21頁(yè)!MCG初始化從FEI到FEE或FBE模式轉(zhuǎn)換步驟:1.使能在MCGC2中適當(dāng)?shù)奈粊?lái)使能外部時(shí)鐘源;2.寫至MCGC1以選擇時(shí)鐘模式;—FEE模式:適當(dāng)設(shè)置RDIV、清除IREFS位,以切換到外部參考,讓CLKS位停留在00,這樣就可以把FLL輸出選擇為系統(tǒng)時(shí)鐘源?!狥BE模式:清除IREFS位以切換到外部參考,將CLKS位更改為10,這樣就可以把外部參考選擇為系統(tǒng)時(shí)鐘源。這里還應(yīng)根據(jù)外部參考頻率適當(dāng)設(shè)置RDIV位,因?yàn)楸M管FLL被旁通,但它仍然處于FBE模式?!獌?nèi)部參考可以通過(guò)設(shè)置IRCLKEN位保持運(yùn)行。如果應(yīng)用中需要在內(nèi)部和外部模式之間來(lái)回切換,這就十分有用。為了實(shí)現(xiàn)最低功耗,當(dāng)處于外部時(shí)鐘模式時(shí)應(yīng)禁止內(nèi)部參考。飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第22頁(yè)!MCG初始化要從FEI時(shí)鐘模式轉(zhuǎn)換到FBI時(shí)鐘模式,請(qǐng)按下列步驟操作:1.將CLKS位更改為01,這樣內(nèi)部參考時(shí)鐘就可以選擇為系統(tǒng)時(shí)鐘源。2.等待把MCGSC寄存器中的CLKST位更改為01,表明已經(jīng)正確選擇了內(nèi)部參考時(shí)鐘。飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第23頁(yè)!MCG初始化代碼—實(shí)例從FEI轉(zhuǎn)換到PEE模式:外部晶體=8MHz、總線頻率=16MHz過(guò)程如下:(1)首先,F(xiàn)EI必須轉(zhuǎn)換到FBE模式:a)MCGC2=0x36(%00110110)—BDIV位7和6)設(shè)置為%00或除以1?!猂ANGE(位5)設(shè)置為1,因?yàn)?MHz的頻率屬于高頻范圍?!狧GO(位4)設(shè)置為1,為高增益運(yùn)行配置外部振蕩器?!狤REFS(位2)設(shè)置為1,因?yàn)檎谑褂镁w?!狤RCLKEN(位1)設(shè)置為1,確保外部參考時(shí)鐘處于活動(dòng)狀態(tài)。b)循環(huán)檢測(cè),直到MCGSC中的OSCINIT(位1)是1,表明EREFS位選擇的晶體已經(jīng)完成初始化。c)MCGC1=0xB8(%10111000)—CLKS(位7和6)設(shè)置為%10,以便將外部參考時(shí)鐘選擇為系統(tǒng)時(shí)鐘源。—RDIV(位5-3)設(shè)置為%111或除以128。d)循環(huán)檢測(cè),直到MCGSC中的IREFST(位4)是0,表明外部參考是參考時(shí)鐘的當(dāng)前源。e)循環(huán)檢測(cè),直到MCGSC中的CLKST(位3和2)是10,表明已經(jīng)選擇外部參考時(shí)鐘為MCGOUT饋電。飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第24頁(yè)!MCG初始化代碼—實(shí)例3.然后,從BLPE模式轉(zhuǎn)換到PBE模式:a)將MCGC2中的LP(位3)清除至0,切換到PBE模式。b)循環(huán)檢測(cè),直到MCGSC中的LOCK(位6)置位,表明PLL已經(jīng)獲得鎖定。4.最后,從PBE模式轉(zhuǎn)換到PEE模式:a)MCGC1=0x18(%00011000)—MCGSC1中的CLKS(位7和6)設(shè)置為%00,以便將PLL輸出選擇為系統(tǒng)時(shí)鐘源。b)循環(huán)檢測(cè),直到MCGSC中的CLKST(位3和2)是%11,表明已經(jīng)選擇PLL輸出,在當(dāng)前時(shí)鐘模式中為MCGOUT饋電。—這樣,RDIV除以8、BDIV除以1、VDIV乘以32,MCGOUT=[(8MHz/8)*32]/1=32MHz,總線頻率是MCGOUT/2或16MHz。飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第25頁(yè)!MCG初始化代碼//SelecttheVCOdividerandPLL*/
MCGC3=0x48;//01001000;1M*32=32MHZ//WaitforPLLstatustoupdate*/
while(!MCGSC_PLLST);//ClearLPbit*/
MCGC2=0x36;//NOWINPBEMODE*///WaitforLOCKbittoset*/
while(!MCGSC_LOCK);//EnterPEEmode*/
MCGC1=0x18;//00011000//WaitforClockstatustoindicatePLLoutput
while(MCGSC_CLKST!=0b11);//表明已經(jīng)選擇PLL輸出,在當(dāng)前時(shí)鐘模式中為MCGOUT饋電}飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第26頁(yè)!MSCANMSCAN即CAN控制器?CAN協(xié)議的實(shí)施-CAN2.0A/B版?標(biāo)準(zhǔn)和擴(kuò)展數(shù)據(jù)幀?0–8字節(jié)的數(shù)據(jù)長(zhǎng)度?高達(dá)1Mbps的可編程比特率?支持遠(yuǎn)程幀?帶FIFO存儲(chǔ)機(jī)制的5個(gè)接收緩沖器?帶內(nèi)部?jī)?yōu)先級(jí)分配功能的3個(gè)發(fā)送緩沖器?靈活的可屏蔽標(biāo)識(shí)符過(guò)濾器:?2個(gè)32位擴(kuò)展標(biāo)識(shí)符過(guò)濾器?4個(gè)16位過(guò)濾器?8個(gè)8位過(guò)濾器飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第27頁(yè)!典型CAN系統(tǒng)飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第28頁(yè)!MSCAN模塊功能?可編程功能:?集成的低通過(guò)濾器提供喚醒功能?環(huán)回模式支持自檢操作?監(jiān)聽(tīng)模式支持CAN總線監(jiān)控?單獨(dú)的信令傳輸和中斷功能,適合所有CAN接收器和發(fā)射器錯(cuò)誤狀態(tài)(警告、被動(dòng)錯(cuò)誤和總線脫離)。?可編程的時(shí)鐘源,可以是系統(tǒng)時(shí)鐘或晶體振蕩器輸出?內(nèi)部定時(shí)器,對(duì)接收和發(fā)送的消息添加時(shí)間戳?低功耗模式:休眠、電源關(guān)閉和MSCAN使能飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第29頁(yè)!發(fā)送控制相關(guān)寄存器TXn=1:選擇相關(guān)報(bào)文緩沖區(qū)TXn=0:相關(guān)報(bào)文緩沖區(qū)不被選著?TXEn=1:發(fā)送緩沖器為空(已發(fā)送或放棄)?TXEn=0:發(fā)送緩沖器已滿(未發(fā)送,已安排好日程)?TXEIEn=1:?jiǎn)?dòng)發(fā)送中斷功能??盏陌l(fā)送緩沖器導(dǎo)致中斷。?TXEIEn=0:取消發(fā)送中斷功能。?ABTRQn=1:請(qǐng)求中止發(fā)送。?ABTAKn=1:信息發(fā)送中止(未發(fā)送)?ABTAKn=0:信息發(fā)送未中止(已發(fā)送)發(fā)送器標(biāo)志寄存器發(fā)送器中斷使能寄存器發(fā)送器報(bào)文中止請(qǐng)求寄存器發(fā)送器報(bào)文中止確認(rèn)寄存器飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第30頁(yè)!MSCAN—發(fā)送流程?配置:?將標(biāo)識(shí)符、數(shù)據(jù)和優(yōu)先級(jí)寫入空的發(fā)送緩沖器。?安排緩沖器的發(fā)送順序(清除TXEn)?啟動(dòng)發(fā)送中斷(設(shè)置TXEIEn)?優(yōu)先級(jí)值最低的發(fā)送緩沖器(安排發(fā)送消息的緩沖器)將在下一個(gè)IFS期間參與仲裁以接入CAN總線?發(fā)送中斷:?識(shí)別已發(fā)送完消息的信息緩沖器?關(guān)閉發(fā)送中斷?測(cè)試ABTAK(確認(rèn)標(biāo)記)?讀取時(shí)間戳寄存器(如果啟動(dòng)了TIME鏈路的話)?如果發(fā)送隊(duì)列中還有一條消息,請(qǐng)重復(fù)上述發(fā)送流程。飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第31頁(yè)!接收流程?配置:?設(shè)置INITRQ(初始化模式請(qǐng)求)?配置接收過(guò)濾器?啟動(dòng)接收中斷?清除INITRQ?接收中斷:?讀取標(biāo)識(shí)符,執(zhí)行過(guò)濾?讀取數(shù)據(jù)長(zhǎng)度代碼字段?讀取數(shù)據(jù)字段(如果不是遠(yuǎn)程幀的話)?讀取時(shí)間戳(如果啟動(dòng)了時(shí)間鏈路)?釋放接收緩沖器飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第32頁(yè)!標(biāo)識(shí)符寄存器標(biāo)準(zhǔn)標(biāo)識(shí)符(11位)?IDE=0?最小的二進(jìn)制值代表的標(biāo)識(shí)符的優(yōu)先級(jí)最高。?邏輯“0”作為顯性位發(fā)送。?7個(gè)最高有效位(ID10–ID4)不能全部為“1”(隱性)飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第33頁(yè)!數(shù)據(jù)寄存器本地優(yōu)先級(jí)飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第34頁(yè)!標(biāo)識(shí)符接收控制寄存器?接收控制寄存器CANIDAC中的一個(gè)接收緩沖器滿標(biāo)記(RXF=1)和3個(gè)標(biāo)識(shí)符擊中標(biāo)記(IDHT標(biāo)識(shí)符有效)向應(yīng)用軟件通知過(guò)濾命中。飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第35頁(yè)!接收寄存器:4x16位過(guò)濾器飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第36頁(yè)!過(guò)濾器舉例飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第37頁(yè)!CAN應(yīng)用舉例?驅(qū)動(dòng)器業(yè)務(wù):?voidCAN_Init(
rmode
)
初始化MSCAN驅(qū)動(dòng),其中rmode說(shuō)明系統(tǒng)是否復(fù)位?CAN_ConfigMB(buffer,cmode,identifierRef)配置消息緩沖器buffer說(shuō)明緩沖器的選擇,cmode說(shuō)明緩沖器是接收還是發(fā)送,identifierRef配置標(biāo)識(shí)符?CAN_LoadMB(buffer,dataptr)將數(shù)據(jù)載入相應(yīng)的緩沖器buffer說(shuō)明緩沖器的選擇,dataptr說(shuō)明載入緩沖器數(shù)據(jù)的地址?CAN_TransmitMB(buffer)發(fā)送數(shù)據(jù)buffer說(shuō)明緩沖器的選擇CAN_ReadDataMB(buffer,dataptr)讀消息緩沖器中的數(shù)據(jù)buffer說(shuō)明緩沖器的選擇,dataptr說(shuō)明緩沖器數(shù)據(jù)的地址飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第38頁(yè)!CAN應(yīng)用實(shí)例
(void)CAN_ConfigMB(0,TXDF,MSCAN_SENSOR);/*配置發(fā)送緩沖區(qū),配置標(biāo)識(shí)符*/0號(hào)緩沖區(qū),發(fā)送,標(biāo)識(shí)符為MSCAN_SENSOR /*將數(shù)據(jù)裝載到上述配置的發(fā)送緩沖區(qū)*/
if(CAN_LoadMB(0,data)==ERR_OK){ /*發(fā)送緩沖區(qū)內(nèi)消息發(fā)送*/CAN_TransmitMB(0);LED_Trigger(1);//LED1等閃爍} LED_Trigger(0);//LED0等閃爍 Cpu_Delay100US(2000);}}/*main*/飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第39頁(yè)!MC9S08DZ60---LIN實(shí)現(xiàn)實(shí)例主要函數(shù)功能說(shuō)明
1)LIN_Init函數(shù)函數(shù)名稱:LIN_Init主要功能:初始化LIN驅(qū)動(dòng)器(包括軟件和硬件)使用格式:CAN_Init(void)參數(shù)說(shuō)明:無(wú)返回值:無(wú)2)LIN_PutMsg函數(shù)函數(shù)名稱:LIN_PutMsg主要功能:將消息存放在LIN消息緩沖器中使用格式:LIN_PutMsg(msgId,msgData)參數(shù)說(shuō)明:msgId為報(bào)文ID號(hào);msgData為發(fā)送的數(shù)據(jù)
返回值:LIN_OK——說(shuō)明成功將數(shù)據(jù)載入緩沖器LIN_NO_ID——說(shuō)明報(bào)文ID號(hào)無(wú)效LIN_INVALID_ID——說(shuō)明數(shù)據(jù)載入錯(cuò)誤
飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第40頁(yè)!MC9S08DZ60---LIN實(shí)現(xiàn)實(shí)例主要函數(shù)功能說(shuō)明
5)LIN_MsgStatus函數(shù)函數(shù)名稱:LIN_MsgStatus主要功能:檢查數(shù)據(jù)發(fā)送狀態(tài)使用格式:LIN_MsgStatus(msgId)參數(shù)說(shuō)明:msgId為報(bào)文ID號(hào)返回值:當(dāng)信息已經(jīng)接收LIN_OK——檢測(cè)到數(shù)據(jù)發(fā)送成功LIN_NO_ID——說(shuō)明報(bào)文ID無(wú)效LIN_MSG_NOCHANGE——說(shuō)明沒(méi)有接收到發(fā)送的信息LIN_MSG_NODATA——說(shuō)明驅(qū)動(dòng)器初始化后沒(méi)有接收到信息LIN_MSG_OVERRUN——說(shuō)明驅(qū)動(dòng)器內(nèi)的信息已經(jīng)被覆蓋當(dāng)信息已經(jīng)傳輸LIN_OK——說(shuō)明已經(jīng)將放入緩沖器的信息發(fā)送出去了LIN_NO_ID——說(shuō)明報(bào)文ID無(wú)效LIN_MSG_NOCHANGE——說(shuō)明沒(méi)有將放入緩沖器的信息發(fā)送出去LIN_MSG_NODATA——說(shuō)明驅(qū)動(dòng)器初始化后數(shù)據(jù)沒(méi)有更新
飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第41頁(yè)!MC9S08DZ60---LIN實(shí)現(xiàn)實(shí)例從節(jié)點(diǎn)代碼voidmain(void){LINStatusTyperet;/*Initializedriver*/LIN_Init();/*Enableinterrupt*/asmcli;/*MainLoop*/while(1){/*Waitforamessage*/ret=LIN_MsgStatus(0x17);
if((ret==LIN_OK)||(ret&LIN_MSG_OVERRUN)){/*Readmessage*/ret=LIN_GetMsg(0x17,MsgRcvd);PTAD_PTAD0^=1; } Delay(100); }/*while(1)*/}/*main*/飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第42頁(yè)!考試說(shuō)明:題型:選擇題(20)填空題(30)簡(jiǎn)答題(30)綜合題目(20)內(nèi)容章概述15分第二章CAN40分
LIN20分第三章FLEXRAY10分第四章s08dz60MCGMSCAN15分考試時(shí)間地點(diǎn):15周周一(12月13號(hào))下午2:10~4:10地點(diǎn)待定考試說(shuō)明:每人限帶2本參考書(其中包括課件的打?。╋w思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第43頁(yè)!飛思卡爾在汽車領(lǐng)域的應(yīng)用----車身電子飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第44頁(yè)!飛思卡爾在汽車領(lǐng)域的應(yīng)用----輔組駕駛飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第45頁(yè)!飛思卡爾在汽車領(lǐng)域的應(yīng)用----車內(nèi)聯(lián)網(wǎng)飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第46頁(yè)!MCU選擇標(biāo)準(zhǔn)MCU在其內(nèi)存中包含按照OEM的規(guī)定根據(jù)車輛需求設(shè)計(jì)的功能邏輯MCU處理輸入和控制:?BCM連接器管腳上由緩沖器電路從邏輯電平轉(zhuǎn)化的輸出?通過(guò)通信鏈路發(fā)送到其他車輛模塊的信息低運(yùn)行電流至關(guān)重要:運(yùn)行電流越大,調(diào)節(jié)器功耗越大,散熱越多較低休眠電流至關(guān)重要:當(dāng)發(fā)動(dòng)機(jī)關(guān)閉,電池電壓不是通過(guò)交流發(fā)電機(jī)充電時(shí),MCU從運(yùn)行模式進(jìn)入低功耗模式(睡眠)。睡眠電流越大,電池用完的時(shí)間越快從睡眠到運(yùn)行模式的快速轉(zhuǎn)換至關(guān)重要:某些BCM功能要求喚醒之后短時(shí)間內(nèi)進(jìn)行操作(從睡眠轉(zhuǎn)換到運(yùn)行)飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第47頁(yè)!汽車性能和集成飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第48頁(yè)!MCS9S08DZ60微控制器主要特性省電模式?兩種超低功耗停止模式?降低功耗的等待模式?超低功耗實(shí)時(shí)時(shí)鐘中斷,在運(yùn)行、等待和停止模式下均可操作時(shí)鐘源選項(xiàng)多功能時(shí)鐘生成器(MCG)—PLL和FLL模式(在使用內(nèi)部溫度補(bǔ)償時(shí)FLL能夠達(dá)到1.5%內(nèi)的偏差);帶微調(diào)功能的內(nèi)部參考時(shí)鐘源;帶可選擇晶體振蕩器或陶瓷諧振器的外部參考時(shí)鐘源。開(kāi)發(fā)支持?單線背景調(diào)試接口?片上及在線仿真(ICE)?-40?C~125?C的運(yùn)行溫度范圍?2.7V~5.5V的運(yùn)行電壓范圍飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第49頁(yè)!MCS9S08DZ60微控制器主要特性外圍設(shè)備?SPI(串口外圍設(shè)備接口模塊)—全雙工或單線雙向;雙重緩沖發(fā)射和接收;主從模式選擇;支持高位優(yōu)先或低位優(yōu)先的移位?IIC
—支持最高100kbps的總線波特率;多主節(jié)點(diǎn)模式運(yùn)行;可編程的從地址;通用呼叫地址;逐字節(jié)數(shù)據(jù)傳輸驅(qū)動(dòng)的中斷?TPMx—一個(gè)6通道(TPM1)和一個(gè)2通道(TPM2);可支持輸入捕捉,輸出比較,或每個(gè)通道帶緩沖的邊沿對(duì)齊PWM輸出?RTC—(實(shí)時(shí)時(shí)鐘計(jì)數(shù)器)8位模數(shù)計(jì)數(shù)器,帶基于二進(jìn)制或十進(jìn)制的預(yù)分頻器;實(shí)時(shí)時(shí)鐘功能,使用外部晶體和RTC來(lái)確保精確時(shí)基、時(shí)間、日歷或任務(wù)調(diào)度功能;內(nèi)帶低功耗振蕩器(1kHz),用于周期喚醒而不需要外部器件輸入/輸出?53個(gè)通用輸入/輸出(I/O)管腳和1個(gè)專用輸入管腳?24個(gè)中斷管腳,每個(gè)管腳帶觸發(fā)極性選擇?所有輸入管腳上帶電壓滯后和可配置的上下拉器件?所有輸入管腳上可配置輸出斜率和驅(qū)動(dòng)強(qiáng)度飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第50頁(yè)!多功能時(shí)鐘發(fā)生器MCG說(shuō)明:多功能時(shí)鐘發(fā)生器(MCG)模塊為MCU提供了幾個(gè)時(shí)鐘源選項(xiàng)。MCG模塊中包含1個(gè)鎖頻環(huán)(FLL)和1個(gè)鎖相環(huán)(PLL),可以由內(nèi)部或外部參考時(shí)鐘控制。模塊可以選擇FLL或PLL時(shí)鐘作為MCU系統(tǒng)時(shí)鐘,也可以選擇內(nèi)部或外部參考時(shí)鐘作為MCU系統(tǒng)時(shí)鐘。無(wú)論選擇哪個(gè)時(shí)鐘源,它都要通過(guò)降階總線分頻器,該分頻器允許生成更低的輸出時(shí)鐘頻率。MCG還控制一個(gè)外部振蕩器(XOSC),以便把晶體或共鳴器用作外部參考時(shí)鐘。飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第51頁(yè)!系統(tǒng)時(shí)鐘分配飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第52頁(yè)!MCG模塊的主要特性?內(nèi)部參考時(shí)鐘—9個(gè)調(diào)整位,確保精確度—可選擇為MCU的時(shí)鐘源?外部參考時(shí)鐘—外部振蕩器控制—具有復(fù)位功能的時(shí)鐘監(jiān)控器—可選擇為MCU的時(shí)鐘源?提供參考分頻器?所選的時(shí)鐘源可以除以124或8?無(wú)論在FLL還是PLL模式中,BDC時(shí)鐘(MCGLCLK)是一個(gè)由DCO(數(shù)控振蕩器)輸出除以2得出的常量。飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第53頁(yè)!MCG寄存器--MCG控制寄存器2(MCGC2)返回飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第54頁(yè)!MCG寄存器--MCGControlRegister3(MCGC3)飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第55頁(yè)!MCG操作模式--FEIFLLEngagedInternal(FEI)是默認(rèn)運(yùn)行模式并且當(dāng)滿足下列條件時(shí)就進(jìn)入該模式:?CLKS位寫入00?IREFS位寫入1?PLLS位寫入0?RDIV位寫入000。因?yàn)閮?nèi)部參考時(shí)鐘頻率在修正后應(yīng)介于31.25kHz-39.0625kHz之間,所以不需要進(jìn)一步分頻。在FEI模式中,MCGOUT時(shí)鐘源自FLL時(shí)鐘,由內(nèi)部參考時(shí)鐘控制。MCGLCLK來(lái)自FLL,PLL被禁止并處于低功率狀態(tài)。
MCGC3,PLL模式禁止,選擇FLL選擇系統(tǒng)時(shí)鐘源FLL或PLL選擇內(nèi)部參考時(shí)鐘作為時(shí)鐘源飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第56頁(yè)!MCG操作模式--FLLBypassedInternal(FBI)在FLLBypassedInternal(FBI)模式中,MCGOUT時(shí)鐘來(lái)自內(nèi)部參考時(shí)鐘,F(xiàn)LL處于運(yùn)行狀態(tài)但其輸出時(shí)鐘未使用。當(dāng)滿足以下條件時(shí)就進(jìn)入FLLBypassedInternal模式:?CLKS位寫入01?IREFS位寫入1?PLLS位寫入0?RDIV位寫入000。由于內(nèi)部參考時(shí)鐘頻率在修正后應(yīng)已經(jīng)介于31.25kHz-39.0625kHz之間,所以不需要進(jìn)一步的分頻。?LP位寫入0在FLLBypassedInternal模式中,MCGOUT時(shí)鐘源自內(nèi)部參考時(shí)鐘。FLL時(shí)鐘由內(nèi)部參考時(shí)鐘控制。MCGLCLK來(lái)自FLL,PLL被禁止并處于低功率狀態(tài)。選擇系統(tǒng)時(shí)鐘源內(nèi)部參考時(shí)鐘參考時(shí)鐘源內(nèi)部參考時(shí)鐘MCGC2,在旁路模式中不禁止FLL飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第57頁(yè)!MCG操作模式--PLLEngagedExternal(PEE)當(dāng)滿足以下條件時(shí)就進(jìn)入PLLEngagedExternal(PEE)模式:?CLKS位寫入00?IREFS位寫入0?PLLS位寫入1?RDIV位寫入介于1MHz-2MHz頻率范圍內(nèi)的分頻參考時(shí)鐘。在PLLEngagedExternal模式中,MCGOUT時(shí)鐘源自PLL時(shí)鐘,由外部參考時(shí)鐘控制。使能的外部參考時(shí)鐘可以是外部晶體/諧振器,也可以是另外一個(gè)外部時(shí)鐘源。
PLL時(shí)鐘頻率是參考頻率(RDIV位所選)和倍頻因子(VDIV位所選)乘積。飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第58頁(yè)!MCG操作模式--BypassedLowPowerInternal(BLPI)當(dāng)滿足以下條件時(shí)就進(jìn)入BypassedLowPowerInternal(BLPI)模式:?CLKS位寫入01?IREFS位寫入1?PLLS位寫入0?LP位寫入1?BDM模式未活動(dòng)在BypassedLowPowerInternal模式中,MCGOUT時(shí)鐘源自內(nèi)部參考時(shí)鐘。在BLPI模式中,PLL和FLL總是無(wú)效的,且MCGLCLK不能用于BDC通信。如果BDM進(jìn)入活動(dòng)狀態(tài),該模式將切換為由PLLS位狀態(tài)決定的另外一種內(nèi)部旁路模式。MCGC2,在旁路模式中禁止FLL或PLL飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第59頁(yè)!MCG操作模式--STOP每當(dāng)MCU進(jìn)入STOP狀態(tài)就進(jìn)入STOP模式。在該模式中,F(xiàn)LL和PLL被禁止,所有MCG時(shí)鐘信號(hào)靜止,但下列情況除外:當(dāng)滿足下列條件時(shí),MCGIRCLK將在停止模式中使能:?IRCLKEN=1?IREFSTEN=1當(dāng)滿足下列條件時(shí),MCGERCLK將在停止模式中使能:?ERCLKEN=1?EREFSTEN=1MCGC1MCGC2飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第60頁(yè)!MCG初始化初始化說(shuō)明:由于MCG在復(fù)位后處于FEI模式,復(fù)位后可以直接切換到的MCG模式有FEE、FBE和FBI模式;要直接切換到任何其他模式需要首先配置MCG為這三種初始模式中的一種。注意:必須留意檢查MCGSC寄存器中標(biāo)志各個(gè)模式中所有配置更改的相關(guān)狀態(tài)位飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第61頁(yè)!MCG初始化從FEI到FEE或FBE模式轉(zhuǎn)換1.使能在MCGC2中適當(dāng)?shù)奈粊?lái)使能外部時(shí)鐘源;2.寫至MCGC1以選擇時(shí)鐘模式;3.在設(shè)置了正確的配置位后,等待MCGSC寄存器中受影響的位適當(dāng)?shù)馗淖?,因?yàn)樗鼈兎磻?yīng)了MCG已經(jīng)切換到正確模式。—如果第1步中已經(jīng)設(shè)置了ERCLKEN,或者M(jìn)CG處于FEE、FBE、PEE、PBE或BLPE模式,且第1步中也設(shè)置了EREFS,等待OSCINIT位置位,OSCINIT位的置位表明外部時(shí)鐘源已經(jīng)完成初始化周期且穩(wěn)定下來(lái)?!绻荈EE模式,一定要確保在進(jìn)一步操作前,IREFST位已經(jīng)清除且LOCK位置位。—如果是FBE模式,請(qǐng)確保IREFST位已經(jīng)清除,LOCK位已經(jīng)置位,CLKST位已經(jīng)更改為10,這樣表明已經(jīng)正確選擇了外部參考時(shí)鐘。飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第62頁(yè)!MCG初始化代碼—實(shí)例要求:從FEI轉(zhuǎn)換到PEE模式:外部晶體=8MHz、總線頻率=16MHz飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第63頁(yè)!MCG初始化代碼—實(shí)例(2)然后,從FBE模式轉(zhuǎn)換到BLPE模式:a)MCGC2=0x3E(%00111110)—MCGC2中的LP(位3)為1(已進(jìn)入BLPE模式)c)MCGC1=0x98(%10011000)—RDIV(位5-3)設(shè)置為%011或除以8,因?yàn)?MHz/8=1MHz,這在PLL要求的1MHz--2MHz頻率范圍內(nèi)。在BLPE模式中,RDIV的配置不重要,因?yàn)镕LL和PLL都被禁止。更改它們只會(huì)為PLL建立在PBE模式中使用的分頻器。d)MCGC3=0x48(%01001000)—PLLS(位6)設(shè)置為1,選擇PLL。在BLPE模式中,更改該位只會(huì)使MCG準(zhǔn)備在PBE模式中的PLL使用。—VDIV(位3-0)設(shè)置為%1000或乘以32,因?yàn)?MHz參考*32=32MHz。在BLPE模式中,VDIV位的配置不重要,因?yàn)镻LL被禁止。更改它們只建立PBE模式中的PLL使用乘積因子。e)循環(huán)檢測(cè),直到MCGSC中的PLLST(位5)置位,表明PLLS時(shí)鐘的當(dāng)前源是PLL。飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第64頁(yè)!MCG初始化代碼—實(shí)例voidMCG_Init(void){//disableCOPSOPT1=0x20;//disableCOP,enablestopmode/*SelectHighRange,HighGain,Busdividedby1,Oscillator,ERCLKenabled*/
MCGC2=0x36;//00110110,從FEI模式轉(zhuǎn)換成FBE模式
while(!MCGSC_OSCINIT);//循環(huán)檢測(cè),直到MCGSC中的OSCINIT為1,表明選擇的晶體已經(jīng)能夠完成初始化/*SelectExternalClockasbusclocksource,Referencedividedby128,Reference=external*/
MCGC1=0xB8;//10111000/*waitforReferenceStatusbittoupdate*/
while(!MCGSC_IREFST);
/*Waitforclockstatusbitstoupdate*/
while(MCGSC_CLKST!=0b10);
/*NOWINFBEMODE*/
MCGC2=0x3E;//00111110/*NOWINBLPEMODE*//*ChangeRDIVforPLLreference*/
MCGC1=0x98;飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第65頁(yè)!MCG初始化代碼—實(shí)例流程圖飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第66頁(yè)!MSCANMSCAN結(jié)構(gòu)圖RXCAN:MSCAN接收器輸入管腳;TXCAN:MSCAN發(fā)送器輸出管腳;TXCAN輸出管腳代表CAN總線上的邏輯層,即:0=顯性狀態(tài);1=隱性狀態(tài).飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第67頁(yè)!MSCAN模塊模塊圖飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第68頁(yè)!MSCAN的發(fā)送和接收MSCAN發(fā)送結(jié)構(gòu)3個(gè)發(fā)送緩沖區(qū)可同時(shí)準(zhǔn)備多條待發(fā)送的報(bào)文,提高實(shí)時(shí)性;飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第69頁(yè)!MSCAN--發(fā)送結(jié)構(gòu)發(fā)送緩沖器選擇寄存器0表示相關(guān)報(bào)文緩沖區(qū)不被選擇;1表示選擇相關(guān)的緩沖區(qū)飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第70頁(yè)!接收結(jié)構(gòu)接收器標(biāo)志寄存器(CANRFLG)中有一位RXF:接收緩沖器已滿標(biāo)志0:RxFG中沒(méi)有新報(bào)文1:接收器FIFO非空。RxFG中有報(bào)文飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第71頁(yè)!MSCAN消息緩沖器消息過(guò)濾?各信息在接收后被寫入到后臺(tái)接收緩沖器中。?只有當(dāng)CPU達(dá)到標(biāo)識(shí)符接收和標(biāo)識(shí)符掩碼寄存器中規(guī)定的標(biāo)準(zhǔn)時(shí),CPU才會(huì)被通知讀取信息。?MSCAN的接收寄存器以逐位方式應(yīng)用于濾波信息的IDR0–IDR3寄存器。飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第72頁(yè)!標(biāo)識(shí)符寄存器擴(kuò)展標(biāo)識(shí)符(29位)?IDE=1&SRR=1?最小的二進(jìn)制值代表的標(biāo)識(shí)符的優(yōu)先級(jí)最高。?邏輯“0”作為顯性位發(fā)送。?7個(gè)最高有效位(ID28–ID22)不能全部為“1”(隱性)。飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第73頁(yè)!CAN接收過(guò)濾器?標(biāo)識(shí)符接收寄存器(CANIDAR0-7)定義標(biāo)準(zhǔn)或擴(kuò)展標(biāo)識(shí)符的接收模式。?在標(biāo)識(shí)符掩碼寄存器(CANIDMR0-7)中,標(biāo)識(shí)符接收位可標(biāo)為“don’tcare(不需留意)”。?接收掩碼寄存器中設(shè)置的任何位表示不需和消息標(biāo)識(shí)符進(jìn)行比較來(lái)確定是否接收。?只有接收寄存器中沒(méi)有標(biāo)記的位才和消息標(biāo)識(shí)符進(jìn)行比較以確定是否接收。?各個(gè)接收過(guò)濾器寄存器可以配置為8、16或32位:?2個(gè)32位過(guò)濾器?4個(gè)16位過(guò)濾器?8個(gè)8位過(guò)濾器飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第74頁(yè)!接收寄存器:2x32位過(guò)濾器飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第75頁(yè)!接收寄存器:8x8位過(guò)濾器飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第76頁(yè)!CAN應(yīng)用舉例MSCAN驅(qū)動(dòng)配置?CANdrv.H包含CAN通用配置及驅(qū)動(dòng)使用的部分常量的定義:?CAN_CLK,用于選擇MSCAN模塊時(shí)鐘源?TIME_SEGM1,TIME_SEGM2,時(shí)間段長(zhǎng)度?CAN_PRESC,用于設(shè)置CAN波特率?CAN_SYNJW,同步跳轉(zhuǎn)寬度飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第77頁(yè)!CAN應(yīng)用實(shí)例voidmain(void){UINT8data[9];UINT8cnt=10;/**Systeminitializtion*/
MCG_Init();DZ60_GPIO_Init();//IO口初始化,LED初始化/*Enableinterrupt*/EnableInterrupts;
/*initmsCANdriver*/(void)CAN_Init(FAST);//MSCAN初始化/*ScheduleLoop*/while(1){ data[0]=0x05; data[2]=cnt; cnt+=5; if(cnt>50)cnt=10;//上述為往數(shù)據(jù)域中填寫數(shù)據(jù)
飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第78頁(yè)!CAN的應(yīng)用實(shí)例CAN通信編程流程飛思卡爾控制器與MSCAN精簡(jiǎn)版共83頁(yè),您現(xiàn)在瀏覽的是第79頁(yè)!MC9S08DZ60---LIN實(shí)現(xiàn)實(shí)例主要函數(shù)功能說(shuō)明
3)LIN_RequestMsg函數(shù)主要功能:請(qǐng)求信息傳輸并發(fā)送報(bào)文頭使用格式:LIN_RequestMsg(
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年智能車庫(kù)租賃與全面停車管理服務(wù)合作協(xié)議
- 2025年農(nóng)業(yè)廢棄物資源化利用項(xiàng)目環(huán)保設(shè)備采購(gòu)合同
- 2025年智能車庫(kù)管理系統(tǒng)研發(fā)及全國(guó)銷售合作協(xié)議
- 2025年度跨境電子商務(wù)支付服務(wù)及多幣種結(jié)算管理合同
- 2025年攜程旅游平臺(tái)用戶隱私保護(hù)及安全保障合同
- 2025年智能公寓租賃爭(zhēng)議解決方案合同范本
- 2025年高品質(zhì)LED照明設(shè)備供應(yīng)商戰(zhàn)略合作采購(gòu)協(xié)議
- 2025年度城市橋梁安全檢測(cè)與加固一體化服務(wù)合同
- 2025年國(guó)際足球巨星形象代言合作合同范本
- 2025年生物制藥原材綠色環(huán)保采購(gòu)專項(xiàng)合同
- 2025年廣東省中考物理真題(含答案解析)
- 四川省自貢市2024-2025學(xué)年八年級(jí)下學(xué)期期末物理試題(含答案)
- 2025年土木工程建筑技能考試-工程造價(jià)技能大賽歷年參考題庫(kù)含答案解析(5套典型題)
- 2025年初中物理教師教材教法考試測(cè)試卷及參考答案(共三套)
- 2025年有限空間作業(yè)專項(xiàng)安全培訓(xùn)試題及答案
- 基于人工智能的產(chǎn)前診斷技術(shù)應(yīng)用探索-洞察及研究
- 兩性健康項(xiàng)目合作
- 臨床醫(yī)技科室管理辦法
- 高溫熔融金屬企業(yè)安全管理培訓(xùn)
- 軍訓(xùn)愛(ài)國(guó)主題教育
- 醫(yī)保網(wǎng)絡(luò)安全培訓(xùn)
評(píng)論
0/150
提交評(píng)論