CN111538319A - 一种can总线控制器并行测试方法 - Google Patents
一种can总线控制器并行测试方法 Download PDFInfo
- Publication number
- CN111538319A CN111538319A CN202010574190.3A CN202010574190A CN111538319A CN 111538319 A CN111538319 A CN 111538319A CN 202010574190 A CN202010574190 A CN 202010574190A CN 111538319 A CN111538319 A CN 111538319A
- Authority
- CN
- China
- Prior art keywords
- test
- bus controller
- node
- mode
- bus
- 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
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0218—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
- G05B23/0224—Process history based detection method, e.g. whereby history implies the availability of large amounts of data
- G05B23/0227—Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions
- G05B23/0237—Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions based on parallel systems, e.g. comparing signals produced at the same time by same type systems and detect faulty ones by noticing differences among their responses
-
- 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
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Small-Scale Networks (AREA)
- Bus Control (AREA)
Abstract
本发明涉及一种CAN总线控制器并行测试方法,属于电子元器件检测技术领域,解决了现有CAN总线控制器测试无法实现真实工作状态考量、调试和编写测试PATTERN繁琐、难度大的问题。方法包括以下步骤:获取当前的测试模式;若测试模式属于CAN总线系统测试模式,则接通第一通道,并利用测试机台对所述CAN总线控制器进行相应工作模式下的测试;若测试模式属于单片CAN总线控制器测试模式,则接通第二通道,并利用测试机台对所述CAN总线控制器进行相应工作模式下的测试;CAN总线系统测试模式包括报文收发测试、报文滤波测试、总线仲裁测试中的至少一种测试模式;单片CAN总线控制器测试模式包括发送错误测试、接收错误测试、节点关闭测试中的至少一种测试模式。
Description
技术领域
本发明涉及电子元器件检测技术领域,尤其涉及一种CAN总线控制器并行测试方法。
背景技术
CAN总线控制器属于控制器类器件,其功能强大,内部寄存器众多,其测试一直是业界难题,即使有个别机构能够完成简单的收发报文功能测试,也无法遍历其内部众多的资源模块和各种处理机制。
单片数字器件的测试一般直接将器件管脚与数字通道相连,将器件的电源和地分别接到测试系统的DPS和GND上为器件供电,制作测试接口板过程中还会有一些辅助的电容进行滤波。在测试过程中,一般通过测试PATTERN对器件输入管脚进行读、写、控制等操作,然后对输出管脚进行高低电平的判断。而CAN总线控制器是一类比较特殊的器件,其TX端口在发送报文过程中需要不断地通过RX端口回采CAN总线上的电平,回采电平与发出电平一致才能继续发送报文。
CAN总线通信协议是一种基于应答机制的总线协议,总线系统中各个节点地位平等,没有主从之分。总线空闲时,每一个节点都可以发送数据;当一个节点抢占了总线作为发送器时,其它所有节点自动成为接收器,系统中每一个节点都可以接收到发送器发送的数据报文;当有多个节点同时尝试发送数据时,其数据帧的优先级决定了节点的优先级,此时,数据帧优先级较高的节点成为发送器,仲裁失效的节点会成为接收器并接收报文,其没有发送的报文等待总线空闲之后重新发送。
最简单的CAN总线系统如图1所示,当总线空闲时,CAN总线控制器通过TX端尝试发送一个“显性电平”作为数据帧的帧起始,这个“显性电平”通过CAN总线收发器传送到CAN物理总线上,空闲状态的CAN总线处于“隐性电平”状态,此时CAN总线上的“隐性电平”会被“显性电平”冲掉,这个“显性电平”通过CAN总线收发器传回给CAN总线控制器。CAN总线控制器必须在规定时间内检测到其RX端传回的“显性电平”才能定位为总线上没有故障,可以继续发送数据帧。
然而,现有的测试方式,在测试时只有测试机台的数字通道和CAN总线控制器管脚的物理连接,并没有实际的CAN总线,也没有CAN总线收发器和其它的节点,所有整个测试过程中,测试机台不仅要模拟CPU为总线控制器寄存器进行配置,还要模拟完整的CAN环境(主要模拟RX端传回数据的“高低电平”),每一个周期内都应结合CAN实际总线环境情况给出。
因此,现有技术中的CAN总线控制器的测试方式,一方面无法对其真实工作状态进行考量;另一方面,调试和编写测试PATTERN的过程过于繁琐、难度较大。
发明内容
鉴于上述的分析,本发明旨在提供一种CAN总线控制器并行测试方法,用以解决现有现有技术中存在的上述缺陷。
本发明的目的主要是通过以下技术方案实现的:
一种CAN总线控制器并行测试方法,包括以下步骤:
获取当前的测试模式;
若所述测试模式属于CAN总线系统测试模式,则接通第一通道,并利用测试机台对所述CAN总线控制器进行相应工作模式下的测试;
若所述测试模式属于单片CAN总线控制器测试模式,则接通第二通道,并利用测试机台对所述CAN总线控制器进行相应工作模式下的测试;
所述CAN总线系统测试模式包括以下测试模式:报文收发测试模式、报文滤波测试模式、总线仲裁测试模式;所述单片CAN总线控制器测试模式包括以下测试模式:发送错误测试模式、接收错误测试模式、节点关闭测试模式。
在上述方案的基础上,本发明还做了如下改进:
当接通所述第一通道时,CAN总线控制器的TX端口、RX端口分别与CAN总线收发器相连;
当接通所述第二通道时,CAN总线控制器的TX端口、RX端口与所述测试机台的数字通道相连。
进一步,当所述当前测试模式为报文收发测试模式时,测试过程包括以下步骤:
利用所述测试机台将多个CAN总线控制器中的寄存器配置成一致;
测试机台选择任一CAN节点作为发送节点,其他CAN节点均作为接收节点;
测试机台控制在发送节点的发送缓冲器中写入要发送的数据并发送,固定延时后,测试机台读取接收节点的接收缓冲器接收到的数据,并比较发送的数据与接收的数据是否一致,若一致,则所述CAN总线控制器的报文收发测试功能测试通过。
进一步,所述将多个CAN总线控制器中的寄存器配置成一致,包括:
配置多个CAN总线控制器中的波特率寄存器,设定相同的波特率;
配置多个CAN总线控制器中的验收代码寄存器和验收屏蔽寄存器,使多个CAN总线控制器接收所有ID的数据;
配置多个CAN总线控制器中的输出控制寄存器,设定相同的输出方式。
进一步,当所述当前测试模式为报文滤波测试模式时,测试过程包括以下步骤:
测试机台选择任一CAN节点作为发送节点,其他任一CAN节点均作为接收节点;
测试机台配置发送节点和接收节点的波特率寄存器,设定相同的波特率;配置接收节点的验收代码寄存器仅能接收特定ID的数据;配置接收节点的验收屏蔽寄存器,使得接收节点的验收代码寄存器中的代码全部有效;
测试机台控制在发送节点的发送缓冲器中写入包含所述特定ID的数据并发送,固定延时后,测试机台读取接收节点的接收缓冲器接收到的数据,若测试机台从接收节点的接收缓冲器中读取到发送节点发送的包含所述特定ID的数据,则清除接收节点的接收缓冲器,并再次控制在发送节点的发送缓冲器中写入不包含所述特定ID的数据并发送,固定延时后,若测试机台不能从接收节点的接收缓冲器中读取到发送节点发送的不包含所述特定ID的数据,则所述CAN总线控制器的报文滤波测试功能测试通过。
进一步,当所述当前测试模式为总线仲裁测试模式时,测试过程包括以下步骤:
测试机台随机选择两个CAN节点;将所选择的两个CAN总线控制器中的寄存器配置成一致;
测试机台控制同时在两个CAN节点的发送缓冲器中写入要发送的数据,基于写入数据的ID确定两个CAN节点的优先级,所述两个节点的ID优先级不同;所述两个CAN节点同时发送写入的数据,固定延时后,由测试机台执行数据校验,若校验通过,则测试机台重新进行复位操作,调换写入两个CAN节点的数据的ID,两个CAN节点同时发送写入的数据,固定延时后,由测试机台再次执行数据校验,若校验通过,则所述CAN总线控制器的总线仲裁测试功能测试通过。
进一步,所述测试机台执行数据校验的过程为:
若通过测试机台从ID优先级较低的CAN节点的接收缓冲器中读取到ID优先级较高的CAN节点的发送缓冲器发送的数据,则待ID优先级较高的CAN节点的报文发送完毕、并等待帧间空闲后,ID优先级较低的CAN节点的发送缓冲器重启发送,固定延时后,若通过测试机台从ID优先级较高的CAN节点的接收缓冲器中读取到ID优先级较低的CAN节点的发送缓冲器发送的数据,则校验通过,否则,校验不通过。
进一步,当所述当前测试模式为节点关闭测试模式时,测试过程包括以下步骤:
所述测试机台选择任一CAN总线控制器RX端构建节点关闭测试模式的CAN总线环境;
所述测试机台在操作模式下,控制所选择的CAN总线控制器中的发送错误计数器或接收错误计数器累加到255,若检测到所选择的CAN总线控制器中的状态寄存器为总线关闭状态、所选择的CAN总线控制器从操作模式切换至复位模式,并检测到所述发送错误计数器中值为0X7F、接收错误计数器清零;则测试机台再次配置所选择的CAN总线控制器,进入操作模式,控制RX端保持高电平,若检测到所述发送错误计数器每隔固定总线空闲-1,且检测到当所述发送错误计数器变为0时,所选择的CAN总线控制器恢复正常工作状态;则所述CAN总线控制器的节点关闭测试功能测试通过。
进一步,当所述当前测试模式为发送错误测试模式时,测试过程包括以下步骤:
测试机台选择任一CAN节点,并配置所选择的CAN节点中CAN总线控制器中的寄存器:配置所选择的CAN节点的模式寄存器,进入复位模式;配置所选择的CAN节点的发送错误计数器,设定为小于127的初值;
测试机台获取与TX同步的发送测试PATTERN并施加至RX端;测试机台在向RX端施加与TX同步的发送测试PATTERN中相应位的电平激励过程中,将数据帧中TX端为低电平的某一位对应的RX端修改为高电平,并将所述低电平施加给RX端;
此时检测到所述发送错误计数器+8,且在TX端检测到由6个低电平位的错误标志和8个高电平位的错误界定符组成的错误帧;
向所述RX端施加所述由6个低电平位的错误标志和8个高电平位的错误界定符组成的错误帧;
重复上述发送错误的步骤,当检测到所述发送错误计数器累加超过127时,若在TX端检测到由6个高电平位的错误标志和8个高电平位的错误界定符组成的错误帧,并检测TX端发送所述由6个高电平位的错误标志和8个高电平位的错误界定符组成的错误帧期间、以及之后的3个总线空闲、8个高电平挂起期间,所述RX端是否为高电平,若RX端为高电平,则所述CAN总线控制器的发送错误测试功能测试通过。
进一步,通过执行以下操作获得与TX同步的发送测试PATTERN:
测试机台配置所选择的CAN总线控制器中的寄存器;具体包括:配置模式寄存器,进入复位模式;配置波特率寄存器,设定数据传输速率;配置模式寄存器,进入操作模式;配置中断使能寄存器,开启发送中断。
在发送缓冲器中写入待发送的报文信息;
短接TX端和RX端,向所述CAN总线控制器写入发送命令,从TX端获取所述报文信息并转换为高低电平,写入发送测试PATTERN;
断开TX端和RX端,再次向所述CAN总线控制器写入发送命令,并读取延时时间;将所述发送测试PATTERN中数据帧的响应位的高电平替换为低电平,并为所述发送测试PATTERN设置与所述延时时间一致的等待时间,得到与TX同步的发送测试PATTERN。
本发明有益效果如下:
本发明提供的CAN总线控制器并行测试方法,具备如下有益效果:
(1)该方法能够在CAN总线真实环境下进行测试,测试结果更加有效;
(2)该方法可通过测试机台直接从接收缓冲器中读取数据并验证数据传输的正确性,避免了繁琐的调试和编写PATTREN过程;
(3)该方法实现多片CAN总线控制器并行测试,提高测试效率,为CAN总线控制器应用验证提供解决方案;
(4)该方法可以实现CAN总线系统和单片CAN总线控制器工作环境的相互切换,可以实现CAN总线控制器功能全覆盖性测试。
本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书、权利要求书以及附图中所特别指出的内容中来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为现有技术中的简易CAN总线系统;
图2为本发明实施例提供的CAN总线控制器并行测试方法流程图;
图3为本发明实施例中CAN总线控制器并行测试方法对应的硬件连接关系示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
本发明的一个具体实施例,公开了一种CAN总线控制器并行测试方法,流程图如图2所示,该方法包括以下步骤:
步骤S1:获取当前的测试模式;
步骤S2:若所述测试模式属于CAN总线系统测试模式,则接通第一通道,并利用测试机台对所述CAN总线控制器进行相应工作模式下的测试;
步骤S3:若所述测试模式属于单片CAN总线控制器测试模式,则接通第二通道,并利用测试机台对所述CAN总线控制器进行相应工作模式下的测试;
其中,所述CAN总线系统测试模式包括以下测试模式:报文收发测试模式、报文滤波测试模式、总线仲裁测试模式;所述单片CAN总线控制器测试模式包括以下测试模式:发送错误测试模式、接收错误测试模式、节点关闭测试模式。
在上述方法中,每个CAN节点均包括一个CAN总线控制器和一个CAN总线收发器,多个CAN总线收发器的CANL和CANH分别相连形成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总线控制器并行测试方法对应的硬件连接关系示意图如图3所示,当接通所述第一通道时,CAN总线控制器的TX端口、RX端口分别与CAN总线收发器相连;当接通所述第二通道(未示出)时,CAN总线控制器的TX端口、RX端口与所述测试机台的数字通道相连。
示例性地,第一通道和第二通道的切换,可借助继电器或光电耦合器实现。当选用继电器时,测试机台基于不同的测试模式控制所述继电器的导通和关断,以控制所述第一通道和所述第二通道的切换。示例性地,可选择包含两个常开触点、两个常闭触点的继电器,继电器的个数与CAN节点的个数相同。其中,CAN总线控制器的TX端口、RX端口分别经由继电器的常开触点与所述测试机台的数字通道相连;所述CAN总线控制器的TX端口、RX端口还分别经由所述继电器的常闭触点与CAN总线收发器相连。此时,当继电器不通电时,第一通道接通;当继电器通电时,第二通道接通,从而实现第一通道和第二通道之间的切换。当选用光电耦合器时,测试机台基于不同的测试模式控制所述光电耦合器的导通和关断,以控制所述第一通道和所述第二通道的切换。示例性地,可以选择至少包含四个输入端、四个输出端、四个控制端的光电耦合器;光电耦合器的个数与CAN节点的个数相同。其中,在利用光电耦合器形成的第一通道中,光电耦合器的第一输入端、第二输入端分别与CAN总线控制器的TX端口、RX端口相连,光电耦合器的第一输出端、第二输出端分别与CAN总线收发器中对应于TX端口、RX端口的端口相连;第一控制端用于控制第一输入端与第一输出端之间的导通或关断;第二控制端用于控制第二输入端与第二输出端之间的导通或关断;在利用光电耦合器形成的第二通道中,光电耦合器的第三输入端、第四输入端分别与CAN总线控制器的TX端口、RX端口相连,光电耦合器的第三输出端、第四输出端分别与测试机台的数字通道中对应于TX端口、RX端口的端口相连;第三控制端用于控制第三输入端与第三输出端之间的导通或关断;第四控制端用于控制第四输入端与第四输出端之间的导通或关断;需要说明的是,当控制端为高电平时,光电耦合器不导通,光电耦合器的输入端和输出端断开连接;当控制端为低电平时,光电耦合器导通,光电耦合器两端直接导通连接,中间没有导通电阻,可以实现直连。因此,通过控制第一控制端到第四控制端的高低电平,实现第一通道和第二通道之间的切换。需要说明的是,当第一控制端、第二控制端均为低电平,且第三控制端、第四控制端均为高电平时,第一通道导通;当第一控制端、第二控制端均为高电平,且第三控制端、第四控制端均为低电平时,第二通道导通。
下面对不同测试模式下的测试过程做详细说明:
(1)报文收发测试模式
在该测试模式下,测试机台将多个CAN总线控制器中的寄存器配置成一致;具体地,配置多个CAN总线控制器中的波特率寄存器,设定相同的波特率;配置多个CAN总线控制器中的验收代码寄存器和验收屏蔽寄存器,使多个CAN总线控制器接收所有ID的数据,不进行滤波处理;配置多个CAN总线控制器中的输出控制寄存器,设定相同的输出方式。
测试机台选择任一CAN节点作为发送节点,其他CAN节点均作为接收节点;
进入操作模式后,测试机台控制在发送节点的发送缓冲器中写入要发送的数据并发送,固定延时后,测试机台读取接收节点的接收缓冲器接收到的数据,并比较发送的数据与接收的数据是否一致,若一致,则切换发送节点和接收节点后重复数据的发送、接收、比较,直至遍历所有CAN节点;若比较结果均为一致,则CAN总线控制器的报文收发测试功能测试通过。
(2)报文滤波测试模式
在该测试模式下,测试机台选择任一CAN节点作为发送节点,其他任一CAN节点均作为接收节点;
进入复位模式,测试机台配置发送节点和接收节点的波特率寄存器,设定相同的波特率;配置接收节点的验收代码寄存器仅能接收特定ID的数据,进行滤波;配置接收节点的验收屏蔽寄存器,使得接收节点的验收代码寄存器中的代码全部有效;
进入操作模式,测试机台控制在发送节点的发送缓冲器中写入包含所述特定ID的数据并发送,固定延时后,测试机台读取接收节点的接收缓冲器接收到的数据,若测试机台从接收节点的接收缓冲器中读取到发送节点发送的包含所述特定ID的数据,则清除接收节点的接收缓冲器,并再次控制在发送节点的发送缓冲器中写入不包含所述特定ID的数据并发送,固定延时后,若测试机台不能从接收节点的接收缓冲器中读取到发送节点发送的不包含所述特定ID的数据,则所述CAN总线控制器的报文滤波测试功能测试通过。
(3)总线仲裁测试模式
在该测试模式下,测试机台随机选择两个CAN节点;将所选择的两个CAN总线控制器中的寄存器配置成一致;配置过程与报文收发测试模式下寄存器的配置过程一致。
两个CAN节点并行进入操作模式,测试机台控制同时在两个CAN节点的发送缓冲器中写入要发送的数据,基于写入数据的ID确定两个CAN节点的优先级,所述两个节点的ID优先级不同;所述两个CAN节点同时发送写入的数据,固定延时后,由测试机台执行数据校验,若校验通过,则测试机台重新进行复位操作,调换写入两个CAN节点的数据的ID,两个CAN节点同时发送写入的数据,固定延时后,由测试机台再次执行数据校验,若校验通过,则所述CAN总线控制器的总线仲裁测试功能测试通过;
所述测试机台执行数据校验的过程为:
若通过测试机台从ID优先级较低的CAN节点的接收缓冲器中读取到ID优先级较高的CAN节点的发送缓冲器发送的数据,且从ID优先级较高的CAN节点的接收缓冲器中读不到ID优先级较低的CAN节点的发送缓冲器发送的数据,从而证明ID优先级较低的CAN节点因为优先级较低被仲裁掉,ID优先级较高的CAN节点占用总线并发送报文,可以从ID优先级较低的CAN节点中的状态寄存器中读取到被仲裁掉的状态,还可以读出具体在ID第几位被仲裁掉;则待ID优先级较高的CAN节点的报文发送完毕、并等待帧间空闲(可根据技术手册确定,在某一CAN总线相关技术手册中,帧间空闲为3个波特率)后,ID优先级较低的CAN节点的发送缓冲器重启发送,等待ID优先级较低的CAN节点发送数据后,固定延时后,若通过测试机台从ID优先级较高的CAN节点的接收缓冲器中读取到ID优先级较低的CAN节点的发送缓冲器发送的数据,则校验通过,否则,校验不通过。
(4)发送错误测试模式
在该模式下,测试机台选择任一CAN节点,并配置所选择的CAN节点中CAN总线控制器中的寄存器;具体地,配置其模式寄存器,进入复位模式;配置其发送错误计数器,设定为小于127的初值;
测试机台获取与TX同步的发送测试PATTERN并施加至RX端;测试机台在向RX端施加与TX同步的发送测试PATTERN中相应位的电平激励过程中,将数据帧中TX端为低电平的某一位对应的RX端修改为高电平,并将所述低电平施加给RX端;
此时检测到所述发送错误计数器+8,且在TX端检测到由6个低电平位的错误标志和8个高电平位的错误界定符组成的错误帧;
向所述RX端施加所述由6个低电平位的错误标志和8个高电平位的错误界定符组成的错误帧;
重复上述发送错误的步骤,当检测到所述发送错误计数器累加超过127时,若在TX端检测到由6个高电平位的错误标志和8个高电平位的错误界定符组成的错误帧,并检测TX端发送所述由6个高电平位的错误标志和8个高电平位的错误界定符组成的错误帧期间、以及之后的3个总线空闲、8个高电平挂起期间,所述RX端是否为高电平,若RX端为高电平,则所述CAN总线控制器的发送错误测试功能测试通过。
需要说明的是,在上述描述过程中,通过执行以下操作获得与TX同步的发送测试PATTERN:
测试机台配置所选择的CAN总线控制器中的寄存器;具体包括:配置模式寄存器,进入复位模式;配置波特率寄存器,设定数据传输速率;配置模式寄存器,进入操作模式;配置中断使能寄存器,开启发送中断。
在发送缓冲器中写入待发送的报文信息;
短接TX端和RX端,向所述CAN总线控制器写入发送命令,从TX端获取所述报文信息并转换为高低电平,写入发送测试PATTERN;
断开TX端和RX端,再次向所述CAN总线控制器写入发送命令,并读取延时时间;将所述发送测试PATTERN中数据帧的响应位的高电平替换为低电平,并为所述发送测试PATTERN设置与所述延时时间一致的等待时间,得到与TX同步的发送测试PATTERN;
(5)接收错误测试模式
在该模式下,测试机台选择任一CAN节点,并配置所选择的CAN节点中CAN总线控制器中的寄存器;具体地,配置模式寄存器,进入复位模式;配置接收错误计数器,设定为小于127的初值;
测试机台还获取接收测试PATTERN;修改接收测试PATTERN中的CRC校验码,得到CRC校验码出错的接收测试PATTERN;
向所述RX端施加所述CRC校验码出错的接收测试PATTERN,所述CAN总线控制器接收完所述CRC校验码出错的接收测试PATTERN后,此时检测到所述接收错误计数器+1,且在TX端检测到由6个低电平位的错误标志和8个高电平位的错误界定符组成的错误帧;
向所述RX端施加错误帧,所述向RX端施加的错误帧中的高低电平区别于所述由6个低电平位的错误标志和8个高电平位的错误界定符组成的错误帧;此时检测到所述接收错误计数器+8;
重复上述通过TX端发送由6个低电平位的错误标志和8个高电平位的错误界定符组成的错误帧、并向RX施加错误帧,当检测到所述接收错误计数器累加超过127时,若在TX端检测到由6个高电平位的错误标志和8个高电平位的错误界定符组成的错误帧,
并检测TX端发送所述由6个高电平位的错误标志和8个高电平位的错误界定符组成的错误帧期间、以及之后的3个总线空闲、8个高电平挂起期间,所述RX端是否为高电平,若RX端为高电平,则所述CAN总线控制器的接收错误验证功能测试通过。
需要说明的是,在上述描述过程中,通过执行以下操作获得接收测试PATTERN:
测试机台配置所选择的CAN总线控制器中的寄存器;具体地,配置模式寄存器,进入复位模式;配置波特率寄存器,设定数据传输速率;配置验证屏蔽寄存器的值为FF;配置模式寄存器,进入操作模式;配置中断使能寄存器,开启接收中断。
测试机台控制在发送缓冲器中写入待接收的报文信息;短接TX端和RX端,向所述CAN总线控制器写入发送命令;从TX端获取所述报文信息并转换为高低电平,写入接收测试PATTERN;
(6)节点关闭测试模式
在该测试模式下,测试机台选择任一CAN总线控制器RX端构建节点关闭测试模式的CAN总线环境;
在操作模式下,所述测试机台控制所选择的CAN总线控制器中的发送错误计数器或接收错误计数器累加到255,若检测到所选择的CAN总线控制器中的状态寄存器为总线关闭状态、所选择的CAN总线控制器从操作模式切换至复位模式,并检测到所述发送错误计数器中值为0X7F、接收错误计数器清零;则测试机台再次配置所选择的CAN总线控制器,进入操作模式,控制RX端保持高电平,若检测到所述发送错误计数器每隔固定总线空闲-1,且检测到当所述发送错误计数器变为0时,所选择的CAN总线控制器恢复正常工作状态;则所述CAN总线控制器的节点关闭测试功能测试通过。
与现有技术相比,本实施例提供的CAN总线控制器并行测试方法,首先,其能够在CAN总线真实环境下进行测试,测试结果更加有效;其次,其可通过测试机台直接从接收缓冲器中读取数据并验证数据传输的正确性,避免了繁琐的调试和编写PATTREN过程;再者,其可以实现多片CAN总线控制器并行测试,提高测试效率,为CAN总线控制器应用验证提供解决方案;最后,该方法可以实现CAN总线系统和单片CAN总线控制器工作环境的相互切换,可以实现CAN总线控制器功能全覆盖性测试。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种CAN总线控制器并行测试方法,其特征在于,包括以下步骤:
获取当前的测试模式;
若所述测试模式属于CAN总线系统测试模式,则接通第一通道,并利用测试机台对所述CAN总线控制器进行相应工作模式下的测试;
若所述测试模式属于单片CAN总线控制器测试模式,则接通第二通道,并利用测试机台对所述CAN总线控制器进行相应工作模式下的测试;
所述CAN总线系统测试模式包括以下测试模式:报文收发测试模式、报文滤波测试模式、总线仲裁测试模式;所述单片CAN总线控制器测试模式包括以下测试模式:发送错误测试模式、接收错误测试模式、节点关闭测试模式。
2.根据权利要求1所述的CAN总线控制器并行测试方法,其特征在于,
当接通所述第一通道时,CAN总线控制器的TX端口、RX端口分别与CAN总线收发器相连;
当接通所述第二通道时,CAN总线控制器的TX端口、RX端口与所述测试机台的数字通道相连。
3.根据权利要求1或2所述的CAN总线控制器并行测试方法,其特征在于,当所述当前测试模式为报文收发测试模式时,测试过程包括以下步骤:
利用所述测试机台将多个CAN总线控制器中的寄存器配置成一致;
测试机台选择任一CAN节点作为发送节点,其他CAN节点均作为接收节点;
测试机台控制在发送节点的发送缓冲器中写入要发送的数据并发送,固定延时后,测试机台读取接收节点的接收缓冲器接收到的数据,并比较发送的数据与接收的数据是否一致,若一致,则所述CAN总线控制器的报文收发测试功能测试通过。
4.根据权利要求3所述的CAN总线控制器并行测试方法,其特征在于,所述将多个CAN总线控制器中的寄存器配置成一致,包括:
配置多个CAN总线控制器中的波特率寄存器,设定相同的波特率;
配置多个CAN总线控制器中的验收代码寄存器和验收屏蔽寄存器,使多个CAN总线控制器接收所有ID的数据;
配置多个CAN总线控制器中的输出控制寄存器,设定相同的输出方式。
5.根据权利要求1或2所述的CAN总线控制器并行测试方法,其特征在于,当所述当前测试模式为报文滤波测试模式时,测试过程包括以下步骤:
测试机台选择任一CAN节点作为发送节点,其他任一CAN节点均作为接收节点;
测试机台配置发送节点和接收节点的波特率寄存器,设定相同的波特率;配置接收节点的验收代码寄存器仅能接收特定ID的数据;配置接收节点的验收屏蔽寄存器,使得接收节点的验收代码寄存器中的代码全部有效;
测试机台控制在发送节点的发送缓冲器中写入包含所述特定ID的数据并发送,固定延时后,测试机台读取接收节点的接收缓冲器接收到的数据,若测试机台从接收节点的接收缓冲器中读取到发送节点发送的包含所述特定ID的数据,则清除接收节点的接收缓冲器,并再次控制在发送节点的发送缓冲器中写入不包含所述特定ID的数据并发送,固定延时后,若测试机台不能从接收节点的接收缓冲器中读取到发送节点发送的不包含所述特定ID的数据,则所述CAN总线控制器的报文滤波测试功能测试通过。
6.根据权利要求1或2所述的CAN总线控制器并行测试方法,其特征在于,当所述当前测试模式为总线仲裁测试模式时,测试过程包括以下步骤:
测试机台随机选择两个CAN节点;将所选择的两个CAN总线控制器中的寄存器配置成一致;
测试机台控制同时在两个CAN节点的发送缓冲器中写入要发送的数据,基于写入数据的ID确定两个CAN节点的优先级,所述两个节点的ID优先级不同;所述两个CAN节点同时发送写入的数据,固定延时后,由测试机台执行数据校验,若校验通过,则测试机台重新进行复位操作,调换写入两个CAN节点的数据的ID,两个CAN节点同时发送写入的数据,固定延时后,由测试机台再次执行数据校验,若校验通过,则所述CAN总线控制器的总线仲裁测试功能测试通过。
7.根据权利要求6所述的CAN总线控制器并行测试方法,其特征在于,所述测试机台执行数据校验的过程为:
若通过测试机台从ID优先级较低的CAN节点的接收缓冲器中读取到ID优先级较高的CAN节点的发送缓冲器发送的数据,则待ID优先级较高的CAN节点的报文发送完毕、并等待帧间空闲后,ID优先级较低的CAN节点的发送缓冲器重启发送,固定延时后,若通过测试机台从ID优先级较高的CAN节点的接收缓冲器中读取到ID优先级较低的CAN节点的发送缓冲器发送的数据,则校验通过,否则,校验不通过。
8.根据权利要求1或2所述的CAN总线控制器并行测试方法,其特征在于,当所述当前测试模式为节点关闭测试模式时,测试过程包括以下步骤:
所述测试机台选择任一CAN总线控制器RX端构建节点关闭测试模式的CAN总线环境;
所述测试机台在操作模式下,控制所选择的CAN总线控制器中的发送错误计数器或接收错误计数器累加到255,若检测到所选择的CAN总线控制器中的状态寄存器为总线关闭状态、所选择的CAN总线控制器从操作模式切换至复位模式,并检测到所述发送错误计数器中值为0X7F、接收错误计数器清零;则测试机台再次配置所选择的CAN总线控制器,进入操作模式,控制RX端保持高电平,若检测到所述发送错误计数器每隔固定总线空闲-1,且检测到当所述发送错误计数器变为0时,所选择的CAN总线控制器恢复正常工作状态;则所述CAN总线控制器的节点关闭测试功能测试通过。
9.根据权利要求1或2所述的CAN总线控制器并行测试方法,其特征在于,当所述当前测试模式为发送错误测试模式时,测试过程包括以下步骤:
测试机台选择任一CAN节点,并配置所选择的CAN节点中CAN总线控制器中的寄存器:配置所选择的CAN节点的模式寄存器,进入复位模式;配置所选择的CAN节点的发送错误计数器,设定为小于127的初值;
测试机台获取与TX同步的发送测试PATTERN并施加至RX端;测试机台在向RX端施加与TX同步的发送测试PATTERN中相应位的电平激励过程中,将数据帧中TX端为低电平的某一位对应的RX端修改为高电平,并将所述低电平施加给RX端;
此时检测到所述发送错误计数器+8,且在TX端检测到由6个低电平位的错误标志和8个高电平位的错误界定符组成的错误帧;
向所述RX端施加所述由6个低电平位的错误标志和8个高电平位的错误界定符组成的错误帧;
重复上述发送错误的步骤,当检测到所述发送错误计数器累加超过127时,若在TX端检测到由6个高电平位的错误标志和8个高电平位的错误界定符组成的错误帧,并检测TX端发送所述由6个高电平位的错误标志和8个高电平位的错误界定符组成的错误帧期间、以及之后的3个总线空闲、8个高电平挂起期间,所述RX端是否为高电平,若RX端为高电平,则所述CAN总线控制器的发送错误测试功能测试通过。
10.根据权利要求9所述的CAN总线控制器并行测试方法,其特征在于,通过执行以下操作获得与TX同步的发送测试PATTERN:
测试机台配置所选择的CAN总线控制器中的寄存器;具体包括:配置模式寄存器,进入复位模式;配置波特率寄存器,设定数据传输速率;配置模式寄存器,进入操作模式;配置中断使能寄存器,开启发送中断。
在发送缓冲器中写入待发送的报文信息;
短接TX端和RX端,向所述CAN总线控制器写入发送命令,从TX端获取所述报文信息并转换为高低电平,写入发送测试PATTERN;
断开TX端和RX端,再次向所述CAN总线控制器写入发送命令,并读取延时时间;将所述发送测试PATTERN中数据帧的响应位的高电平替换为低电平,并为所述发送测试PATTERN设置与所述延时时间一致的等待时间,得到与TX同步的发送测试PATTERN。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010574190.3A CN111538319B (zh) | 2020-06-22 | 2020-06-22 | 一种can总线控制器并行测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010574190.3A CN111538319B (zh) | 2020-06-22 | 2020-06-22 | 一种can总线控制器并行测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111538319A true CN111538319A (zh) | 2020-08-14 |
CN111538319B CN111538319B (zh) | 2023-06-06 |
Family
ID=71976359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010574190.3A Active CN111538319B (zh) | 2020-06-22 | 2020-06-22 | 一种can总线控制器并行测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111538319B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256512A (zh) * | 2020-10-27 | 2021-01-22 | 重庆航天工业有限公司 | 一种基于glink总线的验证及测试通用系统 |
CN114625098A (zh) * | 2020-12-10 | 2022-06-14 | 中国科学院沈阳自动化研究所 | 一种水下机器人抢占式故障处理方法 |
CN114760227A (zh) * | 2021-03-16 | 2022-07-15 | 广州汽车集团股份有限公司 | 报文发送延时测试方法、测试上位机和存储介质 |
CN115065575A (zh) * | 2022-07-26 | 2022-09-16 | 广州智慧城市发展研究院 | 基于can总线控制器的数据传输系统及电子设备 |
CN115079676A (zh) * | 2022-07-20 | 2022-09-20 | 广东智科电子股份有限公司 | 一种双控制板fct系统及其测试方法 |
CN115657646A (zh) * | 2022-12-12 | 2023-01-31 | 北京紫光芯能科技有限公司 | 一种can控制器的测试方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101473144B1 (ko) * | 2014-02-03 | 2014-12-16 | 한양대학교 에리카산학협력단 | Can 통신 기반의 반도체 테스트 방법 및 시스템 |
CN106886214A (zh) * | 2017-03-28 | 2017-06-23 | 天津大学 | Can控制器芯片功能测试系统及测试方法 |
CN108287537A (zh) * | 2018-01-19 | 2018-07-17 | 航天科工防御技术研究试验中心 | 一种can总线协议控制器测试方法 |
CN109634256A (zh) * | 2018-11-28 | 2019-04-16 | 北京时代民芯科技有限公司 | 一种通用can控制器芯片的板级验证系统 |
CN110941218A (zh) * | 2019-12-10 | 2020-03-31 | 北京振兴计量测试研究所 | 一种can总线控制器测试方法 |
CN111104272A (zh) * | 2019-12-10 | 2020-05-05 | 北京振兴计量测试研究所 | 一种基于rx和tx的can总线控制器测试方法 |
-
2020
- 2020-06-22 CN CN202010574190.3A patent/CN111538319B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101473144B1 (ko) * | 2014-02-03 | 2014-12-16 | 한양대학교 에리카산학협력단 | Can 통신 기반의 반도체 테스트 방법 및 시스템 |
CN106886214A (zh) * | 2017-03-28 | 2017-06-23 | 天津大学 | Can控制器芯片功能测试系统及测试方法 |
CN108287537A (zh) * | 2018-01-19 | 2018-07-17 | 航天科工防御技术研究试验中心 | 一种can总线协议控制器测试方法 |
CN109634256A (zh) * | 2018-11-28 | 2019-04-16 | 北京时代民芯科技有限公司 | 一种通用can控制器芯片的板级验证系统 |
CN110941218A (zh) * | 2019-12-10 | 2020-03-31 | 北京振兴计量测试研究所 | 一种can总线控制器测试方法 |
CN111104272A (zh) * | 2019-12-10 | 2020-05-05 | 北京振兴计量测试研究所 | 一种基于rx和tx的can总线控制器测试方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256512A (zh) * | 2020-10-27 | 2021-01-22 | 重庆航天工业有限公司 | 一种基于glink总线的验证及测试通用系统 |
CN112256512B (zh) * | 2020-10-27 | 2024-05-07 | 重庆航天工业有限公司 | 一种基于glink总线的验证及测试通用系统 |
CN114625098A (zh) * | 2020-12-10 | 2022-06-14 | 中国科学院沈阳自动化研究所 | 一种水下机器人抢占式故障处理方法 |
CN114625098B (zh) * | 2020-12-10 | 2023-10-20 | 中国科学院沈阳自动化研究所 | 一种水下机器人抢占式故障处理方法 |
CN114760227A (zh) * | 2021-03-16 | 2022-07-15 | 广州汽车集团股份有限公司 | 报文发送延时测试方法、测试上位机和存储介质 |
CN115079676A (zh) * | 2022-07-20 | 2022-09-20 | 广东智科电子股份有限公司 | 一种双控制板fct系统及其测试方法 |
CN115079676B (zh) * | 2022-07-20 | 2022-11-15 | 广东智科电子股份有限公司 | 一种双控制板fct系统及其测试方法 |
CN115065575A (zh) * | 2022-07-26 | 2022-09-16 | 广州智慧城市发展研究院 | 基于can总线控制器的数据传输系统及电子设备 |
CN115065575B (zh) * | 2022-07-26 | 2022-11-29 | 广州智慧城市发展研究院 | 基于can总线控制器的数据传输系统及电子设备 |
CN115657646A (zh) * | 2022-12-12 | 2023-01-31 | 北京紫光芯能科技有限公司 | 一种can控制器的测试方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111538319B (zh) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111538319A (zh) | 一种can总线控制器并行测试方法 | |
CN100366029C (zh) | 通信控制器、主机端控制器、通信设备、通信系统和方法 | |
US10452504B2 (en) | Controller area network (CAN) device and method for emulating classic CAN error management | |
Barranco et al. | An active star topology for improving fault confinement in CAN networks | |
CN110941218B (zh) | 一种can总线控制器测试方法 | |
CN111104272B (zh) | 一种基于rx和tx的can总线控制器测试方法 | |
US20150095532A1 (en) | Controller area network (can) device and method for controlling can traffic | |
Rufino et al. | A Columbus' egg idea for CAN media redundancy | |
US6914884B2 (en) | Communication control circuit | |
CN101753284A (zh) | 一种基于载波检测的10/100m以太网双网口切换方法及装置 | |
EP2985955B1 (en) | Controller area network (can) device and method for emulating classic can error management | |
KR101185971B1 (ko) | 통신 시스템, 시험 장치, 통신 장치, 통신 방법 및 시험 방법 | |
CN111641544B (zh) | 一种can总线控制器并行测试系统 | |
CN109542823A (zh) | 一种触发式双冗余网络及其使用方法 | |
CN113051204B (zh) | 串行背板总线通信方法及系统 | |
CN112995070B (zh) | 一种双卡切换系统及方法 | |
CN114884767B (zh) | 一种同步双冗余can总线通信系统、方法、设备及介质 | |
CN115657646B (zh) | 一种can控制器的测试方法及装置 | |
CN112178881B (zh) | Rs485网络的自检方法、设备 | |
CN211906270U (zh) | 自适应串行总线极性的485装置及rs485接口 | |
CN111431668B (zh) | 基于多节点uart通讯的波特率切换方法、空调系统及处理器 | |
CN102868583A (zh) | 一种具有故障诊断功能的FlexRay总线节 | |
CN114942866B (zh) | Lin主测试装置 | |
EP1197038B1 (en) | A method and apparatus for verifying connectivity among nodes in a communications network | |
CN115484120B (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 |