<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > TMS320F241在混合動力汽車電機控制設(shè)計應(yīng)用

          TMS320F241在混合動力汽車電機控制設(shè)計應(yīng)用

          作者: 時間:2011-05-21 來源:網(wǎng)絡(luò) 收藏

            4 F241的CAN編程

            F241的CAN模塊是FullCAN控制器,可以發(fā)送和接收標(biāo)準(zhǔn)幀(11位標(biāo)識符)和擴展幀(29位標(biāo)識符),它含有6個郵箱(Mailbox)以及15個不同的16位寄存器。這些寄存器分控制寄存器、狀態(tài)寄存器、中斷寄存器和本地接收屏蔽寄存器,它們映射到DSP的數(shù)據(jù)地址空間為0x7100h~0x710Fh。6個郵箱中有兩個收件箱(編號為0和1)、兩個發(fā)件箱(編號為4和5),還有兩個郵箱(編號為2和3)可以根據(jù)需要設(shè)置為收件箱或發(fā)件箱。而每個郵箱又包含標(biāo)識符、信息長度及遠程幀發(fā)送請求、數(shù)據(jù)等三個部分,其中發(fā)送或接收的數(shù)據(jù)長度為8字節(jié)。6個郵箱占用地址空間為 0x7200h~0x722Fh。

          TMS320F241的CAN編程

            要使F241芯片能夠正確地收發(fā)信息,首先要初始化CAN模塊。CAN總線上每個節(jié)點的位傳輸時間是可以編程的(通過設(shè)置波特率),但必須相同。當(dāng)一個節(jié)點收到一幅幀時,接收器必須與發(fā)射器保持同步。郵箱初始化的步驟如下:

           ?。?)禁用郵箱

            CANMDER=00000000000000000000b

            (2)設(shè)置改變數(shù)據(jù)請求

            CANMCR=0000000100000000b(bit8CDR=1)

            (3)改變郵箱的標(biāo)識符、控制字和數(shù)據(jù)(只有發(fā)件箱才能改變數(shù)據(jù))

           ?。?)反回正常模式

            CANMCR=00000000000000000000b

           ?。?)啟用郵箱(ME=1)

            初始化CAN模塊之后,再經(jīng)過正確的配置,就能夠收發(fā)數(shù)據(jù)信息了。

            圖3和圖4分別是CAN模塊發(fā)射和接收信息流程圖。

            通過以上介紹可以看出,TMS320是一種專用于電機控制且內(nèi)嵌CAN模塊的DSP芯片。用它可以方便地對混合動力汽車(HEV)的永磁無刷直流電機實現(xiàn)速度控制,同時利用其內(nèi)嵌的CAN模塊,可以通過CAN總線(協(xié)議規(guī)范CAN2.0)與混合動力汽車的整車控制單元(VCU)進行通訊。因而非常適用于混合的動力汽車永磁無刷直流電機控制系統(tǒng)。


          上一頁 1 2 下一頁

          關(guān)鍵詞: 320F F241 TMS 320

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();