原创 BabyLIN产品如何轻松搞定K线协议实现?

2023-12-6 14:42 254 0 分类: 汽车电子 文集: 汽车电子

来源:虹科汽车电子 虹科技术丨BabyLIN产品如何轻松搞定K线协议实现?

原文链接:https://mp.weixin.qq.com/s/LR7VHFQajjyw6s6bVDJmsg

欢迎关注虹科,为您提供最新资讯!

 

导读

为了实现K线通信,SDF-V3在协议部分中定义了新的协议类型KLine Raw。所有能够运行SDF-V3文件(LinWorks版本在V.2.29.4以上)并使用最新固件(固件版本在V.6.18以上)的BabyLIN设备都可以执行KLine Raw协议,本文将介绍BabyLIN产品的K线协议实现。

KLine Raw实现

与其他协议实现相同,需要在SessionConf中新建Protocols,定义KLine Raw类型协议。

在协议中可以自定义服务,Service由请求帧和响应帧组成。通过在属性中选择Request only,则可以省略响应帧的定义。

使用K线协议的LIN总线接口的波特率和字节格式可以通过宏命令Set Speed (Write Speed)进行修改。

请求帧的定义

K线协议中帧的长度可以是常量、变量或从信号中检索的值。如果将帧长度定义为变量,帧长度由实际映射的长度来计算。

1. 常量映射

如下图所示,常量映射的步骤为:首先添加一个映射项(1),然后定义该映射项的起始位置和大小(2),然后定义该映射项的常量值(3),最后保存数据(4)。

2. 信号映射

如下图所示,信号映射定义的步骤为:首先在右侧信号列表中选择所请求的信号(1),将其添加到映射列表(2),并最终将偏移量调整为有效载荷(3),添加好本帧中需要的所有信号后点击OK完成(4)。

两种有效载荷定义方法可以结合在一起,在这种情况下,首先应用常数映射,然后合并信号映射;帧的未映射区域将用通用协议属性中给出的填充字节填充。

响应帧的定义也以同样的方式进行,只是常量负载映射在这里没有意义。

启动K线通信

LIN总线通信启动时,将自动启动LDF的第一个调度或启动命令给出的调度。在LIN总线上使用K线通信时,应该使用空调度表的方式进行。需要在LDF中设置一个仅诊断请求帧的调度表,用来启动总线。由此来运行一个“空”调度,然后可以使用宏命令执行K线协议服务,在总线上传输和接收K线帧。默认情况下,LIN总线启动将产生唤醒脉冲事件。若想避免这一点,可以通过在Virtual Signal中将系统信号@@SYSCFG307的初始值设置为5来实现。

注意:BabyLIN系列产品的K线通信实现需要额外激活,请联系虹科获取激活方式。

总结

虹科LIN总线仿真测试解决方案,基于Baby-LIN系列产品,能够对LIN、CAN节点/系统进行主从仿真和分析,支持基于事件的信号配置、顺序控制、错误判断和触发动作,广泛用于汽车零部件和生产线测试。产品都配有免费的LINWorks软件,在测试件的功能操作与软件界面之间建立起友好交互。此外,虹科也支持定制二次开发、测试服务,欢迎联系虹科获取更多详细资料!

 

作者: 虹科电子科技, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3975829.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

给作者打赏,鼓励TA抓紧创作!

赞赏支持
点赞 0
赞赏0

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
0
1
2
3
4
5
6
7
8
9
0
关闭 站长推荐上一条 /5 下一条