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

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 單線CAN總線隔離中繼器的設(shè)計(jì)

          單線CAN總線隔離中繼器的設(shè)計(jì)

          作者: 時(shí)間:2013-08-22 來源:網(wǎng)絡(luò) 收藏

          3 軟件設(shè)計(jì)
          3.1 初始化子程序
          的CAN控制器初始化直接關(guān)系到CAN控制器能否正常工作。的CAN控制器初始化主要包括CAN基本單元和過濾器的初始化。因?yàn)镾T公司推出了一套針對(duì)于的固件庫,所以只需在程序開始時(shí)做出相應(yīng)的設(shè)置即可。在該初始化子程序中關(guān)鍵的環(huán)節(jié)是設(shè)置CAN的波特率,STM32數(shù)據(jù)手冊中的波特率的計(jì)算公式如下:
          c.JPG
          其中tq=(BRP[9:0]+1)xtPCLK。如上述CAN單元初始化子程序中:tBS1=tq×(TS1[3:0]+1),tBS2=tqx(TS2[2:0]+1),BRP[9:0]、TS1[3:0]和TS2[2:0]均在CAN_BTR寄存器中設(shè)置,STM32的CAN時(shí)鐘有APB1提供。假設(shè)系統(tǒng)時(shí)鐘為72 MHz,APB1為系統(tǒng)時(shí)鐘的9分頻,結(jié)合初始化子程序,BRP[9:0]=0、TS1[3:0]=7、TS2[2:0]=6,代入波特率計(jì)算公式即可求的其波特率為500Kb/s。在該中,CAN控制器的過濾器設(shè)置工作在屏蔽位模式下,對(duì)標(biāo)識(shí)符的任何一位采用必須匹配或不用關(guān)心的原則處理。在中,由于需要轉(zhuǎn)發(fā)所有總線上的數(shù)據(jù),則過濾器不必詳細(xì)設(shè)置,只需設(shè)置接收任何ID號(hào)的數(shù)據(jù)即可。
          3.2 數(shù)據(jù)轉(zhuǎn)發(fā)子程序
          的任務(wù)實(shí)質(zhì)上就是實(shí)現(xiàn)報(bào)文的轉(zhuǎn)發(fā)。STM32F105內(nèi)部集成了雙bxCAN控制器,它包括3個(gè)發(fā)送郵箱和2個(gè)3級(jí)深度的FIFO。結(jié)合STM32 F105的特性,采用雙FIFO的轉(zhuǎn)發(fā)機(jī)制,其原理如圖3所示。依據(jù)圖3,當(dāng)STM32F105接收到新的報(bào)文時(shí),經(jīng)過數(shù)據(jù)處理模塊處理,在數(shù)據(jù)轉(zhuǎn)發(fā)進(jìn)程的管理下,對(duì)兩路bxCAN控制器的接收FIFO緩沖區(qū)進(jìn)行監(jiān)視,如某一路緩沖區(qū)非空則向另一路轉(zhuǎn)發(fā)。

          本文引用地址:http://www.ex-cimer.com/article/175746.htm

          d.JPG


          STM32F105發(fā)送報(bào)文的流程為:應(yīng)用程序選擇1個(gè)空置的發(fā)送郵箱;設(shè)置標(biāo)識(shí)符、數(shù)據(jù)長度和待發(fā)送數(shù)據(jù);然后對(duì)CAN_TIxR寄存器的TXRQ位置1,來請(qǐng)求發(fā)送。TXRQ位置1后,郵箱就不再是空郵箱;一旦郵箱不再為空置,軟件對(duì)郵箱寄存器就不再有寫的權(quán)限。TXRQ位置1后,郵箱馬上進(jìn)入掛號(hào)狀態(tài),并等待成為最高優(yōu)先級(jí)的郵箱。一旦郵箱成為最高優(yōu)先級(jí)的郵箱,其狀態(tài)就變?yōu)轭A(yù)定發(fā)送狀態(tài)。當(dāng)進(jìn)人空閑狀態(tài),預(yù)定發(fā)送郵箱中的報(bào)文就馬上被發(fā)送。在郵箱中的報(bào)文被成功發(fā)送后,它馬上變?yōu)榭罩绵]箱;硬件相應(yīng)地對(duì)CAN_TSR寄存器的RQCP和TXOK位置1,表明一次成功發(fā)送。
          為了提高中繼器數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性,CAN報(bào)文的接收采用中斷方式。所以在CAN初始化過程中應(yīng)使能CAN1和CAN2外設(shè)中斷,并設(shè)置其相應(yīng)的中斷向量表,設(shè)定其相應(yīng)的中斷等級(jí)。數(shù)據(jù)接收模塊流程如圖4所示。

          e.JPG


          另外,假設(shè)上A點(diǎn)發(fā)出的數(shù)據(jù)總時(shí)間為t,則在軟中繼器另一側(cè)B點(diǎn)接收到該數(shù)據(jù)的最短時(shí)間為t。當(dāng)總線速率不大且對(duì)各總線設(shè)備時(shí)序要求不高時(shí),該時(shí)間可以忽略。但在一些節(jié)點(diǎn)間交換數(shù)據(jù)頻繁的系統(tǒng),則須注意這個(gè)問題,盡量使其對(duì)系統(tǒng)的影響降至最低。

          4 結(jié)論
          該CAN總線中繼器充分利用內(nèi)部集成雙bxCAN控制器簡化了硬件電路的設(shè)計(jì),及豐富的固件庫函數(shù)縮短了開發(fā)周期。實(shí)踐表明,該單線CA N總線隔離中繼器完成了各項(xiàng)設(shè)計(jì)指標(biāo),符合工程的要求,在液壓支架電液控制系統(tǒng)中能夠有效的完成數(shù)據(jù)的轉(zhuǎn)發(fā)和網(wǎng)絡(luò)的拓展,具有較高的實(shí)用價(jià)值。


          上一頁 1 2 下一頁

          關(guān)鍵詞: CAN總線 STM32 中繼器 MC33897

          評(píng)論


          相關(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); })();