<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

什么是TJA1145嗎?使用TJA1145時有哪些注意事項呢?

冬至子 ? 來源:ADAS與ECU之吾見 ? 作者:奮斗的農民工 ? 2023-11-21 17:43 ? 次閱讀

正文

TJA1145簡介

TJA1145是NXP公司汽車電子領域量身定做的高速CAN收發器,提供了CAN控制器與物理CAN雙絞線之間的接口,相比其他CAN收發器,它具備如下幾個特點:

  • 在Standby與Sleep狀態下能保持極低功耗,其中Sleep狀態下功耗比Standy狀態下更低;
  • 可通過選擇性喚醒功能支持符合ISO11898-2:2016標準的CAN部分網絡;
  • 針對TJA1145T/FD與TJA1145TK/FD這兩種TJA1145/FD變種而言,支持CANFD-Passive功能,能夠實現在CANFD與CAN網絡共存的前提下保證節點正常休眠不會被總線CANFD總選錯誤喚醒;
  • TJA1145提供接口與3.3V或者5V微控制器相連,通過SPI可用來控制CAN收發器控制以及狀態獲??;
  • TJA1145物理層實現滿足了ISO11898-2:2016與SAE J2284標準,且能夠實現CANFD 2M通訊速率的穩定通信;

TJA1145上述這些特性使得其能夠作為控制ECU整個供電系統的關鍵利器,通過休眠特性最大可能地降低ECU整體電流消耗,僅在應用層存在需求時才會被喚醒。

如下圖1所示為TJA1145的基本功能框圖,各個引腳的基本功能解釋如下:

image.png

圖1 TJA1145 基本功能框圖

image.png

圖2 TJA1145功能引腳定義

如下圖3所示為TJA1145內部三大供電細節詳解:

  • BAT:電源用于給TJA1145系統狀態維護進行供電,只要BAT一直有點,那么TJA1145相關狀態寄存器值就不會丟失,且CAN接收器由BAT供電;
  • VCC: 該電源一方面作為5V電源輸入給到TJA1145系統模塊進行監控是否過壓或欠壓,另一方面則給到CAN總線供電,且CAN發送器由VCC供電;
  • VIO: 該電源一方面作為電源輸入到TJA1145系統模塊進行監控是否過壓或欠壓,另一方面則作為SPI通信的電平轉換;

image.png

圖3 TJA1145內部供電詳解圖

ECU休眠喚醒概念

為了讓大家更好的了解休眠喚醒控制原理,小T將按照AUTOSAR文檔中針對休眠喚醒的定義給大家做個總結,可分為如下三種場景:

冷啟動式休眠喚醒

冷啟動式休眠喚醒具備如下幾個特點:

  • MCU處于掉電狀態;
  • ECU的部分外圍電路如CAN發器處于供電狀態(如KL30供電);
  • 喚醒事件能夠被CAN收發器識別;
  • CAN收發器能夠根據喚醒源決定是否喚醒MCU,給到MCU供電;

CAN通道式休眠喚醒

CAN通道式休眠喚醒具備如下幾個特點:

  • MCU始終處于正常供電狀態;
  • 至少ECU的部分外圍電路如CAN收發器處于供電狀態;
  • CAN收發器處于Standby狀態;
  • 喚醒事件能夠被CAN收發器識別;
  • CAN收發器識別到有效喚醒源后能夠產生一個軟中斷喚醒MCU或者MCU周期性的去檢查是否存在有效喚醒源;

CAN通道與MCU式休眠喚醒

CAN通道與MCU式休眠喚醒具備如下幾個特點:

  • MCU處于低功耗狀態;
  • 至少ECU的部分外圍電路如CAN收發器處于供電狀態;
  • CAN收發器處于Standby狀態;
  • 喚醒事件能夠被CAN收發器識別;
  • CAN收發器識別到有效喚醒源后能夠產生一個軟中斷喚醒MCU;

休眠喚醒控制原理

通過上述對休眠喚醒類型的總結,想必大家都可以集合自己工作中碰到的休眠場景一一對應起來,小T就結合最為常見的冷啟動式休眠喚醒硬件與軟件兩個層面跟大家一起交流休眠喚醒控制基本原理。

硬件層面:

如下圖4所示,小T將從MCU芯片供電以及TJA1145狀態獲取控制兩方面來講解硬件層面的休眠喚醒控制原理:

S1: MCU滿足休眠條件時,通過發送SPI相應指令 讓TJA1145進入Sleep狀態 ;

S2 :TJA1145 進入到Sleep狀態后,INH引腳就會拉低,控制5V或者3V關閉電源輸出,間接導致MCU整個系統處理掉電狀態 ,此時TJA1145始終處于供電狀態(由于BAT始終有電),整個ECU成功進入到休眠狀態;

S3 :TJA1145雖然處于Sleep狀態,屬于極低功耗狀態, 同步也檢測著網絡是否存在有效喚醒源 ;

S4 :當TJA1145發現有效喚醒源之后, 就會自動從Sleep狀態切換成Standby狀態 ,在Standby狀態下INH引腳拉高,此時5V與3V便會正常輸出,從而MCU被正常供電,程序開啟正常運行;

image.png

圖4 TJA1145休眠喚醒機制硬件實現

軟件層面:

關于通訊模塊的開啟則是由ComM模塊來負責,BswM在此階段可實現一些自定義的控制行為來滿足各個項目的特別要求。

本文不會過多闡述細節,僅在說明整個休眠喚醒過程在軟件邏輯層面具體如何來實現,參考如下圖5所示:

image.png

圖5 休眠喚醒軟件控制邏輯

S1 :當MCU Power ON之后由EcuM模塊便會檢查喚醒源是否有效,若有效,則通知ComM模塊開啟通信, 進而通過SPI通信控制TJA1145進入Normal狀態 ,同時通知BswM模塊開啟其他BSW模塊的控制以及讓EcuM進入到RUN模式;

S2 :當MCU PowerON之后由EcuM模塊識別喚醒源無效,便會直接走下電流程,最終控制TJA1145進入到Sleep狀態;

S3 :在系統正常工作后如果滿足休眠條件(如外界沒有NM報文),MCU便會控制TJA1145進入到Sleep狀態;

S4 :當TJA1145處于Sleep狀態下會檢測休眠前設定的喚醒源,如果喚醒源滿足條件,TJA1145切換至Standby狀態,從而Power ON MCU,最終走向EcuM喚醒源檢測驗證流程;

TJA1145控制

如上述過程MCU通過SPI總線接口實現了針對TJA1145狀態的控制與獲取。針對TJA1145的控制過程可分為TJA1145 Operating Mode的控制以及內部CAN Operating Mode兩種類型。

TJA1145 Operating Mode

在TJA1145內部存在一系統控制器包含如下五種運行狀態機:Normal,Standby,Sleep,Overtemp,Off狀態。接下來將針對這五種狀態進行一一講解每個狀態的基本特征以及相應的SPI控制指令。

  • Normal: 該模式下TJA1145處于全功能模式下,所有功能均可用,可通過MC=111從Standby或者Sleep狀態切換至Normal狀態;
  • Standby: 該模式下TJA1145處于低功耗狀態,不過不能夠正常收發數據,但是INH引腳可以始終保持拉高狀態;
    **如果此時寄存器CWE=1,那么此時receiver會持續監控總線電平狀態,如果寄存器CPNC=PNCOK=1,那么就開啟了特定幀喚醒,否則就是標準CAN喚醒(010101切換就可喚醒,即所說的任意幀喚醒);**
  • 當電壓滿足特定下限時便會自動從Off狀態切換至Standby狀態;
  • 當監測到溫度沒有再次發生過溫便會自動從Overtemp狀態切換至Standby狀態;
  • 在Sleep狀態下檢測下喚醒源便會自動切換至Standby狀態;
  • 通過SPI指令MC=100將狀態從Normal或者Sleep狀態切換至Standby狀態;
  • 在Normal狀態下發送指令MC=001準備切換至Sleep狀態,但此時存在喚醒源或者所有的喚醒源檢測全部關閉,該特性從一定程度上避免了死鎖;
  • Sleep: 該模式下TJA1145處于最低功耗狀態下,且不能正常收發數據,同時INH引腳處于高阻狀態,電源供電一般會通過該引腳進行拉低關閉輸出。同時其狀態變化存在如下幾種可能:
  • 一個有效喚醒源或者中斷事件( 除去SPIF事件 )或者 SPI指令(SPI通訊速率不能過高) 則可以喚醒TJA1145從Sleep狀態切換至Standby狀態;
  • 在Normal或者Standby狀態下通過發送MC=001便可以進入到Sleep狀態,同步須確保至少存在一個喚醒源使能(如CAN喚醒或者Wake pin喚醒)且沒有pending狀態下的喚醒源;
  • **如果VCC或者VIO持續一段事件低于某個閾值,那么該低電壓事件將會強制讓TJA1145進入到Sleep狀態,與此同時所有的Peding的喚醒源將會被清除,CWE=1以及WPFE=WPRE=1使能同時特定幀喚醒功能將會被Disable(CPNC=0);**
    **該強制進入到Sleep狀態可通過TJA1145主狀態寄存器(03h)中的FSMS狀態位來獲取,如果FSMS為1表示最近一次進入到Sleep狀態是由于低電壓進入到Sleep狀態,否則是通過SPI指令完成的狀態切換。**
  • **Overtemp: ** 該狀態是由于TJA1145放置溫度過高導致被損壞的一個功能,一旦在Normal狀態下溫度超出一定閾值就會自動切換至OverTemp保護狀態;
  • 為了放置數據的丟失,TJA1145在溫度超過預警閾值時會主動觸發一個Warning,該Warning發生時就會觸發OTWS置位,中斷產生(即OTW=1)如果OTWE使能的前提下;
  • 在該模式下,CAN收發器將不能正常工作,CAN pin腳始終處于高阻狀態,喚醒源將不會被檢測,但是如果存在Pending的喚醒源,那么RXD引腳就會被拉低;
  • 當溫度低于特定閾值時,那么該狀態便會自動切換至Standby狀態;
  • 如果Bat電壓引腳低于某個特定閾值,則會自動從該狀態切換至OFF狀態;
  • Off: 在該狀態下電壓由于低于特定閾值導致供電不足,當Bat首次連接時這是TJA1145的初始狀態, 只要Bat電壓低于某特定閾值,那么TJA1145將會從任意狀態直接切換至Off狀態 。在Off狀態下,CAN pin腳以及INH引腳始終處于高阻狀態;
    當電壓高于某個特定閾值時,TJA1145便會重新啟動觸發初始化過程,從而經歷特定時候后進入到Standby狀態;

image.png

圖6 TJA1145 Operating Mode狀態遷移圖

如下圖7所示,展示了TJA1145 Operation Mode與SPI通信,INH引腳,內部CAN模塊狀態以及RXD引腳的之間的關系。從中特別值得關注的有以下幾點:

  • Standby狀態下INH引腳可以拉高控制MCU各級電源輸入,CAN無法正常收發通信;
  • Normal狀態下SPI可正常通信,INH引腳拉高,CAN模塊的狀態取決于CMC值,僅在Active狀態下才能夠開啟正常通信,且僅在CMC=01/10/11下才能夠正常收發;
  • Sleep狀態下INH引腳處于高阻狀態,此時MCU各級電源可關閉,CAN始終處于Offline狀態,無法正常收發通信;
  • 在Off狀態與Overtemp狀態下SPI都無法正常通信,在Sleep狀態僅在VIO供電正常的情況下才可以,且通信速率不能太高;
  • 僅在Standby與Sleep狀態下才檢測喚醒事件,即僅在CAN處于Offline模式下才能夠開啟喚醒事件的檢測;

image.png

圖7 TJA1145各模式狀態關系

Can Operating Mode

TJA1145內部集成的CAN收發器存在四種狀態: Active,Listen-Only,Offline ,Offile Bias狀態。存在如下兩種基本組合:

  • 當TJA1145處于Normal狀態時,CAN收發器狀態取決于CMC值,如進入Offline或者Active或者Listen-only等;
  • 當TJA1145處于Standby或者Sleep狀態,則CAN收發器始終處于Offline狀態;

image.png

圖8 TJA1145內部CAN收發器狀態遷移圖

CAN Active Mode

  • CAN收發器在此模式下能夠正常發送或接收數據;
  • CMC=0x01時,CAN收發器處于Active狀態,VCC低壓檢測使能,如果出現VCC電壓,就會直接切換到CAN Offline或者Offline Bias狀態;
  • CMC=0x10時,CAN收發器處于Active狀態,且VCC電壓檢測被抑制,如果出現VCC電壓異常,不會影響到CAN Active正常切換;( 實際應用過程中優先統一配置成CMC=0x10,以降低狀態不斷反復切換 )

CAN Listen-only Mode

  • 該模式下CAN發送器被關閉, 當TJA1145處于Normal狀態且CMC=0x11時,CAN收發器狀態就會處于Listen-only狀態 ;
  • 在該模式下如果TJA1145處于Normal狀態且CMC=0x1,同時VCC電壓低于90%,那么就會始終在這個Listen-Only狀態;

CAN Offline與Offline Bias Mode

  • 在CAN Offline模式下CAN收發器便會檢測CAN總線以查看是否存在喚醒事件,同時CWE=1,CAN H與CAN L始終偏置接地;
  • 在CAN Offline Bias Mode下也會檢測CAN總線是否存在喚醒事件,只不過CAN H與CAN L會偏置2.5V,當超過一段事件總線沒有活動,便會回歸至CAN Offline模式下;
  • 當TJA1145切換至Standby或者Sleep狀態則會直接切換成此狀態;
  • 當TJA1145狀態為Normal且CMC=0x0,則會將狀態切換成CAN Offline模式;
  • 當TJA1145狀態為Normal且CMC=01同時VCC<90%,則也會將狀態切換成CAN Offline模式;

CAN Off Mode

  • 當TJA1145狀態為Off狀態或者Overtemp狀態時;
  • 當Bat電壓低于CAN接收器某個特定閾值電壓時,當BAT電壓回升至某個特定閾值時,便會進入到CAN Offline模式下;

常見寄存器配置說明

在對TJA1145進行正常使用時,無論是初始化過程還是正常對其進行控制,我們都需要針對常見的TJA1145寄存器進行控制,因此小T結合項目實戰需要給大家列舉了常用寄存器以及相關功能,如下圖9所示:

image.png

圖9 常見寄存器配置說明

TJA1145注意事項

  • 使用TJA1145時,如果需要使用其CAN FD Passive功能( 0x2F寄存器設置 CFDC=1 ),那么需要選用型號TJA1145/FD才具備;
  • TJA1145默認僅支持 CAN幀格式的特定幀喚醒 ;
  • 如果使能了VCC/VIO電壓欠壓監控,如出現在緩升緩降的過程中,就會導致TJA1145狀態直接切換成sleep狀態,因此一般優先選擇CMC=0x10,則抑制了電壓欠壓檢測。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 電源供電
    +關注

    關注

    0

    文章

    151

    瀏覽量

    21953
  • SPI接口
    +關注

    關注

    0

    文章

    256

    瀏覽量

    34043
  • CAN收發器
    +關注

    關注

    2

    文章

    153

    瀏覽量

    25392
  • 狀態寄存器
    +關注

    關注

    0

    文章

    37

    瀏覽量

    7034
  • ECU軟件
    +關注

    關注

    1

    文章

    13

    瀏覽量

    10284
收藏 人收藏

    評論

    相關推薦

    TJA1145是如何控制ECU進行休眠喚醒的呢?

    TJA1145是NXP公司為汽車電子領域量身定做的高速CAN收發器,提供了CAN控制器與物理CAN雙絞線之間的接口
    的頭像 發表于 02-15 09:26 ?1789次閱讀
    <b class='flag-5'>TJA1145</b>是如何控制ECU進行休眠喚醒的呢?

    TC387模塊CAN0的節點2作為CANA使用,CANA既收不到報文也發不出報文如何解決?

    TC387模塊CAN0的節點2作為CANA使用,CAN1的節點0作為CANB使用,配置基本相同。但CANB的通信正常,而在TJA1145正常情形下,CANA既收不到報文,也發不出報文,查看CAN0
    發表于 02-19 06:43

    怎樣使用模擬SPI接口來操作TJA1145芯片的寄存器

    TJA1145是什么?哪些特性?怎樣使用模擬SPI接口來操作TJA1145芯片的寄存器?
    發表于 02-28 09:25

    SPC58NN的SCK引腳沒有脈沖信號是何原因

    大家好,我想配置 SPI 以與 TJA1145 通信。圖中顯示了 4 個引腳。但是我用示波器測試了信號,我發現四個引腳沒有任何意義,這意味著沒有有意義的信號。例如,CS 引腳始終為高電平,并且
    發表于 12-27 08:16

    TJA1145 SPI通訊故障怎么解決?

    你好 :我正在使用 can 收發器 TJA1145T,當我向它發送 0xfd 時我無法得到正確的響應,我確定我的引腳之間正確的連接,當我監視 TJA1145T 的 SDO 引腳時,我發現它復制我有時會從 SDI 引腳發送給它的
    發表于 04-06 08:47

    TJA1145A的Pspice模型嗎?求分享

    NXP官網上有TJA1145A的Pspice模型嗎?如果是這樣,我該如何下載它。
    發表于 04-11 08:37

    使用IMX8QXP開發定制電路板,如何讓CAN能夠正常工作?

    我正在使用 IMX8QXP 開發定制電路板,希望 CAN 能夠正常工作。該板使用 TJA1145 作為 CAN 收發器。我對如何進行有點迷茫。我可以看到 NXP 提供了一個基于 SocketCAN
    發表于 04-23 11:46

    求助,TJA1145不能在沒有SPI通信的情況下進行CAN讀/寫嗎?

    我打算為這個項目使用 TJA1145 進行 CAN 通信。 從datasheet上了解到,TJA1145上電后進入STANDBY模式,此時Tx/Rx不工作。 這時我明白了,要想進入可以進行CAN通信
    發表于 05-09 07:28

    TJA1145是否可以關閉特壞臂喚醒功能,作為普通CAN收集器使用?

    先生 1:TJA1145是否可以關閉特壞臂喚醒功能,作為普通CAN收集器使用? 2:怎么操作可以關閉特殊權限功能?
    發表于 06-05 10:46

    DC1145B DC1145B評估板

    電子發燒友網為你提供ADI(ti)DC1145B相關產品參數、數據手冊,更有DC1145B的引腳圖、接線圖、封裝手冊、中文資料、英文資料,DC1145B真值表,DC1145B管腳等資料
    發表于 08-13 10:00

    Autosar這個指定網絡管理報文是如何過濾的呢

    有些transceiver有PNC過濾功能,也可以在硬件上設置此過濾功能。針對NXP TJA1145 Transceiver而言,只能過濾通信速率在1Mbps的報文,因此要注意項目中的網絡管理報文
    的頭像 發表于 08-23 12:09 ?4442次閱讀
    Autosar這個指定網絡管理報文是如何過濾的呢

    什么是TJA1145嗎?你知道休眠喚醒控制基本邏輯是怎么樣的嗎?

    TJA1145是NXP公司為汽車電子領域量身定做的高速CAN收發器,提供了CAN控制器與物理CAN雙絞線之間的接口,相比其他CAN收發器
    的頭像 發表于 02-16 10:04 ?6903次閱讀

    TJA1043收發器信息梳理

    對于汽車控制器開發工程師來說,CAN收發器是一個常用的芯片,之前分享過一篇TJA1145的文章,今天來分享一篇TJA1043。
    的頭像 發表于 03-15 11:15 ?2365次閱讀

    TJA1043收發器信息梳理

    對于汽車控制器開發工程師來說,CAN收發器是一個常用的芯片,之前分享過一篇TJA1145的文章,今天來分享一篇TJA1043。
    的頭像 發表于 04-10 00:10 ?2031次閱讀
    <b class='flag-5'>TJA</b>1043收發器信息梳理

    電主軸使用時有什么注意事項?

    電主軸使用時有什么注意事項?|深圳恒興隆機電
    的頭像 發表于 08-16 11:16 ?804次閱讀
    電主軸使用<b class='flag-5'>時有</b>什么<b class='flag-5'>注意事項</b>?
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>