CN107231278B - Can节点的测试方法、装置及系统 - Google Patents

Can节点的测试方法、装置及系统 Download PDF

Info

Publication number
CN107231278B
CN107231278B CN201610176710.9A CN201610176710A CN107231278B CN 107231278 B CN107231278 B CN 107231278B CN 201610176710 A CN201610176710 A CN 201610176710A CN 107231278 B CN107231278 B CN 107231278B
Authority
CN
China
Prior art keywords
signal
message
data fields
test packet
test
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.)
Expired - Fee Related
Application number
CN201610176710.9A
Other languages
English (en)
Other versions
CN107231278A (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.)
Borgward Automotive China Co Ltd
Original Assignee
Borgward Automotive China Co Ltd
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 Borgward Automotive China Co Ltd filed Critical Borgward Automotive China Co Ltd
Priority to CN201610176710.9A priority Critical patent/CN107231278B/zh
Publication of CN107231278A publication Critical patent/CN107231278A/zh
Application granted granted Critical
Publication of CN107231278B publication Critical patent/CN107231278B/zh
Expired - Fee Related 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/40052High-speed IEEE 1394 serial bus
    • H04L12/40071Packet processing; Packet format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种CAN节点的测试方法、装置及系统。该CAN节点的测试方法,包括:接收解包或打包得到的CAN报文;比较CAN报文数据场中的数据与预先设置的测试报文数据场中的数据是否一致;其中,所述解包得到的CAN报文具体为对所述测试报文解包得到;所述打包得到的CAN报文与所述测试报文包含相同的信号,且相同的信号具有相同的信号值,并按照相同的规则进行打包。本发明实施例可以实现对CAN节点报文解包和打包测试过程的自动化,提高测试的效率和准确度,缩短测试的周期,减轻测试人员的工作负荷。

Description

CAN节点的测试方法、装置及系统
技术领域
本发明属于CAN总线领域,特别是涉及一种CAN节点的测试方法、装置及系统。
背景技术
报文是CAN总线上数据传输的载体,其主要由标识符(identifier,简称ID)和数据场组成。
在汽车CAN总线通信中,CAN节点之间传输的信号都被保存在报文的数据场中,例如电机转速、转矩、仪表信息等,并且对数据场中的每个信号都规定了不同的起始位和长度,通常在一个报文的数据场中包含有几个甚至几十个信号。
CAN节点在接收到报文后,需要根据信号规定的起始位和长度,将信号从报文的数据场中提取出来,这个过程称为报文解包。CAN节点在发送报文前,需要将信号按照规定的起始位和长度保存到数据场中,并通过报文发送出去,这个过程称为报文打包。
CAN节点对报文的解包和打包是保证节点之间传输的信号能够被正确接收及处理的关键环节,所以需要对CAN节点进行严格的测试。现有的测试方法是将编辑好的测试报文发送给被测节点,在被测节点通过仿真调试工具在上位机的界面上显示经被测节点解包或打包后的信号与测试信号,由测试人员通过肉眼观察经被测节点解包或打包后的信号与测试信号是否一致,如果一致则表示该信号测试通过。
通常一个CAN节点的报文数量有几十个甚至上百个,而每个报文中又包含有几个甚至几十个信号,每个信号又至少需要测试最大值和最小值两次,这样每个CAN节点的测试都需要测试人员用肉眼核对至少上千个信号,费时费力,准确率无法得到保证。
发明内容
本发明实施例要解决的一个技术问题是:提供一种CAN节点的测试方法、装置及系统,可以实现测试过程的自动化。
根据本发明实施例的一个方面,提供一种CAN节点的测试方法,包括:
接收解包或打包得到的CAN报文;
比较CAN报文数据场中的数据与预先设置的测试报文数据场中的数据是否一致;
其中,所述解包得到的CAN报文具体为对所述测试报文解包得到;所述打包得到的CAN报文与所述测试报文包含相同的信号,且相同的信号具有相同的信号值,并按照相同的规则进行打包。
根据本发明实施例的方法,还包括:
根据预先设置的信号起始位和信号长度将信号打包,生成测试报文。
根据本发明实施例的方法,还包括:
根据预先设置的测试报文数据场中的数据创建数组;
所述比较CAN报文数据场中的数据与预先设置的测试报文数据场中的数据是否一致,具体比较CAN报文数据场中的数据与所述数组中的数据是否一致。
根据本发明实施例的方法,所述测试报文数据场中的数据具体为所述测试报文数据场中信号的信号值。
根据本发明实施例的方法,所述根据测试报文数据场中的数据创建数组,具体将测试报文数据场中信号预先设置的信号值,根据预先设置的信号序号创建数组。
根据本发明实施例的方法,所述接收解包得到的CAN报文,具体接收将测试报文解包得到的测试报文数据场中每个信号的CAN报文。
根据本发明实施例的方法,所述每个信号的CAN报文,具体由将测试报文解包得到的测试报文数据场中每个信号的信号值与该信号预先设置的信号序号打包得到;
所述比较CAN报文数据场中的数据与所述数组中的数据是否一致,具体根据预先设置的信号序号,比较每个信号的CAN报文数据场中信号的信号值与所述数组中预先设置的信号值。
根据本发明实施例的方法,还包括:
获取解包得到的每个信号的CAN报文数据场中信号的信号值及该信号预先设置的信号序号。
根据本发明实施例的方法,还包括:发送测试报文。
根据本发明实施例的方法,所述解包得到的CAN报文的标识符为所述测试报文的标识符的数值取反。
根据本发明实施例的方法,所述测试报文数据场中的数据具体为所述测试报文数据场中字节的数值。
根据本发明实施例的方法,根据测试报文数据场中的数据创建数组,具体根据测试报文数据场中信号预先设置的信号值,将测试报文数据场中每个字节的数值按照在测试报文数据场中的顺序创建数组。
根据本发明实施例的方法,所述打包得到的CAN报文,具体根据预先设置的信号起始位和信号长度将信号打包得到;
所述比较CAN报文数据场中的数据与所述数组中的数据是否一致,具体根据CAN报文数据场中字节的顺序,比较CAN报文数据场中每个字节的数值与所述数组中字节的数值。
根据本发明实施例的方法,还包括:
获取打包得到的CAN报文数据场中每个字节的数值。
根据本发明实施例的方法,还包括:
当CAN报文数据场中的数据与预先设置的测试报文数据场中的数据不一致时,显示错误信号所在的被解包的测试报文的标识符及错误信号预先设置的信号序号,或者显示错误信号所在的打包得到的CAN报文的标识符及错误信号预先设置的信号序号。
根据本发明实施例的另一个方面,提供一种CAN节点的测试装置,包括:
接收单元,用于接收解包或打包得到的CAN报文;
比较单元,用于比较CAN报文数据场中的数据与预先设置的测试报文数据场中的数据是否一致;
其中,所述解包得到的CAN报文具体为对所述测试报文解包得到;所述打包得到的CAN报文与所述测试报文包含相同的信号,且相同的信号具有相同的信号值,并按照相同的规则进行打包。
根据本发明实施例的装置,还包括:
生成单元,用于根据预先设置的信号起始位和信号长度将信号打包,生成测试报文。
根据本发明实施例的装置,还包括:
创建单元,用于根据测试报文数据场中的数据创建数组;
所述比较单元,用于具体比较CAN报文数据场中的数据与所述数组中的数据是否一致。
根据本发明实施例的装置,所述测试报文数据场中的数据具体为所述测试报文数据场中信号的信号值。
根据本发明实施例的装置,所述创建单元,用于具体将测试报文数据场中信号预先设置的信号值,根据预先设置的信号序号创建数组。
根据本发明实施例的装置,所述接收单元,用于具体接收将测试报文解包得到的测试报文数据场中每个信号的CAN报文。
根据本发明实施例的装置,所述每个信号的CAN报文,具体由将测试报文解包得到的测试报文数据场中每个信号的信号值与该信号预先设置的信号序号打包得到;
所述比较单元,用于具体根据预先设置的信号序号,比较每个信号的CAN报文数据场中信号的信号值与所述数组中预先设置的信号值。
根据本发明实施例的装置,还包括:
获取单元,用于获取解包得到的每个信号的CAN报文数据场中信号的信号值及该信号预先设置的信号序号。
根据本发明实施例的装置,还包括:发送单元,用于发送测试报文。
根据本发明实施例的装置,所述解包得到的CAN报文的标识符为所述测试报文的标识符的数值取反。
根据本发明实施例的装置,所述测试报文数据场中的数据具体为所述测试报文数据场中字节的数值。
根据本发明实施例的装置,所述创建单元,用于具体根据测试报文数据场中信号预先设置的信号值,将测试报文数据场中每个字节的数值按照在测试报文数据场中的顺序创建数组。
根据本发明实施例的装置,所述打包得到的CAN报文,具体根据预先设置的信号起始位和信号长度将信号打包得到;
所述比较单元,用于具体根据CAN报文数据场中字节的顺序,比较CAN报文数据场中每个字节的数值与所述数组中字节的数值。
根据本发明实施例的装置,所述获取单元,还用于获取打包得到的CAN报文数据场中每个字节的数值。
根据本发明实施例的装置,还包括:
显示单元,当CAN报文数据场中的数据与预先设置的测试报文数据场中的数据不一致时,用于显示错误信号所在的被解包的测试报文的标识符及错误信号预先设置的信号序号,或者显示错误信号所在的打包得到的CAN报文的标识符及错误信号预先设置的信号序号。
根据本发明实施例的又一个方面,提供一种测试系统,包括:上述的CAN节点的测试装置。
基于本发明实施例提供的CAN节点的测试方法、装置及系统,通过将接收到的被测节点解包或打包得到的CAN报文数据场中的数据与预先设置的测试报文数据场中的数据进行比较,由于解包得到的CAN报文是对测试报文解包得到,而打包得到的CAN报文与测试报文相同,即包含相同的信号,且相同的信号具有相同的信号值,并按照相同的规则进行打包,因此可以根据比较结果自动做出判断,实现对CAN节点报文的解包和打包测试,使CAN节点的测试过程自动化,提高测试的效率和准确度,缩短测试的周期,减轻测试人员的工作负荷。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1是本发明CAN节点的测试方法的一个实施例的流程图。
图2是本发明CAN节点的测试方法另一个实施例的流程图。
图3是本发明CAN节点的测试方法又一个实施例的流程图。
图4是本发明CAN节点的测试方法进行解包测试的一个实施例的流程图。
图5是本发明CAN节点的测试方法进行打包测试的一个实施例的流程图。
图6是本发明CAN节点的测试方法再一个实施例的流程图。
图7是本发明CAN节点的测试装置一个实施例的结构图。
图8是本发明CAN节点的测试装置另一个实施例的结构图。
图9是本发明CAN节点的测试装置又一个实施例的结构图。
图10是本发明CAN节点的测试装置再一个实施例的结构图。
图11是本发明CAN节点的测试装置又一个实施例的结构图。
图12是本发明CAN节点的测试装置的一个具体实施例的结构图。
图13是本发明生成的测试报文的一个具体实施例的结构图。
图14是本发明生成的CAN报文的一个具体实施例的结构图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
请参阅图1所示,是本发明CAN节点的测试方法的一个实施例的流程图。该实施例的CAN节点的测试方法包括:
120,接收解包或打包得到的CAN报文。
140,比较CAN报文数据场中的数据与预先设置的测试报文数据场中的数据是否一致。
其中,解包得到的CAN报文具体为对测试报文解包得到;打包得到的CAN报文与测试报文包含相同的信号,且相同的信号具有相同的信号值,并按照相同的规则进行打包。
基于本发明实施例提供的CAN节点的测试方法,通过将接收到的被测节点解包或打包得到的CAN报文数据场中的数据与预先设置的测试报文数据场中的数据进行比较,由于解包得到的CAN报文是对测试报文解包得到,而打包得到的CAN报文与测试报文相同,即包含相同的信号,且相同的信号具有相同的信号值,并按照相同的规则进行打包,因此可以根据比较结果自动做出判断,实现对CAN节点报文的解包和打包测试,使CAN节点的测试过程自动化,提高测试的效率和准确度,缩短测试的周期,减轻测试人员的工作负荷。
请参阅图2所示,是本发明CAN节点的测试方法另一个实施例的流程图。该实施例的CAN节点的测试方法包括:
220,根据预先设置的信号起始位和信号长度将信号打包,生成测试报文。
240,接收解包或打包得到的CAN报文。
260,比较CAN报文数据场中的数据与预先设置的测试报文数据场中的数据是否一致。
其中,解包得到的CAN报文具体为对测试报文解包得到;打包得到的CAN报文与测试报文包含相同的信号,且相同的信号具有相同的信号值,并按照相同的规则进行打包。
请参阅图3所示,是本发明CAN节点的测试方法又一个实施例的流程图。该实施例的CAN节点的测试方法包括:
320,根据预先设置的信号起始位和信号长度将信号打包,生成测试报文。
340,根据预先设置的测试报文数据场中的数据创建数组。
360,接收解包或打包得到的CAN报文。
380,比较CAN报文数据场中的数据与所述数组中的数据是否一致。
其中,解包得到的CAN报文具体为对测试报文解包得到;打包得到的CAN报文与测试报文包含相同的信号,且相同的信号具有相同的信号值,并按照相同的规则进行打包。
请参阅图4所示,是本发明CAN节点的测试方法进行解包测试的一个实施例的流程图。
该实施例的测试报文数据场中的数据具体为测试报文数据场中信号的信号值。
该实施例的CAN节点的测试方法包括:
420,根据预先设置的信号起始位和信号长度将信号打包,生成测试报文。
440,将测试报文数据场中信号预先设置的信号值,根据预先设置的信号序号创建数组。
460,接收将测试报文解包得到的测试报文数据场中每个信号的CAN报文。
其中,每个信号的CAN报文,由将测试报文解包得到的测试报文数据场中每个信号的信号值与该信号预先设置的信号序号打包得到。
480,根据预先设置的信号序号,比较每个信号的CAN报文数据场中信号的信号值与所述数组中预先设置的信号值。
进一步地,该实施例的方法还包括:
470,获取解包得到的每个信号的CAN报文数据场中信号的信号值及该信号预先设置的信号序号。
进一步地,该实施例的方法还包括:
450,发送测试报文。
其中,解包得到的CAN报文的标识符为测试报文的标识符的数值取反。这样做的目的是为了方便进行测试结果的对比。
请参阅图5所示,是本发明CAN节点的测试方法进行打包测试的一个实施例的流程图。
该实施例的测试报文数据场中的数据具体为测试报文数据场中字节的数值。
该实施例的CAN节点的测试方法包括:
520,根据预先设置的信号起始位和信号长度将信号打包,生成测试报文。
540,根据测试报文数据场中信号预先设置的信号值,将测试报文数据场中每个字节的数值按照在测试报文数据场中的顺序创建数组。
560,接收打包得到的CAN报文。
其中,打包得到的CAN报文,根据预先设置的信号起始位和信号长度将信号打包得到。
580,根据CAN报文数据场中字节的顺序,比较CAN报文数据场中每个字节的数值与所述数组中字节的数值。
进一步地,该实施例的方法还包括:
570,获取打包得到的CAN报文数据场中每个字节的数值。
请参阅图6所示,是本发明CAN节点的测试方法再一个实施例的流程图。该实施例的CAN节点的测试方法包括:
620,接收解包或打包得到的CAN报文。
640,比较CAN报文数据场中的数据与预先设置的测试报文数据场中的数据是否一致。
其中,解包得到的CAN报文具体为对测试报文解包得到;打包得到的CAN报文与测试报文包含相同的信号,且相同的信号具有相同的信号值,并按照相同的规则进行打包。
660,当CAN报文数据场中的数据与预先设置的测试报文数据场中的数据不一致时,显示错误信号所在的被解包的测试报文的标识符及错误信号预先设置的信号序号,或者显示错误信号所在的打包得到的CAN报文的标识符及错误信号预先设置的信号序号。
请参阅图7所示,是本发明CAN节点的测试装置一个实施例的结构图。该实施例的CAN节点的测试装置,包括:
接收单元720,用于接收解包或打包得到的CAN报文。
比较单元740,用于比较CAN报文数据场中的数据与预先设置的测试报文数据场中的数据是否一致。
其中,解包得到的CAN报文具体为对测试报文解包得到;打包得到的CAN报文与测试报文包含相同的信号,且相同的信号具有相同的信号值,并按照相同的规则进行打包。
基于本发明实施例提供的CAN节点的测试装置,通过将接收到的被测节点解包或打包得到的CAN报文数据场中的数据与预先设置的测试报文数据场中的数据进行比较,由于解包得到的CAN报文是对测试报文解包得到,而打包得到的CAN报文与测试报文相同,即包含相同的信号,且相同的信号具有相同的信号值,并按照相同的规则进行打包,因此可以根据比较结果自动做出判断,实现对CAN节点报文的解包和打包测试,使CAN节点的测试过程自动化,提高测试的效率和准确度,缩短测试的周期,减轻测试人员的工作负荷。
请参阅图8所示,是本发明CAN节点的测试装置另一个实施例的结构图。该实施例的CAN节点的测试装置,包括:
生成单元820,用于根据预先设置的信号起始位和信号长度将信号打包,生成测试报文。
接收单元840,用于接收解包或打包得到的CAN报文。
比较单元860,用于比较CAN报文数据场中的数据与预先设置的测试报文数据场中的数据是否一致。
其中,解包得到的CAN报文具体为对测试报文解包得到;打包得到的CAN报文与测试报文包含相同的信号,且相同的信号具有相同的信号值,并按照相同的规则进行打包。
请参阅图9所示,是本发明CAN节点的测试装置又一个实施例的结构图。该实施例的CAN节点的测试装置,包括:
生成单元920,用于根据预先设置的信号起始位和信号长度将信号打包,生成测试报文。
创建单元940,用于根据测试报文数据场中的数据创建数组。
接收单元960,用于接收解包或打包得到的CAN报文。
比较单元980,用于比较CAN报文数据场中的数据与所述数组中的数据是否一致。
其中,解包得到的CAN报文具体为对测试报文解包得到;打包得到的CAN报文与测试报文包含相同的信号,且相同的信号具有相同的信号值,并按照相同的规则进行打包。
请参阅图10所示,是本发明CAN节点的测试装置再一个实施例的结构图。
在进行解包测试时,该实施例的测试报文数据场中的数据具体为测试报文数据场中信号的信号值。
该实施例的CAN节点的测试装置,包括:
生成单元1020,用于根据预先设置的信号起始位和信号长度将信号打包,生成测试报文。
创建单元1040,用于将测试报文数据场中信号预先设置的信号值,根据预先设置的信号序号创建数组。
接收单元1060,用于接收将测试报文解包得到的测试报文数据场中每个信号的CAN报文。
其中,每个信号的CAN报文,由将测试报文解包得到的测试报文数据场中每个信号的信号值与该信号预先设置的信号序号打包得到。
比较单元1080,用于根据预先设置的信号序号,比较每个信号的CAN报文数据场中信号的信号值与所述数组中预先设置的信号值。
进一步地,该实施例的装置还包括:
获取单元1070,用于获取解包得到的每个信号的CAN报文数据场中信号的信号值及该信号预先设置的信号序号。
进一步地,该实施例的装置还包括:
发送单元1050,用于发送测试报文。
其中,解包得到的CAN报文的标识符为测试报文的标识符的数值取反。这样做的目的是为了方便进行测试结果的对比。
在进行打包测试时,该实施例的测试报文数据场中的数据具体为测试报文数据场中字节的数值。
创建单元1040,还用于具体根据测试报文数据场中信号预先设置的信号值,将测试报文数据场中每个字节的数值按照在测试报文数据场中的顺序创建数组。
接收单元1060,还用于接收打包得到的CAN报文。
其中,打包得到的CAN报文,根据预先设置的信号起始位和信号长度将信号打包得到。
比较单元1080,还用于根据CAN报文数据场中字节的顺序,比较CAN报文数据场中每个字节的数值与所述数组中字节的数值。
进一步地,获取单元1070,还用于获取打包得到的CAN报文数据场中每个字节的数值。
请参阅图11所示,是本发明CAN节点的测试装置又一个实施例的结构图。该实施例的CAN节点的测试装置包括:
接收单元1120,用于接收解包或打包得到的CAN报文。
比较单元1140,用于比较CAN报文数据场中的数据与预先设置的测试报文数据场中的数据是否一致。
其中,解包得到的CAN报文具体为对测试报文解包得到;打包得到的CAN报文与测试报文包含相同的信号,且相同的信号具有相同的信号值,并按照相同的规则进行打包。
显示单元1160,当CAN报文数据场中的数据与预先设置的测试报文数据场中的数据不一致时,用于显示错误信号所在的被解包的测试报文的标识符及错误信号预先设置的信号序号,或者显示错误信号所在的打包得到的CAN报文的标识符及错误信号预先设置的信号序号。
请参阅图12、图13及图14所示,图12是本发明CAN节点的测试装置的一个具体实施例的结构图。图13是本发明生成的测试报文的一个具体实施例的结构图。图14是本发明生成的CAN报文的一个具体实施例的结构图。
本实施例的CAN节点的测试装置1220,包括:单片机1221、CAN模块1222和串口模块1223。其中,生成单元、创建单元和比较单元集成于单片机1221内,接收单元为CAN模块1222,与被测节点1240连接,串口模块1223与PC机1260连接,在PC机1260上设置有显示单元。
在表1中,包含有13个信号,并且定义了这13个信号的序号、名称、类型、起始位和长度等信息。
表1
采用本发明实施例的方法进行CAN节点的测试。
在进行解包测试时,首先,单片机1222进行操作,实现CAN模块1224的收发功能。具体地,将发送ID设置为测试报文的ID,将接收ID设置为测试报文的ID值取反后的值。例如:发送ID为0x403,则取反后的ID为0x5FC。
然后,单片机1222进行操作,将13个信号根据预先设置的信号起始位和信号长度打包生成测试报文,并给测试报文数据场中的每个信号设置一个信号值。例如:为了便于测试将信号值都设置为最大值。此时,ID为0x403的测试报文的数据场如图13所示。接着,创建一个数组,数组中的元素为测试报文数据场中信号的信号值,并按照表1中的序号设置于数组中,以此数组用来比较测试结果是否正确。例如:数组为Can_Msg_0x5FC[13]={255,7,1,1,1,1,1,1,1,15,1,1,65535}。之后,开启CAN通讯将测试报文发送给被测节点1240。
被测节点1240在接收到测试报文后,根据表1中的信号起始位和信号长度对测试报文进行解包,将测试报文数据场中的信号一一提取出来。在解包完成后,将由测试报文解包得到的测试报文数据场中每个信号的信号值与该信号在表1中的序号打包得到CAN报文,并将CAN报文的ID设置为0x5FC,循环发送给测试装置1220。CAN报文的内容和格式如图14所示,其中信号序号占用报文数据场的高4个字节,信号值占用数据场的低4个字节。
测试装置1220接收被测节点1240发出的ID为0x5FC的CAN报文,每收到一个被测节点1240发出的ID为0x5FC的CAN报文,就将CAN报文数据场的高4个字节的序号赋值给变量Serial_Num,低4个字节的信号值赋值给变量Singal_Value,然后利用之前创建的数组Can_Msg_0x5FC[13]进行比较,以此来判断被测节点1240解包后的信号是否正确。
其中实现比较的代码如下:
if(Can_Msg_0x5FC[Serial_Num]!=Singal_Value)
{
printf(”ID=0x%x,Serial_Num=%d”,0x403,Serial_Num);
}
如果被测节点1240解包得到的信号的信号值与测试装置1220生成的测试报文数据场中的信号值不一致,则通过串口模块1223向PC机1260输出错误信号所在测试报文的ID和表1中对应的信号序号。
在进行打包测试时,与解包测试的不同之处在于,单片机1222在创建数组时,数组中的元素为测试报文数据场中字节的数值,并按照测试报文数据场中的顺序设置于数组中,以此数组用来比较测试结果是否正确。
被测节点1240根据表1中的信号起始位和信号长度对信号进行打包,得到CAN报文,并给CAN报文数据场中的每个信号设置一个信号值。例如:为了便于测试将信号值都设置为最小值。在打包完成后,将CAN报文发送给测试装置1220。
测试装置1220接收被测节点1240发出的CAN报文,将CAN报文数据场的每个字节与之前创建的数组进行比较,以此来判断被测节点1240打包后的信号是否正确。
如果被测节点1240打包得到CAN报文数据场中的字节的数值与测试装置1220生成的测试报文数据中的字节的数值不一致,则通过串口模块1223向PC机1260输出错误所在CAN报文的ID和表1中对应的信号序号。
本发明实施例还提供了一种测试系统,设置有上述任一实施例的CAN节点的测试装置。
基于本发明实施例提供的测试系统,设置有本发明上述任一实施例的CAN节点的测试装置,通过将接收到的被测节点解包或打包得到的CAN报文数据场中的数据与预先设置的测试报文数据场中的数据进行比较,由于解包得到的CAN报文是对测试报文解包得到,而打包得到的CAN报文与测试报文相同,即包含相同的信号,且相同的信号具有相同的信号值,并按照相同的规则进行打包,因此可以根据比较结果自动做出判断,实现对CAN节点报文的解包和打包测试,使CAN节点的测试过程自动化,提高测试的效率和准确度,缩短测试的周期,减轻测试人员的工作负荷。
本发明实施例提供了以下技术方案:
C1、一种CAN节点的测试方法,其特征在于,包括:
接收解包或打包得到的CAN报文;
比较CAN报文数据场中的数据与预先设置的测试报文数据场中的数据是否一致;
其中,所述解包得到的CAN报文具体为对所述测试报文解包得到;所述打包得到的CAN报文与所述测试报文包含相同的信号,且相同的信号具有相同的信号值,并按照相同的规则进行打包。
C2、根据C1所述的方法,其特征在于,还包括:
根据预先设置的信号起始位和信号长度将信号打包,生成测试报文。
C3、根据C2所述的方法,其特征在于,还包括:
根据预先设置的测试报文数据场中的数据创建数组;
所述比较CAN报文数据场中的数据与预先设置的测试报文数据场中的数据是否一致,具体比较CAN报文数据场中的数据与所述数组中的数据是否一致。
C4、根据C3所述的方法,其特征在于,所述测试报文数据场中的数据具体为所述测试报文数据场中信号的信号值。
C5、根据C4所述的方法,其特征在于,所述根据测试报文数据场中的数据创建数组,具体将测试报文数据场中信号预先设置的信号值,根据预先设置的信号序号创建数组。
C6、根据C5所述的方法,其特征在于,所述接收解包得到的CAN报文,具体接收将测试报文解包得到的测试报文数据场中每个信号的CAN报文。
C7、根据C6所述的方法,其特征在于,所述每个信号的CAN报文,具体由将测试报文解包得到的测试报文数据场中每个信号的信号值与该信号预先设置的信号序号打包得到;
所述比较CAN报文数据场中的数据与所述数组中的数据是否一致,具体根据预先设置的信号序号,比较每个信号的CAN报文数据场中信号的信号值与所述数组中预先设置的信号值。
C8、根据C7所述的方法,其特征在于,还包括:
获取解包得到的每个信号的CAN报文数据场中信号的信号值及该信号预先设置的信号序号。
C9、根据C1所述的方法,其特征在于,还包括:
发送测试报文。
C10、根据C9所述的方法,其特征在于,所述解包得到的CAN报文的标识符为所述测试报文的标识符的数值取反。
C11、根据C3所述的方法,其特征在于,所述测试报文数据场中的数据具体为所述测试报文数据场中字节的数值。
C12、根据C11所述的方法,其特征在于,根据测试报文数据场中的数据创建数组,具体根据测试报文数据场中信号预先设置的信号值,将测试报文数据场中每个字节的数值按照在测试报文数据场中的顺序创建数组。
C13、根据C12所述的方法,其特征在于,所述打包得到的CAN报文,具体根据预先设置的信号起始位和信号长度将信号打包得到;
所述比较CAN报文数据场中的数据与所述数组中的数据是否一致,具体根据CAN报文数据场中字节的顺序,比较CAN报文数据场中每个字节的数值与所述数组中字节的数值。
C14、根据C13所述的方法,其特征在于,还包括:
获取打包得到的CAN报文数据场中每个字节的数值。
C15、根据C1至C14中任一项所述的方法,其特征在于,还包括:
当CAN报文数据场中的数据与预先设置的测试报文数据场中的数据不一致时,显示错误信号所在的被解包的测试报文的标识符及错误信号预先设置的信号序号,或者显示错误信号所在的打包得到的CAN报文的标识符及错误信号预先设置的信号序号。
C16、一种CAN节点的测试装置,其特征在于,包括:
接收单元,用于接收解包或打包得到的CAN报文;
比较单元,用于比较CAN报文数据场中的数据与预先设置的测试报文数据场中的数据是否一致;
其中,所述解包得到的CAN报文具体为对所述测试报文解包得到;所述打包得到的CAN报文与所述测试报文包含相同的信号,且相同的信号具有相同的信号值,并按照相同的规则进行打包。
C17、根据C16所述的装置,其特征在于,还包括:
生成单元,用于根据预先设置的信号起始位和信号长度将信号打包,生成测试报文。
C18、根据C17所述的装置,其特征在于,还包括:
创建单元,用于根据测试报文数据场中的数据创建数组;
所述比较单元,用于具体比较CAN报文数据场中的数据与所述数组中的数据是否一致。
C19、根据C18所述的装置,其特征在于,所述测试报文数据场中的数据具体为所述测试报文数据场中信号的信号值。
C20、根据C19所述的装置,其特征在于,所述创建单元,用于具体将测试报文数据场中信号预先设置的信号值,根据预先设置的信号序号创建数组。
C21、根据C20所述的装置,其特征在于,所述接收单元,用于具体接收将测试报文解包得到的测试报文数据场中每个信号的CAN报文。
C22、根据C21所述的装置,其特征在于,所述每个信号的CAN报文,具体由将测试报文解包得到的测试报文数据场中每个信号的信号值与该信号预先设置的信号序号打包得到;
所述比较单元,用于具体根据预先设置的信号序号,比较每个信号的CAN报文数据场中信号的信号值与所述数组中预先设置的信号值。
C23、根据C22所述的装置,其特征在于,还包括:
获取单元,用于获取解包得到的每个信号的CAN报文数据场中信号的信号值及该信号预先设置的信号序号。
C24、根据C16所述的装置,其特征在于,还包括:发送单元,用于发送测试报文。
C25、根据C24所述的装置,其特征在于,所述解包得到的CAN报文的标识符为所述测试报文的标识符的数值取反。
C26、根据C18所述的装置,其特征在于,所述测试报文数据场中的数据具体为所述测试报文数据场中字节的数值。
C27、根据C26所述的装置,其特征在于,所述创建单元,用于具体根据测试报文数据场中信号预先设置的信号值,将测试报文数据场中每个字节的数值按照在测试报文数据场中的顺序创建数组。
C28、根据C27所述的装置,其特征在于,所述打包得到的CAN报文,具体根据预先设置的信号起始位和信号长度将信号打包得到;
所述比较单元,用于具体根据CAN报文数据场中字节的顺序,比较CAN报文数据场中每个字节的数值与所述数组中字节的数值。
C29、根据C28所述的装置,其特征在于,所述获取单元,还用于获取打包得到的CAN报文数据场中每个字节的数值。
C30、根据C16至C29中任一项所述的装置,其特征在于,还包括:
显示单元,当CAN报文数据场中的数据与预先设置的测试报文数据场中的数据不一致时,用于显示错误信号所在的被解包的测试报文的标识符及错误信号预先设置的信号序号,或者显示错误信号所在的打包得到的CAN报文的标识符及错误信号预先设置的信号序号。
C31、一种测试系统,其特征在于,包括:根据C16至C30中任一项所述的CAN节点的测试装置。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于装置实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可能以许多方式来实现本发明的方法、装置和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法、装置和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

Claims (29)

1.一种CAN节点的测试方法,其特征在于,包括:
接收解包或打包得到的CAN报文;
比较CAN报文数据场中的数据与预先设置的测试报文数据场中的数据是否一致包括:根据预先设置的测试报文数据场中的数据创建数组;比较CAN报文数据场中的数据与所述数组中的数据是否一致;
其中,所述解包得到的CAN报文根据对所述测试报文解包得到;所述打包得到的CAN报文与所述测试报文包含:相同的信号,且相同的信号具有相同的信号值,并按照相同的规则打包得到。
2.根据权利要求1所述的方法,其特征在于,还包括:
根据预先设置的信号起始位和信号长度将信号打包,生成测试报文。
3.根据权利要求2所述的方法,其特征在于,所述测试报文数据场中的数据具体为所述测试报文数据场中信号的信号值。
4.根据权利要求3所述的方法,其特征在于,所述根据测试报文数据场中的数据创建数组,具体将测试报文数据场中信号预先设置的信号值,根据预先设置的信号序号创建数组。
5.根据权利要求4所述的方法,其特征在于,所述接收解包得到的CAN报文,具体接收将测试报文解包得到的测试报文数据场中每个信号的CAN报文。
6.根据权利要求5所述的方法,其特征在于,所述每个信号的CAN报文,具体由将测试报文解包得到的测试报文数据场中每个信号的信号值与该信号预先设置的信号序号打包得到;
所述比较CAN报文数据场中的数据与所述数组中的数据是否一致,具体根据预先设置的信号序号,比较每个信号的CAN报文数据场中信号的信号值与所述数组中预先设置的信号值。
7.根据权利要求6所述的方法,其特征在于,还包括:
获取解包得到的每个信号的CAN报文数据场中信号的信号值及该信号预先设置的信号序号。
8.根据权利要求1所述的方法,其特征在于,还包括:
发送测试报文。
9.根据权利要求8所述的方法,其特征在于,所述解包得到的CAN报文的标识符为所述测试报文的标识符的数值取反。
10.根据权利要求1所述的方法,其特征在于,所述测试报文数据场中的数据具体为所述测试报文数据场中字节的数值。
11.根据权利要求10所述的方法,其特征在于,根据测试报文数据场中的数据创建数组,具体根据测试报文数据场中信号预先设置的信号值,将测试报文数据场中每个字节的数值按照在测试报文数据场中的顺序创建数组。
12.根据权利要求11所述的方法,其特征在于,所述打包得到的CAN报文,具体根据预先设置的信号起始位和信号长度将信号打包得到;
所述比较CAN报文数据场中的数据与所述数组中的数据是否一致,具体根据CAN报文数据场中字节的顺序,比较CAN报文数据场中每个字节的数值与所述数组中字节的数值。
13.根据权利要求12所述的方法,其特征在于,还包括:
获取打包得到的CAN报文数据场中每个字节的数值。
14.根据权利要求1至13中任一权利要求所述的方法,其特征在于,还包括:
当CAN报文数据场中的数据与预先设置的测试报文数据场中的数据不一致时,显示错误信号所在的被解包的测试报文的标识符及错误信号预先设置的信号序号,或者显示错误信号所在的打包得到的CAN报文的标识符及错误信号预先设置的信号序号。
15.一种CAN节点的测试装置,其特征在于,包括:
接收单元,用于接收解包或打包得到的CAN报文;
比较单元,用于比较CAN报文数据场中的数据与预先设置的测试报文数据场中的数据是否一致包括:根据测试报文数据场中的数据创建数组;比较CAN报文数据场中的数据与所述数组中的数据是否一致;
其中,所述解包得到的CAN报文根据对所述测试报文解包得到;所述打包得到的CAN报文与所述测试报文包含:相同的信号,且相同的信号具有相同的信号值,并按照相同的规则打包得到。
16.根据权利要求15所述的装置,其特征在于,还包括:
生成单元,用于根据预先设置的信号起始位和信号长度将信号打包,生成测试报文。
17.根据权利要求16所述的装置,其特征在于,所述测试报文数据场中的数据具体为所述测试报文数据场中信号的信号值。
18.根据权利要求17所述的装置,其特征在于,所述创建单元,用于具体将测试报文数据场中信号预先设置的信号值,根据预先设置的信号序号创建数组。
19.根据权利要求18所述的装置,其特征在于,所述接收单元,用于具体接收将测试报文解包得到的测试报文数据场中每个信号的CAN报文。
20.根据权利要求19所述的装置,其特征在于,所述每个信号的CAN报文,具体由将测试报文解包得到的测试报文数据场中每个信号的信号值与该信号预先设置的信号序号打包得到;
所述比较单元,用于具体根据预先设置的信号序号,比较每个信号的CAN报文数据场中信号的信号值与所述数组中预先设置的信号值。
21.根据权利要求20所述的装置,其特征在于,还包括:
获取单元,用于获取解包得到的每个信号的CAN报文数据场中信号的信号值及该信号预先设置的信号序号。
22.根据权利要求15所述的装置,其特征在于,还包括:发送单元,用于发送测试报文。
23.根据权利要求22所述的装置,其特征在于,所述解包得到的CAN报文的标识符为所述测试报文的标识符的数值取反。
24.根据权利要求15所述的装置,其特征在于,所述测试报文数据场中的数据具体为所述测试报文数据场中字节的数值。
25.根据权利要求24所述的装置,其特征在于,所述创建单元,用于具体根据测试报文数据场中信号预先设置的信号值,将测试报文数据场中每个字节的数值按照在测试报文数据场中的顺序创建数组。
26.根据权利要求25所述的装置,其特征在于,所述打包得到的CAN报文,具体根据预先设置的信号起始位和信号长度将信号打包得到;
所述比较单元,用于具体根据CAN报文数据场中字节的顺序,比较CAN报文数据场中每个字节的数值与所述数组中字节的数值。
27.根据权利要求26所述的装置,其特征在于,所述获取单元,还用于获取打包得到的CAN报文数据场中每个字节的数值。
28.根据权利要求15至27中任一权利要求所述的装置,其特征在于,还包括:
显示单元,当CAN报文数据场中的数据与预先设置的测试报文数据场中的数据不一致时,用于显示错误信号所在的被解包的测试报文的标识符及错误信号预先设置的信号序号,或者显示错误信号所在的打包得到的CAN报文的标识符及错误信号预先设置的信号序号。
29.一种测试系统,其特征在于,包括:根据权利要求15至28中任一权利要求所述的CAN节点的测试装置。
CN201610176710.9A 2016-03-24 2016-03-24 Can节点的测试方法、装置及系统 Expired - Fee Related CN107231278B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610176710.9A CN107231278B (zh) 2016-03-24 2016-03-24 Can节点的测试方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610176710.9A CN107231278B (zh) 2016-03-24 2016-03-24 Can节点的测试方法、装置及系统

Publications (2)

Publication Number Publication Date
CN107231278A CN107231278A (zh) 2017-10-03
CN107231278B true CN107231278B (zh) 2019-11-22

Family

ID=59931752

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610176710.9A Expired - Fee Related CN107231278B (zh) 2016-03-24 2016-03-24 Can节点的测试方法、装置及系统

Country Status (1)

Country Link
CN (1) CN107231278B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111327489B (zh) * 2020-01-18 2023-05-02 惠州华阳通用电子有限公司 一种报文测试方法及装置
CN115220749A (zh) * 2021-09-06 2022-10-21 广州汽车集团股份有限公司 域控制器仿真测试方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101778007B (zh) * 2009-01-12 2012-05-23 哈尔滨威帝电子股份有限公司 一种自动测试can总线控制模块的i/o引脚的系统和方法
CN102236354A (zh) * 2010-05-06 2011-11-09 上海固泰科技有限公司 一种can总线数据链路层测试方法
CN106330618A (zh) * 2016-09-19 2017-01-11 中国第汽车股份有限公司 一种基于can/lin/most混合型总线网关路由自动化测试系统及测试方法

Also Published As

Publication number Publication date
CN107231278A (zh) 2017-10-03

Similar Documents

Publication Publication Date Title
CN110096338B (zh) 智能合约执行方法、装置、设备及介质
US8799864B2 (en) Providing SystemVerilog testing harness for a standardized testing language
US20100095159A1 (en) Apparatus and method for automatic testing of software or digital devices
CN104102574B (zh) 应用程序测试方法及装置
CN107239398B (zh) 一种基于Postman的接口测试用例自动生成系统及方法
WO1996002039A1 (en) Hardware design verification system and method
CN109768970A (zh) 一种基于可配置的通用协议生成方法
CN107026773B (zh) 用于接口自动化测试的自动关联方法
CN107231278B (zh) Can节点的测试方法、装置及系统
US20110225559A1 (en) Logic verifying apparatus, logic verifying method, and medium
JP2010140408A (ja) ソースコード変換装置
CN101763299A (zh) 一种通用串行总线设备测试方法和装置
KR100883392B1 (ko) 다양한 시리얼 버스 타입의 시뮬레이션, 에뮬레이션 및테스트를 위한 범용 방법
JP2010140407A (ja) ソースコード検査装置
EP2535813B1 (en) Method and device for generating an alert during an analysis of performance of a computer application
CN110266554A (zh) 一种私有通信协议的测试方法
CN110798371A (zh) 一种私有通信协议的测试方法
CN114676436A (zh) 一种基于结构化变异的安卓应用多媒体解析库漏洞挖掘系统及方法
CN114416597A (zh) 测试用例记录的生成方法和装置
CN114490318A (zh) 一种基于字节码增强实现弱隔离的环境治理系统及方法
Lee et al. Collecting big data from automotive ECUs beyond the CAN bandwidth for fault visualization
Fatima et al. Evaluation of model checkers spin and uppaal for testing wireless sensor network routing protocols
CN109542760B (zh) 一种基于设备规约的虚拟原型变异测试用例生成方法
CN103729216A (zh) 一种arinc429板卡数据输入输出方法
CN103729215A (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
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Test method, device and system of CAN node

Effective date of registration: 20211213

Granted publication date: 20191122

Pledgee: BEIJING AUTOMOTIVE GROUP Co.,Ltd.

Pledgor: Borgward Automotive (China) Co., Ltd.

Registration number: Y2021990001167

PE01 Entry into force of the registration of the contract for pledge of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20191122

CF01 Termination of patent right due to non-payment of annual fee
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20231201

Granted publication date: 20191122

Pledgee: BEIJING AUTOMOTIVE GROUP Co.,Ltd.

Pledgor: Beijing baowo Automobile Co.,Ltd.|Borgward Automotive (China) Co., Ltd.

Registration number: Y2021990001167

PC01 Cancellation of the registration of the contract for pledge of patent right