740)this.width=740" border=undefined>
图 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。
740)this.width=740" border=undefined>
图 1-2 LIN 报文帧
1.4.2 LIN信息传输过程
LIN从机向主机传输数据示如图 1-3所示,整个过程在主机的协调下进行。
740)this.width=740" border=undefined>
图 1-3 从机向主机传输数据
LIN主机向两个或两个以上的从机发送数据如图 1-4所示,整个过程在主机的协调下进行。
740)this.width=740" border=undefined>
图 1-4 主机向两个或两个以上的从机发送数据
从机和从机之间传输数据如图 1-5所示,整个过程在主机的协调下进行。
740)this.width=740" border=undefined>
图 1-5 从机和从机之间传输数据
1.4.3 LIN物理层控制
■ 同步间隔(SYNCHRONISATION BREAK)检测
为了能清楚识别报文帧的开始,报文帧的个场是一个同步间隔。同步间隔场(SYNCH BREAK FIELD)是由主机任务发送,它使所有的从机任务与总线时钟信号同步。同步间隔场有两个不同的部分如图 1-6所示。个部分是由一个持续TSYNBRK或更长时间(即是TSYNBRK不需要很严格)的显性总线电平。接着的第二部分是少持续TSYNDEL 时间的隐性电平,作为同步界定符。第二个场允许用来检测下一个同步场(SYNCH FIELD)的起始位。的间隔和界定符时间没有的定义,但必须符合整个报文头THEADER_MAX 的总体时间预算,THEADER_MAX在表 1-1中定义。
740)this.width=740" border=undefined>
图 1-6 同步间隔场
740)this.width=740" border=undefined>
表 1-1 报文的定时
同步间隔场的显性电平长度至少为TSYNBRK(可以更长),这个时间是用主机位定时来测量。值应根据连接从机节点指定的本地时钟频率所要求的阀值而得出。
在SPMC75F2313A上,同步间隔里的各个时间测量都是通过捕获输入实现的。SPMC75F2313A的捕获输入可以很方便的测量TSYNBRK和TSYNDEL,并在检测完成后与TSYNDEL的下降沿同步。
■ 波特率测量
波特率测量是在LIN总线的同步场(SYNCH FIELD)进行的。同步场包含了时钟的同步信息。同步场的格式如图 1-7所示,它通过使UART发送"0x55"来实现,表现在8 个位定时中有5 个下降沿(即:"隐性"跳变到"显性"的边沿)。使用SPMC75F2313A的捕获输入功能可以很方便的测量出相邻两个下降沿之间的时间间隔,利用这个时间间隔就可以算出波特率。
740)this.width=740" border=undefined>
图 1-7 同步场示意图
1.5 系统设计
系统电路原理框图如错误!未找到引用源。所示。电路由MCU控制电路和LIN接口两部分构成。
MCU控制电路主要由SPMC75F2313A实现,它主要完成LIN协议的实现和整个系统的控制。SPMC75F2313A集成有实现LIN总线结点的必要硬件,包括UART、捕获输入和足够的定时器。特别是其捕获输入功能,为LIN的帧头识别、帧同步和波特率测量提供了极大的便利。
LIN接口部分主要是由LIN物理层接口芯片TJA1020构成,它主要完成MCU通信信号与LIN物理总线信号之间的相互转换。为MCU提供一个与LIN物理总线的接口。
740)this.width=740" border=undefined>
图 1-8 硬件原理图
1.6 结语
凌阳科技公司新推出SPMC75是一系列功能强大的工业级MCU,具有极强的抗干扰能力。其内部集成有高性能的ADC、增强型的定时计数器等功能部件,强大捕获比较功能和PWM生成功能使其在如LIN、RF Mode、IrA等通信领域有非常杰出的表现。用SPMC75系列MCU可以方便的构成各种简洁高效的通信系统。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。