娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

車規級CAN總線外圍電路設計方案探究

發布者:FreeSpirit123最新更新時間:2025-04-07 來源: 21ic關鍵字:車規級  CAN總線  外圍電路 手機看文章 掃描二維碼
隨時隨地手機看文章

在現代汽車電子控制系統中,CAN(Controller Area Network,控制器局域網)總線作為一種高效、可靠的通信協議,發揮著舉足輕重的作用。它不僅連接著發動機控制單元(ECU)、變速器控制單元、制動系統控制單元等多個關鍵模塊,還確保了這些模塊之間的實時數據交換和協調工作。為了實現卓越的性能和電磁兼容性(EMC),車規級CAN總線外圍電路的設計顯得尤為關鍵。本文將深入探討這一設計方案,并結合實際應用給出代碼示例。


一、共模電感的設計

共模電感在汽車CAN網絡中起著抑制共模噪聲、提升EMC性能的重要作用。它通過在高阻抗狀態下阻止噪聲傳播,有效濾除系統自身發射的干擾噪聲,同時抑制其他系統產生的干擾噪聲對CAN總線通信的干擾。


在設計共模電感時,需要關注以下幾個關鍵特性:


電感值:為了有效抑制共模噪聲,共模電感在共模噪聲頻率處應具備盡可能高的電感值。然而,過大的電感值會帶來尺寸和成本上的挑戰。因此,針對500kbps的CAN通信,推薦使用51uH電感值的共模電感;而對于2Mbps的CAN FD通訊,則建議采用100uH電感值。

泄漏電感:適量的泄漏電感能有效抑制CAN總線中的差模電流,提升系統的整體EMI性能。但過大的泄漏電感可能會引發CAN信號的振鈴現象,干擾正常通訊。因此,在選擇時,應確保既能發揮差模抑制作用,又不至于在總線信號上產生顯著的振鈴。

直流電阻:共模電感的直流電阻對總線信號的損耗具有直接影響。隨著直流電阻的增大,總線信號的損耗也會相應增加,導致傳輸效率降低。因此,選擇直流電阻盡可能小的共模電感顯得尤為重要。

模式轉換特性:共模電感的模式轉換特性通過Ssd12/Sds21參數來衡量。當Ssd12/Sds21參數的差異較大時,意味著上下線圈存在較大的不對稱性,這會引入額外的共模噪聲,降低EMI濾波效能。因此,應傾向于選擇Ssd12/Sds21參數接近的器件。

二、終端分立電阻的設計

在包含多個節點的CAN網絡中,為了確保信號傳輸質量,通常在首端節點和末端節點的總線上并聯一個與總線特征阻抗相匹配的電阻(通常為120Ω)。這個電阻的主要作用包括:


匹配總線特征阻抗,阻止信號反射:CAN總線的特征阻抗通常為120Ω,而CAN收發器在隱性狀態下的總線差分輸入電阻高達數十kΩ。阻抗不匹配會導致信號反射,產生振鈴現象,影響正常通信。

吸收外部干擾:CAN收發器的輸入差分電阻阻值較高,使得外部輕微干擾能在總線上產生足夠的差分電壓,改變總線狀態。并聯一個阻值相對較小的電阻(45Ω到70Ω之間)可以吸收這些干擾,防止其在總線上形成顯性差分電壓。

加速總線信號下降沿:總線顯隱切換的過程是對寄生電容的充放電過程。并聯一個匹配電阻可以顯著加速放電過程,使信號下降沿更加迅速,實現總線狀態從顯性到隱性的快速切換。

三、代碼示例

以下是一個簡單的CAN總線初始化代碼示例,使用C語言編寫,適用于STM32微控制器:


c

#include 'stm32f4xx_hal.h'


CAN_HandleTypeDef hcan1;


void CAN_Config(void)

{

   // CAN結構體初始化

   hcan1.Instance = CAN1;

   hcan1.Init.Prescaler = 9;

   hcan1.Init.Mode = CAN_MODE_NORMAL;

   hcan1.Init.SyncJumpWidth = CAN_SJW_1TQ;

   hcan1.Init.TimeSeg1 = CAN_BS1_6TQ;

   hcan1.Init.TimeSeg2 = CAN_BS2_8TQ;

   hcan1.Init.TimeTriggeredMode = DISABLE;

   hcan1.Init.AutoBusOff = DISABLE;

   hcan1.Init.AutoWakeUp = DISABLE;

   hcan1.Init.AutoRetransmission = ENABLE;

   hcan1.Init.ReceiveFifoLocked = DISABLE;

   hcan1.Init.TransmitFifoPriority = DISABLE;

   

   if (HAL_CAN_Init(&hcan1) != HAL_OK)

   {

       // 初始化錯誤處理

       Error_Handler();

   }

   

   // 激活通知

   HAL_CAN_ActivateNotification(&hcan1, CAN_IT_TX_MAILBOX_EMPTY | CAN_IT_RX_FIFO0_MSG_PENDING);

}


int main(void)

{

   HAL_Init();

   SystemClock_Config();

   CAN_Config();

   

   // 主循環

   while (1)

   {

       // CAN通信代碼

   }

}


void Error_Handler(void)

{

   // 用戶可以添加自己的錯誤處理代碼

   while(1)

   {

   }

}


該代碼示例展示了如何初始化CAN總線,并設置了相關的時序參數。在實際應用中,還需根據具體需求配置濾波器、發送和接收郵件箱等。


四、結論

車規級CAN總線外圍電路的設計是一個復雜但至關重要的過程。通過精心選擇共模電感和終端分立電阻等關鍵元件,并結合實際的代碼實現,可以顯著提升CAN總線的通信質量和電磁兼容性。這不僅有助于確保汽車電子控制系統的穩定運行,還為未來智能汽車的發展奠定了堅實的基礎。


關鍵字:車規級  CAN總線  外圍電路 引用地址:車規級CAN總線外圍電路設計方案探究

上一篇:CAN總線BUS OFF狀態下發送緩沖區的處理策略
下一篇:最后一頁

小廣播
最新嵌入式文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 团风县| 右玉县| 驻马店市| 西和县| 双城市| 香河县| 宽城| 镇宁| 高雄市| 汝州市| 扶风县| 西林县| 惠来县| 页游| 莲花县| 铜川市| 锡林浩特市| 邵武市| 武功县| 陇西县| 青冈县| 宜都市| 元谋县| 吴桥县| 通州市| 灵宝市| 兴业县| 宜州市| 通海县| 乌恰县| 阳高县| 阿荣旗| 宝丰县| 休宁县| 宁国市| 瑞安市| 青阳县| 扎兰屯市| 嘉荫县| 土默特左旗| 平湖市|