0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

上海航芯 来源:上海航芯 作者:上海航芯 2022-02-18 10:36 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

CAN的分层架构

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

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

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

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

CAN物理层特性

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

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

图1. CAN总线接线图

物理编码子层

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

位时序

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

同步段

传播段

相位缓冲段1

相位缓冲段2

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

图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总线通常通过连接器访问。

一文了解汽车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总线网络上的传输数据进行保护。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 收发器
    +关注

    关注

    10

    文章

    3838

    浏览量

    111463
  • CAN
    CAN
    +关注

    关注

    59

    文章

    3097

    浏览量

    473531
  • 总线
    +关注

    关注

    10

    文章

    3060

    浏览量

    91869
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    利用泰克示波器 CAN 总线解码器加快 CAN 总线的故障排除速度

    什么是 CAN 总线? 控制器局域网络 (CAN) 最初是针对汽车应用而设计的总线结构,但是,它也在其他领域找到用武之地。
    的头像 发表于 04-17 17:35 635次阅读
    利用泰克示波器 <b class='flag-5'>CAN</b> <b class='flag-5'>总线</b>解码器加快 <b class='flag-5'>CAN</b> <b class='flag-5'>总线</b>的故障排除速度

    基于FPGA的轻量级CAN总线控制器实现方案

    CAN总线作为工业和汽车领域最常用的通信总线,具有拓扑结构简洁、可靠性高、传输距离长等优点。CAN总线
    的头像 发表于 04-03 10:10 2356次阅读
    基于FPGA的轻量级<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>控制器实现方案

    Freescale MC33897单总线CAN收发器:技术解析与应用指南

    总线CAN收发器为单总线通信提供了种高效且稳定的物理层解决方案。今天,我们就来深入了解这款产品的技术
    的头像 发表于 03-24 17:20 548次阅读

    总线CAN收发器MC33897技术解析

    总线CAN收发器MC33897技术解析 在汽车电子和工业控制等领域,可靠的通信系统至关重要。单总线CA
    的头像 发表于 03-11 16:50 221次阅读

    开源项目汽车CAN总线分析仪总体介绍

    在做车载、工业控制项目时,CAN 总线调试总遇到协议不兼容、数据抓不全的问题?
    的头像 发表于 02-05 10:03 739次阅读
    开源项目<b class='flag-5'>汽车</b><b class='flag-5'>CAN</b><b class='flag-5'>总线</b>分析仪总体介绍

    汽车CAN总线的“得力助手”:SN65HVD23x-Q1 3.3V CAN收发器

    、SN65HVD234-Q1和SN65HVD235-Q1这三款3.3V汽车CAN总线收发器,就如同神经末梢的“信号增强器”和“保护使者”,为CAN
    的头像 发表于 12-19 10:20 1997次阅读

    SN65HVDA1040B-Q1:高性能汽车CAN总线收发器的卓越之选

    下载: sn65hvda1040b-q1.pdf 1. 产品概述 SN65HVDA1040B-Q1是款专为汽车应用设计的CAN总线收发器,符合AEC-Q100标准,能够在-40°C至
    的头像 发表于 12-18 09:25 632次阅读

    实操用台示波器解码CAN总线通信

    给大家说下:CAN总线种串行通信协议,主要用在汽车领域,目前也延伸到其它行业,比如传播行业、自动化工业等
    的头像 发表于 12-17 17:34 1139次阅读
    实操用<b class='flag-5'>一</b>台示波器解码<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>通信

    汽车CAN FD收发器TCAN1044AEV-Q1:技术解析与应用指南

    汽车CAN FD收发器TCAN1044AEV-Q1:技术解析与应用指南 在汽车电子领域,CAN(Controller Area Netwo
    的头像 发表于 12-16 17:35 823次阅读

    SZNUP3125WTT1G:CAN总线保护的理想之选

    在电子设备的设计中,CAN(Controller Area Network)总线作为种广泛应用于汽车和工业控制网络的通信协议,其稳定性和可靠性至关重要。而ESD(静电放电)和其他有害
    的头像 发表于 12-02 11:49 624次阅读
    SZNUP3125WTT1G:<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>保护的理想之选

    双轨速成:掌握CAN总线应用的实战秘籍

    想要快速掌握CAN总线应用?本文提供双轨学习路径:理论与实践结合,从基础协议到项目实战,即可快速上手操作,助你高效突破技术门槛! CAN (Controller Area Networ
    的头像 发表于 08-15 14:57 871次阅读
    双轨速成:掌握<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>应用的实战秘籍

    120Ω的秘密:CAN总线终端电阻的重要性

    CAN总线作为种广泛应用的工业通信协议,其终端电阻的作用不容忽视。本文将详细探讨CAN总线终端电阻的重要性及其在通信中的关键作用。
    的头像 发表于 08-08 11:35 1485次阅读
    120Ω的秘密:<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>终端电阻的重要性

    CAN总线电容过大?三种解决方案来了

    在新能源汽车路试中,CAN总线传输异常是个常见问题。本期我们将探讨由于总线电容过大导致的下降沿过缓问题,并介绍三种有效的解决方案。
    的头像 发表于 07-22 11:36 871次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>电容过大?三种解决方案来了

    读懂CAN XL协议

    随着汽车和工业应用中数据通信量的增加,传统的CAN协议已无法满足更高的数据速率需求。传统CAN协议在数据速率和总线负载能力方面存在限制,难以满足高带宽和高实时性的应用场景。为此,
    的头像 发表于 07-03 14:53 4670次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b>读懂<b class='flag-5'>CAN</b> XL协议

    CAN总线采样点不致的危害

    ,用于验证消息是否被正确接收。采样点不致可能导致节点无法正确采样确认位,触发重传,降低网络效率。 假设汽车CAN网络包含多个电子控制单元(ECU),目标位速率为500 kbps,
    发表于 06-07 08:55