本帖最后由 TechHolder 于 2019-8-8 22:56 编辑
AC781X LIN模块应用笔记
1 LIN模块介绍
1.1 LIN特性- 满足LIN 1.3、2.0、2.1、2.2协议规范
- 独立的帧头与应答处理
- 从机模式下可重新同步时钟
- 从机模式下具有16个标识符滤波器,支持过滤模式或掩码模式
- 小数波特率发生器
- 3种工作模式(初始模式、正常模式、休眠模式)
- 错误检测
1.2 主机模式
LIN是基于UART/SCI的低成本串行通信协议,总线传输位速率最高为20Kbsp。LIN网络分为主机与从机,主机负责调度总线上数据的传输顺序,监测总线数据,处理异常,向从机提供参考时钟;从机监测总线的标识符是否与自己相匹配,匹配则应答或接收数据。
1.2.1 帧头处理 主机发送帧头,从机接收帧头。主机在发送帧头之前,应先配置数据标识符、数据方向、数据长度、校验类型,然后将帧头发送出去。从机检测帧头接收,包括同步间隔、同步间隔分隔符、同步段以及标识符,并分析标识符是否匹配通过滤器预先的设置,如果通过,则应答或接收数据。
1.2.2 应答处理 当主机请求读取从机数据时,主机负责发送帧头,从机检测到合法的帧头之后,应答数据,主机对应答数据进行处理。 备注: 当主机请求从机数据时,主机与从机的对应配置只有方向相反,其他都一样(包括标识符、数据长度、校验类型)。
1.2.3 过滤器
具有16个数据标识符,过滤器可以分为过滤模式与掩码模式,过滤模式下可最多配置16个标识符,即每个滤波器标识一个标识符,如果想配置更多的标识符,则通过掩码模式配置。在掩码模式下,奇数编号滤波器用作标识符寄存器,偶数滤波器用作掩码寄存器,掩码寄存器设置为1表示无关紧要,可忽略通过。
1.2.4 波特率 图1-1 LIN波特率计算公式 具体应用举例可参考【AC781x_ReferenceManual】LIN章节的8.4.3小节。
1.2.5 休眠唤醒 MCU进入休眠之后,LIN模块接收数据能够唤醒MCU。 表1-1 LIN支持唤醒低功耗模式 在进入休眠模式之前,需要对唤醒源进行配置,需要在SPM对应寄存器中使能期望的唤醒源,LIN模块默认是禁能状态。调用库SPM_EnableModuleWakeup(SPM_MODULE_LIN)使能LIN模块唤醒,就能将MCU从休眠模式中唤醒,Standby模式除外。
2 驱动库 2.1 驱动库
3 例程介绍 3.1 总述 共2个子例程用以阐述LIN的各种功能使用,包括基本收发数据,LIN唤醒休眠MCU。每个子例程对应着一个宏定义,子例程分为主机与从机,通过LIN_SAMPLE_SEL选择。
3.2 例程功能概述 表3-1 例程功能描述
欢迎各位坛友指正,后续会根据问题持续更新。
|