XMC4800-Mulitican模塊中文版手冊_第1頁
XMC4800-Mulitican模塊中文版手冊_第2頁
XMC4800-Mulitican模塊中文版手冊_第3頁
XMC4800-Mulitican模塊中文版手冊_第4頁
XMC4800-Mulitican模塊中文版手冊_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、XMC4800 Mult模B 中文手冊:XMC4800 簡介二:MuLtiCAN模塊介紹MuLtiCAN 模塊簡述:XMC4800的MuLtiCAN模塊包含6個可獨立運行的符合ISO11898和SAEJ1939 的CAN節(jié)點,每個節(jié)點都支持通過網(wǎng)關(guān)或遠(yuǎn)程幀模式交換數(shù)據(jù)。MultiCAN模塊 提供256個“消息對象”用于接收和處理CAN報文,這256個消息對象可以自由分配 給任何一個節(jié)點使用,一個消息對象只能映射到一個CAN節(jié)點。每個節(jié)點都 有自己的消息對象列表,這些列表可以組成FIFO方式緩存報文,也可以用作網(wǎng)關(guān)模式。報文的處理流程如下圖所示我們使用一種快遞模型來理解MuLtiCAN的工作模式

2、。假定MCU為一個區(qū)域 的承包人,那么他需要將自己承包的區(qū)域劃分為不同的部分由不同的加盟店來完 成該區(qū)域的工作,劃分區(qū)域其實就是安排加盟店(CAN-NODE),每一個加盟店在 收到物流網(wǎng)絡(luò)上的包裹(報文)之后需要人工進(jìn)行篩選Message Objects)決定那些 包裹(報文)需要處理,接收需要處理的,丟棄不需要處理的。每個加盟店可以 由區(qū)域承包人MCU)女排需要多少工人Message Objects),每個工人(Message Objects) 可以接收的包裹(報文)的地址范圍。對于大規(guī)模的包裹(報文)的處理還可以 安排多個(Message Objects)組成流水線(FIFO )形式處理,

3、以滿足客戶需要大規(guī)模 投遞需要。所以我們需要使用MuLtiCAN模塊實現(xiàn)CAN總線通信功能需要完成以下內(nèi)容:1. 初始化CAN-NODE初始化Message Object (接收/發(fā)送濾波)為 CAN-NODE 分配可用的 Message Object (List)使能物理引腳,打開中斷2.2 MuLtiCAN 模塊主要寄存器簡述:Global Module RegistersModuleIdentificationRegister(模塊識別寄存器)ID)作用:CAN節(jié)點的消息對象列表分配與管理面板。MOD_NUMBER(32-16):模塊的識別號MOD_TYPE(15-8):模塊類型MOD_

4、REV(0-7):模塊的版本號這是一個只讀寄存器,不需要做任何配置。PANCTR(PanaelControlRegisiter面板控制寄存器)作用:消息對象列表分配控制面板,負(fù)責(zé)每個消息對象列表的消息對象管理,包 括靜態(tài)動態(tài)插入和刪除消息對象。PANAR2(31-24),PANAR1(23-16),0(15-10),RBUSY(9),BUSY(8),PANCMD (7-0)PANCMD和PANAR1、PANAR2組成組合命令完成不同的任務(wù),RBUSY和BUSY為忙標(biāo) 志。PANCMD和PANAR1、PANAR2組成命令內(nèi)容如下。PANCMDPANAR2PANAR1功能00-NOOperatio

5、n01Bit7 : ERR-列表初始化,復(fù)位所有報文,解除所有已分配的報文對 象。初始化時CAN節(jié)點(0-5)必須職位INIT和CCE。ERR : 0,初始化成功;1,并非所有節(jié)點的INIT和CCE 被置位取消初始化。MUltican模塊復(fù)位時會自動執(zhí)行初 始化指令02列表指針報文對象編號將 PANAR1給出的報文對象分配到PANAR2給出的列表的 末尾,也可以取消對PANAR1給出的報文對象的分配, PANAR2=0 即可。03列表指針Result :Bit7 : ERR結(jié)果報文對象編號P丿配將未分配報文對象列表中的第一個報文對象分配給 ANAR2指定的報文對象列表(添加到該列表最后)被分

6、的報文對象編號返回到PANAR1.Result :ERR : 0,成功1,失敗,未分配的報文對象列表為空(所有報文04目標(biāo)對象編號源對象編號對象都已經(jīng)分配完畢?)將PANAR1給定的源對象從其所屬的對象列表中移除并插入到PANAR2所給定的目標(biāo)對象所屬的對象列表中,它插05目標(biāo)對象編號Result :被Bit7 : ERR象Result :將2插入的報文對目.編號pa入到目標(biāo)對象的前面。孚未分配報文對象列表中的第一個報文對象插入到給定 扌標(biāo)對象編號的前面,返回被插入的報文對象編號給NAR1.Result :ERR : 0,成功06目標(biāo)對象編號源對象編號1,失敗,禾分配的報文對象列表為空(所有報

7、文 對象都已經(jīng)分配完畢?)將PANAR1給定的源對象從其所屬的對象列表中移除并插07目標(biāo)對象編號Result :被Bit7 : ERR象Result :將2插入的報文對目:編號pa入到PANAR2所給口疋的目標(biāo)刈象所屬的刈象列表中,匕插 入到目標(biāo)對象的后面。孚未分配報文對象列表中的第一個報文對象插入到給定 扌標(biāo)對象編號的后面,返回被插入的報文對象編號給NAR1.Result :ERR :0,成功1,失敗,未分配的報文對象列表為空(所有報文對象都已經(jīng)分配完畢?)08-FF- -MCR (ModuleControlRegister )模塊控制寄存器作用:時鐘選擇和報文掛起選擇0(31-16),MP

8、SEL(15-12-rw),0(11-9),0(8-rw),0(7-4),CLKSEL(3-0-rw)CLKSEL(3-0-rw)0000沒有時鐘可提供0001 fpERIPH0010 foHP0100不允許1000 hard wired to 00(8-rw)Written 0MPSEL(15-12-rw)在報文接收/發(fā)送之后,位域MPSEL可用于計算報文掛起位置,由位域 RXINP、TXINP和MPN(報文掛起編號)共同選擇。-詳細(xì)描述參見用戶手冊MITR(ModuleInterruptTriggerRegister) 中斷觸發(fā)寄存器作用:觸發(fā)中斷0(31-16),IT(15-0-W)IT

9、(15-0-W)在對f應(yīng)的位寫1(n)可以在INT_On中斷輸出線上產(chǎn)生中斷,寫 0無影響。ListPointerandListRegister( 列表指針和列表寄存器)作用:描述消息對象列表指針,消息對象列表大小,對象列表包含的消息對象等內(nèi)容。有七 個消息對象列表,消息對象列表0 包含所有未分配到消息對象列表的消息對象,消息對象列 表(1-6)分別映射到 CAN-NODE(0-5)。LIST0LIST(1-15)LIST Register N0 (31-25) , EMPTY (24-rh) , SIZE (23-16) , END (15-8-rh) , BEGIN (7-0-rh)EMP

10、TY0-列表不為空(列表內(nèi)至少有一個報文對象)1-列表為空(列表未分配報文對象)SIZE列表中兀素個數(shù)-1 (即從0開始計數(shù)) 為0時表示列表為空END指向列表最后一個報文對象BEGIN指向列表第報文對象221.6報文通知寄存器(集)MSPNDk當(dāng)報文對象因報文發(fā)送/接收操作而產(chǎn)生一個中斷請求時, 該請求將被送至報文對象 的位域 TXINP 或 RXINP 所選擇的中斷輸出線上。因為報文對象個數(shù)多于中斷輸出線個 數(shù),因此通常一個中斷程序可處理來自多個報文對象的請求。因此, MultiCAN 模塊實現(xiàn) 了一個優(yōu)先級選擇機(jī)制,在報文對象集合中選擇具有最高優(yōu)先級的報文對象。報文掛起 寄存器包含掛起的

11、中斷請求。MSPNDk (k = 0-7)(Message Pending Register k)MPN(31-0)當(dāng)一個報文對象中斷產(chǎn)生,MSPND中的某一位會被置位(由IPR寄存器的MPN域決定)寄 存器選擇 n 由 MPN 最高位給出。對應(yīng)的位上寫1 可以清零。每個消息掛起寄存器都有一個與之關(guān)聯(lián)的消息索引寄存器 MSIDk。 消息索引寄存器顯示處 于待處理位組中最低位置的有效位(置位)。MSIDK(k = 0-7)(Message Index Register k)0 (31-6) , INDEX (5-0)INDEX(5-0)INDEX的值由具有下列特性MSPNDk掛起位的位i給出:M

12、SPNDki & IMi = 1i = 0 或者 MSPNDki-1:0 & IMi-1:0 = 0如果MSPNDk中沒有滿足上述條件的位,那么INDEX 被讀為 100000B。因而,INDEX給出MSPNDk中的第一個掛起位的 位置,只考慮那些被報文指針屏蔽寄存器選中的 位。MSIMASK(Message Index Mask Register)IM(31-0)只有在IM中設(shè)置了相應(yīng)索引掩碼位,MSPNDk中的那些位才有助于計算消息索引。(掩碼?控制開關(guān)?)CAN Node Registers(CAN 節(jié)點寄存器)CAN節(jié)點寄存器內(nèi)置于MultiCAN +模塊的每個CAN節(jié)點。包含節(jié)點控制

13、直接相關(guān)的信息。 Node x Control Register CAN_NCRx (x = 0-5)0(31-8), CALM(7), CCE(6), TXDIS(5), CANDIS(4), ALIE(3), LECIE(2), TRIE(1)INIT(0)INIT (0-rw)0:復(fù)位INIT用于使能該節(jié)點,使其可參加CAN通信。如果CAN節(jié)點處于總線關(guān)閉狀態(tài),那么繼續(xù)進(jìn)行總線關(guān)閉的恢復(fù)操作(該 操作不依賴于INIT位)。總線關(guān)閉恢復(fù)序列結(jié)束時,允許該節(jié)點參加CAN 通信。如果CAN節(jié)點不處于總線關(guān)閉狀態(tài),在允許該節(jié)點參加CAN通信 之前,必須要檢測到11個連續(xù)的隱性位.1:關(guān)閉節(jié)點,禁

14、止參與通訊。取消任何正在傳送的幀。如果該節(jié)點處于總 線關(guān)閉狀態(tài)則繼續(xù)運行總線關(guān)閉恢復(fù)序列。TRIE (1-rw)傳輸中斷使能,運行在CAN報文發(fā)送或接收成功之后產(chǎn)生中斷 0:不允許產(chǎn)生傳輸中斷1 :允許產(chǎn)生傳輸中斷通過CAN節(jié)點中斷指針寄存器中的TRINP選擇中斷輸出線LECIE (2-rw)允許當(dāng)每一次硬件刷新NSRX寄存器的LEC位(LEC0, CAN協(xié)議錯誤)時 產(chǎn)生中斷。0:禁止中斷1 :允許中斷中斷輸出線由位域NIPRx.LECINP選擇ALIE (3-rw)警告中斷使能0:禁止中斷1 :允許中斷以下事件會產(chǎn)生中斷NSRX (CAN節(jié)點狀態(tài)寄存器)的位BOFF發(fā)送改變NSRX (CA

15、N節(jié)點狀態(tài)寄存器)的位EWRN發(fā)送改變列表長度錯誤,該錯誤也置位NSRX (CAN節(jié)點狀態(tài)寄存器)中的位LLE 列表對象錯誤,該錯誤也置位NSRX (CAN節(jié)點狀態(tài)寄存器)中的位LOE 位域NIPRx.ALINP選擇在這種類型的中斷時被激活的中斷輸出線CANDIS (4-rw)置位將禁止該CAN節(jié)點。首先CAN節(jié)點一直等待,直到總線空閑或總線關(guān) 閉撞他,然后INIT自動置位,如果ALIE被置位那么產(chǎn)生一個警報中斷。TXDIS (5-rw)置位,在總線空閑時禁止CAN節(jié)點發(fā)送消息?用途?CCE (6-rw)0:位時序寄存器,端口控制寄存器和錯誤計數(shù)器 寄存器只能被讀取,忽略所有試圖修改這些寄 存

16、器的操作。1:位時序寄存器,端口控制寄存器和錯誤計數(shù)器 寄存器可讀也可寫CALM (7-rw)CAN分析模式置位該位,那么CAN節(jié)點工作在分析模式。這就意味著可以接收報文,但 不能發(fā)送報文。幀接收操作之后不向CAN總線發(fā)送應(yīng)答。有效錯誤標(biāo)志以 隱性而不是顯性發(fā)送。發(fā)送線連續(xù)保持為隱性(1)電平。只有當(dāng)位INIT置位 時,才能對位CALM寫入CAN_NSRx(x=0-5)(CAN 節(jié)點狀態(tài)寄存器)O(31-0),LOE(9),LLE(8),BOFF(7),EWR N( 6),ALERT(5),RXOK(4),TXOK(3),LEC(2-0)LEC(2-0-rwh)最近的錯誤代碼000 :無錯誤0

17、01 :填充錯誤,接收到的報文中出現(xiàn)了連續(xù)極性相同的5個位010 :格式錯誤011 :應(yīng)答錯誤位1錯誤,在報文發(fā)送過程中,CAN節(jié)點試著在仲裁域和應(yīng)答時隙 之外發(fā)送隱性電平(1),但是監(jiān)測到的總線值為顯性。位0錯誤,該編碼指示兩種不同情況:a)在報文發(fā)送過程中(或者應(yīng)答位,有效錯誤標(biāo)志,過載標(biāo)志),CAN 節(jié)點試著發(fā)送顯性電平(0),但監(jiān)測到的總線值是隱性。b)總線關(guān)閉恢復(fù)期間,每次監(jiān)測到11個連續(xù)的隱性位,將置位該編 碼。CPU可以用這個編碼指示總線被連續(xù)擾亂。: CRC 錯誤: CPU 向 LEC 寫:無論何時CPU向LEC寫111B, LEC被設(shè)置為111B ;無論何時CPU 向LEC寫

18、其它值,實際寫入值被忽略。TXOK(3-rwh)0 :從最近一次該標(biāo)志被復(fù)位開始,無成功的發(fā)送操作1 :已經(jīng)成功發(fā)送了報文TXOK必須由軟件復(fù)位(寫0),寫1無任何影響。RXOK (4-rwh)0 :從最近一次該標(biāo)志被復(fù)位開始,無成功的接收操作1 :已經(jīng)成功接收了一個報文RXOK必須由軟件復(fù)位(寫0),寫1無任何影響。ALERT(5-rwh)出現(xiàn)下列事件之一將置位ALERT (如果ALIE被置 位,這些事件也會觸發(fā)報警中斷):1)CAN節(jié)點狀態(tài)寄存器中的位BOFF改變2)CAN節(jié)點狀態(tài)寄存器中的位EWRN改變3)列表長度錯誤,該錯誤也置位CAN節(jié)點狀態(tài) 寄存器中的位LLE4)列表對象錯誤,該錯

19、誤也置位CAN節(jié)點狀態(tài) 寄存器中的位LOE5)MultiCAN模塊已經(jīng)置位INITALERT必須由軟件復(fù)位(寫0),寫 1無影響。EWRN(6-rwh)錯誤警告狀態(tài)0B沒有超過警告界限。1B錯誤計數(shù)器REC或TEC達(dá)到警告界限EWRNLVL。 .錯誤計數(shù)器達(dá)到警告界限(如何處理)?BOFF(7-rwh)0 : CAN控制器不屬于關(guān)閉狀態(tài)1 : CAN控制器屬于關(guān)閉狀態(tài)LLE(8-rwh)列表長度錯誤0 :從最近一次該標(biāo)志被清零開始,沒有出現(xiàn)列表長度錯誤。1:報文驗收濾波過程中,檢測到列表長度錯誤,屬于這個CAN節(jié)點的列 表中的兀素個數(shù)和列表終止指針給出的列表大小ZE)不同。LLE必須由軟件復(fù)位

20、(寫0),寫1無任何影響LOE(9-rwh)列表對象錯誤0B從最近一次該標(biāo)志被清零開始,沒有出現(xiàn)列表對象錯誤。1B報文驗收濾波過程中,檢測到一個列表對象錯誤。已經(jīng)檢測到帶有錯 誤列表指針(報文對象控制寄存器中的)的報文對象。LOE必須由軟件復(fù)位(寫0),寫1無任何影響。 CAN_NIPRx (x = 0-5)Node x Interrupt Pointer Register 節(jié)點中斷指針寄存器0 (31-16), CFCINP(15-12) , TRINP(11-8), LECINP(7-4), ALINP (3-0)ALINP(3-0-rw)警報節(jié)點指針選擇CAN節(jié)點(0-7)告警中斷的中斷

21、輸出線INT_Om(m=0-7)00000001:選擇 INT_O0:選擇 INT_O11111:選擇 INT O15LECINP(7-4-rw)最近一次警告節(jié)點指針選擇CAN節(jié)點(0-7)最近一次警告的中斷輸出線INT_Om(m=0-7)0000 :0001 :選擇INT_O0選擇INT_O11111 :選擇 INT O15TRINP(11-8-rw)最近一次傳輸成功中斷節(jié)點指針選擇CAN節(jié)點(0-7)最近一次傳輸成功的中斷輸出線INT_Om(m=0-7)0000 :選擇 INT_O00001 :選擇 INT_O11111 :選擇 INT O15CFCINP(15-12-rw)幀計數(shù)器中斷節(jié)

22、點指針如果由CFCIE = 1使能,由CFCINP選擇用來指出“幀計數(shù)器溢出中斷請 求”的中斷輸出線INT Om (m = 0-15)編號。NodexPortControlRegister CAN_NPCRx(x=0-5)節(jié)點端口控制寄存器:0 (31-9) , LBM (8) , 0 (7-3) , RXSEL (2-0)RXSEL (2-0-rw)只能從8條輸入線中選擇其中一條LBM (8-rw)0:禁止環(huán)回模式1 :使能環(huán)回模式,消息只在內(nèi)部節(jié)點之間傳遞NodexBitTimingRegister CAN_NBTRx(x=0-5)節(jié)點位時序寄存器0 (31-16) , DIV8 (15)

23、 , TSEG2 (14-12) , TSEG1 (11-8) , SJW (7-6) , BRP (5-0)BRP (5-0-rw)波特率預(yù)分頻如果DIV8 = 0,個時間單元等于(BRP+1)個時鐘周期。 如果DIV8 = 1,個時間單元等于8x (BRP+1)個時鐘周期。SJW (7-6-rw)(重新)同步跳躍寬度可用于重新同步的時間為(SJW+1)個時間單元TSEG1 (11-8-rw)采樣點前的時間段由用戶定義的同步段結(jié)束和采樣點之間的額定時間為(TSEG1+1)個時 間單元。它包括傳播段(將信號傳播延遲考慮在內(nèi))。重新同步操作可 將該時間段拉長。TSEG1的有效值在2到15之間。T

24、SEG2 (14-12-rw)采樣點后的時間段由用戶定義的采樣點和下一個同步段開始之間的額定時間為(TSEG2+1) 個時間單元。重新同步操作可將該時間段縮短。TSEG2的有效值在1 到7之間。DIV8 (15-rw)預(yù)分頻時鐘8分頻0B 一時間單元持續(xù)(BRP+1)個時鐘周期1B 個時間單元持續(xù)8x (BRP+1)個時鐘周期 NodexErrorCounterRegister CAN_NECNTx(x=0-5)節(jié)點錯誤寄存器0 (31-26), LEINC (25), LETD (24), EWRNLVL (23-16), TEC(15-8), REC(7-0)REC(7-0-rw)接收錯誤

25、值寄存器,接收錯誤計數(shù)TEC(15-8-rw)發(fā)送錯誤值寄存器,發(fā)送錯誤計數(shù)EWRNLVL(23-16-rw)錯誤警告級別(默認(rèn)為96)LETD(24-rh)最近一次錯誤方向:0:最近一次錯誤是接收錯誤1 :最近一次錯誤是發(fā)送錯誤LEINC (25-rh)錯誤計數(shù)器增量0:最后一次錯誤導(dǎo)致錯誤計數(shù)器增量為11 :最后一次錯誤導(dǎo)致錯誤計數(shù)器增量為NodexFrameCounterRegister CAN_NFCRx(x=0-5)節(jié)點幀計數(shù)寄存器0 (31-24) , CFCOV (23) , CFCIE (22) , 0 (21) , CFMOD (20-19) , CFSEL (18-16)

26、, CFC (15-0)CFC (15-0-rwh)在幀計數(shù)模式(CFMOD = 00B )中,該位域包含幀計數(shù)值。在時間標(biāo)記模式CFMOD = 01B)中,該位域包含捕獲的位時間計數(shù)值, 在新幀開始時捕獲。在所有位定時分析模式1)CFMOD = 10B)中,CFC始終顯示fCLC時 鐘周期數(shù)(測量結(jié)果)減1例如:CFC值為34在測量模式下,CFSEL = 000B表示在接收輸入的最近兩個主要邊沿之間 已經(jīng)過了 35 fCLC時鐘周期。在錯誤計數(shù)模式(CFMOD = 11B)中,該位域包含接收到的錯誤幀總數(shù) 或節(jié)點檢測到的錯誤。CFSEL (18-16-rw)CAN幀數(shù)選擇該位選擇所選幀計數(shù)模

27、式的幀計數(shù)器的功能。幀計數(shù)模式:位0如果CFSEL的位0被置位,則每次在CAN總線上接收到外部幀(即, 與消息對象不匹配的幀)時,CFC遞增。位1如果CFSEL的位1置位,則每次在CAN總線上接收到與消息對象匹配 的幀時,CFC就會增加。位2如果CFSEL的位2置位,則每次節(jié)點已經(jīng)成功發(fā)送幀時,CFC都會增加。 時間戳模式幀計數(shù)器在新的位時間開始時遞增(內(nèi)部)。該值在新幀的 SOF位中被采樣。采樣值在CFC字段中可見。位定時模式:如果設(shè)置了 CFCIE,則通過CFC更新生成中斷請求節(jié)點x (其中x是CAN 節(jié)點號)。錯誤計數(shù)模式:當(dāng)接收到錯誤幀或節(jié)點檢測到錯誤時,幀計數(shù)器遞增CFMOD (20

28、-19-rw)決定幀計數(shù)器的工作模式00 :幀計數(shù)器模式,計數(shù)器在幀的接收和發(fā)送時遞增01 :時間戳模式,幀計數(shù)器用于計算位時間:位定時模式:幀計數(shù)器用于位定時分析。:錯誤計數(shù)模式:幀計數(shù)器用于收到錯誤幀或節(jié)點檢測到錯誤時進(jìn) 行計數(shù)。CFCIE (22-rw)CAN幀計數(shù)中斷使能0 :禁止CAN幀計數(shù)器溢出中斷使能1 :允許CAN幀計數(shù)器溢出中斷使能位域NIPRx.CFCINP選擇的中斷輸出線在該位使能且CAN幀計數(shù)器溢出 時激活。CFCOV (23-rwh)幀計數(shù)器溢出標(biāo)志0:自上次復(fù)位以來沒有發(fā)生溢出1 :自上次復(fù)位以來產(chǎn)生了溢出標(biāo)志CFCOV在幀計數(shù)器溢出時置位(從FFFFH轉(zhuǎn)換到000

29、0H)。在位 定時分析模式下,CFCV在更新CFC時被置位。如果CFCIE = 1,則產(chǎn) 生一中斷請求。2.2.3 Message Object RegistersCAN 傳輸相關(guān)的控制位 CAN_MOCTRz(z=0-254)AndCAN_MOSTATn(n=1-254)Message Object z Control Register0(31-28),SETDIR(27),SETTXEN1(26)31302928272625242322212019181716-11 -SET DIRSETTXEN1SETTXE NOSET TXRSET FIXESET RTSSETMSGVALSET MS

30、G LSTSETNEWOATSETRXUPDSET TXF NDSET RXPNDWwwwwwwwwwwww151413121110g8765斗32101rRES DIRRESTXERES TXENORES TXRRES RXERESSTSRES MSGVALRES MSG LSIRES NEWOATRES RXUPDRES TXFNDRES RXPNDwwwwwwwwwwwwwMessage Object n Status Register31302928272625242322212019181716111-111 1PNEXTdiiiiii11I1I1rPPREViiiirtim1514

31、131211109&76543210irLISTtl a dDIRTX EN1TXENOTX RQRX ENRTSELMSGVALMSG LSTNEW DATRX UPDTX PHDRX PNDrh *h rh rh -rh rh rh rh rh rh rh rh通過對MOCTR寄存器寫入,通過MOSTAT的狀態(tài)來判斷是否完成指定設(shè)定任務(wù)PNEXT.指在同一列表內(nèi)在該消息對象之后一個消息對象指針PPREV指在同一列表內(nèi)在該消息對象之前一個消息對象指針RXPND接收成功該位置位TXPND發(fā)送成功該位置位RXUPD沒有更新在進(jìn)仃(無論發(fā)送或接收)NEWDAT接收到的CAN幀存儲在消息對象n中后,

32、NEWDAT由硬件置位。當(dāng)消息對象n的CAN傳輸已經(jīng)啟動時,NEWDAT被硬件清除。NEWDAT 應(yīng)該在新的發(fā)送數(shù)據(jù)被存儲在消息對象n中之后由軟件來設(shè)置,以防止在 正在進(jìn)行的傳輸結(jié)束時自動重置TXRQ。MSGLST0 :沒有CAN消息丟失1 : CAN消息丟失,因為NEWDAT被重復(fù)置位導(dǎo)致上一條丟失MSGVAL0:消息對象無效1 :消息對象有效,只有有效的消息對象才可以參與CAN報文傳輸RTSEL0:消息對象沒有被選中用于發(fā)送或接收報文1 :消息對象唄選中用于發(fā)送或接收報文幀接收:當(dāng)消息對象n被標(biāo)識用于存儲當(dāng)前接收到的CAN幀時,RTSEL由硬件置位。 在接收到的幀最終被存儲在消息對象n中之

33、前,執(zhí)行檢杳以確定RTSEL是 否被設(shè)置。因此,CPU可以通過軟件清除RTSEL來抑制對該消息對象n 的預(yù)定幀傳送。幀發(fā)送:當(dāng)消息對象n被識別為接下來被發(fā)送時,RTSEL由硬件置位。執(zhí)行檢杳 以確定在消息對象n被實際設(shè)置為傳輸并且NEWDAT位被清除之前RTSEL 是否仍然被設(shè)置。還檢杳了由于幀的成功發(fā)送而在其消息對象n被驗證 之前,RTSEL仍然被設(shè)置。只有當(dāng)消息對象n的上下文改變時才需要檢 查RTSEL,并且避免與正在進(jìn)行的幀傳輸?shù)臎_突。在所有其他情況下, RTSEL可以被忽略。RTSEL對消息接受過濾沒有影響。RTSEL不被硬件清 除RXEN0:消息對象不允許用于幀接收1 :消息對象允許

34、用于幀接收TXRQ0:沒有消息發(fā)送請求1 :有消息發(fā)送請求TXEN0發(fā)送使能00B禁止報文對象n進(jìn)行幀發(fā)送1B使能報文對象n進(jìn)行幀發(fā)送只有TXEN0和TXEN1都置位才允許消息對象n發(fā)送幀。可以清除TXEN0 來禁止當(dāng)前報文的發(fā)送更新,或者禁止遠(yuǎn)程幀的自動回應(yīng)。TXEN1發(fā)送使能10B禁止報文對象n進(jìn)行幀發(fā)送1B使能報文對象n進(jìn)行幀發(fā)送只有TXEN0和TXEN1都置位才允許消息對象n發(fā)送幀。MultiCAN模塊用TXEN1在發(fā)送FIFO中選擇有效報文對象。DIR0 :接收對象選擇:TXRQ=1,安排發(fā)送帶有報文對象n的標(biāo)識符的遠(yuǎn)程幀。接收到的標(biāo)識符匹配的數(shù)據(jù)幀,報文存儲在報文對象n中。1 :發(fā)

35、送對象選擇:如果TXRQ=1,安排用報文對象n發(fā)送數(shù)據(jù)幀。接收到標(biāo)識符匹配的遠(yuǎn) 程幀時,置位TXRQ。LIST (-rh)列表分配,指明消息對象所屬列表編號,通過面板命令修改時硬件會改寫 這里MessageObjectnInterruptPointerRegister CAN_MOIPRnCFCVAL(31-16),MPN(15-8),TXINP(7-4),RXINP(3-0)CFCVAL(31-16-rwh)當(dāng)完成一個幀的接收或者發(fā)送,會自動復(fù)制NFCRx.CFC值到這里MPN(15-8)出現(xiàn)接收或者發(fā)送中斷時,該位域用來選擇報文掛起寄存器的掛起位置TXINP(7-4)發(fā)送中斷節(jié)點指針為發(fā)送

36、中斷選擇中斷輸出線INT Om(m = 0-15)RXINP(3-0)接收中斷節(jié)點指針為接收中斷選擇中斷輸出線INT Om(m = 0-15)MessageObjectnFunctionControlRegisterCAN_MOFCRn (n = 0-255) 消息對象功能控制寄存器0(31-28),DLC(27-24),STT(23),SDT(22),RMM(21),FRREN(20),0(19),OVIE(18),TXIE(17),RXIE(16)0(15-12),DATC(11),DLCC(10),IDC(9),GDFS(8),0(7-4),MMC(3-0)MMC(3-0-rw)消息對象

37、模式控制0000 :標(biāo)準(zhǔn)的消息對象模式0001 :接收FIFO基本報文對象模式0010 :發(fā)送FIFO基本報文對象模式0011 :發(fā)送FIFO從屬報文對象0100 :網(wǎng)關(guān)源對象GDFS(8-rw)0 : TXRQ在目標(biāo)對象中沒有改變1 :數(shù)據(jù)在從網(wǎng)關(guān)源對象傳遞到目標(biāo)對象之后TXRQ置位 僅在網(wǎng)關(guān)源對象起作用。IDC(9-rw)標(biāo)識符復(fù)制如果IDC = 1,則網(wǎng)關(guān)源對象的標(biāo)識符(在接收幀被保存到源對象中之后 被復(fù)制到網(wǎng)關(guān)目標(biāo)對象中。僅在網(wǎng)關(guān)源對象起作用。DLCC(10-rw)如果DLCC = 1,則網(wǎng)關(guān)源對象的數(shù)據(jù)長度碼(在接收幀被保存到源對 象中之后)被復(fù)制到網(wǎng)關(guān)目標(biāo)對象中。僅在網(wǎng)關(guān)源對象起作

38、用。DATC(11-rw)數(shù)據(jù)復(fù)制如果DATC = 1,則網(wǎng)關(guān)源對象(在接收幀被保存到源對象之后)的數(shù)據(jù) 域(寄存器MODATA0和MODATA4)被復(fù)制到網(wǎng)關(guān)目標(biāo)對象。僅在網(wǎng)關(guān)源對象起作用。RXIE(16-rw)CAN報文接收中斷使能,該位置位時無論報文使用網(wǎng)關(guān)模式接收還是普 通模式接收,都會觸發(fā)接收中斷。TXIE(17-rw)置位,在CAN報文發(fā)生之后產(chǎn)生發(fā)送中斷OVIE(18)OVIE啟用消息對象n的FIFO完全中斷。當(dāng)指向當(dāng)前消息對象(CUR)的指針達(dá)到FIFO /網(wǎng)關(guān)指針寄存器中的SEL值時,會產(chǎn)生此中斷。 0 :禁止1 :使能如果消息對象時FIFO發(fā)送消息對象則MOIPRn.TXI

39、NP選擇該中斷的中斷輸出線,如果消息對象時FIFO接收消息對象則MOIPRn.RXINP選擇該中 斷的中斷輸出線。其余消息對象模式,此位無效。FRREN(20-rw)外部遠(yuǎn)程請求啟用指定在消息對象n中還是在由指針CUR弓1用的外部消息對象中設(shè)置 TXRQ 位。消息對象n的0B TXRQ在接收到匹配的遠(yuǎn)程幀時被設(shè)置。指針CUR參考的消息對象的TXRQ在接收到匹配的遠(yuǎn)程幀時被設(shè)置。RMM(21-rw)發(fā)送對象遠(yuǎn)程監(jiān)控:0 :禁用遠(yuǎn)程監(jiān)控:接收到匹配的遠(yuǎn)程幀后,消息對象n的標(biāo)識符,IDE 位和DLC保持不變。1 :為了監(jiān)視傳入的遠(yuǎn)程幀,復(fù)制匹配的標(biāo)識符,IDE位和DLC以傳送對 象n。SDT(22-rw)單向數(shù)據(jù)傳輸:如果SDT = 1且消息對象n不是FIFO基礎(chǔ)對象,則當(dāng)該對象參與成功的 數(shù)據(jù)傳輸(接收或發(fā)送)時,MSGVAL被復(fù)位。如果SDT = 1且消息對象n是FIFO基礎(chǔ)對象,則當(dāng)指向當(dāng)前對象CUR的 指針達(dá)到FIFO /網(wǎng)關(guān)指針寄存器中的SEL值時,MSGVAL被重置。SDT = 0時,MSGVAL位不受影響。STT(23)單向傳輸實驗:0:發(fā)生傳輸錯誤時允許重新傳送1 :置位,則在消息對象n的傳輸開始時TXRQ被清除。因此,在傳輸 失敗的情況下不執(zhí)行傳輸重試DLC(27-24-rw)數(shù)據(jù)

溫馨提示

  • 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

提交評論