用于CAN总线的数据分发方法和装置制造方法及图纸

技术编号:11031817 阅读:95 留言:0更新日期:2015-02-11 17:49
本发明专利技术提出一种用于CAN总线的数据分发方法和装置,其中所述方法包括以下步骤:接收CAN总线发送的共享数据;将共享数据分类存储至至少一个共享数据段中;至少一个共享数据段分别异步发送通知事件至至少一个应用程序;以及至少一个共享数据段分别根据至少一个应用程序的读请求将对应的分类的共享数据异步分发至对应的至少一个应用程序。根据本发明专利技术实施例的方法,实现了数据的跨进程共享和异步分发,并且提高了数据分发的效率。

【技术实现步骤摘要】
【专利摘要】本专利技术提出一种用于CAN总线的数据分发方法和装置,其中所述方法包括以下步骤:接收CAN总线发送的共享数据;将共享数据分类存储至至少一个共享数据段中;至少一个共享数据段分别异步发送通知事件至至少一个应用程序;以及至少一个共享数据段分别根据至少一个应用程序的读请求将对应的分类的共享数据异步分发至对应的至少一个应用程序。根据本专利技术实施例的方法,实现了数据的跨进程共享和异步分发,并且提高了数据分发的效率。【专利说明】用于CAN总线的数据分发方法和装置
本专利技术涉及计算机通信领域,特别涉及一种用于CAN总线的数据分发方法和装置。
技术介绍
CAN (Controller Area Network,控制器局域网络)总线以其稳定、高速的特点已经广泛应用于汽车车身的数据通信,使用CAN总线来进行数据通信已成为车载应用的最好选择。但是,主要面临以下问题,在某个操作系统上数据的获取往往是独占的,只能由单个应用程序来获取,这样其他需要相同数据的应用程序就无法正常工作,因此对CAN数据的分发需求就产生了。 其中,CAN总线的数据分发技术的核心是实现进程间通信,以Windows CE (一个开放的、可升级的32位嵌入式操作系统)嵌入式系统为例,能够实现进程间通信的有WM_C0PYDATA (一种实现进程间通信的方法)消息、共享内存段、内存映射文件、点对点消息队列等方式。但是,这些方式存在以下缺陷:(1)WM_C0PYDATA消息的访问方式是同步的,即发送消息时必须等到数据被接收处理后才能继续其他的操作,影响了 CAN数据的正常分发;(2)共享内存段方式和内存映射文件方式都不能实现数据的主动分类和发送;(3)点对点消息队列方式只能实现一对一的数据传输,不能实现多进程间数据的共享。
技术实现思路
本专利技术的目的旨在至少解决上述的技术缺陷之一。 为此,本专利技术的第一个目的在于提出一种用于CAN总线的数据分发方法,该方法实现了数据的跨进程共享和异步分发,提高了数据分发的效率。 本专利技术的第二个目的在于提出一种用于CAN总线的数据分发装置。 为达到上述目的,本专利技术第一方面实施例的用于CAN总线的数据分发方法包括以下步骤:接收CAN总线发送的共享数据;将所述共享数据分类存储至至少一个共享数据段中;所述至少一个共享数据段分别异步发送通知事件至至少一个应用程序;以及所述至少一个共享数据段分别根据所述至少一个应用程序的读请求将对应的分类的所述共享数据异步分发至对应的所述至少一个应用程序。 根据本专利技术实施例的用于CAN总线的数据分发方法,使用共享内存段分类缓存CAN数据以及使用异步方式通知应用程序来获取数据,至少具有以下有益效果:(1)为每个获取数据的应用程序维护相应的附加信息,保证每个应用程序获取正确内容和正确时序的数据;(2)可以保证一个或多个应用同时获取同一类数据,实现了数据的共享;(3)可以异步地分发CAN数据,不会因为每个应用程序获取和处理数据的差异而影响数据分发的效率和流程;(4)可以实现高速率的CAN数据分发及大数据量时的CAN数据的高速率分发。 为达到上述目的,本专利技术第二方面实施例的用于CAN总线的数据分发装置,包括:数据接收模块,用于接收CAN总线发送的共享数据;分类存储模块,用于将所述共享数据分类存储至至少一个共享数据段中;异步通知模块,用于所述至少一个共享数据段分别异步发送通知事件至至少一个应用程序;以及异步分发模块,用于所述至少一个共享数据段分别根据所述至少一个应用程序的读请求将对应的分类的所述共享数据异步分发至对应的所述至少一个应用程序。 根据本专利技术实施例的用于CAN总线的数据分发装置,至少具有以下有益效果:(1)为每个获取数据的应用程序维护相应的附加信息,保证每个应用程序获取正确内容和正确时序的数据;(2)可以保证一个或多个应用同时获取同一类数据,实现了数据的共享;(3)可以异步地分发CAN数据,不会因为每个应用程序获取和处理数据的差异而影响数据分发的效率和流程;(4)可以实现高速率的CAN数据分发及大数据量时的CAN数据的高速率分发。 本专利技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。 【专利附图】【附图说明】 本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中: 图1是根据本专利技术一个实施例的用于CAN总线的数据分发方法的流程图; 图2 (a)是初始共享缓冲队列状态图; 图2 (b)是写入数据后共享缓冲区的状态图; 图2 (c)是写指针和读指针重合时共享缓冲区的状态图; 图2 (d)是写指针和读指针重合后再写入数据后缓冲区的状态图; 图2 (e)是应用程序读走数据后共享缓冲区的状态图; 图3是应用程序交互的工作流程图; 图4是根据本专利技术一个实施例的用于CAN总线的数据分发装置的结构示意图; 图5是实现本专利技术的总体结构示意图。 【具体实施方式】 下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能解释为对本专利技术的限制。 下文的公开提供了许多不同的实施例或例子用来实现本专利技术的不同结构。为了简化本专利技术的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本专利技术。此外,本专利技术可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。此夕卜,本专利技术提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的可应用于性和/或其他材料的使用。另外,以下描述的第一特征在第二特征之“上”的结构可以包括第一和第二特征形成为直接接触的实施例,也可以包括另外的特征形成在第一和第二特征之间的实施例,这样第一和第二特征可能不是直接接触。 在本专利技术的描述中,需要说明的是,除非另有规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。 参照下面的描述和附图,将清楚本专利技术的实施例的这些和其他方面。在这些描述和附图中,具体公开了本专利技术的实施例中的一些特定实施方式,来表示实施本专利技术的实施例的原理的一些方式,但是应当理解,本专利技术的实施例的范围不受此限制。相反,本专利技术的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。 为了实现高速率CAN数据的跨进程共享与异步分发,本专利技术提出一种用于CAN总线的数据分发方法。下面参考说明书附图描述根据本专利技术实施例的用于CAN总线的数据分发方法。 图1为本专利技术一个实施例的用于CAN总线的数据分发方法的流程图。 如图1所示,根据本专利技术实施例的用于CAN总线的数据分发方法包括下述步骤。 步骤SlOl,接收CAN总线发送的共享数据。 步骤S102,将共享数据分类存储至至少一个共享数本文档来自技高网
...
用于CAN总线的数据分发方法和装置

【技术保护点】
一种用于CAN总线的数据分发方法,其特征在于,包括以下步骤:接收CAN总线发送的共享数据;将所述共享数据分类存储至至少一个共享数据段中;所述至少一个共享数据段分别异步发送通知事件至至少一个应用程序;以及所述至少一个共享数据段分别根据所述至少一个应用程序的读请求将对应的分类的所述共享数据异步分发至对应的所述至少一个应用程序。

【技术特征摘要】

【专利技术属性】
技术研发人员:肖勇
申请(专利权)人:比亚迪股份有限公司
类型:发明
国别省市:广东;44

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

1