CN103440187A - 一种基于硬件脚本的can总线自动化测试方法 - Google Patents
一种基于硬件脚本的can总线自动化测试方法 Download PDFInfo
- Publication number
- CN103440187A CN103440187A CN2013103550901A CN201310355090A CN103440187A CN 103440187 A CN103440187 A CN 103440187A CN 2013103550901 A CN2013103550901 A CN 2013103550901A CN 201310355090 A CN201310355090 A CN 201310355090A CN 103440187 A CN103440187 A CN 103440187A
- Authority
- CN
- China
- Prior art keywords
- bus
- test
- script
- microcontroller
- hardware
- 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.)
- Pending
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明涉及一种针对CAN总线的测试***与方法,它由微控制器、至少两个CAN控制器以及USB模块组成,它的特征是,微控制器连接至少两个CAN控制器,每个CAN控制器可独立连接至一根CAN总线,在上位机上编辑测试脚本,上位机将测试脚本编译后下载到微控制器内存中,并在控制器内存中执行测试脚本,对具有CAN接口的相关设备进行自动化测试。
Description
技术领域
本发明涉及电子技术领域的测试方法,特别涉及一种针对CAN总线的测试方法。
背景技术
CAN总线作为各个微控制器之间的通信接口,在汽车和工业中有着广泛的应用;随着基于CAN总线的各个微控制器内部程序的复杂性越来越高,在实际应用中就可能出现越来越多的问题,这就需要通过基于CAN总线测试的方法,向被测单元发送相关的报文作为测试输入,并获取被测单元的响应报文作为测试内容反馈,并将反馈的内容与预期进行比对,结果相同则认为当前测试的性能指标达到要求,否则则是不达标,需要对微控制器的逻辑进行修改并进行复测,从而尽早发现和解决问题,确保相应的微控制器在实际运行过程中的可靠性和鲁棒性。
基于CAN总线对被测电控单元进行自动化测试,通常的做法是针对需要测试的条目逐条编写测试用例,并逐条在上位机上执行,通过相应的接口(比如USB转CAN总线的设备),将需要发送的报文下发到与被测节点相连的总线上,同时从总线上读取被测节点的响应,从而在上位机进行比对。
在上位机运行测试脚本存在以下不足:1、上位机是非实时***,***存在不可预知的延时,从而不能保证精确时间的报文发送,接收和定时功能;2、通过特定的CAN转换接口将计算机与CAN总线相连,使得CAN总线上的一个事件传到上位机有着巨大的时间开销,通常都是毫秒级别的,测试***不能及时做出响应,测试效率低。
发明内容
本发明的目的,就是为了克服基于PC机进行CAN总线自动化测试的实时性不足的缺陷,提供一种硬件执行测试脚本的方案,从而消除了上位机的非实时性以及传输延迟所带来的影响,提高了测试效率和精度。
本发明提供的具体技术方案如下:
一种基于硬件脚本的CAN总线自动化测试方法,使用微控制器与至少两个CAN控制器连接,每个CAN控制器分别连接至CAN总线上,在微控制器内存中执行测试脚本,对具有CAN接口的相关设备进行自动化测试。
一种基于硬件脚本的CAN总线自动化测试方法,包括硬件电路,下位机程序和上位机程序。
一种基于硬件脚本的CAN总线自动化测试方法,所述的硬件电路由微控制器、至少两个CAN控制器、USB模块组成;微控制器与至少两个CAN控制器连接,每个CAN控制器连接一个CAN收发器,每个CAN收发器均连接至一根独立的CAN总线上。
一种基于硬件脚本的CAN总线自动化测试方法,所述的CAN控制器在总线上监听到CAN报文或是错误帧后,将监听的数据反馈给微控制器,微控制器将其读入本地报文接收缓冲区,并将接收缓冲区内的数据通过USB模块上传至PC机。
一种基于硬件脚本的CAN总线自动化测试方法,所述的本地报文接收缓冲区,将被微控制器读取,并进行测试过程中的比对,比对结果通过USB模块上传至上位机。
一种基于硬件脚本的CAN总线自动化测试方法,通过所述的USB模块接收到上位机的命令后,对微控制器进行配置,包括进行测试脚本的配置,CAN总线参数的配置,测试的启动和停止等等。
一种基于硬件脚本的CAN总线自动化测试方法,所述的上位机控制可以对测试过程进行控制,同时通过USB接口将测试过程中返回的数据在应用程序界面中进行显示。
一种基于硬件脚本的CAN总线自动化测试方法,所述的测试脚本将在上位机的应用程序界面中进行编 辑和编译,并通过USB接口将编译后的内容下载到下位机保存和执行
一种基于硬件脚本的CAN总线自动化测试方法,它的优势在于,1、设计合理,结构清晰,充分发挥了微控制器实时性好,以及上位机有较强的文本编辑能力和显示能力的优点;2、实时性能好,测试脚本执行过程中,响应可以做到微秒级别,消除了***响应的延迟和控制数据传输延迟,效率得到了极大的提高
附图说明
图1为本发明实施方法中CAN总线自动化测试硬件总体架构图
图2为本发明实施方法中下位机的流程图
图3为本发明实施方法中上位机流程图
图1中,微控制器(101),CAN控制器(102),CAN收发器(103),CAN总线CANH(104),CAN总线CANL(105),USB模块(106),PC机(109),下位机硬件电路(110),USB线(111),被测节点(112)
图2中,CAN控制器接收缓冲区(201),CAN控制器发送缓冲区(202),本地CAN发送缓冲区(203),本地CAN接收缓冲区(204),测试引擎(205),测试过程中的相关事件(206),已编译的测试脚本(207),测试数据接收缓冲区(208),测试数据发送缓冲区(209),计算机CPU(211),测试配置应用程序(212)
图3中,USB驱动程序(301),USB接收缓冲区(302),数据处理程序(303),USB发送缓冲区(304),配置数据(305),脚本编译程序(306),测试脚本编辑器(307),测试过程显示程序(308)
具体实施方式
在图1中,下位机硬件电路(110)包含微控制器(101)、USB模块(106)和CAN收发器(103),下位机硬件电路(110)通过USB线缆(111)连接至PC机(109),同时通过CAN总线CANH(104)和CANL(105)连接至被测试的节点(112)。
被测节点(112)内部集成CAN收发器(103)。
微控制器(101)连接至少两个CAN控制器(102),每个CAN控制器的TX引脚与RX引脚分别连接CAN收发器(103)的TX引脚和RX引脚,CAN收发器的CANH连接至CAN总线CANH(104),CAN收发器的CANL连接至CAN总线的CANL(105)。
微控制器(101),内部集成CPU和内存,与一个或多个独立的CAN控制器相连;或是内部集成一个或多个CAN控制器;图1显示的是微控制器内部集成两个CAN控制器(102)的情形。
CAN控制器(102),作为CAN总线的协议转换芯片,负责将CAN总线上的报文和错误帧等信息反馈给微控制器,每一个CAN控制器都有与CAN收发器相连的TX和RX引脚。
在图2中,下位机硬件电路(110)通过USB线缆(111)连接至PC机(109),PC机(109)包含至少一个中央处理器(211),PC机(109)内部运行测试配置应用程序(212)。
下位机硬件电路(110)通过连接CAN总线CANH(104)和CAN总线CANL(105)与被测节点进行通信。
下位机硬件电路(110)接收被测节点的报文的流程是,其CAN控制器(102)通过CAN收发器(103)监听到CAN报文后,将其缓存至内部的CAN接收缓冲区(201),并通知微控制器(101),微控制器(101)通过调用接收函数(204)将收到的报文提交给测试引擎(205),测试引擎(205)根据所收报文来判断测试用例是否通过;同时微控制器将其保存到测试数据缓冲区(209),通过USB模块(106)将这些数据上传至PC机(109)。
下位机硬件电路(110)的测试流程是,下位机微控制器(101)从测试数据接收缓冲区(208)中读取来自USB模块(106)的相关测试数据,这些测试数据是通过PC机(109)配置并下发的,微控制器(101)从来自测试数据接收缓冲区(208)的测试数据中提取出已编译的测试脚本(207),并输送给测试引擎(205),测试引擎基于已编译的测试脚本(207),根据当前的事件状态(206)以及被测节点返回的报文(204)决定当前的测试步骤是成功还是失败,并生成发送给被测节点的报文,通过发送函数(203)将发送给被测 节点的报文放入CAN控制器(102)的CAN发送缓冲区内,经由CAN控制器(102)通过CAN收发器(103)发送到CAN总线的CANH(104)和CANL(105)上。
在图3中,上位机内部运行的测试配置应用程序(212)通过USB驱动程序(301)连接至USB线缆(111),从而与下位机硬件电路(110)之间建立起USB通信。
上位机测试配置程序(212)显示当前测试状态的流程是,将从下位机上传的USB数据放入USB接收缓冲区(302)中,再从USB接收缓冲区(302)中读取数据,并通过数据处理程序(303)处理后,经由测试过程显示程序(308)显示。
上位机测试配置程序(212)向下位机硬件传送测试配置的过程是,使用测试脚本编辑器(307)编辑用户的测试脚本,并通过脚本编译程序(306)将其编译为相应的配置数据(305),并将数据传输到USB发送缓冲区(304)中,经由USB驱动程序(301)下发至下位机。
Claims (8)
1.一种基于硬件脚本的CAN总线自动化测试方法,它包括微控制器,至少两个CAN控制器,一个USB模块,其特征在于,使用微控制器与至少两个CAN控制器连接,每个CAN控制器分别连接至CAN总线上,在上位机编辑测试脚本,在上位机编译测试脚本,并通过USB接口将已编译的测试脚本下载到下位机,在下位机的微控制器内存中执行测试脚本,对具有CAN接口的相关设备进行自动化测试。
2.根据权利要求1所述的一种基于硬件脚本的CAN总线自动化测试方法,其特征在于,***包括硬件电路,下位机程序和上位机程序。
3.根据权利要求2所述的一种基于硬件脚本的CAN总线自动化测试方法,其特征在于,***的硬件电路由微控制器、至少两个CAN控制器、USB模块组成;微控制器与至少两个CAN控制器连接,每个CAN控制器连接一个CAN收发器,每个CAN收发器均连接至一根独立的CAN总线上。
4.根据权利要求3所述的一种基于硬件脚本的CAN总线自动化测试方法,其特征在于,***的CAN控制器在总线上监听到CAN报文或是错误帧后,将监听的数据反馈给微控制器,微控制器将其读入本地报文接收缓冲区,并将接收缓冲区内的数据通过USB模块上传至PC机。
5.根据权利要求4所述的一种基于硬件脚本的CAN总线自动化测试方法,其特征在于,微控制器读取所述的本地报文接收缓冲区,并进行测试过程中的比对,比对结果通过USB模块上传至上位机。
6.根据权利要求5所述的一种基于硬件脚本的CAN总线自动化测试方法,通过所述的USB模块接收到上位机的命令后,对下位机程序进行配置,包括进行测试脚本的配置,CAN总线参数的配置,测试的启动和停止等等。
7.根据权利要求2所述的一种基于硬件脚本的CAN总线自动化测试方法,其特征在于,所述的上位机程序可以对测试过程进行控制,同时通过USB接口将测试过程中返回的数据在应用程序界面中进行显示。
8.根据权利要求7所述的一种基于硬件脚本的CAN总线自动化测试方法,其特征在于,所述的测试脚本将在上位机的应用程序界面中进行编辑和编译,并通过USB接口将编译后的内容下载到下位机保存和执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013103550901A CN103440187A (zh) | 2013-08-15 | 2013-08-15 | 一种基于硬件脚本的can总线自动化测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013103550901A CN103440187A (zh) | 2013-08-15 | 2013-08-15 | 一种基于硬件脚本的can总线自动化测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103440187A true CN103440187A (zh) | 2013-12-11 |
Family
ID=49693878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013103550901A Pending CN103440187A (zh) | 2013-08-15 | 2013-08-15 | 一种基于硬件脚本的can总线自动化测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103440187A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677560A (zh) * | 2015-12-31 | 2016-06-15 | 北京经纬恒润科技有限公司 | 一种测试方法、装置及*** |
CN106789449A (zh) * | 2017-02-22 | 2017-05-31 | 安徽优旦科技有限公司 | 一种can总线开发与测试方法及*** |
CN106886214A (zh) * | 2017-03-28 | 2017-06-23 | 天津大学 | Can控制器芯片功能测试***及测试方法 |
CN107533494A (zh) * | 2015-05-11 | 2018-01-02 | 高通股份有限公司 | 扩展型帧间空间(eifs)免除 |
CN109062747A (zh) * | 2018-08-03 | 2018-12-21 | 北京航空航天大学 | 数字卫星嵌入式仿真平台智能测试方法 |
CN112612264A (zh) * | 2020-12-22 | 2021-04-06 | 北京时代民芯科技有限公司 | 一种can总线控制器中串口自测试方法 |
CN113094029A (zh) * | 2020-01-08 | 2021-07-09 | 广州汽车集团股份有限公司 | 一种capl代码自动生成方法、***及汽车 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060088044A1 (en) * | 2004-10-26 | 2006-04-27 | Robert Hammerl | Node for a bus network, a bus network and a method for configuration of the network |
US20100162090A1 (en) * | 2001-10-20 | 2010-06-24 | Christoph Emde | Method of detecting data transmission errors in a CAN controller, and a CAN controller for carrying out the method |
CN101882108A (zh) * | 2010-06-30 | 2010-11-10 | 三一重机有限公司 | 嵌入式软件自动测试***及其方法 |
CN102393738A (zh) * | 2011-12-16 | 2012-03-28 | 哈尔滨工业大学 | 汽车电子控制单元的诊断装置和测试方法 |
CN102565671A (zh) * | 2011-12-16 | 2012-07-11 | 电子科技大学 | 一种集成电路测试仪在线编程的动态配置方法 |
CN102929277A (zh) * | 2012-11-22 | 2013-02-13 | 山东省科学院自动化研究所 | 汽车车身电子单元的通用测试工装及其工作方法 |
-
2013
- 2013-08-15 CN CN2013103550901A patent/CN103440187A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100162090A1 (en) * | 2001-10-20 | 2010-06-24 | Christoph Emde | Method of detecting data transmission errors in a CAN controller, and a CAN controller for carrying out the method |
US20060088044A1 (en) * | 2004-10-26 | 2006-04-27 | Robert Hammerl | Node for a bus network, a bus network and a method for configuration of the network |
CN101882108A (zh) * | 2010-06-30 | 2010-11-10 | 三一重机有限公司 | 嵌入式软件自动测试***及其方法 |
CN102393738A (zh) * | 2011-12-16 | 2012-03-28 | 哈尔滨工业大学 | 汽车电子控制单元的诊断装置和测试方法 |
CN102565671A (zh) * | 2011-12-16 | 2012-07-11 | 电子科技大学 | 一种集成电路测试仪在线编程的动态配置方法 |
CN102929277A (zh) * | 2012-11-22 | 2013-02-13 | 山东省科学院自动化研究所 | 汽车车身电子单元的通用测试工装及其工作方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107533494A (zh) * | 2015-05-11 | 2018-01-02 | 高通股份有限公司 | 扩展型帧间空间(eifs)免除 |
CN105677560A (zh) * | 2015-12-31 | 2016-06-15 | 北京经纬恒润科技有限公司 | 一种测试方法、装置及*** |
CN105677560B (zh) * | 2015-12-31 | 2018-07-03 | 北京经纬恒润科技有限公司 | 一种测试方法、装置及*** |
CN106789449A (zh) * | 2017-02-22 | 2017-05-31 | 安徽优旦科技有限公司 | 一种can总线开发与测试方法及*** |
CN106886214A (zh) * | 2017-03-28 | 2017-06-23 | 天津大学 | Can控制器芯片功能测试***及测试方法 |
CN109062747A (zh) * | 2018-08-03 | 2018-12-21 | 北京航空航天大学 | 数字卫星嵌入式仿真平台智能测试方法 |
CN109062747B (zh) * | 2018-08-03 | 2020-11-13 | 北京航空航天大学 | 数字卫星嵌入式仿真平台智能测试方法 |
CN113094029A (zh) * | 2020-01-08 | 2021-07-09 | 广州汽车集团股份有限公司 | 一种capl代码自动生成方法、***及汽车 |
CN113094029B (zh) * | 2020-01-08 | 2023-08-22 | 广汽埃安新能源汽车有限公司 | 一种capl代码自动生成方法、***及汽车 |
CN112612264A (zh) * | 2020-12-22 | 2021-04-06 | 北京时代民芯科技有限公司 | 一种can总线控制器中串口自测试方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103440187A (zh) | 一种基于硬件脚本的can总线自动化测试方法 | |
CN103714029B (zh) | 新型二线同步通信协议及应用 | |
CN107704346B (zh) | Soc芯片调试方法及调试*** | |
CN107066746B (zh) | 基于i2c接口通过cpld来实现pca9555功能的方法 | |
CN104407279A (zh) | 一种用于自动测试芯片mdio总线协议的码型数据、装置及测试方法 | |
CN105183575A (zh) | 处理器故障的诊断方法、装置及*** | |
KR101185971B1 (ko) | 통신 시스템, 시험 장치, 통신 장치, 통신 방법 및 시험 방법 | |
CN105260260A (zh) | 具有数据校验功能的spi数据传输设备及数据校验方法 | |
CN104219003A (zh) | 通信装置、测试***及其测试方法 | |
CN103425123A (zh) | 一种基于软件脚本的can总线自动化测试方法 | |
CN103428050A (zh) | 一种基于can总线的多路can仿真*** | |
CN110247936B (zh) | 一种通讯协议转换卡及通讯协议转换*** | |
CN202975800U (zh) | 基于wifi与移动智能终端的can总线诊断*** | |
CN103414606A (zh) | 一种基于硬件脚本的FlexRay总线自动化测试方法 | |
CN105068967B (zh) | I2c设备的控制方法、装置及终端 | |
CN104734900A (zh) | 一种通信协议测试的发送控制方法 | |
CN103414620A (zh) | 一种基于can总线的双路can仿真*** | |
CN103517307B (zh) | 一种基于td-scdma的远程调试*** | |
CN103269293A (zh) | android平台上利用微波通信设备进行ADB调试的方法 | |
CN103428049A (zh) | 一种基于软件脚本的FlexRay总线自动化测试方法 | |
CN103812830A (zh) | 一种用于总线从站设备的协议认证方法 | |
CN103269292B (zh) | 利用短距离微波通信设备进行调试工具adb调试的方法 | |
CN110557309A (zh) | 一种基于硬件逻辑的can fd总线自动化控制***及方法 | |
CN101833528A (zh) | 电子设备传输速度的调整方法 | |
KR102421348B1 (ko) | 전자 장치의 인터페이스의 강건성 검증을 위한 검증 장치 및 그 자동 검증 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20131211 |