虹科技术 | BabyLIN产品如何轻松搞定K线协议实现?

概述:为了实现k线通信,sdf-v3在协议部分中定义了新的协议类型kline raw。所有能够运行sdf-v3文件(linworks版本在v.2.29.4以上)并使用最新的固件(固件版本在v.6.18以上)的babylin设备都可以执行kline raw协议。
1. kline raw协议实现
与其他协议实现相同,需要在sessionconf中新建protocols,定义kline raw类型协议。
在协议中可以自定义服务,service由请求帧和响应帧组成。通过在属性中选择request only,则可以省略响应帧的定义。
使用k线协议的lin总线接口的波特率和字节格式可以通过宏命令set speed (write speed)进行修改。
2. 请求帧的定义
k线协议中帧的长度可以是常量、变量或从信号中检索的值。如果将帧长度定义为变量,帧长度由实际映射的长度来计算。
2.1常量映射
常量映射的步骤:首先添加一个映射项(1),然后定义该映射项的起始位置和大小(2),然后定义该映射项的常量值(3),最后保存数据(4)。
2.2信号映射
信号映射定义步骤:首先在右侧信号列表中选择所请求的信号(1),将其添加到映射列表(2),并最终将偏移量调整为有效载荷(3),添加好本帧中需要的所有信号后点击ok完成(4)。
两种有效载荷定义方法可以结合在一起,在这种情况下,首先应用常数映射,然后合并信号映射;帧的未映射区域将用通用协议属性中给出的填充字节填充。
响应帧的定义也以同样的方式进行,只是常量负载映射在这里没有意义。
3.启动k线通信
lin总线通信启动时,将自动启动ldf的第一个调度或启动命令给出的调度。在lin总线上使用k线通信时,应该使用空调度表的方式进行。需要在ldf中设置一个仅诊断请求帧的调度表,用来启动总线。由此来运行一个“空”调度,然后可以使用宏命令执行k线协议服务,在总线上传输和接收k线帧。默认情况下,lin总线启动将产生唤醒脉冲事件。若想避免这一点,可以通过在virtual signal中将系统信号@@syscfg307的初始值设置为5来实现。
注:babylin系列产品的k线通信实现需要额外激活,请联系虹科获取激活方式。


蓝牙信号RSSI与信标测距分析及应用
国产网络安全主板金其利3A5000K1,高性能稳定保障网络安全
iPhone8曝光售价如吃了炫迈一般长不停,你还会买不停么?
中国头部3D打印药物公司三迭纪宣布与曙方医药合作
小米CC9e首发高通骁龙665处理器 AI性能得到了大幅提升
虹科技术 | BabyLIN产品如何轻松搞定K线协议实现?
云计算及大数据企业品高股份发布2021年报
声频率的前置放大器电路 (Amplifier of acou
英特尔首款Agilex FPGA已经面向早期客户出货
小米全新真无线蓝牙耳机:搭载蓝牙5.0芯片,配备7.2mm发声单元
手机处理器越高越好吗
iPhone 12相机模块不可通过第三方维修或更换
怎样用激光二极管传输UART数据
减少天线元件间相互耦合的方法
代币化将在区块链上实现所有权和世界资产民主化
中国星坤连接器通过YPEC协会认证USB- IF授权
nxp电源管理芯片的市场标准
怎样看电器原理图?
怎样使用Android手机的蓝牙控制机器人手臂
适合于高功率放大器系统的单元拓扑和数字控制原理研究