26.3.2. lin_slave
26.3.2.1. 概述
本示例展示了 HPM LIN 外设在从机模式下的基本功能,包括:
支持 LIN 2.2A 协议规范
支持从机模式下的数据收发
支持增强型校验和模式
支持休眠和唤醒功能
支持总线空闲超时检测
支持最大 8 字节数据传输
26.3.2.2. 工作流程
初始化配置
初始化 LIN 引脚配置
配置 LIN 时钟为 20MHz
配置中断优先级
初始化发送数据缓冲区
主循环处理
等待主机请求
根据接收到的帧 ID 执行相应操作:
ID 0x31:接收 8 字节数据
ID 0x30:发送 8 字节数据
处理各类事件:
传输完成事件
唤醒事件
错误事件
总线空闲超时事件
中断处理
处理主机数据请求
处理传输错误
处理总线空闲超时
处理唤醒信号
处理传输完成
26.3.2.3. 硬件设置
本示例需要以下硬件:
一个 LIN 收发器
一个 USB_LIN 调试器(作为主机)
连接线缆
请参考具体开发板 引脚描述 部分的描述。 将开发板上的 LIN TX 和 RX 引脚与 LIN 收发器的 MCU 信号相连,将 USB_LIN 调试器与 LIN 收发器的 LIN 信号相连。
26.3.2.4. 运行现象
运行此程序,需要配置 USB_LIN 调试器:
配置调试器基本参数
选择正确的串口和波特率
点击”设置到调试器”按钮
配置主机通信参数
配置发送窗口参数
设置主机发送和接收配置
设置同步间隔(用于从机休眠模式唤醒)
点击”配置到调试器”按钮
当程序正确运行后,串口终端会输出如下信息:
LIN slave example
LIN bus timeout, will enter sleep mode
LIN wakeup
ID: 31, receive 8 bytes
0 1 2 3 4 5 6 7
ID: 30, sent 8 bytes
7 6 5 4 3 2 1 0
调试器窗口可以看到如下结果:
26.3.2.5. 调试建议
硬件连接检查
确保 LIN 收发器与开发板连接正确
检查电源和地连接是否可靠
波特率设置
确保主从设备波特率配置一致
默认波特率为 19200bps
数据帧格式问题
ID 不匹配:确认配置的 ID 与主机发送的 ID 一致
检查校验和模式配置是否匹配
常见错误分析
观察中断是否正常触发,检查状态寄存器以定位具体错误
使用示波器观察 LIN 总线信号波形