一种基于蓝牙和OBD的CAN网络智能监测系统及监测方法与流程

文档序号:12491835阅读:459来源:国知局
一种基于蓝牙和OBD的CAN网络智能监测系统及监测方法与流程

本发明涉及一种基于蓝牙和OBD的CAN网络智能监测系统及监测方法。



背景技术:

随着汽车电子部件的增多和智能化程度的提高,CAN总线系统已经成为汽车的重要组成部分。在CAN网络中,CAN节点不分主从,可在任意时刻主动以报文形式向网络上广播数据。对CAN数据进行在线监测,根据汽车总线协议和网络矩阵表从总线报文中提取出相关信息,是了解汽车状态的重要手段。

OBD(On-Board Diagnostic)是车载诊断系统,用于监控发动机的运行状况和尾气后处理系统的工作状态,其诊断接口为统一的16针脚形式。各大汽车厂商在标准的16针OBD接口基础上,进行了信号定义,可以从中接出车身CAN和动力CAN,所以它不仅仅可以用于排放控制系统的诊断,还是一个数据源。通过OBD上的总线接口,可以对CAN数据进行在线监测。

由于CAN总线系统节点繁多,存在大量报文,而且很多报文的周期很短,因此CAN网络短期内便会产生巨大的数据量,但是用户往往只关注某些特定报文的数据和时序,所以需要进行智能监测,在大量的无关数据中提取有用的信息,并计算出报文的时序信息。一种常用的CAN总线数据监测手段是,CAN卡采集总线数据,通过USB接口连接到电脑,在电脑上通过专用软件查看并分析数据,这种方式成本高昂,而且便携性差,不利于现场测试。



技术实现要素:

本发明为了解决上述问题,提出了一种基于蓝牙和OBD的CAN网络智能监测系统及监测方法,该发明通过设定ID过滤区间,只显示用户关心的信息,避免了由于显示界面频繁刷新而很难捕捉到有用数据的缺点。

为了实现上述目的,本发明采用如下技术方案:

一种基于蓝牙和OBD的CAN网络智能监测系统,包括下位机、上位机和CAN网络,其中,所述上位机通过蓝牙连接下位机,所述下位机通过OBD线缆连接汽车的CAN网络,所述下位机以中断方式接收总线报文,接收CAN网络的总线报文,记录当前时间戳信息、报文ID、通道号和数据,组合成结构体,存入缓冲区,并定时将缓冲区中的结构体数据传输给上位机。

所述CAN网络包括汽车车身CAN网络和动力CAN网络。

所述上位机为移动终端,与下位机建立蓝牙连接,启动监测、接收总线报文、显示报文信息、设置显示模式、设定接收指定报文并存储总线数据。

所述下位机的时间戳包括毫秒计时数据和微秒计时数据,上位机根据毫秒计数值和微秒计数值计算出当前报文的接收时刻。

所述上位机以AT指令的方式命令下位机停止或启动报文监测,下位机停止或启动定时器和计时器,并停止或实时接收CAN报文。

所述上位机以动态模式显示总线报文,按照接收报文的时间先后顺序在界面上依次显示,显示条目格式为:报文接收时刻+通道号+报文ID+数据。

所述上位机以统计模式显示总线报文,每个报文ID对应一个显示条目,上位机根据报文的接收时刻计算出报文周期,定期刷新显示,显示条目格式为:报文周期+通道号+报文ID+数据。

所述上位机设定ID过滤区间,以AT指令的方式命令下位机只接收ID值位于过滤区间内的报文,下位机向上位机发送ID值位于过滤区间内的报文,上位机只显示ID值位于过滤区间内的报文。

一种基于蓝牙和OBD的CAN网络智能监测系统的监测方法,上位机通过蓝牙连接下位机,下位机通过OBD线缆连接汽车的CAN网络,下位机以中断方式接收总线报文,接收CAN网络的总线报文,记录当前时间戳信息、报文ID、通道号和数据,组合成结构体,存入缓冲区,并定时将缓冲区中的结构体数据传输给上位机,进行汽车信息的监测。

时间戳包括毫秒计时数据和微秒计时数据,上位机根据毫秒计数值和微秒计数值计算出当前报文的接收时刻,具体方法为:设毫秒值为M,微秒值为U,以微秒为单位的报文接收时刻为T,T的计算为:设在时刻T,计时器走过了N个完整的计时周期,N为整型数据,N=(M*1000)/65536,则T=(N*65536)+U。

本发明的有益效果为:

(1)本发明在移动设备上显示汽车总线网络数据,便携性强。

(2)设定ID过滤区间,只显示用户关心的信息,避免了由于显示界面频繁刷新而很难捕捉到有用数据的缺点。

(3)通过设计毫秒级和微秒级的时间戳,可以计算出精度达到微秒级的报文接收时刻和周期,用户能够得到关键的时序信息。

附图说明

图1为本发明的监测系统结构图;

图2为本发明的报文接收时刻计算方法图。

具体实施方式:

下面结合附图与实施例对本发明作进一步说明。

如图1所示,一种基于蓝牙和OBD的CAN网络智能监测系统,包括上位机和下位机两部分,下位机为实时嵌入式系统,集成两路CAN接口,通过OBD线缆接入汽车车身CAN和动力CAN网络,实时接收总线数据。同时,下位机是一个蓝牙设备,与上位机通过蓝牙协议进行数据交换。

上位机为支持蓝牙通信的平板电脑或蓝牙手机,它以移动APP的形式与下位机建立蓝牙连接、启动监测、接收总线报文、显示报文信息、设置显示模式、设定接收指定报文、存储总线数据。

车身CAN为通道1,动力CAN为通道2。

如图2所示,下位机以中断方式接收总线报文,接收到总线报文时,记录当前时间戳信息,和报文ID、通道号、数据组合成结构体,存入缓冲区。下位机定期将缓冲区中的结构体数据发送到上位机。

时间戳由两部分组成,一个是分辨率为1毫秒的毫秒滴答,一个是分辨率为1微秒的微秒滴答。

毫秒滴答是32位无符号整型数据,在一个周期为1毫秒的定时器的中断服务程序中进行维护,定时器启动时,设置毫秒滴答值为0,每隔一毫秒触发一次中断,在中断服务程序中,将毫秒滴答值加一。

微秒滴答是16位无符号整型数据,其数值等于一个模块时钟为1MHz的16位计时器的计时值,计时器启动时,计时值为0,每隔1微秒,计时值自动加一,计时周期为65536微秒,每隔一个计时周期,计时值自动从0开始重新计时。

上位机根据毫秒滴答值和微秒滴答值计算出当前报文的接收时刻。

假设毫秒滴答值为M,微秒滴答值为U,以微秒为单位的报文接收时刻为T,T的计算分为两步:

第一步,假设在时刻T,计时器走过了N个完整的计时周期,N为整型数据。

N=(M*1000)/65536 (1-1)

第二步,

T=(N*65536)+U (1-2)

上位机APP打开后,自动建立与下位机的蓝牙连接,也可以手动断开与下位机的蓝牙连接和手动连接下位机。

在上位机APP上启动在线监测,上位机以AT指令的方式命令下位机启动报文监测,下位机启动定时器和计时器,并实时接收CAN报文。

在上位机APP上停止在线监测,上位机以AT指令的方式命令下位机停止报文监测,下位机停止定时器和计时器,并停止接收CAN报文。

上位机和下位机断开蓝牙连接后,下位机停止定时器和计时器,并停止接收CAN报文。

上位机可以进行设置,以两种模式显示总线报文,一种是动态模式,按照接收报文的时间先后顺序在界面上依次显示,显示条目格式为:

报文接收时刻+通道号+报文ID+数据。

一种是统计模式,每个报文ID对应一个显示条目,上位机根据报文的接收时刻计算出报文周期,定期刷新显示,显示条目格式为:

报文周期+通道号+报文ID+数据。

上位机可以设定ID过滤区间,以AT指令的方式命令下位机只接收ID值位于过滤区间内的报文,下位机向上位机发送ID值位于过滤区间内的报文,上位机只显示ID值位于过滤区间内的报文。

上位机可以把在在线监测期间接收到的所有报文以文本文件格式存储起来,存储在固定的文件夹下,在事后进行查看或深入分析。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1