引言
随着汽车智能化程度的提高和迅 速升级换代的需要,汽车电子网络正在由集中式控制向分布式控制发展。LIN总线作为CAN总线的有效补充,以低速率和低成本的实现有效解决了分布式控制带来的成本增加问题。在笔者研制的车身分布式控制系统中,采用CAN总线和LIN总线连接各个控制单元,完成单元之间的数据交换,系统结构如图1所示。
图1 车身控制系统结构图
该车身控制系统包括车灯模块、车门模块、车内模块、控制面板模块和仪表盘模块,分别完成对相应负载的控制和监测,同时通过CAN总线完成数据交换。其中车灯模块和车门模块基于CAN/LIN总线以分布式的形式实现。本文重点论述的是LIN协议的实现。
LIN协议分析和状态机的设计
有限状态机是由一组状态、一个起始状态、输入以及将输入与当前状态转换为下一个状态的转换函数所组成,它是一个特殊的有向图,包括一些状态节点和连接这些状态的有向弧。对特定的状态机而言,首先要建立一些有效的状态,然后设计相应的算法完成状态的转换。
一个完整的LIN帧由间隔场、同步场、PID、数据场以及校验和场组成,LIN协议驱动器要实现的便是依序完成间隔场和同步场的检测、ID的发送和接收、数据场字节的发送和接收,最后完成校验。状态机形式与LIN协议数据链路层规范的定义相吻合,可以通过建立相 应的状态来描述相应的场从而描述整 个 LIN帧,且可以通过监控当前状态 ,按照当前接收到的字节切换其 状态,从而以状态转换的方式依序完成各个场的发送和接收。设计以下几个状态:IDLE、BREAK、SYNBYTE、IDENTIFY、TRANCEIVE和 CHECKS UM,设置标志位state反映LINdriver的状态,idle,pendin g,succe ss,当处于LIN正确通讯的中间状态时,state=pending,当LIN通讯失败,state=idle,当完成一次完整的LIN通讯,state=success。
状态的监控和转换是在UART接收中断服务程序中实现的。因为LIN总线采用单根线通信,UART外接LIN物理层收发器,所以当UART发送的总线数据和接收到的总线数据一样时,UART接收到的数据便是UART发送的数据,在接收中断服务程序中完成状态转换算法,如图2。通过判断当前状态和接收到的数据切换LINdriver的状态,同时更新标志位。
图2 LIN协议状态机
软件设计
软件设计流程如图3所示。首先进行初始化,主要包括UART模块的初始化和I/O脚初始化,设置波特率,使能接收中断,设置LIN物理层收发器相应I/O脚方向及电平,然后在UART接收中断服务程 序中以状态机的形式完成LIN通讯。下面结合LIN帧结构和LINdriver的状态转换对该状态机算法进行阐述。
图3 软件流程图
LIN帧以间隔场起始的,LIN- driver的起始状态为IDLE,此时state=idle。间隔场是一个13位0的场,引起接收中断同时置位UART模块的frameerror位,在UART接收中断服务程序中,判断接收到的数据为0x00且frameerror标志位为1时,便认为接收到了间隔场,这时LINdriver从IDLE切换到BREAK,state=pending。
同步场是一个0x55的字节,当前状态为BREAK时,如果接收到的数据为0x55,LINdriver切换为SYNBYTE,state=pending保持不变,否则切换为IDLE,state=idle;
PID是带奇偶校验的ID,它以低6 位 ID0-ID5表示ID,高两位P0、P1是对 该ID的奇偶校验,当前状态为SY NBYTE时 ,收到的数据便为PID。首先按照奇偶校验算法对PID进行校验,校验通过再按照应用层协议对该PID进行过滤,过滤成功则LINdriver切换为TRANCEIVE,校验失败或者过滤失败则LINdriver返回IDLE,state=idle;
当前状态为TRANCEIVE时,接收到的数据便是数据场中字节,当数据接收完毕,LINdriver切换为CHECKSUM。当前状态为CHECKSUM时,接收到的数据便为校验和场,校验成功,便置state=success, 表示成功地完成了一次LIN通讯,这时数据场中的数据是有效的,可以用于应用程序;校验失败表示LIN通讯失败,数据场中数据无效。
结语
本文针对普通单片机,借助于其片上UART,以状态机的形式实现了LIN协议驱动,降低了LIN的实现成本,运行可靠稳定,符合LIN总线以低成本作为CAN总线有效补充的 初衷。
关键字:LIN总线
引用地址:有限状态机在LIN总线开发中的应用
随着汽车智能化程度的提高和迅 速升级换代的需要,汽车电子网络正在由集中式控制向分布式控制发展。LIN总线作为CAN总线的有效补充,以低速率和低成本的实现有效解决了分布式控制带来的成本增加问题。在笔者研制的车身分布式控制系统中,采用CAN总线和LIN总线连接各个控制单元,完成单元之间的数据交换,系统结构如图1所示。
图1 车身控制系统结构图
该车身控制系统包括车灯模块、车门模块、车内模块、控制面板模块和仪表盘模块,分别完成对相应负载的控制和监测,同时通过CAN总线完成数据交换。其中车灯模块和车门模块基于CAN/LIN总线以分布式的形式实现。本文重点论述的是LIN协议的实现。
LIN协议分析和状态机的设计
有限状态机是由一组状态、一个起始状态、输入以及将输入与当前状态转换为下一个状态的转换函数所组成,它是一个特殊的有向图,包括一些状态节点和连接这些状态的有向弧。对特定的状态机而言,首先要建立一些有效的状态,然后设计相应的算法完成状态的转换。
一个完整的LIN帧由间隔场、同步场、PID、数据场以及校验和场组成,LIN协议驱动器要实现的便是依序完成间隔场和同步场的检测、ID的发送和接收、数据场字节的发送和接收,最后完成校验。状态机形式与LIN协议数据链路层规范的定义相吻合,可以通过建立相 应的状态来描述相应的场从而描述整 个 LIN帧,且可以通过监控当前状态 ,按照当前接收到的字节切换其 状态,从而以状态转换的方式依序完成各个场的发送和接收。设计以下几个状态:IDLE、BREAK、SYNBYTE、IDENTIFY、TRANCEIVE和 CHECKS UM,设置标志位state反映LINdriver的状态,idle,pendin g,succe ss,当处于LIN正确通讯的中间状态时,state=pending,当LIN通讯失败,state=idle,当完成一次完整的LIN通讯,state=success。
状态的监控和转换是在UART接收中断服务程序中实现的。因为LIN总线采用单根线通信,UART外接LIN物理层收发器,所以当UART发送的总线数据和接收到的总线数据一样时,UART接收到的数据便是UART发送的数据,在接收中断服务程序中完成状态转换算法,如图2。通过判断当前状态和接收到的数据切换LINdriver的状态,同时更新标志位。
图2 LIN协议状态机
软件设计
软件设计流程如图3所示。首先进行初始化,主要包括UART模块的初始化和I/O脚初始化,设置波特率,使能接收中断,设置LIN物理层收发器相应I/O脚方向及电平,然后在UART接收中断服务程 序中以状态机的形式完成LIN通讯。下面结合LIN帧结构和LINdriver的状态转换对该状态机算法进行阐述。
图3 软件流程图
LIN帧以间隔场起始的,LIN- driver的起始状态为IDLE,此时state=idle。间隔场是一个13位0的场,引起接收中断同时置位UART模块的frameerror位,在UART接收中断服务程序中,判断接收到的数据为0x00且frameerror标志位为1时,便认为接收到了间隔场,这时LINdriver从IDLE切换到BREAK,state=pending。
同步场是一个0x55的字节,当前状态为BREAK时,如果接收到的数据为0x55,LINdriver切换为SYNBYTE,state=pending保持不变,否则切换为IDLE,state=idle;
PID是带奇偶校验的ID,它以低6 位 ID0-ID5表示ID,高两位P0、P1是对 该ID的奇偶校验,当前状态为SY NBYTE时 ,收到的数据便为PID。首先按照奇偶校验算法对PID进行校验,校验通过再按照应用层协议对该PID进行过滤,过滤成功则LINdriver切换为TRANCEIVE,校验失败或者过滤失败则LINdriver返回IDLE,state=idle;
当前状态为TRANCEIVE时,接收到的数据便是数据场中字节,当数据接收完毕,LINdriver切换为CHECKSUM。当前状态为CHECKSUM时,接收到的数据便为校验和场,校验成功,便置state=success, 表示成功地完成了一次LIN通讯,这时数据场中的数据是有效的,可以用于应用程序;校验失败表示LIN通讯失败,数据场中数据无效。
结语
本文针对普通单片机,借助于其片上UART,以状态机的形式实现了LIN协议驱动,降低了LIN的实现成本,运行可靠稳定,符合LIN总线以低成本作为CAN总线有效补充的 初衷。
上一篇:射频技术在汽车轮胎压力监测中的应用
下一篇:C-NCAP你知道吗? 安全冠军的考验
推荐阅读最新更新时间:2024-05-13 21:01
基于LIN总线的车用无刷直流电机控制器设计
1 前言
随着汽车部件的电动化、自动化程度不断提高和对汽车电机的噪声、电磁兼容、效率的高要求,永磁无刷直流电机正在逐步替代有刷的永磁直流电机 。永磁无刷电机具有体积小、寿命长、效率高、结构简单、可靠性好等优点,利用它作为汽车部件的驱动执行元件可有效地提高汽车部件的性能。例如在Freightliner公司的M2系列商务车上,采用无刷电机驱动其空调系统的鼓风机,更好地调节了送风速度 。
由于汽车总线技术的日趋成熟,汽车内多个电机单元的控制方式正从传统的集中式线束控制向分布式总线控制转变。分布式总线控制可以减少线束,降低成本,便于各个电机控制单元和车内其它电控单元一起形成一个综合协调的控制系统,提高各控制单元
[嵌入式]
基于单片机的电动车蓄电池智能管理系统设计
引言 电动汽车的无(低)污染优点,使其成为当代汽车发展的主要方向。电动汽车的发展需要解决两大难题,即能量存储和动力驱动。由于短期内动力电池储能不足的问题难以解决,使能量管理技术成为电动汽车发展的关键。在传统充电技术中,常用的恒压充电、恒压限流充电、恒流充电等模式,都是由人工控制充电过程,大多存在着严重的过充电现象。充电质量的好坏,直接影响蓄电池的使用寿命。而新型蓄电池智能管理系统的设计,就是为了在线检测动力电池状态,提高充电质量和效率,使操作人员只担任辅助性工作。 740)this.width=740" border=undefined> 图1系统原理框图 管理系统的组成及硬件设计 本文设计的智能化管理系统是
[单片机]
基于LIN总线的纯电动车电池管理系统设计
磷酸铁锂电池作为新型电动汽车动力电池,具有容量大、安全性高、耐高温特别是循环寿命长等优点,其循环寿命比普通的铅酸电池至少要高4 倍,在车用动力电池的市场中具有极大的应用潜力。在现阶段动力电池的容量没有根本性突破的情况下,电池管理系统(battery management system,BMS)在电动车中的应用将显得异常重要,它能够实时检测动力电池的电压、电流、温度,并通过这些参数估算电池的荷电状态(state of charge,SOC),为驾驶员提供车辆续驶里程参考;此外BMS 能够对电池的过充、过放电进行报警和保护,对电池组和单节电池进行有效保护,从而提升电池使用性能、提高电池寿命。LIN 总线是一种低成本的汽车A 类
[嵌入式]
Freescale LIN总线应用开发平台
引言
在汽车电子系统中,主要存在如图1所示的几种网络协议。LIN主要应用低速( 20Kb/s)的车身控制环境,低速CAN多用于事件驱动的控制环境(125Kb/s),高速CAN( 500Kb/s),Flexray和Byteflight主要应用于时间驱动的同步高速控制环境,而D2B和MOST主要应用于汽车娱乐(图像和语音)的传输和控制。
就车身控制而言,主要的应用基于CAN/LIN总线协议。基于CAN总线车身控制,在汽车电子上已经有广泛的应用。随着车上总线节点的增加及高性能系统向中低档汽车的发展,CAN总线相对较高的实现成本就成为一种障碍。因此LIN总线随之产生。由于LIN硬件的实现是基于普通的串行通信接口(SCI),甚至
[嵌入式]
RIGOL MSO/DS4000数字示波器增加LIN总线触发和解码功能
普源精电(以下简称:RIGOL)宣布,为满足广大用户在汽车总线调试方面的需求,将于2015年12月8日正式发布基于MSO/DS4000系列数字示波器的LIN总线触发与解码功能。所有MSO/DS4000系列数字示波器产品在更新安装固件版本00.02.02.05.02后,即可增加LIN总线相关功能。原CAN总线解码功能的选件SD-CAN-DS4000更新为SD-AUTO-DS4000,同时支持CAN和LIN总线触发和解码功能。 LIN(Local Interconnect Network)是一种低成本的串行通讯网络,用于实现汽车中的分布式电子系统控制。SD-AUTO-DS4000提供LIN总线的解码功能,主要技术指标如下:
[测试测量]
- 热门资源推荐
- 热门放大器推荐
小广播
热门活动
换一批
更多
最新应用文章
更多精选电路图
更多热门文章
更多每日新闻
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况
更多往期活动
- 有奖活动|下载资料、预约视频 泰克 HDMI 2.1 测试方案
- #Micropython大作战#第一弹:动起来,大家一起来DIY
- 是德科技下载有好礼:高速数字测试修炼手册
- 阅读TI Think.lnnovate 神级DIY系列博文,你来畅想我送礼!
- TI直播| 低功耗技术在 Wi-Fi 摄像头及 PIR 红外传感器设计中的应用
- 【ST板卡来了(下)】 品读STM32实战经验,汲取FAE经验闯关去抽奖
- 已结束|Maxim IO-Link通信协议设计方案详解,5大优势助你轻松联网!
- e络盟限时福利|《e选》产品低至5折起,下单百元返现中!
- 有奖直播 | 微软 Azure Sphere助力稳定,安全和灵活的物联网解决方案
11月16日历史上的今天
厂商技术中心