CAN总线数据发送、接收方法及固件升级方法技术

技术编号:12996433 阅读:84 留言:0更新日期:2016-03-10 11:13
本发明专利技术公开一种CAN总线数据发送、接收方法及固件升级方法。该CAN总线数据发送方法包括:将待传输数据按第一预定大小划分为多个块,并为每个所述块分配第一索引;将每个所述块按第二预定大小划分为多个帧,并为每个所述帧分配第二索引;根据每个所述帧的数据、以及每个所述帧所对应的所述第一索引和所述第二索引构建CAN协议帧;发送每个所述CAN协议帧。本发明专利技术可以防止数据发送、接收过程中,引起的数据丢失导致的错乱现象,可有效提高固件升级的成功率和可靠性。

【技术实现步骤摘要】

本专利技术涉及固件升级领域,具体而言,涉及一种CAN总线数据发送、接收方法及固件升级方法
技术介绍
目前多数多联机空调没有在线升级程序功能,对于空调功能升级、售后程序更新等方面带来很大的不便。针对此问题,我们引入了通过内、外机通讯网络(CAN通讯)直接升级程序。然而,CAN通讯标准/扩展帧的数据段只有64bit,也就是说每发送一帧CAN数据,最多只能发送8个字节的数据。CAN数据帧在发送过程中,有可能存在数据发送不成功导致数据丢失的情况。由于固件相当于是一个按严格顺序排列的一维数组,如果数据发送、接收过程中发生数据顺序错乱或丢失,就会导致整个固件无法正常运行。因此,需要提供一种CAN总线的数据发送与接收方法,以保证数据的严格准确性。
技术实现思路
本专利技术实施例中提供一种CAN总线数据发送、接收方法及固件升级方法,以解决现有技术中CAN总线数据传输时可能发生数据顺序错乱或丢失的问题。为实现上述目的,本专利技术实施例提供一种CAN总线数据发送方法,包括:将待传输数据按第一预定大小划分为多个块,并为每个所述块分配第一索引;将每个所述块按第二预定大小划分为多个帧,并为每个所述帧分配第二索引;根据每个所述帧的数据、以及每个所述帧所对应的所述第一索引和所述第二索引构建CAN协议帧;发送每个所述CAN协议帧。作为优选,根据每个所述帧的数据、以及每个所述帧所对应的所述第一索引和所述第二索引构建CAN协议帧包括:使所述CAN协议帧的仲裁段包括每个所述帧对应的第一索引和第二索引;使所述CAN协议帧的数据段包含每个所述帧的数据。作为优选,所述仲裁段还包括功能码。作为优选,所述功能码、所述第一索引和所述第二索引依次排列。作为优选,所述CAN协议帧还包括位于所述仲裁段和所述数据段之间的数据长度字段。作为优选,所述CAN协议帧还包括检验码。作为优选,所述第一预定大小为1024字节,所述第二预定大小为8字节。本专利技术还提供了一种CAN总线数据接收方法,包括:接收由上述的CAN总线数据发送方法所发送的CAN协议帧;根据所述CAN协议帧解析出帧数据;根据所述CAN协议帧的所述第一索引和所述第二索引识别出每个所述CAN协议帧中的帧数据在待传输数据中对应的位置;根据所述位置将解析出的所述帧数据组装还原成所述待传输数据。本专利技术还提供了一种固件升级方法,包括:利用上述的CAN总线数据接收方法获取待升级固件;烧写所述待升级固件。作为优选,烧写所述待升级固件包括:通过主控芯片内的bootloader烧写所述待升级固件。作为优选,将所述待升级固件烧写进入空调室内机的非易失性存储器中。由于采用了上述技术方案,本专利技术可以防止数据发送、接收过程中,引起的数据丢失导致的错乱现象,可有效提高固件升级的成功率和可靠性。【附图说明】图1是本专利技术实施例的CAN总线数据发送方法的流程图;图2是本专利技术实施例的CAN总线数据帧的格式示意图。【具体实施方式】下面结合附图和具体实施例对本专利技术作进一步详细描述,但不作为对本专利技术的限定。请参考图1,本专利技术提供了一种CAN总线数据发送方法,包括:将待传输数据按第一预定大小划分为多个块,并为每个所述块分配第一索引;将每个所述块按第二预定大小划分为多个帧,并为每个所述帧分配第二索引;根据每个所述帧的数据、以及每个所述帧所对应的所述第一索引和所述第二索引构建CAN协议帧;发送每个所述CAN协议帧。其中,第一索引构成一级索引,第二索引构成二级索引,二者结合可以实现对所有帧的索引定位。发送时,先将待传输数据划分为多个块,然后再将每个块划分为多个帧,并给每个块和每个帧分别分配一个第一索引和第二索引。这样,每个帧都能通过第一索引和第二索引确定其在整个待传输数据中的位置。于是,使得接收方可以根据第一索引和第二索引,将其接收到的多个帧按照与待传输数据中的原始顺序及位置,重组成与待传输数据一致的接收数据。可见,由于采用了上述技术方案,本专利技术可以防止数据发送、接收过程中,引起的数据丢失导致的错乱现象,可有效提高固件升级的成功率和可靠性。为了保证待传输数据(如程序代码)在传输过程中的准确性,并且考虑到CAN通讯协议帧格式的特殊性,在一个优选的实施例中,请参考图2,根据每个所述帧的数据、以及每个所述帧所对应的所述第一索引和所述第二索引构建CAN协议帧包括:使所述CAN协议帧的仲裁段包括每个所述帧对应的第一索引和第二索引;使所述CAN协议帧的数据段包含每个所述帧的数据。优选地,所述仲裁段还包括功能码。如图2所示,在一个CAN协议帧中,其仲裁段中包含了第一索引和第二索引,而其数据段则用来传输每个帧所对应的数据。因此,通过对CAN协议帧的仲裁段的解析即可得知其数据段中的数据所对应的第一索引和第二索引,从而确定该数据的位置。优选地,所述功能码、所述第一索引和所述第二索引依次排列。例如,可以按由低字节向高字节的方向依次排列。优选地,数据段可用来传输1至8个字节的数据。请参考图2,优选地,所述CAN协议帧还包括位于所述仲裁段和所述数据段之间的数据长度字段,优选地,数据长度字段最大Sbyte。优选地,所述CAN协议帧还包括检验码。利用检验码,可以对传输数据的正确性进行校验。优选地,在一个实施例中,所述第一预定大小为1024字节,所述第二预定大小为8字节。显然,第一预定大小和第二预定大小也可以是其他值。当第一预定大小为1024字节,所述第二预定大小为8字节时,待传输数据将当前第1页1 2 本文档来自技高网...

【技术保护点】
一种CAN总线数据发送方法,其特征在于,包括:将待传输数据按第一预定大小划分为多个块,并为每个所述块分配第一索引;将每个所述块按第二预定大小划分为多个帧,并为每个所述帧分配第二索引;根据每个所述帧的数据、以及每个所述帧所对应的所述第一索引和所述第二索引构建CAN协议帧;发送每个所述CAN协议帧。

【技术特征摘要】

【专利技术属性】
技术研发人员:邓忠文孙方华刘志辉唐杰王文灿张景博魏代武
申请(专利权)人:珠海格力电器股份有限公司
类型:发明
国别省市:广东;44

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

1