基于SPMC75单片机的LIN Bus系统
扫描二维码
随时随地手机看文章
1.1 引言
LIN 是低成本网络中的汽车通讯协议标准,LIN(Local Interconnect Network)是低成本的汽车网络,它是现有多种汽车网络在功能上的补充由于能够提高质量、降低成本,LIN 将是在汽车中使用汽车分级网络的启动因素。LIN 的标准化将简化多种现存的多点解决方案且将降低在汽车电子领域中的开发生产服务和后勤成本。
LIN 标准包括传输协议规范、传输媒体规范、开发工具接口规范和用于软件编程的接口LIN在硬件和软件上保证了网络节点的互操作性并有可预测EMC的功能。
1.2 芯片简介
SPMC75系列MCU是凌阳科技公司设计开发的高性能16位通用MCU,具有很强的抗干扰性能、丰富易用的资源以及优良的结构,特别是增强的定时计数器和PWM输出功能。SPMC75系列MCU使用凌阳u'nSP内核,u'nSP内核是一种高效的16位CISC内核。支持乘法、乘法累加、32/16位除法、FIR等高性能运算;支持两种中断模式。可以方便的产生SPWM波、空间向量PWM(SVPWM)等各种电机驱动波形。
除了拥有高性能的CPU外,SPMC75系列MCU还集成了多种功能模块:多功能I/O口、同步和异步串行口、高性能ADC、普通的定时计数器、多功能的捕获比较模块、BLDC电机驱动专用位置侦测接口、两相增量编码器接口、能产生各种电机驱动波形的PWM发生器等。同时,SPMC75系列单片机内部集成了32K Words的Flash和2K Words的SRAM。利用这些硬设支持,SPMC75系列单片机可以完成诸如家用电变频驱动、标准的工业变频驱动器、多环的伺服驱动系统等复杂应用。
TJA1020(Philips)是LIN 主/从协议控制器和LIN(Local Interconnect Network)物理总线之间的接口,主要用作为车辆中的副网络。使用的波特率可从2.4 到20Kbits/s。TJA1020支持普通斜率和低斜率两种工作模式,并可在普通斜率模式以及低斜率模式间进行切换。TJA1020还支持睡眠模式,以减小系统功耗。
1.3 LIN总线简介
LIN(Local Interconnect Network) Bus是一种串行通讯总线,它有效地支持汽车应用中分布式机械电子节点的控制。它的使用范围是带单主机节点和一组从机节点的多点总线,其系统结构如图 1-1所示。LIN Bus系统主要特性有:
■单主机多从机组织(即没有总线仲裁),配置灵活;
■基于普通UART/SCI 接口的低成本硬件实现低成本软件协议;
■带时间同步的多点广播接收,从机节点无需石英或陶瓷谐振器,可以实现自同步;
■保证信号传输的延迟时间。可选的报文帧长度:2、4 和8 字节;
■数据校验和的安全性和错误检测,自动检测网络中的故障节点;
■使用最小成本的半导体组件(小型贴片,单芯片系统)。
■速度高达20kbit/s;
图 1-1 LIN Bus系统结构
1.4 LIN协议在SPMC75F2313A上的实现
LIN Bus是一种简单的单总线系统,其软件协议栈比较简单。一个LIN网络中有一个主机节点和一个以上的从机节点组成,所有的节点都包括有从机服务程序来发送和接收数据,仅有一个节点包含有主机服务程序。主机程序主要用于发送同步间隔、同步场和ID场(也可以是命令),用于控制和协调各个节点的有序无紊的通讯。
1.4.1 LIN信息传输
LIN信息是以报文的形式传送的。报文传输是由报文帧的格式形成和控制的。报文帧由主机任务向从机任务传送同步和标识符信息,并将一个从机任务的信息传送到所有其它从机任务。主机任务位于主机节点内部,它负责报文的进度表、发送报文头(HEADER)。从机任务位于所有的(即主机和从机)节点中,其中一个(主机节点或从机节点)发送报文的响应(RESPONSE)。
一个报文帧如图 1-2所示,是由一个主机节点发送的报文头和一个主机或从机节点发送的响应组成。报文帧的报文头包括一个同步间隔场(SYNCH BREAK FIELD)、一个同步场(SYNCH FIELD)和一个标识符场。报文帧的响应(RESPONSE)则由3 个到9 个字节场组成:2、4 或8 字节的数据场(DATA FIELD)和一个校验和场(CHECKSUM FIELD)。字节场由字节间空间分隔,报文帧的报文头和响应是由一个帧内响应空间分隔。最小的字节间空间和帧内响应空间是0,这些空间的最大长度由报文帧的最大长度TFRAME_MAX。
图 1-2 LIN 报文帧
1.4.2 LIN信息传输过程
LIN从机向主机传输数据示如图 1-3所示,整个过程在主机的协调下进行。
图 1-3 从机向主机传输数据
LIN主机向两个或两个以上的从机发送数据如图 1-4所示,整个过程在主机的协调下进行。
图 1-4 主机向两个或两个以上的从机发送数据
从机和从机之间传输数据如图 1-5所示,整个过程在主机的协调下进行。
图 1-5 从机和从机之间传输数据
1.4.3 LIN物理层控制
■ 同步间隔(SYNCHRONISATION BREAK)检测
为了能清楚识别报文帧的开始,报文帧的第一个场是一个同步间隔。同步间隔场(SYNCH BREAK FIELD)是由主机任务发送,它使所有的从机任务与总线时钟信号同步。同步间隔场有两个不同的部分如图 1-6所示。第一个部分是由一个持续TSYNBRK或更长时间(即最小是TSYNBRK不需要很严格)的显性总线电平。接着的第二部分是最少持续TSYNDEL 时间的隐性电平,作为同步界定符。第二个场允许用来检测下一个同步场(SYNCH FIELD)的起始位。最大的间隔和界定符时间没有精确的定义,但必须符合整个报文头THEADER_MAX 的总体时间预算,THEADER_MAX在表 1-1中定义。
图 1-6 同步间隔场
表 1-1 报文的定时
同步间隔场的显性电平长度至少为TSYNBRK(可以更长),这个时间是用主机位定时来测量。最小值应根据连接从机节点指定的最小本地时钟频率所要求的阀值而得出。
在SPMC75F2313A上,同步间隔里的各个时间测量都是通过捕获输入实现的。SPMC75F2313A的捕获输入可以很方便的测量TSYNBRK和TSYNDEL,并在检测完成后与TSYNDEL的下降沿同步。
■ 波特率测量
波特率测量是在LIN总线的同步场(SYNCH FIELD)进行的。同步场包含了时钟的同步信息。同步场的格式如图 1-7所示,它通过使UART发送"0x55"来实现,表现在8 个位定时中有5 个下降沿(即:"隐性"跳变到"显性"的边沿)。使用SPMC75F2313A的捕获输入功能可以很方便的测量出相邻两个下降沿之间的时间间隔,利用这个时间间隔就可以算出波特率。
图 1-7 同步场示意图
1.5 系统设计
系统电路原理框图如错误!未找到引用源。所示。电路由MCU控制核心电路和LIN接口两部分构成。
MCU控制核心电路主要由SPMC75F2313A实现,它主要完成LIN协议的实现和整个系统的控制。SPMC75F2313A集成有实现LIN总线结点的必要硬件,包括UART、捕获输入和足够的定时器。特别是其捕获输入功能,为LIN的帧头识别、帧同步和波特率测量提供了极大的便利。
LIN接口部分主要是由LIN物理层接口芯片TJA1020构成,它主要完成MCU通信信号与LIN物理总线信号之间的相互转换。为MCU提供一个与LIN物理总线的接口。
图 1-8 硬件原理图
1.6 结语
凌阳科技公司新推出SPMC75是一系列功能强大的工业级MCU,具有极强的抗干扰能力。其内部集成有高性能的ADC、增强型的定时计数器等功能部件,强大捕获比较功能和PWM生成功能使其在如LIN、RF Mode、IrA等通信领域有非常杰出的表现。用SPMC75系列MCU可以方便的构成各种简洁高效的通信系统。