機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應(yīng)用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
TMS320C24x DSP控制器上的CAN控制器
TMS320C24x DSP控制器上的CAN控制器
 更新時間:2009-6-5 9:10:48  點擊數(shù):2
【字體: 字體顏色

摘 要:德州儀器(TI)的TMS320F241、TMS320C241及TMS320F243數(shù)字信號處理器(DSP)控制器包括片上控制器局域網(wǎng)(CAN)模塊。該模塊是一種FullCAN控制器(規(guī)范2.0B)。該應(yīng)用報告將介紹 TMS320X241/3CAN模塊,其中也包括了針對片上CAN模塊不同操作模式的軟件示例,及采用CAN總線控制三相感應(yīng)馬達速度的應(yīng)用示例。

TMS320X241/TMS320F243CAN模塊
---關(guān)于CAN
 ---控制器區(qū)域網(wǎng)(CAN)是一種多主控串行總線,其使用廣播向所有CAN節(jié)點發(fā)送消息。CAN協(xié)議比其他通信協(xié)議更具優(yōu)勢。舉例而言,CAN協(xié)議提供了很好的性價比。它可實現(xiàn)快速的數(shù)據(jù)傳輸速度(高達1Mbps),可實施于實時系統(tǒng)。此外,數(shù)據(jù)可靠性高,錯誤檢測功能成熟且強大可靠。CAN也非常靈活,可以進行熱插拔。
---CAN協(xié)議不是用物理地址與節(jié)點聯(lián)系,而是發(fā)送帶有標志符的消息(message),這樣不同的節(jié)點可通過標志符辨認消息。標志符由兩個功能:既可用于消息過濾,又可用于確定消息優(yōu)先級。ID決定所發(fā)送的消息是否將由特定的CAN模塊接收,當兩個或更多節(jié)點需要同時發(fā)送消息時還可決定消息的優(yōu)先級。
---DSP控制器需要連接至CAN總線上的收發(fā)器。CAN總線由雙絞線制成。傳輸速率取決于總線長度。就總線低于40m的情況而言,傳輸速率高達1Mbps。DSP控制器可連接至SN75LBC031、TPIC8233及TPIC82501TI CAN收發(fā)器。
CAN消息幀有以下不同類型:CAN數(shù)據(jù)幀從發(fā)送器向一個或多個接收機發(fā)送數(shù)據(jù)(0~8字節(jié));CAN遠程幀用于請求與指定標志符相關(guān)的數(shù)據(jù)幀的發(fā)送。幀可為標準幀或擴展幀。標準幀包括11位ID,而擴展幀包括29位ID。
---TMS320C241、TMS320F241及TMS320F243 CAN模塊
---TMS320x241 與TMS320F243 CAN模塊是FullCAN控制器。它包括用于發(fā)送與接收管理及幀存儲的信息處理程序,而且所需的CPU開銷比BasicCAN控制器小。規(guī)范為 CAN2.0B Active,也就是說模塊可收發(fā)標準幀(11位標志符)及擴展幀(29位標志符)。
---外置為16位?刂/狀態(tài)寄存器及CAN郵箱的存。╝ccess)也均為16位。
控制器有6個用于0~8字節(jié)數(shù)據(jù)長度對象的郵箱:
---兩個接收郵箱(郵箱0與1)
---兩個發(fā)送郵箱(郵箱4與5)
---兩個可配置發(fā)送/接收郵箱(郵箱2與3)
---CAN模塊包括15個不同的16位寄存器:
---● 控制寄存器
---MDER:郵箱方向(Direction)/啟用寄存器,啟用或禁用郵箱并進行郵箱2與3的配置
---TCR:用于發(fā)送消息的發(fā)送控制寄存器
---RCR:用于接收消息的接收控制寄存器
---MCR:主控制寄存器,用于更改位時序(timing)配置,例如寫入CAN RAM或在自檢模式中配置芯片
---BCR1與BCR2:配置位定時的位配置寄存器
---● 狀態(tài)寄存器
---ESR:用于顯示錯誤的錯誤狀態(tài)寄存器
---GRS:全局狀態(tài)寄存器(Global Status Register)
---CEC:CAN錯誤計數(shù)寄存器
---● 中斷寄存器
---IFR:中斷標志寄存器
---IMR:中斷屏蔽寄存器
---● 本地接收屏蔽寄存器
---LAM0H與LAM0L:針對郵箱0與1的本地接收屏蔽寄存器
---LAM1H與LAM1L:針對郵箱2與3的本地接收屏蔽寄存器
上述寄存器位于數(shù)據(jù)存儲器中,地址從0x7100h到0x710Fh(見圖4)。
---CAN模塊包括6個郵箱,每個郵箱都分為以下幾部分:
---● MSGIDL與MSIDH包括郵箱標志符。
---● MSGCTRL(消息控制字段)包括待收發(fā)的消息長度及RTR位(用于發(fā)送遠程幀的遠程發(fā)送請求)。
---● DATA_A到DATA_D包括數(shù)據(jù)。數(shù)據(jù)分為4個字或8字節(jié)。

不同的操作模式
 ---
初始化CAN模塊
---如欲使用CAN模塊,CAN寄存器及CANRAM必須進行初始化。
---位定時與同步
---標稱位時間在CAN總線的每個節(jié)點上均可編程,且在每個節(jié)點上必須相等。任何節(jié)點接收幀時,接收機都必須與發(fā)送器同步。共有兩種同步類型:
---硬同步:當接收到幀起始時
---再同步:用于補償發(fā)送器與接收機振蕩器之間的振蕩頻率漂移與相位差。TSEG1可延長,而TSEG2可縮短,以進行采樣點位置移動,最大量為SJW(同步跳寬(jump width))。
---SYNCSEG:用于實現(xiàn)總線上節(jié)點同步的分段(segment)。段中將出現(xiàn)位邊緣(bit edge)。
---PROPSEG:用于補償網(wǎng)絡(luò)中物理延遲時間的時段。
---標稱位時間除以時間量得到:
---1位時間=(TSEG1+TSEG2+1)*Length_of_1_time_quantum
---Length_of_time_quantum=(BRP+1)/ICLK
---BRP=波特率預(yù)定標器
---ICLK=時鐘頻率=20MHz
因此,就傳輸速率為1Mbps(位長=1ms)的情況而言,以下為正確設(shè)置:
---BRP=0TSEG1=5且TSEG2=4
---BRP=1TSEG1=12且TSEG2=7
---用戶可對上述參數(shù)進行配置(在BCR寄存器中)。
---說明:1)BRP:波特率預(yù)定標器
---2)SBG:下降沿同步
---3)SJW:同步跳寬(jump width)
---4)SAM:采樣點設(shè)置
---如欲更改位定時配置,則應(yīng):
步驟1:在MCR寄存器中設(shè)置更改配置請求位。
---CANMCR=0001000000000000b
---位12CCR=1≥更改配置請求
---步驟2:設(shè)置BCR寄存器(位配置寄存器)。
---總線上所有節(jié)點的標稱位時間及波特率預(yù)定標器必須相同。如TSEG1=TSEG2=0,則CAN不能激活。
---TSEG1≥TSEG2≥2如SBG=0
---CANBCR2=0000000000000000b
---波特率預(yù)定標器=0
---CANBCR1=0000000101010111b
---位10SBG=0=>下降沿同步
---位8-9SJW=10=>同步跳寬
---位7SAM=0=>CAN模塊采樣僅一次
---位3-6TSEG1=1010
---位0-2TSEG2=111
---步驟3:請求正常模式。
---CANMCR=0000000000000000b
---CCE=更改配置啟用(全局狀態(tài)寄存器)

 ---
郵箱初始化
---每個數(shù)據(jù)幀分為以下字段:
---● 仲裁場(arbitration field)包括標志符與RTR(遠程發(fā)送請求)位。
---● 控制字段(controlfield)包括DLC位(數(shù)據(jù)長度)。
---● 數(shù)據(jù)字段
 ---
用戶設(shè)置郵箱內(nèi)容可對以下字段進行編程:
---● MSGIDL與MSIDH包括郵箱標志符。
---● MSGCTRL(消息控制字段)包括消息長度與RTR位(用于發(fā)送遠程幀的遠程發(fā)送請求)。
---● DATA_A、DATA_B、DATA_C與DATA_D包含數(shù)據(jù)。數(shù)據(jù)分為4個字或8字節(jié)。
---初始化郵箱的步驟如下:
---步驟1:禁用郵箱,在CANMDER中寫入0。
---CANMDER=0000000000000000b
---步驟2:在CANMCR中設(shè)置更改數(shù)據(jù)字段請求位。
---CANMCR=0000000100000000b位8CDR=1
步驟3:更改郵箱內(nèi)容(數(shù)據(jù)、控制與標志符字段)。數(shù)據(jù)只能在發(fā)送郵箱中設(shè)置(2、3、4或5)。
步驟4:返回正常模式。
CANMCR=0000000000000000b
步驟5:啟用郵箱。
CANMDER=0000000000000100b
位2ME2=1=>郵箱2啟用
位6MD2=0=>郵箱2配置為發(fā)送郵箱

發(fā)送消息
發(fā)送消息步驟如下。
步驟1:發(fā)送郵箱初始化。
→禁用郵箱,在CANMDER中寫入0。
CANMDER=0000000000000000b
→要求更改數(shù)據(jù)字段請求,在CANMCR中寫入。
CANMCR=0000000100000000b
bit8CDR=1
→為發(fā)送郵箱設(shè)置消息ID。在CANMSGIDxH及CANMSGIDnL中寫入,其中n=2、3、4或5。
CANMSGIDnH=1110000000000000b
bit15IDE=1=>待發(fā)送消息帶有擴展標志符(29位)
bit14AME=1=>采用相應(yīng)接收屏蔽(LAM寄存器)
bit13AAM=1=>自動應(yīng)答模式位設(shè)置。如郵箱接收遠程幀,則其響應(yīng)時將內(nèi)容回送
bit12-0:標志符上部。
CANMSGIDnL=0000000000001111b
標志符下部
→設(shè)置消息控制字段。在CANMSGCTRLn中寫入,其中n=2、3、4或5。如待發(fā)送消息是遠程幀,則RTR位將置為1。消息長度將在此選擇。
CANMSGCTRLn=0000000000001000b
bit5RTR=0=>將發(fā)送一個數(shù)據(jù)幀(不是遠程幀)
bit0-4DLC=1000=>數(shù)據(jù)長度=8bit
→創(chuàng)建消息(僅用于數(shù)據(jù)幀)。消息將寫入CANMBXnA、CANMBXnB、CANMBXnC與CANMBXnD(其中n=2、3、4或5)。
CANMBXnA=0ABCDh
CANMBXnB=0123h
CANMBXnC=0EF32h
CANMBXnD=6789h
→請求正常操作,將CANMCR中的位8復(fù)位。
CANMCR=0000000000000000b
→啟用郵箱,在CANMDER寄存器中寫入。如郵箱2或3已選擇,則其應(yīng)配置為發(fā)送郵箱(CANDER寄存器)。
CANMDER=0000000000000100b
bit2ME2=1=>郵箱2啟用
bit6MD2=0=>郵箱2配置為發(fā)送郵箱
步驟2:請求發(fā)送消息,在TCR寄存器中設(shè)置TRS位。
 位4TRS2=1=>郵箱2的發(fā)送請求
步驟3:等待發(fā)送確認(TA=1,在TCR寄存器中)與/或作為郵箱標志(CANIFR寄存器)。
步驟4:進行TA與發(fā)送標志復(fù)位,“1”應(yīng)寫入TA(TCR寄存器)。
TCR=0001000000000000b
位12TA2=1=>進行郵箱2的TA及中斷標志復(fù)位。

接收消息
接收濾波器(Acceptance Filter)如何工作
在已接收消息ID與接收郵箱ID中接收屏蔽寄存器未屏蔽的位應(yīng)相同。如果情況不是這樣,則消息不被接受或不被存儲。本地接收屏蔽可通過將消息標志符高字(MSGIDn)中的AME(接收屏蔽啟用位)定為0加以禁用。隨后所有標志符位必須匹配以存儲消息。
如何進行CAN模塊編程
 LAM1H=1000000000000000b
位15LAMI=可接收1標準與擴展幀。
位12-00:相應(yīng)的ID位未屏蔽。就上述位而言,已接收消息ID必須與郵箱ID相同。
LAM1L=1111111111111111b
位15-0 1:屏蔽位
步驟2:設(shè)置郵箱標志符及控制
→禁用郵箱,在MDER中寫入0。
CANMDER=0000000000000000b
→要求更改數(shù)據(jù)字段請求,在MCR寄存器中寫入。
CANMCR=0000000100000000b位8CDR=1
→設(shè)置發(fā)送郵箱消息ID。在MSGIDxH與MSGIDnL中寫入,其中n=2、3、4或5。
CANMSGIDnH=1110000000000000b
位15IDE=1=>接收的消息帶有擴展標志符(29位)
位14AME=1=>采用相應(yīng)的接收屏蔽(LAM寄存器)
位13AAM=1=>對接收機無影響
CANMSGIDnL=0000000000001110b標志符下部
→設(shè)置消息控制字段。在MSGCTRLn中寫入,其中n=2、3、4或5。如果待發(fā)送消息為遠程幀,則RTR位將置為1。消息長度將在此選擇。
CANMSGCTRLn=0000000000001000b
 位0-4DLC=1000=>數(shù)據(jù)長度=8bit
→請求正常操作,將MCR中的位8復(fù)位。
CANMCR=0000000000000000b
→啟用郵箱,在MDER寄存器中寫入。如選擇郵箱2或3,必須將其配置為接收郵箱(MDER寄存器)。
CANMDER=0000000001000100b
位2ME2=1=>郵箱2啟用
位6MD2=1=>郵箱2配置為接收郵箱
步驟3:等待接收確認(RCR寄存器中的RMP位)及CANIFR中的郵箱中斷標志。
步驟4:如欲進行RMP與接收標志復(fù)位,RMP中必須寫入“1”(在接收控制寄存器中)。
CANRCR=0000000001000000b
位6RMP2=1=>將RMP2與郵箱2中斷標志復(fù)位
數(shù)據(jù)存儲于MBXnA、MBXnB、MBXnC及MBXnD中。

自檢模式
---什么是自檢模式?
---TMS320F241/3 CAN模塊可在回送模式下工作。它可接收自身發(fā)送的消息。該模塊生成其自身的確認信號。總線無須連接至模塊該模式即可工作,因此可以方便地測試程序。
---如何使用自檢模式?
---CAN模塊初始化后,用戶可通過在MCR寄存器中設(shè)置自檢模式位請求自檢模式。
---CANMCR=00000000010000000b
---位6:STM=1.模塊處于自檢模式。
---發(fā)送的消息將接收并存儲于適當?shù)慕邮锗]箱中。
---自檢模式的局限性:
---自檢模式中未實施自動應(yīng)答模式設(shè)置情況下的遠程幀處理。該模式不能用于遠程幀測試。
---遠程幀
---遠程幀與數(shù)據(jù)幀形狀相同,但不含數(shù)據(jù)。遠程幀的RTR(遠程發(fā)送請求)位設(shè)為1。與數(shù)據(jù)幀類似,其也可為標準幀或擴展幀(11位ID或29位ID)。
---遠程幀通常用于請求信息。節(jié)點A發(fā)送遠程幀至節(jié)點B。如果節(jié)點B待發(fā)送的消息與遠程幀的標志符相同,則其將做出應(yīng)答,發(fā)送相應(yīng)的數(shù)據(jù)幀至總線。

---如何進行遠程幀編程
 ---
發(fā)送遠程幀:
● 使用2、3、4或5。郵箱2及3可配置為發(fā)送郵箱或接收郵箱。
● 在MSGCTRLn字段中設(shè)置RTR(遠程發(fā)送請求)位為1。
● 設(shè)置TRS(發(fā)送請求設(shè)置)位為1。
● 遠程幀將發(fā)送至CAN總線。如果遠程幀自接收郵箱發(fā)送(2或3),則發(fā)送成功后不設(shè)置TA(發(fā)送確認)或郵箱標志。TRS位隨后復(fù)位。
對遠程幀自動應(yīng)答
 ● 僅將郵箱2或3配置為發(fā)送郵箱
● 在MSGIDn中設(shè)置自動應(yīng)答模式位(AAM)。
● 如果節(jié)點接收的遠程幀ID與郵箱ID相同,則其將通過發(fā)送數(shù)據(jù)幀進行自動應(yīng)答(對禁用的本地接收屏蔽而言)。
發(fā)送遠程幀至接收郵箱
● 僅將郵箱0、1或2、3配置為接收郵箱。
● 消息處理與數(shù)據(jù)幀一樣。設(shè)置RMP(接收消息等待(Receive Message Pending))位及RFP(遠程幀等待)位。
● CPU處理情況。
示例
步驟1:從郵箱5發(fā)送遠程幀(節(jié)點A)
設(shè)置郵箱5的RTR(遠程發(fā)送請求)位。郵箱5將在接到請求時發(fā)送遠程幀。隨后,當設(shè)置TCR寄存器(發(fā)送控制寄存器)中相應(yīng)的TRS(發(fā)送請求設(shè)置)位時,遠程幀將在CAN總線上發(fā)送。
本地接收屏蔽禁用時(MSGID2H位14),所發(fā)送的ID位(郵箱5節(jié)點A)與接收郵箱ID位(郵箱2節(jié)點B)必須匹配才能接收該幀。節(jié)點B辨認遠程幀ID。郵箱5(節(jié)點A)與郵箱2(節(jié)點B)帶有相同的29位標志符。
郵箱5設(shè)置:
MSGID5H=1101001100001111b
Bit15:1擴展ID
Bit14:1接收屏蔽啟用
Bit13:0未設(shè)置自動應(yīng)答模式
Bit12-0:標志符
MSGID5L=1111111111111111b
Bit15-0:標志符
MSGCTRL5=0000000000011000b
Bit4:1遠程發(fā)送請求

郵箱2設(shè)置:
 Bit15:1擴展ID
Bit14:0接收屏蔽禁用
Bit13:1設(shè)置自動應(yīng)答模式
Bit12-0:標志符
MSGID2L=1111111111111111b
Bit15-0:標志符
MSGCTRL2=0000000000001000b
Bit4:0未設(shè)置RTR
Bit3-0:1000數(shù)據(jù)長度=8bit

步驟2:節(jié)點B自動應(yīng)答
在節(jié)點B上設(shè)置AAM(自動接收模式)位時,郵箱2通過在CAN總線上發(fā)送相應(yīng)數(shù)據(jù)幀自動應(yīng)答。在節(jié)點A上,郵箱0啟用本地接收屏蔽(MSGID0H、位14)。當節(jié)點B發(fā)送數(shù)據(jù)幀的未屏蔽位與郵箱0的ID位相匹配時,郵箱0接收并存儲數(shù)據(jù)幀。
郵箱0設(shè)置:
LAM0H=1000000000000000b
Bit15:1接收的擴展及標準ID
Bit12-0:0發(fā)送ID與郵箱ID必須完全匹配
LAM0L=1111111111111111b
Bit15-0:1接收0或1
MSGID0H=1101001100001111b
Bit15:1擴展ID
Bit14:1接收屏蔽啟用
Bit13:0未設(shè)置自動應(yīng)答模式
Bit12-0:標志符
MSGID0L=1010101011110000b
Bit15-0:標志符
MSGCTRL5=0000000000001000b
Bit3-0:1000數(shù)據(jù)長度=8bit

CAN中斷
 ● CANIFR:中斷標志寄存器
● CANIMR:中斷屏蔽寄存器
有兩種不同類型的中斷:
● 如郵箱收發(fā)消息,由郵箱產(chǎn)生的中斷。每個郵箱在CANIFR上都有中斷標志位,在CANIMR上都有中斷屏蔽位。
● 錯誤生成的中斷。以下事件將產(chǎn)生錯誤中斷:
 - 寫入拒絕
- 喚醒
- 接收消息丟失
- 總線關(guān)閉
- 錯誤嚴重(error passive)
- 警告級
這些中斷可發(fā)出高優(yōu)先級或低優(yōu)先級請求。CANIMR的位15與7用于選擇優(yōu)先級?蓪蓚中斷請求發(fā)送至外設(shè)中斷擴展(PIE):
● CAN郵箱中斷(高優(yōu)先級或低優(yōu)先級)
● CAN錯誤中斷(高優(yōu)先級或低優(yōu)先級)
錯誤處理
CAN模塊包括錯誤檢測、內(nèi)部錯誤處理機制及錯誤信號發(fā)送。這提供了強大可靠的數(shù)據(jù)處理機制。
CAN模塊檢測以下錯誤類型:
● 位錯誤,如果被發(fā)送位與接收位不同。
● 位填充錯誤。在發(fā)送5個連續(xù)相等位后,發(fā)送器應(yīng)在位流中插入帶有補充值的填充位,它將由接收機移除。
● CRC錯誤,如接收的CRC(循環(huán)冗余校驗)代碼與發(fā)送的CRC代碼不匹配。
● ACK錯誤,如發(fā)送節(jié)點未從接收機接收到ACK。
● 形式錯誤,如不符合幀格式。
上述錯誤記錄在錯誤狀態(tài)寄存器中:
檢測到錯誤的每個節(jié)點會增加錯誤計數(shù)(發(fā)送或接收)。這兩個計數(shù)位于CAN錯誤計數(shù)寄存器中(CEC)。
CAN模塊可為三種狀態(tài):
● 錯誤激活狀態(tài)(Error Active State):如發(fā)送與接收錯誤計數(shù)低于128。如二者計數(shù)之一達到96,則在CANIFR寄存器中設(shè)置標志(位0,警告標志),且錯誤狀態(tài)寄存器的位0等于1。
● 錯誤嚴重狀態(tài)(Error Passive State):如果發(fā)送錯誤計數(shù)或接收錯誤計數(shù)在127~255之間。設(shè)置CANIFR(位1)中的標志,且錯誤狀態(tài)寄存器中的EP位等于1。
 總線關(guān)閉后重新連接模塊有兩種不同的解決方案:
● 設(shè)置MCR寄存器的ABO(自動總線接通)位。模塊將在128*11個連續(xù)隱性位后返回總線接通狀態(tài)。
 

馬達控制應(yīng)用
概述
---本應(yīng)用的目的在于通過連接至馬達驅(qū)動器的CAN總線發(fā)送速度命令以改變馬達速度。
---為實施本應(yīng)用,將采用一條雙絞線(作為CAN總線)、兩個TI SN75LBC031收發(fā)器及兩個TMS320F243 DSP。受控馬達是三相交流感應(yīng)馬達。
 ---電源連接至TMS320F243 DSP控制器的ADC0輸入。該值作為馬達控制的目標頻率讀取。第一個DSP(節(jié)點A)用ADC模塊將該值轉(zhuǎn)換為數(shù)字值,隨后按比例確定這些值。0V對應(yīng)于200rpm的頻率,而5V對應(yīng)于400rpm。數(shù)據(jù)存儲于CAN郵箱中,隨后由CAN總線發(fā)送至第二個DSP(節(jié)點B)。該DSP用接收到的目標頻率控制馬達。
---馬達速度可通過改變ADC輸入電壓進行實時更改。為了實施該應(yīng)用,我們需要兩種不同的程序。軟件在第一個節(jié)點上處理CAN總線中頻率目標的發(fā)送。程序在第二個節(jié)點上處理頻率接收,并進行馬達控制。
---節(jié)點A:從電源到CAN總線
---DSPA連接至電源(ADC0輸入)與收發(fā)器。運行在該DSP上的程序稱作send_frequency.asm。該程序處理直流電與CAN模塊初始化、模數(shù)轉(zhuǎn)換、頻率縮放、頻率在郵箱中的存儲及發(fā)送頻率至CAN總線。圖20顯示了該過程。
---該程序中三次使用CAN:
● CAN初始化(郵箱與位定時)
 ● 發(fā)送消息
---頻率存儲的原理與郵箱初始化相同。更新數(shù)據(jù)值之前,應(yīng)禁用郵箱,并進行主控制寄存器中CCR位(更改配置請求)的設(shè)置。更改頻率后,應(yīng)清空該位,再啟用郵箱。
---節(jié)點B:馬達控制
---第二個DSP利用從CAN總線接收的目標頻率值進行馬達控制。
---在示例應(yīng)用中,我們采用了交流馬達的開放回路控制程序。馬達控制程序與中斷系統(tǒng)共同工作,它包括兩個重要部分:主程序與中斷服務(wù)程序(ISR)。
---在主程序中進行不同的初始化,如CAN模塊初始化與PWM初始化。在主程序結(jié)尾處,事件管理器的下溢中斷啟用。
---在中斷服務(wù)程序中,將計算新的PWM因素,并對CAN總線接收到的新頻率目標進行調(diào)節(jié)。在該ISR中,如果接收的值不同于原值,則頻率目標值將更新。
---CAN 代碼可分為兩部分:第一部分是CAN初始化,在此進行CAN位定時設(shè)置及郵箱0(控制字段與標志符)初始化;該部分位于主程序。第二部分在中斷服務(wù)程序中。如果從CAN總線上成功接收消息且該值已更改,則本部分將在變量FREQ_TRGT中處理消息副本。原FREQ_TRGT值從接收值中減去。如結(jié)果不為零,則更新FREQ_TRGT。
---如果成功從CAN總線接收,則設(shè)置郵箱中斷標志與接收消息未決位。程序測試上述位(BIT指令)。如上述位已設(shè)置,則由下一指令清空。如值發(fā)生變化,接收的數(shù)據(jù)隨后拷貝到累加器與變量 FREQ_TRGT中。如未接收到郵箱標志,或沒有消息等待(RMP位),則CAN_RD_END支路出現(xiàn)。

結(jié)論:CAN與DSP
---TMS320F241、TMS320C241與TMS320F243芯片包括片上CAN控制器。CAN是多主控串行總線,可在不同節(jié)點間實現(xiàn)高效數(shù)據(jù)傳輸。CAN是靈活、可靠、強大及標準化的協(xié)議,具備實時功能。
---DSP控制器可提高電動馬達的效率,實現(xiàn)更高的性能與更低的成本,為傳統(tǒng)的微控制器提供更好的解決方案,并實現(xiàn)了更先進的控制算法。

<!--插入廣告JS代碼-->
  • 上一篇: 同步控制和即時DSP的先進混合訊號測試
  • 下一篇: 以DSP為核心的無線定位系統(tǒng)的方案設(shè)計
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設(shè)備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內(nèi)容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務(wù)100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1