微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 汽车电子 > 量子框架的FlexRay时钟同步功能建模

量子框架的FlexRay时钟同步功能建模

时间:05-13 来源:互联网 点击:
3 基于量子框架的行为建模

3.1 有限状态机的设计

有限状态机是对描述对象的抽象描述,它把对象模型分解成一些能够进行读/写操作或者等待外部事件的状态,并且能够由外部事件引起对象状态的转换,即在当前状态下,由外部事件的发生并在满足某些条件的情况下,进入第2个状态。

3.2 对象分析

根据节点配置的不同功能,FlexRay内部的各个模块表现为不同的状态变化。在一个系统的众多节点中,包括数量有限的冷启动节点(cold start node)和普通节点。冷启动的节点分成2种:一种是启动整个集群的主冷启动节点(1eading cold start node);另一种是根据其他冷启动节点的参数来完成启动的从冷启动节点(following coldstart node)。这里只讨论节点作为从冷启动节点的情况。

3.3 活动对象建模

如上所述,每个活动对象都是作为一个相对独立的任务来处理的。量子框架起到了软件总线的作用,系统的功能扩展、分解、集成比较容易,可以方便地进行升级、裁剪。将FlexRay系统按功能模块分解成3个活动对象,如图5所示。



3.3.1 通信接口及控制活动对象

这个活动对象包括CHI和POC两个模块。CHI是主机和FlexRay内核通信接口。在实现时钟同步过程中,该模块主要是接收MTG的内部时钟和CSP 发送的当前接收同步帧的溢出信号,以及向CSP发送外部频率/相位修正值。POC是FlexRay内核非常重要的控制模块,负责协调节点内各个功能模块有效地运行。根据节点时钟同步流程,建立有限状态模型,如图6所示。



如图6所示,节点首先对两个模块进行初始化;当接收到主机配置指令后,进行内部功能配置;完成后进入节点启动状态,最后转换到运行状态。如果在运行状态接收到主机的外部修正值时,则活动对象发送vExternRate—control和vExternOffsetControl两个变量到CSP模块,用于节点内部时钟修正。

3.3.2 内部时钟控制活动对象

此活动对象包含CSS、CSP和MTG三个功能模块,是时钟同步机制的主要组成部分。这里考虑作为从冷启动节点的时钟同步过程,所以采取使用其他主冷启动节点的同步化参数参来启动,调整内部时钟,从而实现系统中各个节点间的时钟同步,如图7所示。



上电后,活动对象处于默认状态。当接收到主机集群启动指令后,进入等待启动状态并建立CSS实例和对测量偏差的变量初始化;在接收两个启动帧后,节点启动内部时钟。当接收到其他冷启动节点的时钟信息同步帧后,采集节点间时间偏差,采用容错算法计算出频率和相位的修正值并发送给MTG模块,从而完成与主冷启动节点的时钟同步。

3.3.3 总线接口控制活动对象

此活动对象是FlexRay内核与外部总线的接口,完成对发送数据信息的编码发送和对接收数据的解码及识别。考虑到静态段采用TMDA方式进行传输,且时钟同步采用接收数据帧的方式,这里只根据数据帧的接收及解码过程建立有限状态模型,如图8所示。



图8中,活动对象在接收到相应信号的空闲标志信号cE Start后,开始对数据帧进行解码,依次对数据帧的起始标志和帧头段进行解码;然后是静态段以及周期内其他部分的解码。通过检查数据帧、符号时序和语法来判断当前接收数据的有效性。

3.4 活动对象交互

在节点集群启动过程中,分解的活动对象彼此之间要发生信息交互,如图9所示。



节点通过通信接口控制对象启动内部模块,并发出集群启动的指令(attempt integration),等待接收主冷启动节点发出的启动帧。首先,总线接口控制对象接收到第一个有效偶数启动帧(valid even startup frame)后,通知内部时钟控制对象集群启动;当接收下一个有效奇数启动帧(valid odd startup frame),并把当前启动的状态信息发送给其他的两个对象,在两通道完成同步帧的接收后,内部时钟模块调用内部宏单元计算频率和相位偏差,修正内部时钟使之和主冷启动节点同步,从而实现时钟同步,并把结果SyncCalcResult发送到协议控制器,后者根据结果来决定当前节点的工作状态。

4 软件结构

应用量子框架编写应用程序主要有3步:声明触发信号和事件;定义活动对象(任务);初始化量子框架并开始运行活动对象。基本结构如下:



5 结论

FlexRay是一种支持多种网络拓扑结构,高速可靠,尤其适用于汽车环境下的总线。其协议旨在应用于需要高通信带宽和决定性容错数据传输能力的底盘控制、车身和动力总成等场合,有很好的发展前景;而量子框架则提供了基于有限状态机的实现技术,能方便地将状态图转化成系统的程序代码。

参考文献

   1. 刘欣.杨志家 FlexRay 通信控制器收发功能的研究和实现 [期刊论文] -微计算机信息2007(17)
   2. 徐小良.汪乐宇.周泓 有限状态机的一种实现框架 [期刊论文] -工程设计学报2003(5)
   3. Samek Miro.敬万钧.陈丽蓉 嵌入式系统的微模块化程序设计--实用状态图C/C++实现 2004
   4. 李佳.田光宇.钮翔.陈全世 FlexRay 网络通信延迟时间分析 [期刊论文] -清华大学学报(自然科学版)2007(8)
   5. Rausch Mathias FlexRay设计、功能和应用 2006
   6. FlexRay communication system protocol specification.Version2.1 2005

作者:山东大学 姜文超  张承瑞
来源:单片机与嵌入式系统应用 2008 (12)

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top