CN108183769A - 一种基于LabVIEW的多通道多采样率CAN总线数据解析方法 - Google Patents

一种基于LabVIEW的多通道多采样率CAN总线数据解析方法 Download PDF

Info

Publication number
CN108183769A
CN108183769A CN201711458903.4A CN201711458903A CN108183769A CN 108183769 A CN108183769 A CN 108183769A CN 201711458903 A CN201711458903 A CN 201711458903A CN 108183769 A CN108183769 A CN 108183769A
Authority
CN
China
Prior art keywords
dimensional array
data
channel
bus
spliced
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.)
Granted
Application number
CN201711458903.4A
Other languages
English (en)
Other versions
CN108183769B (zh
Inventor
宋萍
彭文家
李方兴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN201711458903.4A priority Critical patent/CN108183769B/zh
Publication of CN108183769A publication Critical patent/CN108183769A/zh
Application granted granted Critical
Publication of CN108183769B publication Critical patent/CN108183769B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/4013Management of data rate on the bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • H04L1/0007Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Landscapes

  • Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提出一种基于LabVIEW的多通道多采样率CAN总线数据解析方法,有效解决多CAN总线、多通道、多ID、多采样率CAN总线数据实时传输与解析问题。步骤一:根据不同ID解析数据块,取出相应字节的数据作为对应通道数据,将本ID内所有通道数据组成一个二维数组,放入对应寄存器内;步骤二:读出所有寄存器内的二维数组,将所有二维数组拼接为一个总二维数组,其行数即对应通道数,列数对应采样点数;步骤三:将步骤一得到的每通道的采样点个数,存为一列数组,拼接到步骤二得到的二维数组的最前面,作为总二维数组的帧头,得到的拼接后的二维数组的第一列即对应本通道采样点数;步骤四:将步骤三中得到的二维数组传输给显示模块显示以及存储模块缓存。

Description

一种基于LabVIEW的多通道多采样率CAN总线数据解析方法
技术领域
本发明属于CAN总线传输技术领域,涉及一种基于LabVIEW的多通道多采样率CAN总线数据解析方法。
背景技术
CAN总线一个主要优点是可以实时传输多个节点的数据。但是,使用CAN总线传输采集数据时,不同节点采样率各异使得不同通道采样数据量不同,这就对上位机灵活可靠稳定接收不同通道的数据,并解析、存储、显示数据提出了挑战,目前基于LabVIEW的CAN总线数据接收处理尚未有较好的处理方法。
《一种基于LabVIEW的CAN总线数据处理方法》专利中提出一种针对双CAN总线实时通讯的技术,但是其接收的每个CAN总线只能有一个CAN节点发送数据,无法解决多个节点同时发送数据的问题,亦无法解决不同采样速率节点不同采样率的问题,由于CAN总线为串行通讯方式,数据解析错误会导致各通道间数据互串的问题。以上问题成为LabVIEW应用CAN总线通讯的一个难点问题,限制了CAN总线在以LabVIEW为基础的测试控制领域的应用。
发明内容
针对目前对CAN总线数据解析的缺陷,本发明提出一种基于LabVIEW的多通道多采样率CAN总线数据解析方法,有效解决多CAN总线、多通道、多ID、多采样率CAN总线数据实时传输与解析问题。
本发明的目的是通过以下技术方案来实现的:
一种基于LabVIEW的多通道多采样率CAN总线数据解析方法,包括以下步骤:
步骤一:根据不同ID解析数据块,取出相应字节的数据作为对应通道数据,将本ID内所有通道数据组成一个二维数组,放入对应寄存器内,每个二维数组的行数代表本ID数据帧所包含的通道数,二维数组的列数是数据块所包含的本通道的采样点个数;
步骤二:读出所有寄存器内的二维数组,将所有二维数组拼接为一个总二维数组,其行数即对应通道数,列数对应采样点数;
步骤三:将步骤一得到的每通道的采样点个数,存为一列数组,拼接到步骤二得到的二维数组的最前面,作为总二维数组的帧头,得到的拼接后的二维数组的第一列即对应本通道采样点数;
步骤四:将步骤三中得到的二维数组传输给显示模块显示以及存储模块缓存。
进一步地,所述显示模块按照第一列每行数据值截取本通道后续数值,剔除补充的0值进行显示。
进一步的,所述存储模块预先设定写入次数阈值,当写入次数达到阈值时将缓存数据写入TDMS文件。
本发明的有益效果:
1、本发明对不同采样率采样通道分配CAN总线数据帧的数据域和仲裁域ID,根据ID解析不同通道数据,数据根据通道号存储在二维数组中,根据不同通道采样点个数对二维数组添加帧头,用于显示数据以及存储数据时提取采样数值,并且设定存储间隔,有效降低系统开销,提高数据解析稳定性。
2、本发明将所有二维数组拼接为一个总二维数组后,再拼接帧头,这样避免了解析错误导致的各通道数据的互串,并且通过添加的帧头可以灵活的接收解析不同采样率的数据。
具体实施方式
下面举实施例对本发明进行详细描述。
如表1所示,为CAN总线数据帧定义格式,根据测试需要制定不同CAN总线数据的仲裁域ID,为区别不同类型数据帧,CAN总线网络内,每种数据帧对应唯一ID,不同类型数据帧ID不能重复。
表1
CAN总线数据帧的数据域进行填充,CAN总线数据域包含8个字节,本实施例选用每两个字节填充一个通道数据,一个数据帧可以填充四个通道数据,同一ID的数据帧内填充相同采样率数据,数据域未使用字节可以闲置。
本具体实施例包含35种ID数据帧,包含140个通道数据,采样率包含100Hz、50Hz和20Hz,CAN总线为3条。
CAN总线数据分块上传到上位机,块大小预先设定为2000,即每次处理2000帧CAN总线数据,上传数据块内包含本时间段内CAN线内所有不同采样速率数据帧,其中采样率高的数据帧数多,采样率低的数据帧数少,其采样率不影响后续数据处理。
数据解析过程具体为:
步骤一:根据不同ID解析本数据块数据,取出相应字节的数据作为对应通道数据,将本ID内所有通道数据组成一个二维数组,放入对应寄存器内,每个二维数组的行数代表本ID数据帧所包含的通道数,对应表1的数据帧解析得到一个4行二维数组,第一行为第一通道,依次为第二、三、四通道,二维数组的列数是本数据块所包含的本通道的采样点个数,比如处理的块数据,2000个数据帧中包含15个如表1的ID数据帧,则解析完本块2000个数据帧后,应得到15个本通道采样数据。依照本方法解析所有ID数据帧,并存入不同寄存器。
步骤二:待本块2000个数据帧数据处理完毕后,判断每个寄存器内二维数组的每行的列数,得到每个通道的采样点个数。
步骤三:读出所有寄存器内的单独的二维数组,将所有二维数组拼接为一个总二维数组,本二维数组行数即对应通道数,列数对应采样点数,不同采样率通道对应的数组的列数不同,本实施例得到的二维数组为140行,对应140个采集通道。但是在拼接为二维数组过程中,二维数组以采样率最大的数组的列数拓展二维数组,采样率低的不足的会自动用0补齐。如采样率为100Hz的通道的每行都为真实数据,但是50Hz和20Hz采样通道由于采样数少,会在采集数据后出现无效数据0。由于本问题的出现,在数据显示和存储的过程中,必须剔除自动补充的0值,否则会使通道数据显示和存储错误。
步骤四:将步骤二中得到的每通道的采样点个数,存为一维数组,对于本实施例一共有140个通道,所以得到一个长度为140的数组,数组的值对应每个通道的采样点个数,将本数组拼接到步骤三中得到采样点的二维数组的最前一列,作为二维数组帧头,得到的拼接后的二维数组的第一列即对应本通道采样点数。
步骤五:将步骤四中得到的二维数组传输给显示模块和存储模块缓存。
步骤六:显示模块按照第一列每行数据值截取本通道后续数值,剔除步骤三中补充的0值,进行显示。
进一步的,如果数据存储每次处理完数据后进行存储,由于磁盘读写速度较慢,频繁调用写入操作,磁盘写入会占用较大系统开销,所以在存储模块缓存写入预先设定次数时,再进行一次存储写入。本实施例设定为150次,即缓存150次处理后的收据,在调用一次数据写入操作。
步骤七:处理完本块数据后等待处理下一块采集数据,或等待停止接收数据命令。

Claims (3)

1.一种基于LabVIEW的多通道多采样率CAN总线数据解析方法,其特征在于,包括以下步骤:
步骤一:根据不同ID解析数据块,取出相应字节的数据作为对应通道数据,将本ID内所有通道数据组成一个二维数组,放入对应寄存器内,每个二维数组的行数代表本ID数据帧所包含的通道数,二维数组的列数是数据块所包含的本通道的采样点个数;
步骤二:读出所有寄存器内的二维数组,将所有二维数组拼接为一个总二维数组,其行数即对应通道数,列数对应采样点数;
步骤三:将步骤一得到的每通道的采样点个数,存为一列数组,拼接到步骤二得到的二维数组的最前面,作为总二维数组的帧头,得到的拼接后的二维数组的第一列即对应本通道采样点数;
步骤四:将步骤三中得到的二维数组传输给显示模块显示以及存储模块缓存。
2.如权利要求1所述的一种基于LabVIEW的多通道多采样率CAN总线数据解析方法,其特征在于,所述显示模块按照第一列每行数据值截取本通道后续数值,剔除补充的0值进行显示。
3.如权利要求1或2所述的一种基于LabVIEW的多通道多采样率CAN总线数据解析方法,其特征在于,所述存储模块预先设定写入次数阈值,当写入次数达到阈值时将缓存数据写入TDMS文件。
CN201711458903.4A 2017-12-28 2017-12-28 一种基于LabVIEW的多通道多采样率CAN总线数据解析方法 Active CN108183769B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711458903.4A CN108183769B (zh) 2017-12-28 2017-12-28 一种基于LabVIEW的多通道多采样率CAN总线数据解析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711458903.4A CN108183769B (zh) 2017-12-28 2017-12-28 一种基于LabVIEW的多通道多采样率CAN总线数据解析方法

Publications (2)

Publication Number Publication Date
CN108183769A true CN108183769A (zh) 2018-06-19
CN108183769B CN108183769B (zh) 2020-12-11

Family

ID=62548261

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711458903.4A Active CN108183769B (zh) 2017-12-28 2017-12-28 一种基于LabVIEW的多通道多采样率CAN总线数据解析方法

Country Status (1)

Country Link
CN (1) CN108183769B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110769002A (zh) * 2019-11-01 2020-02-07 上海电气集团股份有限公司 基于LabVIEW的报文解析方法、系统、电子设备和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102445350A (zh) * 2010-10-13 2012-05-09 上海汽车集团股份有限公司 整车驾驶品质测量系统及方法
CN103440162A (zh) * 2013-09-10 2013-12-11 天津点点科技发展有限公司 基于labview的多功能传感器实验系统的设计
CN203772955U (zh) * 2013-09-02 2014-08-13 武汉英泰斯特电子技术有限公司 一种用于分布式、多通道的频率采集装置
CN205484843U (zh) * 2016-03-08 2016-08-17 刘小宝 一种基于LabVIEW的地震勘探数据采集检测系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102445350A (zh) * 2010-10-13 2012-05-09 上海汽车集团股份有限公司 整车驾驶品质测量系统及方法
CN203772955U (zh) * 2013-09-02 2014-08-13 武汉英泰斯特电子技术有限公司 一种用于分布式、多通道的频率采集装置
CN103440162A (zh) * 2013-09-10 2013-12-11 天津点点科技发展有限公司 基于labview的多功能传感器实验系统的设计
CN205484843U (zh) * 2016-03-08 2016-08-17 刘小宝 一种基于LabVIEW的地震勘探数据采集检测系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
彭文家等: "基于CompactRIO的车辆CAN总线传输策略研究", 《汽车工程》 *
徐云: "多通道数据采集系统数据预处理方法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110769002A (zh) * 2019-11-01 2020-02-07 上海电气集团股份有限公司 基于LabVIEW的报文解析方法、系统、电子设备和介质

Also Published As

Publication number Publication date
CN108183769B (zh) 2020-12-11

Similar Documents

Publication Publication Date Title
CN104104717B (zh) 投放渠道数据统计方法及装置
CN102929620B (zh) 一种柔性测控平台系统及开发方法
CN107133011B (zh) 一种示波记录仪的多通道数据存储方法
CN103714038B (zh) 一种数据处理方法和装置
CN105468547A (zh) 一种基于axi总线的便捷可配置帧数据存取控制系统
CN112328172B (zh) 数据存储方法、装置及数据读取方法、装置
CN206876863U (zh) 一种可配置的高速记录板卡
US20180329921A1 (en) Method and apparatus for storing time series data
US9032162B1 (en) Systems and methods for providing memory controllers with memory access request merging capabilities
DE112018005427T5 (de) Autonome adress-/befehls-chip-synchronisierte datenchip-adress-ablaufsteuerung für ein verteiltes pufferspeichersystem
CN101299181A (zh) 基于磁盘进行i/o请求缓存的方法和装置以及san存储设备
CN103198001B (zh) 能够自测pcie接口的存储系统及测试方法
CN104022913B (zh) 用于数据集群的测试方法和装置
CN108154891A (zh) 一种基于vpx单槽结构的存储模块
CN108183769A (zh) 一种基于LabVIEW的多通道多采样率CAN总线数据解析方法
CN106227506A (zh) 一种内存压缩系统中的多通道并行压缩解压系统及方法
DE102007006508B4 (de) Mikrocontroller mit Speicher-Trace-Modul
CN102629235A (zh) 一种提高ddr存储器读写速率的方法
CN104991745B (zh) 一种存储系统数据写入方法和系统
CN105138467B (zh) 数据存取装置、方法及磁共振设备
CN102082577A (zh) 一种高速循环冗余校验crc装置及其实现方法
CN108630285B (zh) 一种测试固态硬盘的方法和装置
CN100493000C (zh) 一种实现多逻辑通道计数的方法和装置
CN116457751A (zh) 一种写数据通路结构和芯片
CN111313997B (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