一种can通信软件架构的制作方法

文档序号:7941177阅读:391来源:国知局
专利名称:一种can通信软件架构的制作方法
技术领域
本专利属于汽车电子控制领域,特别是涉及一种CAN通信软件架构。
背景技术
随着现代汽车工业和电子技术的飞速发展,消费者对于汽车功能的要求越来越多,汽车上所用的电控单元不断增多,为了有效解决汽车上越来越多的电子装置间的通讯问题,德国BOSCH公司在20世纪80年代初提出CAN总线这种新的串行数据通讯协议。CAN总线采用多主工作方式,节点之间不分主从,通信方式灵活,可实现点对点,一点对多点及广播式传输数据。CAN通过IS011898及IS011519进行了标准化,现在在欧洲已是汽车网络的标准协议。在CAN网络开发、测试及后期维护阶段,监控CAN网络中各项报文信息是关键技术之一,因此实时且从多个方面反映CAN网络的状态显得非常有意义。在已有的专利中也曾有对CAN总线监测系统的描述,如名为基于CAN总线的轮胎压力监测系统的专利(专利号ZL200420114975. 9),该专利发明的方法主要包括CAN总线接口模块,CAN总线测控系统的通信软件分为3部分CAN初始化,数据接收,数据发送,该发明涉及硬件,CAN通信软件部分需根据具体的硬件设计运用汇编语言进行编程,从而获取CAN通信软件,达到对CAN网络的监控,该CAN总线监测系统可移植性有一定局限。为了能简单、直观、准确,实时地对CAN网络进行监控,本发明提出了一种CAN通信软件架构。与已有的CAN通信软件架构设计相关专利比较,本发明的CAN通信软件架构具有操作方法简单,适用性强,系统功 能扩展容易,可靠性好的特点,只需要简单的参数设置,便可直观地观察CAN网络中各项报文信息以及网络状态。

发明内容
本发明提出的方法只需要简单的设置CAN通道接口、波特率以及报文解析文件,便可以直观明了显示CAN网络中所定义的各项报文及所包含信号的具体值,并且能够对报文进行多方面处理。所述队列状态机-生产消费者架构分为两部分主程序和若干子程序。主程序用来响应用户操作、CAN报文采集以及通过队列传送CAN报文给各个子程序。各个子程序通过队列接收主程序传送的CAN报文,并按照各自功能进行数据处理及显示。所述系统运行,主程序及各子程序分别进行初始化,之后整个系统进入空闲状态;然后,用户对系统进行配置,如系统参数配置,解析文件配置,配置文件的存储及读取。配置完毕,系统再次进入空闲状态;接着,用户控制系统开始采集CAN报文,此时主程序进入数据采集状态,同时通过队列形式把CAN报文传送给各子程序,各子程序进入数据处理状态;若用户选择历史日志文件,系统进入回放状态,主程序读取历史数据并传送给各子程序,以便再现历史状况;最后,用户可控制系统执行暂停功能,使系统跳转至空闲状态,或者执行停止功能,关闭系统。


图1为本发明提出的CAN通信软件架构流程图。图2为本发明提出的总线统计功能流程图。图3为本发明提出的信号信息显示流程图。图4为本发明提出的信号信息波形显示流程图。图5为本发明提出的报文统计功能流程图。图6为本发明提出的跟踪功能流程图。
具体实施例方式本CAN通信软件架构包含如下部分主程序和若干子程序。以下结合附图对本CAN通信软件架构各部分作进一步说明。图1CAN通信软件架构流程图中系统运行,主程序及各子程序分别进行初始化,之后整个系统进入空闲状态;之后,用户对系统进行配置,如系统参数配置,解析文件配置,配置文件的存储及读取。每次配置操作,系统会在队列中写入相应的状态,用以控制系统状态跳转。配置完毕,系统再次进入空闲状态,等待用户操作。图1CAN通信软件架构流程图中若用户发出运行命令,系统开始采集并保存CAN报文,此时主程序进入数据采集状态,同时通过队列形式把CAN报文传送给各子程序,各子程序进入数据处理状态,按照各自对CAN网络不同的监控功能,对CAN报文所包含的数据进行处理并显示结果。处理完 数据后,子程序跳转至空闲状态,等待下次主程序传送CAN报文;若用户选择读取历史日志文件,系统进入回放状态,主程序读取历史数据并传送给各子程序,以便再现历史状况。图1CAN通信软件架构流程图中用户可控制系统执行暂停功能,使系统停止监控CAN网络并跳转至空闲状态;或者执行停止功能,主程序通过队列发送停止状态至各子程序,同步停止所有程序并关闭系统。以下结合附图对本CAN通信软件架构各子程序模块进行详细说明。1、总线统计功能流程图如图2所示图2为CAN通信软件架构统计总线上各种帧的数据的流程图。系统运行,子程序经过初始化,对报文解析文件进行读取后,进入空闲状态。当主程序有报文传递时,子程序进入数据处理状态,对总线上四种数据帧(标准数据帧,扩展数据帧,标准远程帧,扩展远程帧)进行统计,并显示统计结果。处理完数据后,子程序跳转至空闲状态,等待下次主程序传送CAN报文。2、信号信息显示流程图如图3所示CAN通信软件架构详细显示所选信号的各项情况的流程图。系统运行,子程序经过初始化,对报文解析文件进行读取后,进入空闲状态。当主程序有报文传递时,子程序进入数据处理状态,详细显示所选信号的各项信息,包括信号的名称,信号的当前值,信号的单位,信号的最大值及最小值。处理完数据后,子程序跳转至空闲状态,等待下次主程序传送CAN报文。3、信号信息波形显示流程图如图4所示CAN通信软件架构波形显示所选信号的流程图。系统运行,子程序经过初始化,对报文解析文件进行读取后,进入空闲状态。当主程序有报文传递时,子程序进入数据处理状态,选择信号并且传递索引给图3子程序模块,本程序对所选信号进行实时的波形显示。处理完数据后,子程序跳转至空闲状态,等待下次主程序传送CAN报文。4、报文统计功能流程图如图5所示CAN通信软件架构实时显示总线中各个报文的发送频率。系统运行,子程序经过初始化,对报文解析文件进行读取后,进入空闲状态。当主程序有报文传递时,子程序进入数据处理状态,提取报文的详细信息并做数据统计,显示总线中各个报文的发送频率。处理完数据后,子程序跳转至空闲状态,等待下次主程序传送CAN报文。5、跟踪功能流程图如图6所示 CAN通信软件架构实时显示所有报文及信号当前值流程图。系统运行,子程序经过初始化,对报文解析文件进行读取后,进入空闲状态。当主程序有报文传递时,子程序进入数据处理状态,树形控件进行初始化,数据处理后,树形控件进行数据显示,包括信号名称、标识符、报文长度、及信号当前值,本程序实时显示所有报文及信号当前值。处理完数据后,子程序跳转至空闲状态,等待下次主程序传送CAN报文。
权利要求
1.一种CAN通信软件架构主要分为两部分主程序和若干子程序,主程序用来响应用户操作、CAN报文采集以及通过队列传送CAN报文给各个子程序,各个子程序通过队列接收主程序传送的CAN报文,并按照各自功能进行数据处理及显示,实现对CAN网络的实时监控。
2.首先,系统运行,主程序及各子程序分别进行初始化,之后整个系统进入空闲状态;之后,用户对系统进行配置,如系统参数配置,解析文件配置,配置文件的存储及读取;每次配置操作,系统会在队列中写入相应的状态,用以控制系统状态跳转;配置完毕,系统再次进入空闲状态,等待用户操作。
3.其次,若用户发出运行命令,系统开始采集并保存CAN报文,此时主程序进入数据采集状态,同时通过队列形式把CAN报文传送给各子程序,各子程序进入数据处理状态,按照各自对CAN网络不同的监控功能,对CAN报文所包含的数据进行处理并显示结果;处理完数据后,子程序跳转至空闲状态,等待下次主程序传送CAN报文;若用户选择读取历史日志文件,系统进入回放状态,主程序读取历史数据并传送给各子程序,以便再现历史状况。
4.最后,用户可执行暂停功能,使系统停止监控CAN网络并跳转至空闲状态;或者执行停止功能,主程序通过队列发送停止状态至各子程序,同步停止所有程序并关闭系统。
全文摘要
本发明提出了一种CAN通信软件架构,该方法基于整车CAN网络实时监控的要求,提出一种CAN通信软件架构,该架构分为两部分主程序和若干子程序。具体过程为系统运行,主程序及各子程序分别进行初始化,之后整个系统进入空闲状态;然后,用户对系统进行配置,之后系统再次进入空闲状态;接着,用户控制系统开始采集CAN报文,此时主程序进入数据采集状态,同时通过队列形式把CAN报文传送给各子程序,各子程序进入数据处理状态;若用户选择历史日志文件,系统进入回放状态,主程序读取历史数据并传送给各子程序,以便再现历史状况;最后,用户可执行暂停功能,使系统跳转至空闲状态,或者执行停止功能,关闭系统。
文档编号H04L12/40GK103067190SQ201110315798
公开日2013年4月24日 申请日期2011年10月18日 优先权日2011年10月18日
发明者朴昌浩 申请人:朴昌浩, 陈璐, 曹菊
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1