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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > CAN總線局部網(wǎng)絡管理機制及實現(xiàn)

          CAN總線局部網(wǎng)絡管理機制及實現(xiàn)

          作者: 時間:2013-05-16 來源:網(wǎng)絡 收藏

          硬件實現(xiàn)

          中報文是以廣播形式發(fā)送的,當節(jié)點處于休眠狀態(tài)時,大部分收發(fā)器檢測到總線中的報文時會喚醒節(jié)點。這就會使的局部網(wǎng)絡功能失效。

          為實現(xiàn)部分節(jié)點喚醒的功能,需要特殊的收發(fā)器支持。特殊收發(fā)器具有報文濾波功能,只在收到特定報文之后才能被喚醒。NXP已經(jīng)率先推出支持局部的收發(fā)器TJA1145和UJA1168。TJA1145是一種高速CAN收發(fā)器,而UJA1168是集成5V/100mA微處理器供電的CAN系統(tǒng)基礎芯片。

          除了傳統(tǒng)收發(fā)器的TX、RX引腳,NXP的兩款支持PN的收發(fā)器均通過SPI與CAN控制器相連。通過SPI,MCU可控制CAN收發(fā)器的模式轉換以及設置收發(fā)器的報文濾波,實現(xiàn)特定報文喚醒的功能。連接方式參見圖2。

          圖2 支持PN的收發(fā)器連接實例圖

          軟件實現(xiàn)

          除了需要支持硬件濾波的收發(fā)器外,在軟件部分,還需要遵循一套支持PN的協(xié)議來配合應用程序實現(xiàn)分組協(xié)同睡眠和喚醒。AUTOSAR組織已經(jīng)推出支持PN的網(wǎng)絡管理協(xié)議AUTOSARR3.2.1,該協(xié)議主要通過特定的網(wǎng)絡管理報文來實現(xiàn)分組睡眠。

          AUTOSAR 3.2.1中定義的CAN網(wǎng)絡管理報文格式如圖3所示。Byte 0表示源節(jié)點地址,Byte 1為固定格式ControlBit Vector.不同的bit有特殊的含義,如圖3所示,該字節(jié)的bit 6(Partial Network Bit)就表明該報文是否與PN相關。NM報文中其余字節(jié)為User data,可根據(jù)用戶需求自定義。OEM可根據(jù)EE功能定義,指定User data中的不同的位來表示不同的PN組是否需要保持喚醒。例如,將Byte 2的bit 0設定為PN1組的喚醒指示位時,如節(jié)點欲保持PN1組喚醒,則需將其置為1;如不需要保持PN1組喚醒,則將其位置為0或停發(fā)網(wǎng)絡管理報文。當網(wǎng)絡上同屬于PN1的所有節(jié)點都沒有保持喚醒的要求時,PN1組按照睡眠邏輯協(xié)同進入睡眠。

          圖3 默認網(wǎng)絡管理報文格式定義


          圖4 Control Bit Vector格式定義

          每個節(jié)點只關心自己所處的PN組的狀態(tài),在節(jié)點發(fā)送的網(wǎng)絡管理報文加入所屬PN的信息(User data),就可以實現(xiàn)不同PN分組休眠和喚醒。

          結論

          本文介紹了局部網(wǎng)絡(PN)管理的概念及優(yōu)勢,并闡述了其在上的硬件及軟件實現(xiàn)??梢钥吹?,隨著汽車EE功能越來越復雜,局部網(wǎng)絡管理的分組睡眠和喚醒的機制是一種有效的節(jié)省電量的方法。


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();