CN102608979B - Can总线调度分析及监控系统 - Google Patents

Can总线调度分析及监控系统 Download PDF

Info

Publication number
CN102608979B
CN102608979B CN2012100765428A CN201210076542A CN102608979B CN 102608979 B CN102608979 B CN 102608979B CN 2012100765428 A CN2012100765428 A CN 2012100765428A CN 201210076542 A CN201210076542 A CN 201210076542A CN 102608979 B CN102608979 B CN 102608979B
Authority
CN
China
Prior art keywords
message
bus
time
data
monitoring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2012100765428A
Other languages
English (en)
Other versions
CN102608979A (zh
Inventor
毛成勇
刘晓建
孙睿
闫旭琴
车晓波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Automation Shandong Academy of Sciences
Original Assignee
Institute of Automation Shandong Academy of Sciences
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Automation Shandong Academy of Sciences filed Critical Institute of Automation Shandong Academy of Sciences
Priority to CN2012100765428A priority Critical patent/CN102608979B/zh
Publication of CN102608979A publication Critical patent/CN102608979A/zh
Application granted granted Critical
Publication of CN102608979B publication Critical patent/CN102608979B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Small-Scale Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种CAN总线调度分析监控方法,它包括的步骤是:a)采集CAN总线上的信息,对信号矩阵中消息帧进行编辑,确定消息帧中消息的属性;b)获取某个消息帧信号矩阵中消息的属性;c)判断Dm是否小于Tm,Tm为某个消息帧的周期,若小于则对出现忙周期的消息进行调度优化;同时,对是否出现传输错误做出判断,若有,则对出现传输错误的消息进行优化,若Dm不满足小于Tm以及没有出现传输错误,则直截执行步骤d);d)经步骤c)得出信号矩阵中各消息的可调度性和总线的利用率;e)信号矩阵进行总线传输过程中,利用监控模块同步对总线上的消息进行实时监听和分析,利用日志模块实现自动记录CAN消息数据。

Description

CAN总线调度分析及监控系统
技术领域
本发明涉及一种CAN总线应用领域,尤其涉及一种CAN总线调度分析监控方法及系统。
背景技术
目前,国内整车厂和研发单位在汽车电子控制单元(ECU)的开发过程中,对于CAN总线消息的分析和实时监控主要应用的是德国Vector公示开发的CANoe软件及其配套的CAN接口卡。而CANoe软件是一个大型的,覆盖面比较广的软件系统,他对于整车电子系统的开发功效是非常大的;
在汽车的分布式嵌入式系统中,目前主流的通信网络是CAN总线。CAN是事件触发的通信协议,它根据消息的优先等级和节点的状态自动地调度消息的传送。低优先级的消息会因同时发生的高优先级消息太多而不能及时发送,高优先级消息也有可能由于节点状态等的影响而丢失。
Tindell首先将单处理器的任务调度方法改造成适用于CAN总线的调度方法,求取消息的最坏响应时间。CAN通信在网络上的实现经过2个阶段:(1)通信任务将消息发到发送的通信控制器(CC),(2)发送的通信控制器将消息发到接收的通信控制器。广义地讲,响应时间是从需要产生通信的事件发生到消息到达目标节点的时间,包括发送节点host内的处理时间,host到CC的时间,总线上消息仲裁传送时间,接收CC到目标节点host的处理时间。仲裁获胜的消息开始传送后,便不能被中止,所以CAN调度是固定优先级非抢先式的任务调度。
通过对算法描述,可以了解到如下内容:
设M为信号矩阵,m是信号矩阵M中的一个消息。通常消息m的最差响应时间Rm由三部分构成:
●队列抖动时间(queuing Jitter)Jm,即从消息产生到进入队列,准备在总线上发送的最长时间间隔。这段时间通常依赖于发送消息的任务的调度情况,与总线调度无关。因此,这段时间通常被认为是一个保证消息传输的最大松弛时间,在计算时通常假定为0。
●队列延迟(queuing delay)wm,即消息成功的在总线上传输之前,在CAN控制器或设备驱动队列中逗留的时间。这段时间包括两部分,即由于低优先级消息正在总线上传输所引起的阻塞时间Bm和由于高优先级消息抢占发送所引起的干扰时间Im
●传输时间Cm
●消息的周期用T表示,消息m的周期就表示为Tm。
因此消息m的最差响应时间Rm为:
 Rm=Jm+wm+Cm   (1)
其中wm=Bm+Im。阻塞时间
Figure BDA0000145668990000021
lp(m)是所有优先级低于m的消息的集合。
hp(m)是所有优先级高于m的消息的集合。上述公式是递归单调,可以通过迭代方法计算:
计算队列延迟的计算公式:
Figure BDA0000145668990000023
初始值为 w m 0 = B m , 终止条件为
J m + w m n + 1 + C m > D m , 表明消息m不可调度。或
Figure BDA0000145668990000026
表明消息m的最差响应时间是
Figure BDA0000145668990000027
上述计算中τbit是在CAN总线上传输一个位所需时间。比如对于1Mbps的CAN总线,τbit=10-6秒。
传输时间Cm依赖于消息的大小、总线的波特率以及CAN消息的位填充机制(stuffing)。由于CAN消息分为标准格式和扩展格式,因此消息的大小有所不同。考虑了这些因素之后的传输时间计算如下:
Figure BDA0000145668990000028
对于标准格式,g=34,对于扩展格式g=54,Sm为消息m的大小,即消息的数据字节数。
在计算Rm时,由于Jm与总线调度无关,因此我们通常假定Jm=0,或用Dm-Rm来确定最大允许的松弛时间Jm
通过对可调度性分析,可以了解到如下内容:
要保障实时系统的有效调度必须满足两个条件:①消息从产生到被目标结点正确接收的总时间(即最糟糕响应时间R)必须小于或等于消息截止期;②一个进入排队窗口的消息必须在下一个消息到来之前发送出去,否则没有及时传送的消息会被下一个周期的该消息所覆盖。设Dm为消息m的截止时间,因此得到可调度性判据:
Rm≤Dm≤Tm
此外,CAN总线的带宽有一定限额(≤1Mbps),要实现系统可调度还必须保证总线利用率不超过1,总线利用率是各个消息的总线利用率的总和,消息i的总线利用率定义为
Figure BDA0000145668990000031
则消息个数为n的总线利用率为:
U = Σ i n C i T i - - - ( 5 )
n为消息矩阵中消息的总数。
因此,需保证U≤1。
经过上述分析得出固定优先级消息系统可调度判定定理:当且仅当固定优先级消息系统满足以下两个条件:①系统的所有消息满足不等式Rm≤Dm≤Tm;②系统总线利用率U≤1,此时系统是可调度的。
通过以上所述,目前在CAN总线调度分析监控方面,还存在如下不足之处,
1、上面分析提供的算法是可调度性基本算法,若存在忙周期(所谓忙周期是指:在消息m被传送的过程中,有高优先级的消息进入队列,使得m的后续消息发送前可能插入更多的高优先级消息,产生一个对总线需求的高峰,从而可能是后面的消息m有更大的最坏相应时间),则需要针对忙周期做出优化。
2、另外,考虑到消息传输有可能出现错误重传。计算机终端通过CAN接口卡连接CAN总线上,需要对经过CAN总线传输的信号矩阵进行监控,对信号矩阵中的消息进行实时监视和分析。计算机终端接收到消息后,根据消息的ID,对该消息进行解析,包括分析出消息的名字、信号名、信号值等有效信息,以便用户监视消息及其信号的状态;因此需要完成该功能的分析系统。目前。我国对该方面的研究还较少,存在技术空白。
3、监控界面显示的数据实时性较强,在CAN总线数据高速产生时界面刷新过快,通常条件下,人工往往难以观察和记录数据。
4、CANoe软件是一个大型的,覆盖面比较广的软件系统,而对与一些单一的控制单元的开发,使用这样一套庞大的系统,对于那些基础条件比较薄弱的研发单位来说是一项比较大的资金投入。从使用来看,对于某些CAN总线消息调度性分析和监控,我们并不需要功能很全的CANoe软件,只需要能简单的消息帧的可调度性分析和监控网络报文的收发时间、报文内容等基本信息就可以满足应用的需求。目前,尚未有满足满足CAN总线测试要求,同时还能降低ECU开发成本,简单有效的CAN总线调度分析监控系统,
发明内容
本发明的目的就是为了解决上述问题,提供一种CAN总线调度分析监控方法及系统,它具有降低ECU开发成本,满足CAN总线测试要求的优点。
为了实现上述目的,本发明采用如下技术方案:
一种CAN总线调度分析监控方法,它包括的步骤是:
a)计算机终端通过USB接口连接到CAN接口卡上,然后将CAN接口卡连接到CAN总线上;采集CAN总线上的信息,通过利用信号矩阵,对信号矩阵中消息帧进行编辑,确定消息帧中消息的属性;
b)获取某个信号矩阵消息帧中消息的属性;
c)对于是否出现消息传输错误做出判断,若没有消息传输错误,则进行判断Dm是否小于等于Tm,所述Dm为某个消息帧截止时间,所述Tm为某个消息帧的周期,若小于等于则对出现忙周期的消息进行调度优化,出现消息传输错误,则对出现传输错误的消息进行优化,若Dm不满足小于Tm以及没有出现传输错误,则直截执行步骤d);
d)经步骤c)得出信号矩阵中各消息的可调度性和总线的利用率;
e)信号矩阵进行总线传输过程中,通过连接总线的CAN接口卡,利用监控模块同步对总线上的消息进行实时监听和分析,接收到消息后,根据消息的ID,对该消息进行解析,包括分析出消息的名字、信号名、信号值有效信息;利用日志模块实现自动记录步骤d)中得到的CAN消息数据,并提供多条件的查询界面供数据检索,以便用户监视消息及其信号的状态。
所述步骤a)中消息帧中消息的属性包括ID、Name、周期T、总线的速率SB、消息的数据字节数S和消息的截止时间D。
所述步骤b)中在矩阵中某个消息帧的属性包括周期T,总线的速率SB,消息的数据字节数S及消息的时间限制D。
所述步骤c)出现忙周期的消息进行调度优化
忙周期中最坏的情形是消息m刚发送,所有高优先级消息就进入队列,即领先于发完消息m后的第一个发送空隙的相位达到最大;这时消息m的最坏响应时间有两种可能:由Bm产生阻塞,此时就通过公式(1)-公式(4)求解消息m的最差响应时间;由Cm产生阻塞,此时求解消息m的最坏相应时间步骤如下:
(I)通过上面公式(2)-(4)计算出wm(0);
(II)用公式
Figure BDA0000145668990000051
初值: w m 0 ( 1 ) = T m - J m
结束条件: w m n + 1 ( 1 ) = w m n ( 1 )
得到: w m ( 1 ) = w m n ( 1 ) - ( T m - J m )
于是: w m = max ( w m n ( 0 ) , w m ( 1 ) ) - - - ( 7 ) .
根据公式(7)此wm,结合上述算法中的公式(1)、公式(4)、公式(5),计算总线是否满足以下两个条件:①系统的所有消息满足不等式Rm≤Dm≤Tm;②系统总线利用率U≤1,确定系统的可调度性。
由此看出,而公式(1)-(4)的算方法中只计算了消息m在不考虑忙周期的情况下的结果,此时可能出现实际总线上利用率超过100%的结果,从而导致总线无法进行正确的传输;
所述步骤c)所述传输错误的消息进行优化
利用
其中Em(t)是在时间t内总线上出现错误时的错误恢复开销函数;
Em(t)通过两种途径来确定:一是,在高噪声条件下,通过对CAN总线进行错误注入,通过实际的实验来确定;二是,通过建立统计学的模型来确定;
nerror表示在一个尽可能短的时间内的突发性错误;Terror表示在nerror发生后,到下一次错误发生前没有错误发生的时间段;则在某段时间t内,错误总数为:
Figure BDA0000145668990000061
对于消息m来说只有它自己的重传和高优先级消息才能造成延时,则产生的最大延时可表示为:
max ∀ k ∈ hp ( m ) ∪ { m } ( C k )
由CAN协议可知,在一个消息中,一个错误最多是29位,因此,错误恢复开销函数可以表示为:
Figure BDA0000145668990000063
所以wm可以表示为:
Figure BDA0000145668990000064
Figure BDA0000145668990000065
根据公式(9)此wm,结合上述算法中的公式(1)、公式(4)、公式(5),计算总线是否满足以下两个条件:①系统的所有消息满足不等式Rm≤Dm≤Tm;②系统总线利用率U≤1,确定系统的可调度性。
所述步骤e),所述监控模块具体监听步骤为:
i)启动总线监控线程;
ii)利用开源CAN总线监控工具包,设置监听的波特率和通道,并启动线程轮询调用方法接收CAN数据;
iii)程序轮询调用方法获得接收到的CAN数据;将收到的数据存入链表供界面刷新使用,并将数据追加至日志对象缓冲链表,然后继续轮询监听CAN数据;
vi)界面程序启动单独的界面刷新线程轮询读取缓冲池链表,当缓冲池链表中存在数据时,读取协议设计工具中定义的数据矩阵,取得当前消息的名称并进行数据显示;
v)停止监听或关闭监控程序模块。
所述步骤e),所述日志模块具体步骤为:
1)总线监控模块收到数据后,首先将日志数据记入内存缓冲区,
2)每隔10s钟读取缓冲区的数据,对日志界面进行更新,
3)日志缓冲区中若有数据记录,将缓冲区中的数据使用dom4j组件的SAX接口写入日志模块,
4)清空缓冲区后写入日志模块后。
一种CAN总线调度分析监控方法的系统,它包括:
界面模块:用于编辑CAN总线系统信号矩阵输入消息帧,消息帧包括的ID、Name周期T总线的速率SB消息的数据字节数S及消息的时间限制D属性;
总线可调度性分析模块:用于获取界面模块中的信号矩阵中消息的周期T,总线的速率SB,消息的数据字节数S及消息的时间限制D;
总线监控分析模块:对界面模块中信号矩阵进行总线传输,通过CAN接口卡连接总线,对总线进行监控;
日志模块:根据总线监控分析模块中得出的信息进行CAN总线分析;观察和记录数据,得出CAN消息的可调度性,为总线设计提供依据,也为检验已有的总线协议是否提供实时性确保。
本发明的工作原理:
本发明根据跟定一组CAN消息的周期(T)、总线的速率(SB)、消息的数据字节数(S)和消息的时间限制(D)来分析CAN消息的可调度性,即计算信号矩阵中每个消息的最差响应时间。通过可调度性分析,可以为总线设计提供依据,也可检验已有的总线协议是否提供实时性确保。相对现有的分析工具,本发明中的可调度性分析工具所采用的算法进行了两个方面的优化:(1)考虑了“忙周期”(busy period)(2)消息的错误恢复。有关忙周期的优化主要是考虑到当Dm<Tm时,有可能在忙周期内出现消息m的多个实例,而上面的计算方法只计算了m的第一个实例的最差响应时间,因此有可能出现过于乐观的结果;有关错误恢复的优化是考虑到消息传输有可能出现错误重传。本发明也可单独的进行信号矩阵的编辑和对已经存在的信号传输进行监控
本发明的有益效果:
1、目前,国内整车厂和研发单位在汽车电子控制单元(ECU)的开发过程中,对于CAN总线消息的分析和实时监控主要应用的是德国Vector公示开发的CANoe软件及其配套的CAN卡。而CANoe软件是一个大型的,覆盖面比较广的软件系统,对与一些单一的控制单元的开发,使用这样一套庞大的系统,对于那些基础条件比较薄弱的研发单位来说是一项比较大的资金投入。本软件在结合国内外相关技术优势的基础上,自主研发,能够实现与CANoe相关模块一样的功能,完全能够满足研发需求,从而大大降低ECU开发成本,满足CAN总线测试要求。
2、通过实时监控系统,可以实现CAN总线的在线监测,在线测试功能。
3、通过可调度性分析,可以为总线设计提供依据,也可检验已有的总线协议是否提供实时性确保。
4、降低ECU开发成本,满足CAN总线测试要求。
附图说明
图1为本发明的流程示意图;
图2A为本发明监控流程示意图;
图2B为本发明监控流程示意图;
图3为日志模块算法流程示意图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
图1、图2A、图2B、图3中,表示了一种CAN总线调度分析监控方法,它包括的步骤是:
a)计算机终端通过USB接口连接到CAN接口卡上,然后将CAN接口卡连接到CAN总线上;采集CAN总线上的信息,通过利用信号矩阵,对信号矩阵中消息帧进行编辑,确定消息帧中消息的属性;
b)获取某个信号矩阵消息帧中消息的属性;
c)判断Dm是否小于Tm,Tm为某个消息帧的周期,若小于则对出现忙周期的消息进行调度优化(公式(6)、(7));同时,对是否出现消息传输错误做出判断,若有,则对出现传输错误的消息进行优化(公式(8)、(9)),若Dm不满足小于Tm以及没有出现传输错误,则直截执行步骤d);
d)经步骤c)得出信号矩阵中各消息的可调度性和总线的利用率;
e)信号矩阵进行总线传输过程中,通过连接总线的CAN接口卡,利用监控模块同步对总线上的消息进行实时监听和分析,接收到消息后,根据消息的ID,对该消息进行解析,包括分析出消息的名字、信号名、信号值有效信息;利用日志模块实现自动记录CAN消息数据,并提供多条件的查询界面供数据检索,以便用户监视消息及其信号的状态。
步骤a)中信号矩阵消息帧中消息的属性包括ID、Name、周期T、总线的速率SB、消息的数据字节数S、消息的截止时间D。
信号矩阵中包括的如下消息和信号的基本属性并作下说明:
●ID:消息的标识符;
●Message:承载信号的消息,ID通常与消息直接关联;
●Transmitter:消息的发送者,是唯一的
●Receiver:消息的接收者,可能不唯一
●Signal:信号名
●Size:信号占据的比特位数。一个消息中所有信号的Size的总合范围在1~64;
●DLC:消息所占的字节数(bytes),取值范围是1~8;
●Pos:信号在消息中的位置。说明:一个CAN消息中的所有8个字节从0开始统一编号,因此Pos的范围是0~63;
●Description:对信号的文字解释;
●Unit:信号的单位。可能的单位是{bit,KPH,NM,M,M/SS,DEG,MM/H,RPM,Volts,%,Celsius,N/A}。它们的含义是
■bit:比特位,通常用来表示那些离散逻辑状态的信号
■KPH:公里/小时
■NM:牛米
■M:米
■M/SS:每秒速度变化率,即加速度单位
■DEG:角度
■MM/H:每小时多少平方毫米,雨量单位
■RPM:转/分
■Volts:伏特
■%:比率
■Celsius:摄氏度
■N/A:表示没有单位
■其它可能单位,再补充
●Resolution:精度。没有精度用N/A表示,若有精度,通常为Real数字。
●Offset:偏移量。为Real数字。
●Minimum:信号的最小值
●Maximum:信号的最大值
●Default_Value:缺省值,包括以下三类:
■At_Start_Default_Value:帧重起时信号的缺省值
■At_Timeout_Default_Value:帧丢失信号的缺省值
■Storage:是否有存储要求
●Mode:信号发送或接收的模式。有以下三种(互斥的):
■FixedPeriodic:严格的周期型。这时要指定周期。
■Event:事件型
■EventPeriodic:混合型,这时需要指定周期
●Trace:与该信号关联的分析模型中的端口。
数据的有效性:
●ID:必须为十六进制数,必须以“0x”开头的数字串,否则报错
●Message:字符串,中间不能出现空格,否则报错
●Transimitter:字符串,中间不能出现空格,否则报错
●DLC:数字,范围为1~8,否则报错
●Mode:提供下拉选择项,{FixedPeriodic,Event,EventPeriodic}。
●Signal:字符串,中间不能出现空格,否则报错
●Size:数字,范围为1~64,否则报错
●Pos:数字,范围为0~63,否则报错
●Description:字符串
●Unit:字符串。提供下拉选择项:{bit,KPH,NM,RPM,Volts,%,Celsius,N/A},若选择不到合适单位,用户可输入
●Resolution:只能输入”N/A”或Real型数字,否则报错
●Offset:只能输入0或自然数,否则报错
●Minimum和Maximum:只能输入Real型数字,否则报错
●At_Start_Default_Value:Real型数字,否则报错
●At_Timeout_Default_Value:Real型数字,否则报错
●Storage:字符串
●Receiver:字符串,多个字符串之间可以通过“,”分割。
●Trace:提供下拉式选择项,选择项形如:“ADLFunctionType::Port”,即选择与该信号对应的端口。端口信息来源于分析模型之后的结果。
步骤b)中某个消息帧信号矩阵中消息的属性包括周期T,总线的速率SB,消息的数据字节数S及消息的时间限制D,所述D某个消息帧截止时间。
步骤e),所述监控模块具体监听步骤为:
i)启动总线监控线程;
ii)利用开源CAN总线监控工具包XL Driver Library,通过JNI分别调用工具包的xlCanSetChannelBitrate和xlActivateChannel方法设置监听的波特率和通道,并启动线程轮循调用工具包中的xlReceive函数接收CAN数据;
iii)Java程序轮询调用getMessage方法获得接收到的CAN数据;Java程序将收到的数据存入链表Application.refreshBufferList供界面刷新使用,并将数据追加至日志对象缓冲链表,然后继续调用getMessage轮询监听CAN数据;
vi)Java界面程序启动单独的界面刷新线程轮询读取缓冲池链表Application.refreshBufferList,当缓冲池链表中存在数据时,读取协议设计工具中定义的数据矩阵,取得当前消息的名称并进行数据显示;
v)停止监听或关闭监控程序模块。
步骤e),所述日志模块具体步骤为:
1)总线监控模块收到数据后,首先将日志数据记入内存缓冲区,
2)每隔10s钟读取缓冲区的数据,对日志界面进行更新,
3)日志缓冲区中若有数据记录,将缓冲区中的数据使用dom4j组件的SAX接口写入日志模块,
4)清空缓冲区后写入日志模块。
一种CAN总线调度分析监控方法的系统,它包括:
界面模块:用于编辑CAN总线系统信号矩阵输入消息帧,消息帧包括的ID、Name周期T总线的速率SB消息的数据字节数S及消息的时间限制D属性;
总线可调度性分析模块:用于获取界面模块中的信号矩阵中消息的周期T,总线的速率SB,消息的数据字节数S及消息的时间限制D;
总线监控分析模块:对界面模块中信号矩阵进行总线传输,通过CAN接口卡连接总线,对总线进行监控;
日志模块:根据总线监控分析模块中得出的信息进行CAN总线分析;观察和记录数据,得出CAN消息的可调度性,为总线设计提供依据,也为检验已有的总线协议是否提供实时性确保。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

Claims (7)

1.一种CAN总线调度分析监控方法其特征是,它包括的步骤是: 
a)计算机终端通过USB接口连接到CAN接口卡上,然后将CAN接口卡连接到CAN总线上;采集CAN总线上的信息,通过利用信号矩阵,对信号矩阵中消息帧进行编辑,确定消息帧中消息的属性; 
b)获取某个信号矩阵消息帧中消息的属性; 
c)对于是否出现消息传输错误做出判断,若没有消息传输错误,则进行判断Dm是否小于等于Tm,所述Dm某个消息帧截止时间,所述Tm为某个消息帧的周期,若小于等于则对出现忙周期的消息进行调度优化,出现消息传输错误,则对出现传输错误的消息进行优化,若Dm不满足小于Tm以及没有出现传输错误,则直截执行步骤d); 
所述出现忙周期的消息进行调度优化: 
Figure FDA0000366774460000016
初值:
Figure FDA0000366774460000012
结束条件:
Figure FDA0000366774460000013
得到:
Figure FDA0000366774460000014
于是:
Figure FDA0000366774460000015
其中,wm为队列延迟;Bm为由于低优先级消息正在总线上传输所引起的阻塞时间;Jm为队列抖动时间;Tk为消息k的周期;Tm为消息m的周期;Im为先级消息抢占发送所引起的干扰时间;Ck为传输时间;τbit是在CAN总线上传输一个位所需时间;hp(m)是所有优先级高于m的消息的集合;
d)经步骤c)得出信号矩阵中各消息的可调度性和总线的利用率; 
e)信号矩阵进行总线传输过程中,通过连接总线的CAN接口卡,利用监控模块同步对总线上的消息进行实时监听和分析,接收到消息后,根据消息的ID,对该消息进行解析,包括分析出消息的名字、信号名、信号值有效信息;利用日志模块实现自动记录步骤d)中得到的CAN消息数据,并提供多条件的查询界面供数据检索,以便用户监视消息及其信号的状态。 
2.如权利要求1所述的CAN总线调度分析监控方法,其特征是,所述步骤a)中消息帧中消息的属性包括ID、Name、周期T、总线的速率SB、消息的数据字节数S和消息的截止 时间D。 
3.如权利要求1所述的CAN总线调度分析监控方法,其特征是,所述步骤b)中某个消息帧信号矩阵中消息的属性包括周期T,总线的速率SB,消息的数据字节数S及消息的时间限制D。 
4.如权利要求1所述的CAN总线调度分析监控方法,其特征是,所述传输错误的消息进行优化 
利用
Figure FDA0000366774460000021
Em(t)通过两种途径来确定:一是,在高噪声条件下,通过对CAN总线进行错误注入,通过实际的实验来确定;二是,通过建立统计学的模型来确定; 
nerror表示在一个尽可能短的时间内的突发性错误;Terror表示在nerror发生后,到下一次错误发生前没有错误发生的时间段;则在某段时间t内,错误总数为: 
Figure FDA0000366774460000022
对于消息m来说只有它自己的重传和高优先级消息才能造成延时,则产生的最大延时可表示为: 
由CAN协议可知,在一个消息中,一个错误最多是29位,因此,错误恢复开销函数表示为: 
所以wm表示为: 
Figure FDA0000366774460000025
其中Em(t)是在时间t内总线上出现错误时的错误恢复开销函数;Bm为由于低优先级消息正在总线上传输所引起的阻塞时间;wm为队列延迟;Jk为队列抖动时间;τbit是在CAN总线上传输一个位所需时间;Cm、Ck为传输时间;hp(m)是所有优先级高于m的消息的集合。 
5.如权利要求1所述的CAN总线调度分析监控方法,其特征是,所述步骤e),所述监控模块具体监听步骤为: 
i)启动总线监控线程; 
ii)利用开源CAN总线监控工具包,设置监听的波特率和通道,并启动线程轮询调用方法接收CAN数据; 
iii)程序轮询调用方法获得接收到的CAN数据;将收到的数据存入链表供界面刷新使用,并将数据追加至日志对象缓冲链表,然后继续轮询监听CAN数据; 
vi)界面程序启动单独的界面刷新线程轮询读取缓冲池链表,当缓冲池链表中存在数据时,读取协议设计工具中定义的数据矩阵,取得当前消息的名称并进行数据显示; 
v)停止监听或关闭监控程序模块。 
6.如权利要求1所述的CAN总线调度分析监控方法,其特征是,所述步骤e),所述日志模块具体步骤为: 
1)总线监控模块收到数据后,首先将日志数据记入内存缓冲区, 
2)每隔10s钟读取缓冲区的数据,对日志界面进行更新, 
3)日志缓冲区中若有数据记录,将缓冲区中的数据使用dom4j组件的SAX接口写入日志模块, 
4)清空缓冲区后写入日志模块后。 
7.一种如权利要求1所述的CAN总线调度分析监控方法的系统,其特征是,它包括: 
界面模块:用于编辑CAN总线系统信号矩阵输入消息帧,消息帧包括的ID、Name周期T,总线的速率SB,消息的数据字节数S及消息的时间限制属性D; 
总线可调度性分析模块:用于获取界面模块中的信号矩阵中消息的周期T,总线的速率SB,消息的数据字节数S及消息的时间限制D; 
总线监控分析模块:对界面模块中信号矩阵进行总线传输,通过CAN接口卡连接总线,对总线进行监控; 
日志模块:根据总线监控分析模块中得出的信息进行CAN总线分析;观察和记录数据,得出CAN消息的可调度性,为总线设计提供依据,也为检验已有的总线协议是否提供实时性确保。 
CN2012100765428A 2012-03-21 2012-03-21 Can总线调度分析及监控系统 Expired - Fee Related CN102608979B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012100765428A CN102608979B (zh) 2012-03-21 2012-03-21 Can总线调度分析及监控系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012100765428A CN102608979B (zh) 2012-03-21 2012-03-21 Can总线调度分析及监控系统

Publications (2)

Publication Number Publication Date
CN102608979A CN102608979A (zh) 2012-07-25
CN102608979B true CN102608979B (zh) 2013-11-27

Family

ID=46526432

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012100765428A Expired - Fee Related CN102608979B (zh) 2012-03-21 2012-03-21 Can总线调度分析及监控系统

Country Status (1)

Country Link
CN (1) CN102608979B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103941625B (zh) * 2014-05-08 2017-02-22 哈尔滨工业大学 Can总线数据传输监控系统
CN105528261B (zh) * 2015-11-30 2018-10-09 武汉烽火网络有限责任公司 一种嵌入式设备中智能输出调试信息的方法及系统
CN105897516A (zh) * 2016-06-21 2016-08-24 西安科技大学 网络应用层协议可调度性验证方法、监视系统及监视方法
CN107645455A (zh) * 2017-09-12 2018-01-30 天津津航计算技术研究所 一种can总线的消息传输调度方法
CN107977216B (zh) * 2017-11-21 2021-03-23 苏州蓝博控制技术有限公司 基于仪表进行组件程序更新的方法、系统及装置
CN109814816B (zh) * 2019-01-28 2022-06-24 先勒动力控制技术(上海)有限公司 在can总线上增加打印日志的系统及方法
CN112346432A (zh) * 2019-08-09 2021-02-09 北汽福田汽车股份有限公司 车辆监控方法,车载终端及车辆
CN111638874B (zh) * 2020-05-27 2023-05-16 江西五十铃汽车有限公司 基于Matlab软件的汽车控制器编码信息写入和读取方法
CN112436924B (zh) * 2020-11-17 2022-04-22 联想(北京)有限公司 一种数据传输方法及电子设备
CN112949247B (zh) * 2021-02-01 2022-05-20 上海天数智芯半导体有限公司 一种基于相位的芯片片上总线调度装置及调度方法
CN113515366B (zh) * 2021-04-09 2023-11-17 北京临近空间飞行器系统工程研究所 一种总线负载均衡处理方法、装置及存储介质
CN114531315B (zh) * 2022-01-18 2023-10-31 北京临近空间飞行器系统工程研究所 总线信息链的信息调度方法及调度装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101420350A (zh) * 2009-01-14 2009-04-29 中国科学院电工研究所 Ttcan总线网络时间主节点故障容错方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101420350A (zh) * 2009-01-14 2009-04-29 中国科学院电工研究所 Ttcan总线网络时间主节点故障容错方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CAN总线混合调度算法研究;吴铁洲等;《舰船电子工程》;20090430(第4期);116-118 *
吴铁洲等.CAN总线混合调度算法研究.《舰船电子工程》.2009,(第4期),
基于CAN总线的静态调度算法及其实验系统的研究;王毅新;《中国优秀硕士学位论文全文数据库 信息科技辑》;20060731(第7期);第二章2.1.2节,2.3.2节,2.5.2节、第三章3.3-3.5节、第四章4.1.3节,4.3节 *
基于TTCAN的汽车控制系统信息调度设计与分析;曹万科等;《农业机械学报》;20071231;第38卷(第12期);41-44 *
曹万科等.基于TTCAN的汽车控制系统信息调度设计与分析.《农业机械学报》.2007,第38卷(第12期),
王毅新.基于CAN总线的静态调度算法及其实验系统的研究.《中国优秀硕士学位论文全文数据库 信息科技辑》.2006,(第7期),

Also Published As

Publication number Publication date
CN102608979A (zh) 2012-07-25

Similar Documents

Publication Publication Date Title
CN102608979B (zh) Can总线调度分析及监控系统
CN107038280B (zh) 一种软硬件协同仿真的验证系统及其方法
CN102866971B (zh) 传输数据的装置、系统及方法
CN102687123A (zh) 高级通信控制器单元和用于记录协议事件的方法
CN102404306B (zh) 一种配置协议的方法及装置
CN110519374B (zh) ZigBee网络化工业控制系统的边缘计算方法及其边缘节点
CN102967815A (zh) 芯片测试方法、自动化测试机和系统
CN103576613B (zh) 与io单元进行通信的数值控制装置
WO2010000554A4 (en) Read data flow control in a cascade interconnect memory system
CN110658777A (zh) 基于hmi实现控制终端间通讯、交互及报警管理的方法
CN109862034B (zh) 数据传输处理系统、网关和数据传输处理方法
CN113726592A (zh) 一种边缘服务器的传输延迟测试方法、系统及相关组件
CN103106177B (zh) 多核网络处理器的片上互联结构及其方法
CN115657646B (zh) 一种can控制器的测试方法及装置
CN103577485A (zh) 主从模式查询系统及方法
CN102404183A (zh) 仲裁方法和仲裁器
CN115643124A (zh) 一种pc机模拟汽车can总线通信系统
CN101442458A (zh) 序列式数据发送系统及方法
CN112147918B (zh) 基于arm+fpga+dsp架构的异步数据交互方法及系统
CN102508805B (zh) 一种dvd机芯解码串口的通信方法
CN115190031B (zh) 一种can总线数据仿真系统
CN112835840A (zh) 一种串行通信系统
CN107528758A (zh) 一种高速can总线数据转换装置及其转换方法
CN116257391A (zh) 一种基于单线的swd调试系统及方法
Tang et al. Verification of CAN bus controller based on VIP

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131127

Termination date: 20160321

CF01 Termination of patent right due to non-payment of annual fee