一种基于汽车CAN总线数据采集系统的数据采集方法技术方案

技术编号:14892804 阅读:630 留言:0更新日期:2017-03-29 01:59
本发明专利技术涉及一种基于汽车CAN总线数据采集系统的数据采集方法,其特征在于,通过汽车CAN总线数据采集系统进行数据采集,所述汽车CAN总线数据采集系统包括依次连接的系统CAN总线、CAN驱动器、CAN模块以及分别与CAN模块相连接的SD卡模块、LED模块、上位机交互模块。本发明专利技术将CAN总线发出的数据都放在同一个环形缓冲区,使用环形缓冲区可以使得读写数据并发执行,方便了缓存的使用和管理,提高了CAN总线的通信效率和通信能力,同时在上位机中使用本系统设置的命令来查看所需的CAN总线发送的时间和数据,提高了系统的实时性和可靠性,提高了通信效率,可以很好地满足实际应用的需要。

【技术实现步骤摘要】

本专利技术属于汽车电子
,具体涉及一种基于汽车CAN总线数据采集系统的数据采集方法
技术介绍
在汽车电子领域,整车网络化是最为重要的发展趋势。在网络化的情况下,各个电子系统采用统一的总线进行通信。如今,CAN总线已发展为车辆电子系统的主流总线,因此车载电子设备采用CAN通信标准交换数据是今后的发展方向。随着数字技术的进步,软件就是仪器的思想已广泛运用到各种领域的监测和控制系统中。将嵌入式计算机应用于汽车领域,用软件的方法实现汽车仪表和汽车信息系统,改善了仪表的精度、实时性和档次,使原来只有豪华级汽车才能采用的技术应用于针对普通消费者的汽车中,从而可以满足人们对汽车综合性能的要求。在这种情况下,现场采集数据是非常重要的。现场数据采集一般有两CAN总线与RS485总线两种有线组网方式,但是RS485采用主从多址轮询的方式,实现多址介入,轮询周期随着节点数量的增大而加长,影响数据传输的实时性。而CAN总线是一宗有效支持分布式控制或实时控制的串行通信网络,它可靠性高,且网络内的节点个数在理论上不受限制,各节点之间实现自由通信。因此,出现了基于CAN总线汽车数据采集的方法。作为目前最流行的现场总线技术之一的CAN总线,是一种串行通讯协议,是一种基于微控制器件的网络,其通讯接口中集成了CAN协议的物理层和数据链接层功能。基于CAN总线汽车数据采集的方法的缺陷在于:CAN总线会受到空间干扰、电源波动的影响,有时候会启动错误帧,通知发送器重发数据,同时丢掉错误的数据帧。另一方面,CAN总线在不同状态中节点的发送有不同的延迟。
技术实现思路
针对上述现有技术中存在的问题,本专利技术的目的在于提供一种可避免出现上述技术缺陷的基于汽车CAN总线数据采集系统的数据采集方法,以便在CAN通信设备驱动程序中,增强CAN通信的通信能力、提高通信效率。为了实现上述专利技术目的,本专利技术提供的技术方案如下:一种基于汽车CAN总线数据采集系统的数据采集方法,通过汽车CAN总线数据采集系统进行数据采集,所述汽车CAN总线数据采集系统包括依次连接的系统CAN总线、CAN驱动器、CAN模块以及分别与CAN模块相连接的SD卡模块、LED模块、上位机交互模块。进一步地,所述数据采集方法包括:系统CAN总线与汽车CAN总线对接,设置好波特率;CAN驱动器将采集到的CAN数据先保存到一个环形缓冲区里面,以供给多个模块调用;CAN模块从CAN驱动器中获取数据,将数据写入另一个环形缓冲区中,然后再将数据过滤转发给SD卡模块或LED模块或上位机交互模块;上位机交互模块接收CAN模块过滤转发的数据并进行分析处理,然后根据从电脑终端输入的命令来执行电脑终端命令数据操作。进一步地,所述电脑终端命令数据操作包括帮助命令、版本命令、显示数据命令、设置波特率、发送数据帧、设置过滤模式、实时发送数据。进一步地,所述CAN模块包括槽,所述槽内包括CAN过滤器和环形缓冲区。进一步地,所述SD卡模块包括互相连接的微处理器和SD卡,所述微处理器与CAN模块相连接。进一步地,所述LED模块包括互相连接的微处理器和LED,所述微处理器与CAN模块相连接。本专利技术提供的基于汽车CAN总线数据采集系统的数据采集方法,将CAN总线发出的数据都放在同一个环形缓冲区,使用环形缓冲区可以使得读写数据并发执行,方便了缓存的使用和管理,提高了CAN总线的通信效率和通信能力,同时在上位机中使用本系统设置的命令来查看所需的CAN总线发送的时间和数据,提高了系统的实时性和可靠性,提高了通信效率;本专利技术可以实时采集车辆状况的数据,并通过CAN总线把数据传至上位机,上位机动态显示数据变化,同时采集器的命令可由上位机进行设定,比如可以设置CAN总线工作模式的波特率,使采集器和汽车CAN总线互相通讯;也可以通过设置过滤模式进入ID列表,了解它有哪些ID的数据帧是已经发送过来的,还可以将这些采集到的数据保存到SD卡指定的文件或新生成的文件中,可以很好地满足实际应用的需要。附图说明图1为汽车CAN总线数据采集系统的结构框图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本专利技术做进一步说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。一种基于汽车CAN总线数据采集系统的数据采集方法,通过汽车CAN总线数据采集系统进行数据采集,如图1所示,所述汽车CAN总线数据采集系统包括依次连接的系统CAN总线、CAN驱动器、CAN模块以及分别与CAN模块相连接的SD卡模块、LED模块、上位机交互模块Mutual;所述SD卡模块包括互相连接的微处理器stm32和SD卡,所述微处理器stm32与CAN模块相连接;所述LED模块包括互相连接的微处理器stm32和LED,所述微处理器stm32与CAN模块相连接。所述基于汽车CAN总线数据采集系统的数据采集方法包括以下步骤:系统CAN总线与汽车CAN总线对接,设置好波特率;CAN驱动器将采集到的CAN数据先保存到一个环形缓冲区里面,以供给多个模块调用;CAN模块从CAN驱动器中获取数据,将数据写入另一个环形缓冲区中,然后再将数据过滤转发给SD卡模块或LED模块或上位机交互模块Mutual;上位机交互模块Mutual接收CAN模块过滤转发的数据并进行分析处理,然后根据从电脑终端输入的命令来执行电脑终端命令数据操作。所述电脑终端命令数据操作包括帮助命令、版本命令、显示数据命令、设置波特率、发送数据帧、设置过滤模式、实时发送数据。CAN驱动器是进行汽车CAN数据采集的中心,将采集到的CAN数据先保存到一个环形缓冲区RingBuffer里面,可以供给多个模块调用,CAN收发器芯片使用TJA1041型号。所述CAN模块包括槽,所述槽内包括CAN过滤器和环形缓冲区。所述槽可以注册多个子槽,如图1中所示子槽1、子槽2……子槽n,用来放置多个功能函数并且将所有槽均置为可用,然后主函数即可获取一个可用的子槽来操作CAN模块。CAN模块会从CAN驱动器中获取数据,将数据写入另一个环形缓冲区RingBuffer中,然后再将数据从已分配的槽中过滤转发。如图1中所示,子槽1通过槽端口1与上位机交互模块Mutual相连接,子槽2通过槽端口2与SD卡模块的stm32相连接,子槽3通过槽端口3与LED模块的stm32相连接。当CAN总线数据帧传送到CAN模块时,所有的ID都会经过CAN过滤器过滤。CAN过滤器可以把一个ID加入CAN过滤器,并允许这个ID的数据帧通过;也可以把一个ID从过滤器中删除,这个ID的帧将不能从过滤器中通过;还可以判断一个ID是否是有效ID,有效ID将被允许通过,无效ID不被允许通过。当识别到有CAN总线的数据帧传送过来时,汽车CAN总线数据采集系统会在LED模块的stm32中打开定时器,使红色和绿色LED灯交替闪烁。当上位机使用命令data或者retrans时,汽车CAN总线数据采集系统会将读取的数据保存到SD卡指定的文件或新生成的文件中。上位机交互模块Mutual是整个系统的控制中心,是跟电脑终端的交互模块,使用本文档来自技高网...
一种基于汽车CAN总线数据采集系统的数据采集方法

【技术保护点】
一种基于汽车CAN总线数据采集系统的数据采集方法,其特征在于,通过汽车CAN总线数据采集系统进行数据采集,所述汽车CAN总线数据采集系统包括依次连接的系统CAN总线、CAN驱动器、CAN模块以及分别与CAN模块相连接的SD卡模块、LED模块、上位机交互模块。

【技术特征摘要】
1.一种基于汽车CAN总线数据采集系统的数据采集方法,其特征在于,通过汽车CAN总线数据采集系统进行数据采集,所述汽车CAN总线数据采集系统包括依次连接的系统CAN总线、CAN驱动器、CAN模块以及分别与CAN模块相连接的SD卡模块、LED模块、上位机交互模块。2.根据权利要求1所述的基于采集系统的数据采集方法,其特征在于,所述数据采集方法包括:系统CAN总线与汽车CAN总线对接,设置好波特率。CAN驱动器将采集到的CAN数据先保存到一个环形缓冲区里面,以供给多个模块调用。CAN模块从CAN驱动器中获取数据,将数据写入另一个环形缓冲区中,然后再将数据过滤转发给SD卡模块或LED模块或上位机交互模块;上位机交互模块接收CAN模块过滤转发的数据并进行分析处理,然后根据从电脑终端输入的命令来执...

【专利技术属性】
技术研发人员:曾宪玮
申请(专利权)人:广州路派电子科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1