eCAN總線模塊特點
C28x處理器上的eCAN總線模塊同240x系列DSP上的CAN總線模塊相比也有一些改進,比如郵箱帶有獨立接收屏蔽及分時郵遞功能,郵箱數(shù)量也有所增加。鑒于這些差別,240x系列DSP的CAN總線模塊的代碼不能直接應用到eCAN總線上。但是,eCAN模塊和240x系列DSP的CAN模塊的寄存器(兩者都有的寄存器)在結(jié)構(gòu)和功能上都是相同的。這樣即便是代碼不能完全兼容,在移植上還是非常容易的。C28x處理器上的 eCAN,總線概括起來有以下特點。
·支持兼容的CAN2.OB總線協(xié)議。
·最高支持1 Mb/s的總線通信速率。
·32個郵箱,每個郵箱有以下特點:
◇接收郵箱或發(fā)送郵箱可配置;
◇標準或擴展標識可配置;
◇1個可編程接收濾波器屏蔽寄存器;
◇支持數(shù)據(jù)幀和遠程幀;
◇數(shù)據(jù)長度0~8字節(jié)可編程;
◇在接受和發(fā)送消息時,使用Q9位分時郵遞;
◇保護消息的接收;
◇發(fā)送消息的極性可編程;
◇采用2個中斷級的可編程中斷;
◇在發(fā)送或者接收超時時,使用可編程中斷。
·低功耗模式。
·可編程總線喚醒功能。
·自動應答遠程請求消息。
·在仲裁或錯誤丟失消息時,自動重發(fā)。
·可以通過特定的消息同32位定時郵遞計數(shù)器同步。
·自測試模式:在該模式下,提供“空閑”的應答信號,因此不需要其他節(jié)點提供應答信號,方便系統(tǒng)調(diào)試。
C28x處理器的eCAN總線模塊主要由CPU接口及控制器單元、消息郵箱單元以及設置寄存器單元構(gòu)成,如圖1所示。
圖1 C28x處理器的eCAN總線模塊結(jié)構(gòu)圖
CAN控制器模塊為0~8字節(jié)的消息目標提供32個郵箱:
·可配置的接收/發(fā)送郵箱;
·可配置的標準/擴展標識符。
CAN模塊的郵箱分成幾個部分:
·MID:包含郵箱的標識符;
·MCF(消息控制區(qū)):包含消息長度(發(fā)送或接收)及RTRbit(遠程傳輸請求,用來發(fā)送遠程幀);
·MDL和MDH:包含數(shù)據(jù)。
CAN模塊包含寄存器,根據(jù)功能分成5組,這些寄存器位于處理器的數(shù)據(jù)存儲空間0x006000~0x0061FF,如圖2所示,主要包括:
·控制狀態(tài)寄存器;
·局部接收屏蔽;
·消息目標時間標簽;
·消息目標超時;
·郵箱。
圖2 C28x處理器的eCAN總線模塊存儲空間映射圖
在C28x DSP中,eCAN模塊映射到兩個不同的地址段。第一段地址空間分配給控制寄存器、狀態(tài)寄存器、接收濾波器、定時郵遞和消息對象超時??刂坪蜖顟B(tài)寄存器采用32位寬度訪問,局部接收濾波器、定時郵遞寄存器和超時寄存器可以采用8位、16位和DOO/位寬度訪問。第二段地址空間映射到Q9個郵箱。如圖3和圖4所示,兩段地址空間各占512字節(jié)。消息存儲在RAM中,CAN控制器和CPU都可以對其進行訪問。CPU通過調(diào)整RAM中的各種郵箱或寄存器來控制CAN控制器,各種存儲空間存放的內(nèi)容控制接收濾波、消息發(fā)送和中斷處理等功能。eCAN的郵箱模塊提供32個郵箱,每個郵箱包括8字節(jié)數(shù)據(jù)區(qū)、29位標識符和幾個控制位,每個郵箱都可以配置為接收或發(fā)送郵箱。在eCAN摸式下,每個郵箱都有自己的接收濾波器。
圖3 C28x處理器的eCAN總線模塊郵箱地址映射
圖4 C28x處理器的eCAN總線模塊寄存器映射
評論