3初始化路由表_一篇易懂的CAN 通讯功能实现指南3--WRITE

上篇 menghuyouyou:一篇易懂的CAN 通讯功能实现指南2--READ 中介绍了CAN通讯的读功能,本文将继续采用上篇结构介绍CAN通讯的写功能,在AUTOSAR架构涉及的模块主要有Can Driver, Can Interface, Pdu Router, Com,如下图1所示。图1 CAN通讯的相关模块以下先看两个场景来想象下CAN通讯写功能。场景1:发动机控制需要变速箱的相关信号,...
摘要由CSDN通过智能技术生成

8d07d4c0312c3223a1d6da6d51e81592.png

上篇 menghuyouyou:一篇易懂的CAN 通讯功能实现指南2--READ 中介绍了CAN通讯的读功能,本文将继续采用上篇结构介绍CAN通讯的写功能,在AUTOSAR架构涉及的模块主要有Can Driver, Can Interface, Pdu Router, Com,如下图1所示。

fb8c09f86cffac3ea35e590cf8e0e43c.png
图1 CAN通讯的相关模块

以下先看两个场景来想象下CAN通讯写功能。

场景1:发动机控制需要变速箱的相关信号,比如转速请求,扭矩请求。那么这时变速箱控制器(TCU)的相关信号怎么发送给发动机控制器(ECM)呢?

6997ad7e3a2ce4bc7d40a06075f4a760.png

场景2:整车控制器(VCU)需要电机控制器(MCU)的相关信号,比如实际转速,实际扭矩等,同样地MCU的相关信号怎么发送给VCU呢?

160af4450899bae7dc1d6ce7b6470957.png

当然以上场景都是通过CAN通讯实现,具体以场景1再进一步解释TCU如何发送信号给ECM(比如说发动机转速请求)。我们知道车辆怠速的时候TCU控制需请求发动机进行转速控制,所以TCU会要求ECM按请求发动机转速进行控制,TCU将该信号定义在某条报文中,发送到CAN总线,然后ECU去接收该报文,按请求转速进行控制。其大致过程如下:

80028cadd1b856e6cb674316baabe7f6.png

当TCU的应用层软件(ASW)算出了需请求的发动机转速后,怎么去发送该信号到CAN总线,供ECU接收使用呢?我们知道AUTOSAR架构分三层:BSW(底层),RTE和ASW。

这里先从TCU的ASW开始,算出请求的发动机转速,再通过RTE发送给BSW的Com模块,存储在Com的Buffer;

然后,Com模块的写功能函数被周期性调用,写入Com的buffer的数据将被打包,再通过Pdu Router路由给Can Interface模块,Can Interface模块再调用Can Driver的写功能函数,将访问硬件,将数据写入相应的寄存器,再发送到CAN总线;

最后,ECU从CAN总线接收该信号(即上篇读功能的过程),进行转速控制。

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值