用于CAN总线的数据分发方法技术

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

【技术实现步骤摘要】
用于CAN总线的数据分发方法
本专利技术涉及计算机通信领域,特别涉及一种用于CAN总线的数据分发方法。
技术介绍
CAN(ControllerAreaNetwork,控制器局域网络)总线以其稳定、高速的特点已经广泛应用于汽车车身的数据通信,使用CAN总线来进行数据通信已成为车载应用的最好选择。但是,主要面临以下问题,在某个操作系统上数据的获取往往是独占的,只能由单个应用程序来获取,这样其他需要相同数据的应用程序就无法正常工作,因此对CAN数据的分发需求就产生了。其中,CAN总线的数据分发技术的核心是实现进程间通信,以WindowsCE(一个开放的、可升级的32位嵌入式操作系统)嵌入式系统为例,能够实现进程间通信的有WM_COPYDATA(一种实现进程间通信的方法)消息、共享内存段、内存映射文件、点对点消息队列等方式。但是,这些方式存在以下缺陷:(1)WM_COPYDATA消息的访问方式是同步的,即发送消息时必须等到数据被接收处理后才能继续其他的操作,影响了CAN数据的正常分发;(2)共享内存段方式和内存映射文件方式都不能实现数据的主动分类和发送;(3)点对点消息队列方式只能实现一对一本文档来自技高网...

【技术保护点】
1.一种用于CAN总线的数据分发方法,其特征在于,包括以下步骤:接收CAN总线发送的共享数据;将所述共享数据分类存储至至少一个共享数据段中,其中,每个所述共享数据段以环形缓冲区的形式存储分类的所述共享数据,所述环形缓冲区中包括一个写指针和至少一个读指针,所述写指针指向下一个写入位置,所述至少一个读指针和所述至少一个应用程序相对应,且每个所述读指针为对应的所述应用程序所私有,并指向所述应用程序对应的下一个读取位置。

【技术特征摘要】
1.一种用于CAN总线的数据分发方法,其特征在于,包括以下步骤:接收CAN总线发送的共享数据;将所述共享数据分类存储至至少一个共享数据段中,其中,每个所述共享数据段以环形缓冲区的形式存储分类的所述共享数据,所述环形缓冲区中包括一个写指针和至少一个读指针,所述写指针指向下一个写入位置,所述至少一个读指针和所述至少一个应用程序相对应,且每个所述读指针为对应的所述应用程序所私有,并指向所述应用程序对应的下一个读取位置。2.根据权利要求1所述的方法,其特征在于,所述至少一个共享数据段分别异步发送通知事件至至少一个应用程序;以及所述至少一个共享数据段分别根据所述至少一个应用程序的读请求将对应的分类的所述共享数据异步分发至对应的所述至少一个应用程序,其中,如果分类的所述共享数据无重复,则获取所述写...

【专利技术属性】
技术研发人员:陆远林
申请(专利权)人:仪征市嘉中电子元件有限公司
类型:发明
国别省市:江苏,32

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

1