一文了解汽车CAN总线技术原理


关注公众号,点击公众号主页右上角“ ··· ”,设置星标,实时关注智能汽车电子与软件最新资讯

随着汽车工业的不断发展,汽车电子控制单元逐渐增多,各电控单元之间的信号交换更为复杂。而CAN总线可将汽车内部各电控单元之间连接成一个局域网络,实现了信息的共享,大大优化了整车的布线。

接下来,我们将继续为大家分享CAN相关技术知识。

CAN的分层架构

它由三层组成,即应用层、数据链路层和物理层。

• 应用层:该层与操作系统或CAN设备的应用程序交互。

• 数据链路层:它在发送、接收和验证数据方面将实际数据连接到协议。

• 物理层:它代表实际的硬件,即CAN控制器收发器

CAN物理层特性

CAN物理层被分为三个部分:在CAN控制器芯片中实现的物理编码,指定收发器特性的物理介质附件,物理介质依赖子层,这是特定的应用,没有标准化。

图1. CAN总线接线图

物理编码子层

PCS包括比特编码和解码、比特定时。它为收发器芯片提供连接单元接口,并包含Tx和Rx引脚,位级错误也通过位填充来处理。

位时序

出于时序目的,CAN总线上的每个位都划分成至少4个时间份额,时间份额逻辑上划分成4段:

同步段

传播段

相位缓冲段1

相位缓冲段2

图2. CAN位时序

同步段

1个时间量子长度,用于多个连接在总线上的单元,通过此段实现时序调整,当总线电压电平发生变化(显性到隐性或隐性到显性)时,预计该段会出现位沿。

传播段

用于补偿网络上节点之间的物理延迟,包括发送单元的输出延迟、总线上信号的传播延迟、接收单元的输入延迟。

相位缓冲段

相位缓冲段用于补偿节点间的晶振误差,又分为相位缓冲段1(PS1)和相位缓冲段2(PS2),在这个时间段的末端进行总线状态的采样。两个相位缓冲段PS1和PS2用于补偿总线上的边沿相位误差。

采样点

采样点是位时间内的一个时间点,在该时间点,读取总线电平并进行分析。位时间内的采样点决定CAN总线电压是隐性还是显性。以位时间的百分比表示,位置从位时间的起点开始计算,位于阶段1和阶段2之间。

处理位级错误

位数填充

CAN协议遵循NRZ编码进行传输。逻辑电平在位间隔之间不发生变化。CAN需要一个逻辑电平的转换来进行再同步。因此,在5个相同的连续比特之后,将发送1个相反逻辑电平的比特。这就是所谓的东西位,接收器可以识别它。

位错误

一个正在发送比特的节点总是监控总线,如果发射器发送的比特与总线上的比特值不同,则会产生一个错误帧。

物理介质依赖子层

该层在CAN收发器芯片中实现,通过Tx和Rx引脚从CAN控制器获得输入,输出驱动CANH和CANL线。收发器负责不同的比特率,CAN总线速度指的是CAN总线通信速率。最大的CAN总线通信速率是1Mbit/sec。对于特殊的应用,一些CAN控制器将处理更高的速度,超过1Mbit/sec。低速的CAN通信速率是125kbits/sec。

与介质有关的子层

依赖介质的子层是高度特定的应用,不同连接器的引脚分配标准化属于这一层,各种连接器为DB9、OBD II。

CAN总线DB9引脚布局

CAN总线通常通过连接器访问。

图3. CAN总线DB9引脚分配

引脚1:无定义

引脚2:CAN_L

引脚3:CAN GND

引脚4:无定义

引脚5:CAN_SHLD

引脚6:GND

引脚7:CAN_H

引脚8:无定义

引脚9:CAN_V+

各种微控制器中的CAN总线支持

微控制器应具有CAN硬件和软件,提供CAN驱动程序以实现通信。Python-CAN库也可用于为微控制器的硬件组件提供抽象的驱动程序,并用于通过CAN网络发送和接收消息。Python CAN总线也用于测试硬件和 CAN 总线数据记录。

用于Arduino的CAN总线屏蔽

• CANbus Shield采用带有SPI接口和CAN收发器的CAN总线控制器,为Arduino提供CAN总线能力。

• 带有CAN总线的Arduino有助于从ECU获取车速、油耗、温度等信息。

• Arduino CAN库用于通过CAN总线发送和接收CAN消息。

树莓派CAN总线:

树莓派没有特定的硬件,即CAN控制器和CAN收发器来支持CAN协议。树莓派软件不支持CAN总线,树莓派支持通过 SPI 接口进行 CAN 通信。

树莓派通过SPI接口连接到板子支持的外部CAN控制器,CAN控制器通过Rx和Tx线连接到CAN收发器。

CAN控制器示例:SJA100、MCP2515

CAN收发器示例:TJA1040、MCP2551

ACM32 CAN总线:

ACM32-F0/F4芯片内置1路~2路CAN控制器,并提供对应的CAN总线接口驱动库,搭配外部的CAN收发器,保证CAN总线数据通讯的安全可靠。

如何读取CAN总线数据?

当CAN总线与Microchip CAN总线分析仪、CAN总线Wire Shark等外部工具连接时,可以通过CAN USB适配器访问CAN总线数据,该适配器提供与计算机或PC的USB端口的即时连接。CAN USB适配器也可以通过以太网、互联网、内联网从任何地方进行控制。CAN总线Wireshark是一种用于Linux系统的工具,尤其以以太网网络分析而闻名,它通过使用SocketCAN来显示CAN消息,SocketCAN是一组驱动程序和网络堆栈,因此被称为Linux CAN总线。CAN to USB帮助外部工具从CAN网络获取消息,然后用于监控和调试接收或传输信息的工具。

但是这些消息是原始格式的。因此,从这些数据记录器收集的数据使用CAN总线解码器转换为按比例缩放的工程值。从数据记录器收集的数据也可以存储在SD卡中,这有助于控制车辆设置以提高效率。收集的CAN总线数据可用于车队管理、研发、诊断等。

万用表测试CAN总线

测试是必要的,以检查任何发生的CAN总线故障,如布线、ECU、CAN网络中的任何一个组件的电压供应故障。CAN总线的故障排除,如在CAN总线线路的物理端添加120欧姆的终端电阻,可以诊断出问题。通过用万用表测试,确保终端电阻是120欧姆,而且电阻是合适的,没有断裂,还可以通过将万用表切换到交流电压来测试传输的数据。

如何判断汽车是否有CAN总线?

配备CAN总线的车辆包含CAN总线LED和CAN-BUS HID 套件。CAN总线LED与汽车高级系统通信,当此LED关闭时,车辆会发出警告。CAN BUS HID KIT充当DC到AC转换器,并有助于在最初使用高压电流打开灯。一旦灯启动,它需要较低的电压电流。但是当HID使用低功率时,CAN总线系统会假定灯已关闭并发出警告。为了避免这种情况,使用了HID转换套件,它与CAN总线系统通信以告知有一个工作灯泡。这些警告告诉我们汽车配备了CAN总线。

CAN总线黑客攻击

CAN总线黑客攻击是对消费者的威胁。CAN总线车辆采用了许多无线技术,例如蓝牙,用于接听电话或播放音乐。当车载系统接入车内的CAN总线并具备 Wi-Fi连接能力时,黑客很容易获得CAN总线接入并能够控制汽车。Wi-Fi热点在汽车中很流行,这使得知道汽车IP地址的人可以跟踪汽车。这导致汽车制造商对CAN总线网络上的传输数据进行保护。

来源:电控知识搬运工


-END-

关注公众号,点击公众号主页右上角“ ··· ”,设置星标,实时关注智能汽车电子与软件最新资讯

智能汽车电子与软件 专注于汽车电子领域的信息交融平台,涵盖汽车电子行业资讯、市场动态、技术干货、知识见解、行业趋势等资讯深度覆盖。
评论
  • 遇到部分串口工具不支持1500000波特率,这时候就需要进行修改,本文以触觉智能RK3562开发板修改系统波特率为115200为例,介绍瑞芯微方案主板Linux修改系统串口波特率教程。温馨提示:瑞芯微方案主板/开发板串口波特率只支持115200或1500000。修改Loader打印波特率查看对应芯片的MINIALL.ini确定要修改的bin文件#查看对应芯片的MINIALL.ini cat rkbin/RKBOOT/RK3562MINIALL.ini修改uart baudrate参数修改以下目
    Industio_触觉智能 2024-12-03 11:28 84浏览
  • 11-29学习笔记11-29学习笔记习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-02 23:58 71浏览
  •         温度传感器的精度受哪些因素影响,要先看所用的温度传感器输出哪种信号,不同信号输出的温度传感器影响精度的因素也不同。        现在常用的温度传感器输出信号有以下几种:电阻信号、电流信号、电压信号、数字信号等。以输出电阻信号的温度传感器为例,还细分为正温度系数温度传感器和负温度系数温度传感器,常用的铂电阻PT100/1000温度传感器就是正温度系数,就是说随着温度的升高,输出的电阻值会增大。对于输出
    锦正茂科技 2024-12-03 11:50 106浏览
  • RDDI-DAP错误通常与调试接口相关,特别是在使用CMSIS-DAP协议进行嵌入式系统开发时。以下是一些可能的原因和解决方法: 1. 硬件连接问题:     检查调试器(如ST-Link)与目标板之间的连接是否牢固。     确保所有必要的引脚都已正确连接,没有松动或短路。 2. 电源问题:     确保目标板和调试器都有足够的电源供应。     检查电源电压是否符合目标板的规格要求。 3. 固件问题: &n
    丙丁先生 2024-12-01 17:37 100浏览
  • 作为优秀工程师的你,已身经百战、阅板无数!请先醒醒,新的项目来了,这是一个既要、又要、还要的产品需求,ARM核心板中一个处理器怎么能实现这么丰富的外围接口?踌躇之际,你偶阅此文。于是,“潘多拉”的魔盒打开了!没错,USB资源就是你打开新世界得钥匙,它能做哪些扩展呢?1.1  USB扩网口通用ARM处理器大多带两路网口,如果项目中有多路网路接口的需求,一般会选择在主板外部加交换机/路由器。当然,出于成本考虑,也可以将Switch芯片集成到ARM核心板或底板上,如KSZ9897、
    万象奥科 2024-12-03 10:24 68浏览
  • 当前,智能汽车产业迎来重大变局,随着人工智能、5G、大数据等新一代信息技术的迅猛发展,智能网联汽车正呈现强劲发展势头。11月26日,在2024紫光展锐全球合作伙伴大会汽车电子生态论坛上,紫光展锐与上汽海外出行联合发布搭载紫光展锐A7870的上汽海外MG量产车型,并发布A7710系列UWB数字钥匙解决方案平台,可应用于数字钥匙、活体检测、脚踢雷达、自动泊车等多种智能汽车场景。 联合发布量产车型,推动汽车智能化出海紫光展锐与上汽海外出行达成战略合作,联合发布搭载紫光展锐A7870的量产车型
    紫光展锐 2024-12-03 11:38 101浏览
  • 概述 说明(三)探讨的是比较器一般带有滞回(Hysteresis)功能,为了解决输入信号转换速率不够的问题。前文还提到,即便使能滞回(Hysteresis)功能,还是无法解决SiPM读出测试系统需要解决的问题。本文在说明(三)的基础上,继续探讨为SiPM读出测试系统寻求合适的模拟脉冲检出方案。前四代SiPM使用的高速比较器指标缺陷 由于前端模拟信号属于典型的指数脉冲,所以下降沿转换速率(Slew Rate)过慢,导致比较器检出出现不必要的问题。尽管比较器可以使能滞回(Hysteresis)模块功
    coyoo 2024-12-03 12:20 108浏览
  • TOF多区传感器: ND06   ND06是一款微型多区高集成度ToF测距传感器,其支持24个区域(6 x 4)同步测距,测距范围远达5m,具有测距范围广、精度高、测距稳定等特点。适用于投影仪的无感自动对焦和梯形校正、AIoT、手势识别、智能面板和智能灯具等多种场景。                 如果用ND06进行手势识别,只需要经过三个步骤: 第一步&
    esad0 2024-12-04 11:20 50浏览
  • 光伏逆变器是一种高效的能量转换设备,它能够将光伏太阳能板(PV)产生的不稳定的直流电压转换成与市电频率同步的交流电。这种转换后的电能不仅可以回馈至商用输电网络,还能供独立电网系统使用。光伏逆变器在商业光伏储能电站和家庭独立储能系统等应用领域中得到了广泛的应用。光耦合器,以其高速信号传输、出色的共模抑制比以及单向信号传输和光电隔离的特性,在光伏逆变器中扮演着至关重要的角色。它确保了系统的安全隔离、干扰的有效隔离以及通信信号的精准传输。光耦合器的使用不仅提高了系统的稳定性和安全性,而且由于其低功耗的
    晶台光耦 2024-12-02 10:40 120浏览
  • 最近几年,新能源汽车愈发受到消费者的青睐,其销量也是一路走高。据中汽协公布的数据显示,2024年10月,新能源汽车产销分别完成146.3万辆和143万辆,同比分别增长48%和49.6%。而结合各家新能源车企所公布的销量数据来看,比亚迪再度夺得了销冠宝座,其10月新能源汽车销量达到了502657辆,同比增长66.53%。众所周知,比亚迪是新能源汽车领域的重要参与者,其一举一动向来为外界所关注。日前,比亚迪汽车旗下品牌方程豹汽车推出了新车方程豹豹8,该款车型一上市就迅速吸引了消费者的目光,成为SUV
    刘旷 2024-12-02 09:32 119浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦