CN108183769A - 一种基于LabVIEW的多通道多采样率CAN总线数据解析方法 - Google Patents
一种基于LabVIEW的多通道多采样率CAN总线数据解析方法 Download PDFInfo
- 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
Links
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/4013—Management of data rate on the bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
- H04L1/0007—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
-
- 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
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
技术领域
本发明属于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文件。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110769002A (zh) * | 2019-11-01 | 2020-02-07 | 上海电气集团股份有限公司 | 基于LabVIEW的报文解析方法、系统、电子设备和介质 |
Citations (4)
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的地震勘探数据采集检测系统 |
-
2017
- 2017-12-28 CN CN201711458903.4A patent/CN108183769B/zh active Active
Patent Citations (4)
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)
Title |
---|
彭文家等: "基于CompactRIO的车辆CAN总线传输策略研究", 《汽车工程》 * |
徐云: "多通道数据采集系统数据预处理方法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (1)
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 |