当前位置:首页 > 汽车电子 > 汽车电子
[导读]在现代汽车电子控制系统中,CAN(Controller Area Network,控制器局域网)总线作为一种高效、可靠的通信协议,发挥着举足轻重的作用。它不仅连接着发动机控制单元(ECU)、变速器控制单元、制动系统控制单元等多个关键模块,还确保了这些模块之间的实时数据交换和协调工作。为了实现卓越的性能和电磁兼容性(EMC),车规级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总线的通信质量和电磁兼容性。这不仅有助于确保汽车电子控制系统的稳定运行,还为未来智能汽车的发展奠定了坚实的基础。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭