日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內不再提示

深度解析AS32S601芯片CAN Bus Off機制

FPGA設計論壇 ? 來源:FPGA設計論壇 ? 2026-04-22 09:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、前言

汽車電子、工業(yè)自動化等眾多領域,CAN 總線作為一種可靠的通信協議被廣泛應用。而 AS32S601 芯片憑借其卓越的性能和可靠性,在這些領域也發(fā)揮著重要作用。其中,CAN Bus Off 功能作為 CAN 總線通信中的關鍵錯誤處理機制,對于保障整個通信網絡的穩(wěn)定性具有重要意義。

二、CAN Bus Off 功能詳解

(一)定義與作用

CAN Bus Off(總線關閉)是指 CAN 節(jié)點因發(fā)送錯誤幀過多,超出設定數量后,被總線 “關閉” 進入 Bus Off 狀態(tài)。此時節(jié)點無法收發(fā)消息,直至被重置或自動恢復。其主要作用是防止故障節(jié)點持續(xù)干擾總線通信,確保其他正常節(jié)點能繼續(xù)工作。

(二)錯誤狀態(tài)分類

主動錯誤狀態(tài)(Error Active):節(jié)點正常參與通信時的狀態(tài)。檢測到錯誤會發(fā)送主動錯誤標志(連續(xù) 6 個顯性位),強制中斷當前總線報文傳輸。

被動錯誤狀態(tài)(Error Passive):節(jié)點發(fā)送或接收錯誤計數器超過 127 時進入。此狀態(tài)下節(jié)點雖能通信,但發(fā)送錯誤標志時用被動錯誤標志(連續(xù) 6 個隱性位),不會強制中斷總線報文傳輸。

總線關閉狀態(tài)(Bus Off):最嚴重錯誤狀態(tài),節(jié)點發(fā)送錯誤計數器(TEC)超過 255 時觸發(fā)。節(jié)點完全脫離總線,不能收發(fā)報文。

acbb418c-3d49-11f1-90a1-92fbcf53809c.jpg

Bus Off機制的設計目的是為了避免某個設備因為自身原因(例如硬件損壞)導致無法正確收發(fā)報文而不斷破壞總線的數據幀,從而影響其他正常節(jié)點通信。

三、Bus Off 產生原因與觸發(fā)條件

(一)產生原因

物理層故障:如 CAN_H/CAN_L 線路開路或短路(包括對電源或地短路)、終端電阻缺失、接地不良等,會影響信號傳輸的完整性和可靠性,進而導致 CAN 節(jié)點出現錯誤幀。

信號干擾:強電磁干擾、強電流干擾會破壞 CAN 總線上傳輸的信號,使節(jié)點接收到錯誤的報文,從而引發(fā)錯誤計數器增加。

節(jié)點故障:CAN 控制器收發(fā)器硬件損壞、軟件邏輯錯誤導致持續(xù)發(fā)送錯誤幀,會使節(jié)點自身發(fā)送錯誤幀數量迅速上升,最終觸發(fā) Bus Off 狀態(tài)。

總線負載過高:CAN 總線負載率長期接近或超過理論上限(如 >70%),會導致報文無法及時發(fā)送,節(jié)點重試次數增加,錯誤計數累積。

(二)觸發(fā)機制

基于 CAN 協議定義的錯誤計數器機制,主要包括發(fā)送錯誤計數器(TEC)和接收錯誤計數器(REC)。當 TEC 超過閾值(通常為 255)時,節(jié)點進入 Bus Off 狀態(tài)。錯誤計數規(guī)則如下:

發(fā)送錯誤時:TEC + 8

接收錯誤時:REC + 1

成功發(fā)送后:TEC - 1(最低降至 0)

成功接收后:REC - 1(最低降至 0)

狀態(tài)轉換路徑依次為主動錯誤狀態(tài) → 被動錯誤狀態(tài) → 總線關閉狀態(tài)。

四、Bus Off 的檢測與解決測試

(一)檢測方法

錯誤計數器監(jiān)控:通過監(jiān)控 TEC 和 REC 值預測節(jié)點狀態(tài)變化。當 TEC > 127 時進入被動錯誤狀態(tài);TEC > 255 時進入 Bus Off 狀態(tài)。可使用如下代碼監(jiān)控并打印 TEC 計數:

1
2
3
/*------監(jiān)控并打印TEC計數------*/
Printf("TEC: 0x%x ! ", CANFD3->ECR & CANFD_ECR_TEC);
Printf("ESTAT: 0x%x ", CANFD3->SR & CANFD_SR_ESTAT);

ad177574-3d49-11f1-90a1-92fbcf53809c.jpg

2.狀態(tài)寄存器查詢:在錯誤中斷處理邏輯中查詢 CAN 控制器的狀態(tài)寄存器相應位。示例代碼如下:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
PLIC_InitTypeDef PLIC_InitStructure;
CANFD_ITConfig(CANFD3, CANFD_IT_EBSOFF, ENABLE);//打開BUSOFF中斷
/*
* Function: CANFD3_IRQ_Handler
* Description: CANFD3 interrupt handler function.
* Param: None.
* Return: None.
*/
voidCANFD3_IRQ_Handler()
{
if(CANFD_GetITStatus(CANFD3, CANFD_FLAG_BSOFF) != RESET)
{
Printf("BusOff! ");
/* Clear the interrupt pending bits */
CANFD_ClearITPendingBit(CANFD3, CANFD_CLEAR_BSOFF);
}
}

(二)解決方案

自動恢復:若支持自動恢復功能(auto bus on),可使用以下代碼開啟:

1
2
/*------打開BUS-OFF自動回復功能------*/
CANFD_AutoBusOffRecoConfig(CANFD3,ENABLE);

ad704906-3d49-11f1-90a1-92fbcf53809c.jpg

2.手動恢復:需重置 CAN 控制器或重新初始化 CAN 節(jié)點。讓 CAN 進入初始化模式,再進入正常工作模式。示例代碼如下:

1
2
3
4
5
6
7
/*------打開BUS-OFF自動回復功能------*/
if(key3_flag)
{
key3_flag = 0;
CANFD_SetBusOff_?Recovery?(CANFD3);
Printf("The key3 pressed,BUS-OFF Recovery?! ");
}

3.快慢恢復策略

快恢復適用于臨時性錯誤,短時間內(如 50ms)嘗試恢復;慢恢復適用于較長時間(如 1s)后恢復,避免頻繁錯誤影響系統(tǒng)。代碼示例如下:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
/*------BUS-OFF慢恢復-快恢復策略------*/
if(Quick_Recovery_Flag <5)
{
if(time50_flag)
{
time50_flag = 0;
Quick_Recovery_Flag++;
CANFD_SetBusOff_?Recovery?(CANFD3);
Printf("50ms BUS 0FF Quick Recovery! ");
}
}
if(Slow_Recovery_Flag <3)
{
if(time1000_flag)
{
time1000_flag= 0;
Slow_Recovery_Flag++;
CANFD_SetBusOff_?Recovery?(CANFD3);
Printf("1000ms BUS 0FF Slow Recovery! ");
}
}

五、Bus Off 的影響與后果

(一)對節(jié)點的影響

通信能力喪失:節(jié)點無法發(fā)送報文或應答總線上的報文,也不能對總線產生任何影響,但部分實現下仍可接收總線上的數據。

功能限制:雖然 ECU 節(jié)點從總線脫離,但 ECU 依然正常運行,所有任務仍被操作系統(tǒng)調度。

(二)對系統(tǒng)的影響

保護機制:防止故障節(jié)點不斷發(fā)送錯誤幀,影響整個網絡的通信質量,確保其他正常節(jié)點可以繼續(xù)通信。

潛在風險:若關鍵節(jié)點進入 Bus Off 且無法恢復,可能導致系統(tǒng)功能降級或失效,在安全關鍵系統(tǒng)中可能引發(fā)更嚴重的后果。

總結

CAN Bus Off 功能作為 CAN 總線通信中的重要錯誤處理機制,在 AS32S601 芯片中得到了良好的支持和實現。通過深入了解其原理、產生原因、觸發(fā)條件以及檢測和恢復方法,我們能夠更好地應對 CAN 總線通信中可能出現的問題,提高系統(tǒng)的可靠性。在實際應用中,應根據系統(tǒng)需求選擇合適的檢測和恢復策略,平衡系統(tǒng)可靠性和響應速度。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 通信協議
    +關注

    關注

    28

    文章

    1097

    瀏覽量

    42373
  • CAN
    CAN
    +關注

    關注

    59

    文章

    3097

    瀏覽量

    473579
  • 總線
    +關注

    關注

    10

    文章

    3061

    瀏覽量

    91897

原文標題:深度解析 AS32S601 芯片 CAN Bus Off 機制:從原理到應用的全流程指南

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    CAN控制器總線錯誤分析之CAN節(jié)點BusOff恢復過程分析與測試

    “ 總線關閉(bus off)是CAN節(jié)點比較重要的錯誤處理機制。那么,在總線關閉狀態(tài)下,CAN節(jié)點的恢復流程是怎樣的?又該如何理解節(jié)點恢復
    發(fā)表于 08-04 11:16 ?1.7w次閱讀
    <b class='flag-5'>CAN</b>控制器總線錯誤分析之<b class='flag-5'>CAN</b>節(jié)點BusOff恢復過程分析與測試

    什么是CANBUS-OFF,如何恢復BUS-OFF

    CAN作為一款強大的工業(yè)總線,其高性能和高可靠性讓其應用特別廣泛。一個小知識:汽車里面各個模塊之間的通訊就是使用CAN來實現的哦。
    的頭像 發(fā)表于 02-21 09:42 ?6567次閱讀
    什么是<b class='flag-5'>CAN</b>的<b class='flag-5'>BUS-OFF</b>,如何恢復<b class='flag-5'>BUS-OFF</b>?

    CYT2B75CAD CANbus off狀態(tài)如何檢測的?

    使用芯片為:CYT2B75CAD,CANbus off狀態(tài)如何檢測的,CAN的錯誤以及發(fā)送完成等?是否有相關例程可以參考?
    發(fā)表于 02-02 08:36

    STM32G4 CAN為什么無法檢測到bus-off狀態(tài)?

    ,最開始是在總線的末端,沒有進入bus-off。當我在對板子的CAN收發(fā)器接口處進行短接時進入了bus-off。我意識到好像與短路的距離有關,我開始用一節(jié)金屬絲重新再總線的末端短接,并將CAN
    發(fā)表于 03-11 07:46

    CAN卡報告CAN bus off是什么原因

    `通過LAbVIEW發(fā)送CAN消息,周期變化,一段時間后,CAN卡會報bus off`
    發(fā)表于 10-26 16:06

    請問NUC240 CAN bus遇到bus-off如何自動恢復?

    各位大大安安,我在BSP中CAN范例遇到CAN bus中斷進到bus-off狀態(tài)問題,導至message無法傳送,想問除了重新上電復位之外,如何初始化讓
    發(fā)表于 08-21 06:04

    CAN-BUS,CAN-BUS是什么意思

    CAN-BUS,CAN-BUS是什么意思 CAN-BUS  1,CAN-BUS的起源  控制器局域網(controllerareanetwork 簡稱
    發(fā)表于 03-11 15:31 ?1.9w次閱讀

    CAN-BUS,CAN-BUS原理是什么?

    CAN-BUS,CAN-BUS原理是什么?  1,CAN-BUS的起源  控制器局域網(controllerareanetwork 簡稱CAN)最初是德國Bosch公司于1983年為汽
    發(fā)表于 03-22 15:51 ?3158次閱讀

    汽車CAN-BUS系統(tǒng)詳解

    ,而日系車種2002年以后陸續(xù)也有車子改使用CAN-BUS系統(tǒng),TOYOTA、LEXUS車系2006年以后推出的新車款也改用CAN-BUS系統(tǒng)。 平民化深度解析
    發(fā)表于 12-08 11:05 ?11次下載

    AS32S601 芯片在衛(wèi)星互聯網推進系統(tǒng)中的技術適配性研究

    AS32S601芯片在衛(wèi)星互聯網推進系統(tǒng)中的技術適配性。通過對芯片抗單粒子效應能力的分析、功能特性與系統(tǒng)需求的匹配研究,以及具體應用場景的詳細探討,揭示了AS32S601
    的頭像 發(fā)表于 07-04 09:36 ?1025次閱讀

    MCU芯片AS32S601在衛(wèi)星光纖放大器(EDFA)中的應用探索

    摘要: 本文聚焦于國科安芯推出的AS32S601型MCU芯片在衛(wèi)星光纖放大器(EDFA)中的潛在應用,探討其技術特性、抗輻射性能及適用性。通過分析其在單粒子效應脈沖激光試驗中的表現,結合EDFA系統(tǒng)
    的頭像 發(fā)表于 07-23 17:52 ?1391次閱讀

    AS32S601 芯片 ADC 模塊交流耦合測試:技術要點與實踐

    一、概述 (一)芯片簡介 AS32S601是廈門國科安芯科技有限公司推出的一款高性能32位RISC-V指令集MCU產品,具有豐富的Flash容量,支持ASIL-B等級的功能安全ISO26262標準
    的頭像 發(fā)表于 08-06 09:39 ?1078次閱讀
    <b class='flag-5'>AS32S601</b> <b class='flag-5'>芯片</b> ADC 模塊交流耦合測試:技術要點與實踐

    AS32S601與ASP4644S芯片抗輻照性能解析及核電站消防應用

    摘要: 本文對國科安芯推出的AS32S601型MCU和ASP4644S電源芯片的抗輻照性能進行深入剖析,并探討其在核電站消防系統(tǒng)中的應用潛力。通過對芯片抗輻照
    的頭像 發(fā)表于 08-14 16:39 ?1277次閱讀
    <b class='flag-5'>AS32S601</b>與ASP4644<b class='flag-5'>S</b><b class='flag-5'>芯片</b>抗輻照性能<b class='flag-5'>解析</b>及核電站消防應用

    AS32S601在軌重構(OTA)方案的優(yōu)化與分析

    摘要 在軌重構(OTA)技術因其在航天、工業(yè)控制、物聯網等領域的高可靠性和持續(xù)服務需求而備受關注。本文以國科安芯推出的AS32S601芯片為研究對象,深入分析其OTA方案的設計原理、技術細節(jié)及優(yōu)化
    的頭像 發(fā)表于 09-13 14:52 ?2719次閱讀
    <b class='flag-5'>AS32S601</b>在軌重構(OTA)方案的優(yōu)化與分析

    AS32S601型MCU芯片在商業(yè)衛(wèi)星電源系統(tǒng)伺服控制器中的性能分析與應用解析

    伺服控制器中的應用潛力。通過對芯片抗輻照能力、功能特性、可靠性以及實際應用案例的詳細解析,揭示了AS32S601型MCU在商業(yè)航天領域的技術價值與應用前景。 一、引言 商業(yè)航天的快速崛起推動了衛(wèi)星技術向小型化、低成本和高可靠方向
    的頭像 發(fā)表于 10-28 21:58 ?1076次閱讀
    博爱县| 荔波县| 石泉县| 凤凰县| 临泉县| 新化县| 牙克石市| 肥城市| 武威市| 时尚| 丹阳市| 长兴县| 满城县| 神农架林区| 离岛区| 安图县| 酉阳| 河北区| 宁化县| 新泰市| 涟水县| 乌兰浩特市| 咸丰县| 休宁县| 铜川市| 隆昌县| 汝州市| 龙江县| 屏边| 丰都县| 平顺县| 佛山市| 门头沟区| 广元市| 连江县| 田阳县| 三明市| 唐海县| 洛川县| 文水县| 嘉鱼县|