SemiDrive E3 MCAL 开发系列(10)– Lin 模块的使用

一、概述

本文将会介绍 SemiDrive E3 MCAL LIN 模块的简介以及基本配置。此外会结合实际操作的介绍,帮助新手快速了解并掌握这个模块的使用,文中的 MCAL 是基于 PTG3.0 的版本,开发板是官方的 E3640 网关板。

二、  LIN 模块简介

E3 的 LIN 模块是符合 LIN2.1 规范的,LIN 模块的底层硬件是基于 UART 实现的,每路 UART 都可以作为 LIN 模块使用,E3 目前最多能支持 16 路 LIN。关于 LIN 模块,AutoSar 标准中关于 LIN 模块的软件架构图如下图所示。MCAL 实现的 LIN 驱动位于 I/O drivers 这一层中,上层是 LIN TP 层以及 LIN 调度表等实现。

图 2.1 LIN 模块 AutoSar 软件架构图

三、  LIN 模块的主要配置

下面介绍 LIN 模块的配置,首先需要使能我们需要使用的 LIN 模块。这里我们以 UART2 为例进行说明。对 MCU 模块进行配置,打开其中的 McuHwLpConfig 选项卡,勾选我们需要用到的 UART 模块。

图 3.1 使能 UART2 模块

接着打开 Port 模块配置 UART2 的引脚,具体如下图所示。主要配置将功能复用为 UART。

图 3.2 引脚配置

完成以上的配置后开始配置 LIN 模块,LIN 模块的配置比较简单,首先进行通用配置,主要是配置是否使能 LIN 波特率自动检测,如果需要则勾选上该选项。

图 3.3 LIN 模块通用配置

接着对 LIN 通道进行配置,关于配置项的具体说明如下:

(1)LinChannelId:LIN 的逻辑通道 ID

(2)LinChannelAutoBaudRate:配置是否开启普通模式下的自动波特率检测

(3)LinChannelIcuAbr:配置是否支持 ICU 模式下的自动波特率检测

(4)LinIcuAbrRefIcuChan:选择 ICU 通道

(5)LinChannelBaudRate:LIN 的波特率

(6)LinChannelMode:选择作为主机还是丛机

(7)LinChannelChecksumMode:选择校验模式,经典校验或者增强型校验,仅对丛机有效

(8)LinChannelStopBit:选择停止位的长度

(9)LinHrdChannel:选择使用哪个 UART

图 3.4 LIN 通道配置

四、  实际操作

完成以上配置后,我们需要编写相关的测试代码进行验证,具体的测试代码如下图所示。

图 4.1 LIN 模块测试代码

修改代码后编译并且烧录到板子运行,测试时我们需要用到 LIN 分析仪,在测试前需要将分析仪接上,如下图所示。

图 4.2 接上 LIN 分析仪

该 LIN 分析仪使用的上位机软件为 TCANLINPro,具体的安装介绍在此就不介绍,打开上位机,启动 LIN 模块,这里波特率的配置需要跟 MCAL 的 LIN 波特率配置保持一致。

图 4.3 启动 LIN 模块

接着设置丛机数据,收到 E3 的帧头信息后会按照设置的数据进行响应。

图 4.4 设置丛机响应数据

打开串口调试助手,输入测试命令“runcase 300”,可以看到上位机收到了 E3 发的报文,并且串口上也打印了 E3 收到的 LIN 报文数据。

图 4.5 串口信息

五、  使用限制

关于 E3 MCAL 的 LIN 模块有以下使用的限制:

  • E3 的 LIN 模块不支持唤醒睡眠机制,该驱动中对休眠唤醒接口的调用都只是修改相关通道的状态,并不会影响底层硬件电源。
  • E3 LIN 模块对发送报文的正确性进行校验仅支持在 SF 域的 GPIO。

六、  参考资料

1.《SemiDrive_E3_MCAL_User_Guide_Rev03.00.pdf》,2023.08

点击此处阅读更多系列文章吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值