CN110290041B - 多功能can服务系统及其方法 - Google Patents
多功能can服务系统及其方法 Download PDFInfo
- Publication number
- CN110290041B CN110290041B CN201910550798.XA CN201910550798A CN110290041B CN 110290041 B CN110290041 B CN 110290041B CN 201910550798 A CN201910550798 A CN 201910550798A CN 110290041 B CN110290041 B CN 110290041B
- Authority
- CN
- China
- Prior art keywords
- service
- function
- message
- plug
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种多功能CAN服务系统及其方法,包括车载终端的主设备;所述主设备与CAN收发器连接;所述多功能CAN服务系统包括运行在所述主设备上的CAN service模块和CAN plug模块;所述CAN service模块用于从MQ中获取CAN报文,遍历所有作为plug的CAN plug模块的服务函数,将CAN报文提交给对应的服务函数进行逻辑处理。所述plug包括如下的服务接口:RegisterPGNProc服务接口;有效避免了现有技术中CAN收发器与车载终端的CPU进行消息交互不透明、独立性和安全性就不足、GNSS模块缺乏对依赖原始NMEA信息工作的APP的支持的缺陷。
Description
技术领域
本发明涉及CAN总线技术领域,具体涉及一种多功能CAN服务系统及其方法。
背景技术
CAN是控制器局域网络(ControllerAreaNetwork,CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO11898),是国际上应用最广泛的现场总线之一。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。
CAN的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。
而汽车车载网络CAN收发器是一种将CAN数据发送器与数据接收器组合在一起的单片集成电路,在CAN通信中,收发器起到了十分相当特别的作用。目前市面的收发器型号也是不计其数,CAN收发器几乎在每一个CAN节点上都看的到,这样CAN收发器就会常常与汽车的车载终端的CPU进行消息交互,而现有的CAN收发器与车载终端的CPU进行消息交互却不像本地的消息交互那样对应用程序那么透明,独立性和安全性就不足。
为了达到并行处理的目的,现有的车载终端往往是主设备和从设备相连并行处理车载终端的任务,而特别是如行车记录仪这样的车载终端,其从设备普遍与GNSS模块连接,以此采集定位信息,但是现有的GNSS模块缺乏对依赖原始NMEA信息工作的APP的支持。
发明内容
为解决上述问题,本发明提供了一种多功能CAN服务系统及其方法,有效避免了现有技术中CAN收发器与车载终端的CPU进行消息交互不透明、独立性和安全性就不足、GNSS模块缺乏对依赖原始NMEA信息工作的APP的支持的缺陷。
为了克服现有技术中的不足,本发明提供了一种多功能CAN服务系统及其方法的解决方案,具体如下:
一种多功能CAN服务系统,包括车载终端的主设备;所述主设备与CAN收发器连接;
所述多功能CAN服务系统包括运行在所述主设备上的CAN service模块和CANplug模块;
所述CAN service模块用于从MQ中获取CAN报文,遍历所有作为plug的CAN plug模块的服务函数,将CAN报文提交给对应的服务函数进行逻辑处理。
所述plug包括如下的服务接口:
RegisterPGNProc服务接口,所述RegisterPGNProc服务接口用于将与plug相关的PGN和对应的处理函数注册在服务程序内,当服务程序接收到该PGN报文时,主动调用处理函数;
Register RunOnceProc服务接口,所述Register RunOnceProc服务接口用于向服务程序注册一个RunOnce函数,用于plug获取执行机会,所述RunOnce函数不允许阻塞,服务程序会定时调用该RunOnce函数;
RegisterPGNHook服务接口,RegisterPGNHook服务接口用于向服务程序注册一个任意报文执行函数,当服务程序接收到任意报文时,主动调用该任意报文执行函数,所述任意报文执行函数用于在Plug接收到报文后,根据CAN总线协议提取数据、组包后再通过MQ推送给需要的应用程序。
所述多功能CAN服务系统还包括车载终端的从设备,所述从设备与主设备连接;
所述从设备为NXP FS32K144型MCU,所述主设备为SIM7600CE型模块;
所述NXP FS32K144型MCU通过CAN总线与JF1051/3型高速CAN收发器连接起来,所述NXP FS32K144型MCU通过通用同步/异步串行接收/发送器二USART1与作为GNSS模块的ATGM332D北斗定位模块连接,所述SIM7600CE型模块通过串行外设接口与NXP FS32K144型MCU连接,所述SIM7600CE型模块与eMMC闪存eMMC连接,所述SIM7600CE型模块与Nand-flash存储器连接。
所述多功能CAN服务系统还包括运行在所述主设备上的GNSS服务模块,所述GNSS服务模块用于获取顺序依次经由ATGM332D北斗定位模块、从设备、RMQ模块和MQ传输来的定位信息,将包含有经度、纬度、速度、高程和卫星颗数的定位信息保存至设定在Nand-flash存储器中的存储空间,以便供其它进程读取;在定位信息为原始NMEA信息时,用于根据需求创建虚拟串口并将原始NMEA信息发送至该虚拟串口,供依赖原始NMEA信息工作的应用程序APP使用。
所述多功能CAN服务系统的方法,运行在主设备上,所述多功能CAN服务系统的方法包括如下方式:
步骤1-1:加载plug,所述加载plug的方式具体为:
服务程序启动后扫描指定目录下的所有plug的动态库文件;
加载每个动态库文件内的接口函数,具体如下:
加载plug时,应首先调用PlusInit函数,来初始化,初始化也就是plug将自己的服务函数注册给服务程序,并获取操作MQ的接口函数和报文发送函数;
步骤1-2:发送CAN报文,所述发送CAN报文的方式具体为:
所述plug在需要发送CAN报文时,通过调用发送函数,把CAN报文封装成符合MQ要求的消息格式,然后发送至主设备的MQ中,等待运行在所述主设备上的RMQ模块转发消息到CAN收发器;
步骤1-3:接收CAN报文并分发,所述接收CAN报文并分发的方式具体为:
再通过MQ获取CAN报文,遍历调用各个plug的服务函数,并将CAN报文提交给对应的服务函数处理。
所述多功能CAN服务系统的方法,运行在主设备上,所述多功能CAN服务系统的方法还包括如下方式:
步骤2-1:将与plug相关的PGN和对应的处理函数注册在服务程序内。当服务程序接收到该PGN报文时,主动调用对应的处理函数进行处理;
所述plug还向服务程序注册一个RunOnce函数,让plug获取执行机会;RunOnce不允许阻塞。服务程序会定时调用该函数让plug获取执行机会;
所述plug还向服务程序注册一个任意报文执行函数,在服务程序接收到任意报文时,主动调用该任意报文执行函数;在Plug接收到报文后,根据CAN协议提取数据、组包后通过MQ推送给需要的应用程序;
步骤2-2:在服务程序调用PlusInit注册服务函数时,主动创建一个存储线程storage thread,所述存储线程storage thread为每一路CAN总线的报文创建各自存储目录,CAN报文存储在各自指定的存储目录内。
所述存储线程storage thread用于缓存服务程序推送过来的每一个CAN报文,缓存满或者定时将内容刷新存储到存储文件中。
所述存储到存储文件中的方式是将内容进行压缩后存储。
所述plug可接收报警事件;
在内存中缓存设定时间间隔的报文数据,若存在报文数据触发报警时单独存储到报警文件;并将报警后设定时间间隔的报文也存储到该报警文件。
所述多功能CAN服务系统的方法,运行在主设备上,所述多功能CAN服务系统的方法还包括如下方式:
步骤3-1:获取顺序依次经由ATGM332D北斗定位模块、从设备、RMQ模块和MQ传输来的定位信息,将包含有经度、纬度、速度、高程和卫星颗数的定位信息保存至设定在Nand-flash存储器中的存储空间,以便供其它进程读取;
步骤3-2:在定位信息为原始NMEA信息时,创建虚拟串口并将原始NMEA信息发送至该虚拟串口,供依赖原始NMEA信息工作的应用程序APP使用。
所述从设备将定位信息压缩后,再顺序把压缩后的定位信息传输到RMQ模块和MQ中。
所述多功能CAN服务系统的方法,运行在主设备上,所述多功能CAN服务系统的方法还包括如下方式:
步骤4-1:提供异常捕获注册接口,负责每个运行在主设备上的应用程序App在崩溃时进行跟踪信息收集;
步骤4-2:提供日志采集接口,收集每个应用程序App的日志信息;
步骤4-2:针对收集到的信息,通过无线网络把异常信息输出到远程服务器,方便后台分析,进行产品优化设计。
本发明的有益效果为:
通过所述plug在需要发送CAN报文时,通过调用发送函数,把CAN报文封装成符合MQ要求的消息格式,然后发送至主设备的MQ中,等待运行在所述主设备上的RMQ模块转发消息到CAN收发器;接收CAN报文并分发,所述接收CAN报文并分发的方式具体为:再通过MQ获取CAN报文,遍历调用各个plug的服务函数,并将CAN报文提交给对应的服务函数处理。步骤2-1:将与plug相关的PGN和对应的处理函数注册在服务程序内。当服务程序接收到该PGN报文时,主动调用对应的处理函数进行处理;所述plug还向服务程序注册一个RunOnce函数,让plug获取执行机会;RunOnce不允许阻塞。服务程序会定时调用该函数让plug获取执行机会;所述plug还向服务程序注册一个任意报文执行函数,在服务程序接收到任意报文时,主动调用该任意报文执行函数;在Plug接收到报文后,根据CAN协议提取数据、组包后通过MQ推送给需要的应用程序;在服务程序调用PlusInit注册服务函数时,主动创建一个存储线程storage thread,所述存储线程storage thread为每一路CAN总线的报文创建各自存储目录,CAN报文存储在各自指定的存储目录内,就能让CAN收发器与车载终端的CPU进行的消息交互透明、独立性和安全性很高。
通过获取顺序依次经由ATGM332D北斗定位模块、从设备、RMQ模块和MQ传输来的定位信息,将包含有经度、纬度、速度、高程和卫星颗数的定位信息保存至设定在Nand-flash存储器中的存储空间,以便供其它进程读取;在定位信息为原始NMEA信息时,创建虚拟串口并将原始NMEA信息发送至该虚拟串口,供依赖原始NMEA信息工作的应用程序APP使用,有效支持了对依赖原始NMEA信息工作的APP的支持。
附图说明
图1是本发明的CAN service模块的结构图;
图2是本发明的CAN plug模块的结构图;
图3是本发明的GNSS模块的结构图。
具体实施方式
下面将结合附图和实施例对本发明做进一步地说明。
实施例1:
如图1-图3所示,多功能CAN服务系统,其包括车载终端的主设备;所述车载终端为行车记录仪。所述主设备与CAN收发器连接;
所述多功能CAN服务系统包括运行在所述主设备上的CAN service模块和CANplug模块;所述CAN service模块也就是服务程序;
所述CAN service模块用于从MQ中获取CAN报文,遍历所有作为plug的CAN plug模块的服务函数,将CAN报文提交给对应的服务函数进行逻辑处理。
所述plug包括如下的服务接口:
RegisterPGNProc服务接口,所述RegisterPGNProc服务接口用于将与plug相关的PGN和对应的处理函数注册在服务程序内,当服务程序接收到该PGN报文时,主动调用处理函数;
Register RunOnceProc服务接口,所述Register RunOnceProc服务接口用于向服务程序注册一个RunOnce函数,用于plug获取执行机会,所述RunOnce函数不允许阻塞,服务程序会定时调用该RunOnce函数;
RegisterPGNHook服务接口,RegisterPGNHook服务接口用于向服务程序注册一个任意报文执行函数,当服务程序接收到任意报文时,主动调用该任意报文执行函数,所述任意报文执行函数用于在Plug接收到报文后,根据CAN总线协议提取数据、组包后再通过MQ推送给需要的应用程序。
所述多功能CAN服务系统还包括车载终端的从设备,所述从设备与主设备连接;
所述从设备为NXP FS32K144型MCU,所述主设备为SIM7600CE型模块,所述SIM7600CE型模块使用Linux系统,所述NXP FS32K144型MCU使用RTX实时操作系统;
所述NXP FS32K144型MCU通过CAN总线与JF1051/3型高速CAN收发器连接起来,所述NXP FS32K144型MCU通过通用同步/异步串行接收/发送器二USART1与作为GNSS模块的ATGM332D北斗定位模块连接,所述SIM7600CE型模块通过串行外设接口与NXP FS32K144型MCU连接,所述SIM7600CE型模块与eMMC闪存eMMC连接,所述SIM7600CE型模块与Nand-flash存储器连接。
所述多功能CAN服务系统还包括运行在所述主设备上的GNSS服务模块,所述GNSS服务模块用于获取顺序依次经由ATGM332D北斗定位模块、从设备、RMQ模块和MQ传输来的定位信息,将包含有经度、纬度、速度、高程和卫星颗数的定位信息保存至设定在Nand-flash存储器中的存储空间,以便供其它进程读取;在定位信息为原始NMEA信息时,用于根据需求创建虚拟串口并将原始NMEA信息发送至该虚拟串口,供依赖原始NMEA信息工作的应用程序APP使用。
实施例2:
如图1-图3所示,多功能CAN服务系统,其包括车载终端的主设备;所述车载终端为行车记录仪。所述主设备与CAN收发器连接;
所述多功能CAN服务系统包括运行在所述主设备上的CAN service模块和CANplug模块;所述CAN service模块也就是服务程序;
所述CAN service模块用于从MQ中获取CAN报文,遍历所有作为plug的CAN plug模块的服务函数,将CAN报文提交给对应的服务函数进行逻辑处理。
所述plug包括如下的服务接口:
RegisterPGNProc服务接口,所述RegisterPGNProc服务接口用于将与plug相关的PGN和对应的处理函数注册在服务程序内,当服务程序接收到该PGN报文时,主动调用处理函数;
Register RunOnceProc服务接口,所述Register RunOnceProc服务接口用于向服务程序注册一个RunOnce函数,用于plug获取执行机会,所述RunOnce函数不允许阻塞,服务程序会定时调用该RunOnce函数;
RegisterPGNHook服务接口,RegisterPGNHook服务接口用于向服务程序注册一个任意报文执行函数,当服务程序接收到任意报文时,主动调用该任意报文执行函数,所述任意报文执行函数用于在Plug接收到报文后,根据CAN总线协议提取数据、组包后再通过MQ推送给需要的应用程序。
所述多功能CAN服务系统还包括车载终端的从设备,所述从设备与主设备连接;
所述从设备为NXP FS32K144型MCU,所述主设备为SIM7600CE型模块,所述SIM7600CE型模块使用Linux系统,所述NXP FS32K144型MCU使用RTX实时操作系统;
所述NXP FS32K144型MCU通过CAN总线与JF1051/3型高速CAN收发器连接起来,所述NXP FS32K144型MCU通过通用同步/异步串行接收/发送器二USART1与作为GNSS模块的ATGM332D北斗定位模块连接,所述SIM7600CE型模块通过串行外设接口与NXP FS32K144型MCU连接,所述SIM7600CE型模块与eMMC闪存eMMC连接,所述SIM7600CE型模块与Nand-flash存储器连接。
所述多功能CAN服务系统还包括运行在所述主设备上的GNSS服务模块,所述GNSS服务模块用于获取顺序依次经由ATGM332D北斗定位模块、从设备、RMQ模块和MQ传输来的定位信息,将包含有经度、纬度、速度、高程和卫星颗数的定位信息保存至设定在Nand-flash存储器中的存储空间,以便供其它进程读取;在定位信息为原始NMEA信息时,用于根据需求创建虚拟串口并将原始NMEA信息发送至该虚拟串口,供依赖原始NMEA信息工作的应用程序APP使用。
所述多功能CAN服务系统的方法,运行在主设备上,所述多功能CAN服务系统的方法包括如下方式:
步骤1-1:加载plug,所述plug为插件程序,所述plug包括动态库文件和服务函数,所述动态库文件包括MQ的接口函数和报文发送函数,所述MQ为处在主设备上的消息队列;所述加载plug的方式具体为:
服务程序启动后扫描指定目录下的所有plug的动态库文件;所述指定目录为Nand-flash存储器上设定的指定目录。
加载每个动态库文件内的接口函数,具体如下:
加载plug时,应首先调用PlusInit函数,来初始化,初始化也就是plug将自己的服务函数注册给服务程序,并获取操作MQ的接口函数和报文发送函数;
步骤1-2:发送CAN报文,所述发送CAN报文的方式具体为:
所述plug在需要发送CAN报文时,通过调用发送函数,把CAN报文封装成符合MQ要求的消息格式,然后发送至主设备的MQ中,等待运行在所述主设备上的RMQ模块转发消息到CAN收发器,进而能将消息报文发送到指定CAN总线上;
步骤1-3:接收CAN报文并分发,所述接收CAN报文并分发的方式具体为:
所述主设备上的RMQ模块从CAN收发器中接收到发送来的CAN报文,再通过MQ获取CAN报文,遍历调用各个plug的服务函数,并将CAN报文提交给对应的服务函数处理。
所述多功能CAN服务系统的方法,运行在主设备上,所述多功能CAN服务系统的方法还包括如下方式:
步骤2-1:将与plug相关的PGN和对应的处理函数注册在服务程序内。当服务程序接收到该PGN报文时,主动调用对应的处理函数进行处理;
所述plug还向服务程序注册一个RunOnce函数,让plug获取执行机会;RunOnce不允许阻塞。服务程序会定时调用该函数让plug获取执行机会;
所述plug还向服务程序注册一个任意报文执行函数,在服务程序接收到任意报文时,主动调用该任意报文执行函数;在Plug接收到报文后,根据CAN协议提取数据、组包后通过MQ推送给需要的应用程序;
步骤2-2:在服务程序调用PlusInit注册服务函数时,主动创建一个存储线程storage thread,所述存储线程storage thread为每一路CAN总线的报文在Nand-flash存储器上创建各自存储目录,CAN报文存储在各自指定的存储目录内。
所述存储线程storagethread用于缓存服务程序推送过来的每一个CAN报文,缓存满或者定时将内容刷新存储到存储文件中。所述存储文件包括报警文件。
所述存储到存储文件中的方式是将内容进行压缩后存储。
所述plug可接收报警事件,如车辆故障、B-call等事件;
在内存中缓存如30秒这样的设定时间间隔的报文数据,若存在报文数据触发报警时单独存储到报警文件;并将报警后如30秒这样的设定时间间隔的报文也存储到该报警文件。所述报警文件的文件名应包含时间和报警事件的名称。
所述多功能CAN服务系统的方法,运行在主设备上,所述多功能CAN服务系统的方法还包括如下方式:
步骤3-1:获取顺序依次经由ATGM332D北斗定位模块、从设备、RMQ模块和MQ传输来的定位信息,将包含有经度、纬度、速度、高程和卫星颗数的定位信息保存至设定在Nand-flash存储器中的存储空间,以便供其它进程读取;
步骤3-2:在定位信息为原始NMEA信息时,创建虚拟串口并将原始NMEA信息发送至该虚拟串口,供依赖原始NMEA信息工作的应用程序APP使用。
所述从设备将定位信息压缩后,再顺序把压缩后的定位信息传输到RMQ模块和MQ中。
所述多功能CAN服务系统的方法,运行在主设备上,所述多功能CAN服务系统的方法还包括如下方式:
步骤4-1:提供异常捕获注册接口,负责每个运行在主设备上的应用程序App在崩溃时进行跟踪信息收集;
步骤4-2:提供日志采集接口,收集每个应用程序App的日志信息;
步骤4-2:针对收集到的信息,能根据日志级别,本地输出到日志界面,并通过无线网络把异常信息输出到远程服务器,方便后台分析,进行产品优化设计。这里所述主设备连接有与无线网络相连的无线通信模块,所述无线网络中具有远程服务器。
通过所述plug在需要发送CAN报文时,通过调用发送函数,把CAN报文封装成符合MQ要求的消息格式,然后发送至主设备的MQ中,等待运行在所述主设备上的RMQ模块转发消息到CAN收发器;接收CAN报文并分发,所述接收CAN报文并分发的方式具体为:再通过MQ获取CAN报文,遍历调用各个plug的服务函数,并将CAN报文提交给对应的服务函数处理。步骤2-1:将与plug相关的PGN和对应的处理函数注册在服务程序内。当服务程序接收到该PGN报文时,主动调用对应的处理函数进行处理;所述plug还向服务程序注册一个RunOnce函数,让plug获取执行机会;RunOnce不允许阻塞。服务程序会定时调用该函数让plug获取执行机会;所述plug还向服务程序注册一个任意报文执行函数,在服务程序接收到任意报文时,主动调用该任意报文执行函数;在Plug接收到报文后,根据CAN协议提取数据、组包后通过MQ推送给需要的应用程序;在服务程序调用PlusInit注册服务函数时,主动创建一个存储线程storage thread,所述存储线程storage thread为每一路CAN总线的报文创建各自存储目录,CAN报文存储在各自指定的存储目录内,就能让CAN收发器与车载终端的CPU进行的消息交互透明、独立性和安全性很高。
通过获取顺序依次经由ATGM332D北斗定位模块、从设备、RMQ模块和MQ传输来的定位信息,将包含有经度、纬度、速度、高程和卫星颗数的定位信息保存至设定在Nand-flash存储器中的存储空间,以便供其它进程读取;在定位信息为原始NMEA信息时,创建虚拟串口并将原始NMEA信息发送至该虚拟串口,供依赖原始NMEA信息工作的应用程序APP使用,有效支持了对依赖原始NMEA信息工作的APP的支持。
以上以用实施例说明的方式对本发明作了描述,本领域的技术人员应当理解,本公开不限于以上描述的实施例,在不偏离本发明的范围的情况下,可以做出各种变化、改变和替换。
Claims (9)
1.一种多功能CAN服务系统,其特征在于,包括车载终端的主设备;所述主设备与CAN收发器连接;
所述多功能CAN服务系统包括运行在所述主设备上的CANservice模块和CANplug模块;
所述CANservice模块用于从MQ中获取CAN报文,遍历所有作为plug的CANplug模块的服务函数,将CAN报文提交给对应的服务函数进行逻辑处理;
所述plug包括如下的服务接口:
RegisterPGNProc服务接口,所述RegisterPGNProc服务接口用于将与plug相关的PGN和对应的处理函数注册在服务程序内,当服务程序接收到该PGN报文时,主动调用处理函数;
RegisterRunOnceProc服务接口,所述RegisterRunOnceProc服务接口用于向服务程序注册一个RunOnce函数,用于plug获取执行机会,所述RunOnce函数不允许阻塞,服务程序会定时调用该RunOnce函数;
RegisterPGNHook服务接口,RegisterPGNHook服务接口用于向服务程序注册一个任意报文执行函数,当服务程序接收到任意报文时,主动调用该任意报文执行函数,所述任意报文执行函数用于在Plug接收到报文后,根据CAN总线协议提取数据、组包后再通过MQ推送给需要的应用程序。
2.根据权利要求1所述的多功能CAN服务系统,其特征在于,所述多功能CAN服务系统还包括车载终端的从设备,所述从设备与主设备连接;
所述从设备为NXPFS32K144型MCU,所述主设备为SIM7600CE型模块;
所述NXPFS32K144型MCU通过CAN总线与JF1051/3型高速CAN收发器连接起来,所述NXPFS32K144型MCU通过通用同步/异步串行接收/发送器二USART1与作为GNSS模块的ATGM332D北斗定位模块连接,所述SIM7600CE型模块通过串行外设接口与NXPFS32K144型MCU连接,所述SIM7600CE型模块与eMMC闪存eMMC连接,所述SIM7600CE型模块与Nand-flash存储器连接。
3.根据权利要求1所述的多功能CAN服务系统,其特征在于,所述多功能CAN服务系统还包括运行在所述主设备上的GNSS服务模块,所述GNSS服务模块用于获取顺序依次经由ATGM332D北斗定位模块、从设备、RMQ模块和MQ传输来的定位信息,将包含有经度、纬度、速度、高程和卫星颗数的定位信息保存至设定在Nand-flash存储器中的存储空间,以便供其它进程读取;在定位信息为原始NMEA信息时,用于根据需求创建虚拟串口并将原始NMEA信息发送至该虚拟串口,供依赖原始NMEA信息工作的应用程序APP使用。
4.一种多功能CAN服务系统的方法,其特征在于,运行在主设备上,所述多功能CAN服务系统的方法包括如下方式:
步骤1-1:加载plug,所述加载plug的方式具体为:
服务程序启动后扫描指定目录下的所有plug的动态库文件;
加载每个动态库文件内的接口函数,具体如下:
加载plug时,应首先调用PlusInit函数,来初始化,初始化也就是plug将自己的服务函数注册给服务程序,并获取操作MQ的接口函数和报文发送函数;
步骤1-2:发送CAN报文,所述发送CAN报文的方式具体为:
所述plug在需要发送CAN报文时,通过调用发送函数,把CAN报文封装成符合MQ要求的消息格式,然后发送至主设备的MQ中,等待运行在所述主设备上的RMQ模块转发消息到CAN收发器;
步骤1-3:接收CAN报文并分发,所述接收CAN报文并分发的方式具体为:
再通过MQ获取CAN报文,遍历调用各个plug的服务函数,并将CAN报文提交给对应的服务函数处理。
5.根据权利要求4所述的多功能CAN服务系统的方法,其特征在于,所述多功能CAN服务系统的方法,运行在主设备上,所述多功能CAN服务系统的方法还包括如下方式:
步骤2-1:将与plug相关的PGN和对应的处理函数注册在服务程序内,当服务程序接收到该PGN报文时,主动调用对应的处理函数进行处理;
所述plug还向服务程序注册一个RunOnce函数,让plug获取执行机会;RunOnce不允许阻塞,服务程序会定时调用该函数让plug获取执行机会;
所述plug还向服务程序注册一个任意报文执行函数,在服务程序接收到任意报文时,主动调用该任意报文执行函数;在Plug接收到报文后,根据CAN协议提取数据、组包后通过MQ推送给需要的应用程序;
步骤2-2:在服务程序调用PlusInit注册服务函数时,主动创建一个存储线程storagethread,所述存储线程storagethread为每一路CAN总线的报文创建各自存储目录,CAN报文存储在各自指定的存储目录内。
6.根据权利要求5所述的多功能CAN服务系统的方法,其特征在于,所述存储线程storagethread用于缓存服务程序推送过来的每一个CAN报文,缓存满或者定时将内容刷新存储到存储文件中。
7.根据权利要求6所述的多功能CAN服务系统的方法,其特征在于,所述存储到存储文件中的方式是将内容进行压缩后存储。
8.根据权利要求4所述的多功能CAN服务系统的方法,其特征在于,所述plug可接收报警事件;
在内存中缓存设定时间间隔的报文数据,若存在报文数据触发报警时单独存储到报警文件;并将报警后设定时间间隔的报文也存储到该报警文件;
所述多功能CAN服务系统的方法,运行在主设备上,所述多功能CAN服务系统的方法还包括如下方式:
步骤3-1:获取顺序依次经由ATGM332D北斗定位模块、从设备、RMQ模块和MQ传输来的定位信息,将包含有经度、纬度、速度、高程和卫星颗数的定位信息保存至设定在Nand-flash存储器中的存储空间,以便供其它进程读取;
步骤3-2:在定位信息为原始NMEA信息时,创建虚拟串口并将原始NMEA信息发送至该虚拟串口,供依赖原始NMEA信息工作的应用程序APP使用;
所述从设备将定位信息压缩后,再顺序把压缩后的定位信息传输到RMQ模块和MQ中。
9.根据权利要求4所述的多功能CAN服务系统的方法,其特征在于,所述多功能CAN服务系统的方法,运行在主设备上,所述多功能CAN服务系统的方法还包括如下方式:
步骤4-1:提供异常捕获注册接口,负责每个运行在主设备上的应用程序App在崩溃时进行跟踪信息收集;
步骤4-2:提供日志采集接口,收集每个应用程序App的日志信息;
步骤4-2:针对收集到的信息,通过无线网络把异常信息输出到远程服务器,方便后台分析,进行产品优化设计。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910550798.XA CN110290041B (zh) | 2019-06-24 | 2019-06-24 | 多功能can服务系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910550798.XA CN110290041B (zh) | 2019-06-24 | 2019-06-24 | 多功能can服务系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110290041A CN110290041A (zh) | 2019-09-27 |
CN110290041B true CN110290041B (zh) | 2023-06-23 |
Family
ID=68005414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910550798.XA Active CN110290041B (zh) | 2019-06-24 | 2019-06-24 | 多功能can服务系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110290041B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291334A (zh) * | 2010-06-21 | 2011-12-21 | 哈尔滨工业大学 | 一种汽车车身can-lin网关的设计 |
CN203259857U (zh) * | 2013-05-14 | 2013-10-30 | 浙江大学 | 一种工程机械远程及本地视频监控车载装置 |
CN107493508A (zh) * | 2017-08-22 | 2017-12-19 | 四川长虹电器股份有限公司 | 基于Android智能终端流媒体播放性能监测的方法 |
CN108810097A (zh) * | 2018-05-21 | 2018-11-13 | 千寻位置网络有限公司 | Web海量实时采集处理NMEA数据的方法及系统 |
CN109587017A (zh) * | 2018-12-04 | 2019-04-05 | 北京远特科技股份有限公司 | 车载以太网系统及汽车 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050289505A1 (en) * | 2004-06-25 | 2005-12-29 | Williams Stanley N | Method and system for improving performance and scalability of applications that utilize a flow-based-programming methodology |
-
2019
- 2019-06-24 CN CN201910550798.XA patent/CN110290041B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291334A (zh) * | 2010-06-21 | 2011-12-21 | 哈尔滨工业大学 | 一种汽车车身can-lin网关的设计 |
CN203259857U (zh) * | 2013-05-14 | 2013-10-30 | 浙江大学 | 一种工程机械远程及本地视频监控车载装置 |
CN107493508A (zh) * | 2017-08-22 | 2017-12-19 | 四川长虹电器股份有限公司 | 基于Android智能终端流媒体播放性能监测的方法 |
CN108810097A (zh) * | 2018-05-21 | 2018-11-13 | 千寻位置网络有限公司 | Web海量实时采集处理NMEA数据的方法及系统 |
CN109587017A (zh) * | 2018-12-04 | 2019-04-05 | 北京远特科技股份有限公司 | 车载以太网系统及汽车 |
Non-Patent Citations (1)
Title |
---|
基于ARM的燃料电池电动汽车仪表信息系统设计;阮波;《汽车电子技术分会第七届年会论文集》;20061031;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110290041A (zh) | 2019-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7971110B2 (en) | System and method for testing a serial attached small computer system interface | |
CN110704265A (zh) | 一种基于Modbus协议的预警信息主动上报方法及系统 | |
US20190173952A1 (en) | In-vehicle relay device, information processing device, relay device, information processing method, non-transitory storage medium storing program executable by relay device, information processing system, vehicle, and external device | |
CN116803067A (zh) | 支持多协议栈的通信方法及系统 | |
CN112202884A (zh) | 一种车辆连接接口装置数据传输方法及相关设备 | |
CN115827928A (zh) | 车辆数据处理方法、装置、设备、介质及产品 | |
CN110290041B (zh) | 多功能can服务系统及其方法 | |
CN111600812A (zh) | 一种报文的处理方法、处理装置、可读介质和系统 | |
CN109194555B (zh) | 一种改进的小卫星数传分系统总线调度系统 | |
CN112804301B (zh) | 设备状态的确定方法、装置、网关及存储介质 | |
CN113542367A (zh) | 一种适用于多种类型终端的公交数据接入系统 | |
FR3047332A1 (fr) | Systeme et procede d'identification automatique d'un modele de vehicule | |
CN110300178B (zh) | 通信设备、业务卡、主控卡、文件访问方法及装置 | |
CN113965468B (zh) | 一种公共框架网络设计方法 | |
CN115361263A (zh) | 一种基于嵌入式系统的at命令处理系统、方法 | |
CN102565823B (zh) | Gps接收机的快速启动方法及协同式gps接收机系统 | |
CN114090827A (zh) | 数据记录与回放方法、装置及计算机存储介质 | |
CN113960991A (zh) | 车辆故障诊断系统、方法、装置、片上系统芯片及车辆 | |
CN112584301A (zh) | 数据处理方法、车载通信设备及计算机可读存储介质 | |
CN116755423A (zh) | 车载以太网数据采集系统、采集方法及车辆 | |
CN102984599A (zh) | 基于RapidIO协议网络的视频采集传输装置及方法 | |
CN114710477B (zh) | 执行命令的方法和装置 | |
EP2016781B1 (en) | A vehicle tracking system | |
CN117857382A (zh) | 一种业务板的检测方法、存储介质和电子设备 | |
CN117956399A (zh) | 通信卡、定位终端、定位系统及用于定位的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |