APP下载

Arduino在汽车CAN通讯中的应用研究 Research on the Application of Arduino in Automobile CAN Communication

2021-11-30信松岭XINSong-ling张召ZHANGZhao

内燃机与配件 2021年22期

信松岭 XIN Song-ling 张召 ZHANG Zhao

摘要:汽车各个电子控制单元之间的通讯通过CAN,在汽车研发过程中,存在软件不同步以致CAN通讯异常,无法交互信号,车辆功能异常。为满足研发需求,采用Arduino UNO+MCP2515进行CAN信号解析、转换并发送,试验数据显示,转发物理量的正确性及实时性较好,表明该方案有效,为其他类似场景需求提供解决方案。

Abstract: The communication between various electronic control units of the vehicle is through CAN. In the process of vehicle development, software asynchronization leads to abnormal CAN communication, unable to exchange signals, and abnormal vehicle functions. In order to meet the research and development requirements, Arduino Uno +MCP2515 was used to analyze, convert and send CAN signals. The test data showed that the correctness and real-time performance of the forwarding physical quantity were good, which indicated that the scheme was effective and provided a solution for other similar scene requirements.

關键词:控制器局域网;Arduino开发板;信号解析

Key words: controller area network;Arduino development board;signal parsing

中图分类号:U463.1                     文献标识码:A                      文章编号:1674-957X(2021)22-0006-03

0  引言

当今阶段的汽车电气化程度日益发展,每台配备数十个ECU(电子控制单元)[1],而它们之间并非是完全独立的,完成某项整车功能可能需要来自几个不同ECU的信号,例如非常熟悉的仪表显示,它需要获取ABS(防抱死制动系统)的车速信号,获取ECM(发动机控制模块)的发动机转速和水温信号,获取TCM(变速箱控制模块)的挡位信号。而TCM在执行换挡功能时,也同样需要获取发动机转速和车速等其他控制器的信号。为了解决汽车控制器之间的通讯问题,德国Bosch公司开发了一种现场总线——CAN(Controller Area Network),并最终成为国际标准(ISO11519),是应用最广泛的现场总线之一[2]。它通过两条双绞的线缆,以差分信号的形式进行通讯。CAN通讯具备以下特点:

①多主总线,每个节点机均可成为主机,且节点机之间也可进行通讯;

②通讯速率快,最高可达1Mb/s;

③采用CRC校验并提供相应的错误处理功能,保证通讯的可靠性;

④最大的特点是没有采用传统的站地址编码,取而代之对通讯数据块编码,这种方式可使节点机的个数在理论上不受限制,也可以使不同的节点机同时接收相同的数据,还可以作为发送仲裁的依据。……

登录APP查看全文