CN101446988A - 基于软件对通用异步收发器进行自动化测试的装置及方法 - Google Patents

基于软件对通用异步收发器进行自动化测试的装置及方法 Download PDF

Info

Publication number
CN101446988A
CN101446988A CNA200710170998XA CN200710170998A CN101446988A CN 101446988 A CN101446988 A CN 101446988A CN A200710170998X A CNA200710170998X A CN A200710170998XA CN 200710170998 A CN200710170998 A CN 200710170998A CN 101446988 A CN101446988 A CN 101446988A
Authority
CN
China
Prior art keywords
data
test
universal asynchronous
asynchronous receiver
transmitting
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
CNA200710170998XA
Other languages
English (en)
Other versions
CN101446988B (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.)
Spreadtrum Communications Shanghai Co Ltd
Original Assignee
Shanghai Mobilepeak Semiconductor 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 Shanghai Mobilepeak Semiconductor Co Ltd filed Critical Shanghai Mobilepeak Semiconductor Co Ltd
Priority to CN200710170998XA priority Critical patent/CN101446988B/zh
Publication of CN101446988A publication Critical patent/CN101446988A/zh
Application granted granted Critical
Publication of CN101446988B publication Critical patent/CN101446988B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Maintenance And Management Of Digital Transmission (AREA)

Abstract

本发明涉及一种基于软件对通用异步收发器进行自动化测试的装置及方法,装置包括内部设置有通用异步收发器的可编程逻辑器件开发板、串接于所述的通用异步收发器的数据发送管脚与数据接收管脚之间的并行连接器,开发板通过ARM仿真器和承载自动化测试程序的测试计算机相链接。方法包括将UART设置为内部回环模式、进行内部数据收发测试操作、根据运行结果上报差错或者将UART设置为外部回环模式、进行外部数据收发测试操作、根据运行结果上报差错或者结束测试。采用该种基于软件对通用异步收发器进行自动化测试的装置及方法,测试更加全面,测试过程准确可靠,过程自动化,简易方便,大大提高了测试效率,操作简单快捷,工作性能稳定可靠,适用范围较广。

Description

基于软件对通用异步收发器进行自动化测试的装置及方法
技术领域
本发明涉及嵌入式硬件测试领域,特别涉及通用异步收发器测试技术领域,具体是指一种基于软件对通用异步收发器进行自动化测试的装置及方法。
背景技术
通用异步收发器(UART,Universal Asynchronous Receiver and Transmitter)是嵌入式芯片中用于和外围设备进行串行通讯的一个重要模块,它具有操作简单、工作可靠、抗干扰强、传输距离远等优点。设计人员普遍认为UART是从CPU或微控制器向系统的其他部分传输数据的最佳方式,因此它们被大量地应用在工业、通信和家电控制等领域。
在使用硬件描述语言(HDL,Hardware Description Language)实现UART功能后,必须测试其功能的正确性,基于FPGA(Field Programming Gate Array)平台的测试是整个测试环节中十分重要的部分。在测试过程中必须确保验证UART的所有功能,考虑传输过程中的各种特殊情况,并且进行大规模数据量的传输,才能保证测试的完整性。这时需要编写C语言测试程序来完成这项工作。
请参阅图1所示,其中为本文所涉及到的UART的基本结构,该UART基本包括:存放发送数据的TX buffer(发送缓冲器),接收数据的Rx buffer(接收缓冲器),控制UART各项功能与发送的控制寄存器,控制传输的数据大小的缓冲控制寄存器,控制脉冲大小的红外控制寄存器,显示UART状态的状态寄存器,以及发送数据的TX管脚和接收数据的RX管脚。
一般的非自动化测试中,一个用例测试完成,必须修改UART的参数和数据,才能进行下个用例的测试,所以整个测试过程是一种“边改边测”的状态。测试人员必须在现场以便随时修改测试用例。而且在修改用例的参数过程中,容易修改错误。所以,非自动化测试的过程较为繁琐且费时费力,容易产生人为地失误,增加了测试的不确定性。
综上所述,普通的对于通用异步收发器UART的测试方法往往存在以下三个缺点:
(1)测试过程中必须不停的修改参数,过程较为繁琐。
(2)测试人员必须在场以修改参数,浪费人力。
(3)频繁的修改容易造成错误,增加了测试的不确定性。
发明内容
本发明的目的是克服了上述现有技术中的缺点,提供一种能够对UART进行连续自动化测试、无须修改配置参数、测试准确高效、操作简单快捷、工作性能稳定可靠、适用范围较为广泛的基于软件对通用异步收发器进行自动化测试的装置及方法。
为了实现上述的目的,本发明的基于软件对通用异步收发器进行自动化测试的装置及方法如下:
该基于软件对通用异步收发器进行自动化测试的装置,包括内部设置有通用异步收发器的可编程逻辑器件开发板,其主要特点是,所述的装置还包括并行连接器、ARM仿真器和承载有自动化测试程序的测试计算机,所述的并行连接器串接于所述的通用异步收发器的数据发送管脚与数据接收管脚之间,所述的测试计算机通过ARM仿真器与所述的可编程逻辑器件开发板相连接。
该基于软件对通用异步收发器进行自动化测试的装置中的可编程逻辑器件开发板为承载有FPGA芯片的FPGA开发板,所述的通用异步收发器设置于该FPGA芯片内部。
该基于软件对通用异步收发器进行自动化测试的装置中的测试计算机通过并行数据线与所述的ARM仿真器相连接,所述的ARM仿真器通过并行数据线与所述的FPGA开发板相连接。
该基于软件对通用异步收发器进行自动化测试的装置中的自动化测试程序为C语言自动化测试程序。
该利用上述的装置实现基于软件对通用异步收发器进行自动化测试的方法,其主要特点是,所述的方法包括以下步骤:
(1)系统进行初始化操作;
(2)所述的测试计算机通过ARM仿真器将所述的通用异步收发器的传输模式设置为内部回环模式;
(3)所述的测试计算机通过ARM仿真器对所述的通用异步收发器进行内部数据收发测试操作;
(4)所述的测试计算机判断收发数据是否有差错;
(5)如果有差错,则系统上报该差错,并重复上述步骤(2);
(6)如果无差错,则所述的测试计算机通过ARM仿真器将所述的通用异步收发器的传输模式设置为外部回环模式;
(7)所述的测试计算机通过ARM仿真器对所述的通用异步收发器进行外部数据收发测试操作;
(8)所述的测试计算机判断收发数据是否有差错;
(9)如果有差错,则系统上报该差错,并重复上述步骤(6);
(10)如果无差错,则测试结束。
该实现基于软件对通用异步收发器进行自动化测试的方法中的内部数据收发测试操作,包括依次进行且相互独立的以下不同类型的数据收发测试过程:
(1)内部数据普通收发测试;
(2)内部数据位反转收发测试;
(3)内部7位数据收发测试;
(4)内部7位数据和数据位反转收发测试;
(5)内部数据奇偶校验收发测试;
(6)内部数据位延迟收发测试。
该实现基于软件对通用异步收发器进行自动化测试的方法中的外部数据收发测试操作,包括依次进行且相互独立的以下不同类型的数据收发测试过程:
(1)外部数据普通收发测试;
(2)外部数据位反转收发测试;
(3)外部7位数据收发测试;
(4)外部7位数据和数据位反转收发测试;
(5)外部数据奇偶校验收发测试;
(6)外部数据位延迟收发测试。
该实现基于软件对通用异步收发器进行自动化测试的方法中的各个数据收发测试过程均包括上千次的数据收发测试操作,每次数据收发测试操作包括以下步骤:
(1)将通用异步收发器内的所有寄存器置0;
(2)将通用异步收发器内的接收缓冲器和发送缓冲器清零;
(3)将通用异步收发器复位;
(4)设置不同的随机数种子,并根据所产生的随机数对数据发送控制参数进行配置;
(5)再次产生随机数作为测试数据送至发送缓冲器进行发送;
(6)延迟一段时间后,根据数据收发测试过程的对应类型判断接收缓冲器中所接收到的数据与测试数据是否一致;
(7)如果不一致,则将系统测试出错变量增加1。
该实现基于软件对通用异步收发器进行自动化测试的方法中的判断收发数据是否有差错,包括以下步骤:
(1)如果系统测试出错变量不为0,则返回有差错的结果;
(2)如果系统测试出错变量为0,则返回无差错的结果。
采用了该发明的基于软件对通用异步收发器进行自动化测试的装置及方法,由于该装置中采用了连接UART的TX管脚和RX管脚的并行连接器、可连接ARM仿真器的FPGA开发板、ARM仿真器和装有嵌入式软件开发环境和自动化测试程序的测试计算机,实现了完全自动化功能测试,其中包括对所有变量的定义、子函数的定义、对UART寄存器进行参数设置,并比较其所传输的数据的一致性,由于在测试过程中使用了随机函数rand()产生数据,从而使得每次发送的数据都具有随机性,避免了由于数据的单一性而造成的测试覆盖不全,同时由于TX发送的不是固定长度的数据,使得测试更加全面,而且在测试过程中能够自动比较UART所传输的数据的一致性和正确性,而无须每次人工查看,既节省人力,又避免了人为比较的失误,从而确保了测试的准确性;不仅如此,本发明能够覆盖UART模块的所有功能的测试,而且测试过程自动化,简易方便,大大提高了测试效率,操作简单快捷,工作性能稳定可靠,适用范围较为广泛,为UART自动化测试技术的不断发展奠定了坚实的基础。
附图说明
图1为现有技术中的通用异步收发器UART内部基本结构示意图。
图2为本发明的基于软件对通用异步收发器进行自动化测试的装置的组成结构示意图。
图3为本发明的基于软件对通用异步收发器进行自动化测试方法的测试步骤示意图。
图4为本发明的基于软件对通用异步收发器进行自动化测试方法中自动化测试程序的工作流程图。
具体实施方式
为了能够更清楚地理解本发明的技术内容,特举以下实施例详细说明。
请参阅图2所示,该基于软件对通用异步收发器进行自动化测试的装置,包括内部设置有通用异步收发器的可编程逻辑器件开发板1、并行连接器2、ARM仿真器3和承载有自动化测试程序4的测试计算机5,所述的并行连接器2串接于所述的通用异步收发器的数据发送管脚与数据接收管脚之间,所述的测试计算机5通过ARM仿真器3与所述的可编程逻辑器件开发板1相连接。
其中,所述的可编程逻辑器件开发板1可以为承载有FPGA芯片11的FPGA开发板1,所述的通用异步收发器设置于该FPGA芯片11的内部;所述的测试计算机5通过并行数据线6与所述的ARM仿真器3相连接,所述的ARM仿真器3通过并行数据线7与所述的FPGA开发板1相连接;该自动化测试程序4为C语言自动化测试程序4,当然也可以根据嵌入式开发平台的需要采用其它计算机编程语言。
在实际使用当中,本发明的自动化测试装置中所要用到的器件具体有:
●连接UART的TX管脚和RX管脚的并行连接器一个
●可连接ARM仿真器的FPGA开发板一块
●ARM仿真器一个(本发明使用的是MICETEK公司的JEDI II仿真器,当然也可以根据需要采用其它的仿真器产品)
●装有嵌入式软件开发环境(本方案中使用的是Greenhill公司的Multi for ARM 4.0.7)PC一台
其次,对于UART功能的实现,采用HDL硬件描述语言。
另外,可以实现完全自动化测试的C测试程序具体包括:对所有变量的定义、子函数的定义,对UART寄存器进行参数设置,还有比较其所传输数据的比较函数。
再请参阅图3和图4所示,该利用上述的装置实现基于软件对通用异步收发器进行自动化测试的方法,包括以下步骤:
(1)系统进行初始化操作;
(2)所述的测试计算机通过ARM仿真器将所述的通用异步收发器的传输模式设置为内部回环模式;
(3)所述的测试计算机通过ARM仿真器对所述的通用异步收发器进行内部数据收发测试操作,包括依次进行且相互独立的以下不同类型的数据收发测试过程:
(a)内部数据普通收发测试;
(b)内部数据位反转收发测试;
(c)内部7位数据收发测试;
(d)内部7位数据和数据位反转收发测试;
(e)内部数据奇偶校验收发测试;
(f)内部数据位延迟收发测试;
上述的各个数据收发测试过程均包括上千次的数据收发测试操作,每次数据收发测试操作包括以下步骤:
(a)将通用异步收发器内的所有寄存器置0;
(b)将通用异步收发器内的接收缓冲器和发送缓冲器清零;
(c)将通用异步收发器复位;
(d)设置不同的随机数种子,并根据所产生的随机数对数据发送控制参数进行配置;
(e)再次产生随机数作为测试数据送至发送缓冲器进行发送;
(f)延迟一段时间后,根据数据收发测试过程的对应类型判断接收缓冲器中所接收到的数据与测试数据是否一致;
(g)如果不一致,则将系统测试出错变量增加1;
(4)所述的测试计算机判断收发数据是否有差错;
(5)如果有差错,则系统上报该差错,并重复上述步骤(2);
(6)如果无差错,则所述的测试计算机通过ARM仿真器将所述的通用异步收发器的传输模式设置为外部回环模式;
(7)所述的测试计算机通过ARM仿真器对所述的通用异步收发器进行外部数据收发测试操作,包括依次进行且相互独立的以下不同类型的数据收发测试过程:
(a)外部数据普通收发测试;
(b)外部数据位反转收发测试;
(c)外部7位数据收发测试;
(d)外部7位数据和数据位反转收发测试;
(e)外部数据奇偶校验收发测试;
(f)外部数据位延迟收发测试;
上述的各个数据收发测试过程均包括上千次的数据收发测试操作,每次数据收发测试操作包括以下步骤:
(a)将通用异步收发器内的所有寄存器置0;
(b)将通用异步收发器内的接收缓冲器和发送缓冲器清零;
(c)将通用异步收发器复位;
(d)设置不同的随机数种子,并根据所产生的随机数对数据发送控制参数进行配置;
(e)再次产生随机数作为测试数据送至发送缓冲器进行发送;
(f)延迟一段时间后,根据数据收发测试过程的对应类型判断接收缓冲器中所接收到的数据与测试数据是否一致;
(g)如果不一致,则将系统测试出错变量增加1;
(8)所述的测试计算机判断收发数据是否有差错,包括以下步骤:
(a)如果系统测试出错变量不为0,则返回有差错的结果;
(b)如果系统测试出错变量为0,则返回无差错的结果;
(9)如果有差错,则系统上报该差错,并重复上述步骤(6);
(10)如果无差错,则测试结束。
在实际应用当中,使用本发明的整个测试装置实现对UART进行自动化测试的工作原理如下:
首先,将实现UART功能的HDL硬件描述语言烧入FPGA芯片中,此时FPGA芯片就能实现UART的功能。ARM仿真器的作用是模仿ARM处理器的功能,通过ARM仿真器来控制PC内的C测试程序,并与UART进行通讯,通过C测试程序控制UART的各项功能,进行数据传输。
具体的测试步骤如下:
(1)根据图2中的组成结构,搭建UART测试平台,将PC、ARM仿真器、FPGA开发板用并行线连接,将UART的TX和RX管脚用并行连接器连接;
(2)将实现UART功能的HDL语言烧入FPGA芯片中;
(3)在Multi for ARM嵌入式开发环境中调试UART的C测试程序,配置UART的各项参数和发送数据,即初始化UART;
(4)让UART发送数据;
(5)让UART接收数据;
(6)用C程序自动比较UART发送和接收的数据是否一致,如果不一致就报错,如果一致回到step5继续发送数据;
在整个测试过程中,最关键的是C语言的自动化测试程序的编写,为了实现UART模块的自动化测试,该自动化测试程序必须涵盖UART的所有功能。
通常所使用的UART具有12种工作模式,每一种工作模式的收发数据的基本流程是相同的,只是有些工作模式在收发数据过程中增加了奇偶校验、数据位延迟等功能。所以在编写自动化测试程序时可以设计相应的12个case。
整个测试程序的流程请参阅图4所示,其中测试程序分为两大部分:内部传输模式和外部传输模式。所谓内部传输模式即数据没有通过外部管脚传输,而是在内部将接收和发送管脚相连接,数据形成内部回环。而在外部传输模式,数据通过外部相连接的管脚形成回环。每种传输模式包括了6个子程序,每个子程序对应1个case。
启动该自动化测试程序后,程序会按图4所示的流程运行,具体如下:
(1)首先打开内部回环,程序自动进入内部传输模式;
(2)程序自动初始化UART,对应6个测试子程序,为UART配置不同的参数和数据;
(3)配置完参数后,自动运行内部传输模式的6个测试程序,如图4所示,从左至右依次执行,每个子程序是相互独立互不影响的;在每个子程序中UART都会自行发送和接收数据,不同之处是每个子程序控制了UART的不同功能,例如内部数据位反转测试中打开了数据位反转功能,这样UART的发送的每个字节的数据位就由低位到高位反转为由高位到低位;
(4)在每个子程序运行结束后,程序会自动比较收发的数据是否一致,如果一致则进入下一步外部传输模式;如果不一致则会报错,并重新配置UART进行数据传输;
(5)完成内部传输模式后,程序进入外部传输模式,需要将UART的外部Tx管脚和Rx管脚用转接器相连。和内部传输模式相同,外部传输模式也有6个子测试程序;
(6)和上述步骤(2)相同,程序自动初始化UART,对应6个测试子程序,为UART配置不同的参数和数据。
(7)请参阅图4所示,从左至右,程序会自动运行这6个子测试程序,并控制UART使用不同功能收发数据。
(8)自动比较收发数据,如果一致则程序运行结束,如果不一致则报错并再配置UART,进行数据重发。
以下以内部传输模式的内部普通测试的case0为例,详细说明该测试过程的步骤:
其中,case0具体的C语言自动化测试程序如下所示:
                       代码                               行号
case 0://internal--normal test                            10
    for(testloop=0;testloop<loop_time[0];testloop++)
    {
       for(j=1;j<=32;j++)
       {
          Clear_UartREG(0);                               15
          Uart_Ram_Clear(0);//clear u0_tx_buffer
          Uart_Ram_Clear(1);//clear u0_rx_buffer
          Uart_Reset(*(_u32*)M_UARTO_CFG);
          srand((unsigned)time(0));                       20
          par_en=rand()%2;
          par_sel=rand()%4;
          bit_delay=rand()%4;
          for(k=0;k<8;k++)                              25
             *(UO_TX_BUF+k)=(_u32)(rand()*rand());
          *(_u32*)(M_UARTO_IRDA)=16;
Uart_Bufset(M_UARTO_BUFCTRL,bit_period6[0],sim_period[0],j,j);          30
Uart_Initilize(M_UARTO_CFG,mode_sel[0],bit_periodl[0],format_8b[1],par_en,
par_sel,bit_delay,tx_rev[0],rx_rev[0],loopback[0],1,1);
                    Delay(10000);
                    Uart_Buf_Compare(j,test_num[i]);                       35
                 }
             }
             break;
其中,case0测试了UART的内部普通传输模式。
首先,在第11行设置一个for循环函数,通过变量looptime[0]控制UART发送和接收数据的次数,这对于通用异步收发器UART来说大规模数据量的测试是必须的,所以数据的收发往往需要成千上万次,才能验证模块工作的正确性,所以通过嵌套for循环很好地做到了这一点。
接着,上述程序的第13行的for循环函数,使UART依次发送了从1~j个字节的数据,这样就可以控制UART发送的数据大小,便利测试到所有的数据大小的传输,使测试更全面。
然后,将UART的所有寄存器置0,程序15行实现了这一点。
在发送和接收数据之前,将UART的接收缓冲器RX buffer和发送缓冲器TX buffer清零,程序16和17行实现这一步。
然后将UART复位,如程序18行所示。
用srand函数设置随机数种子,如程序第20行所示。rand函数在产生随机数之前会调用srand函数所设置的随机数种子,这样做可以让rand函数调用的随机数种子不同,从而产生更加随机的数据,所以这一步很重要。
设置完srand函数之后,用rand函数产生随机数随机数,并赋给par_en、par_sel和bit_delay三个参数,如程序21~23所示。
再调用rand函数产生随机数,赋给发送缓冲期TX buffer,由于使用rand产生随机数,所以每次传输的数据都不相同,发送随机数可以增加了测试的可靠性,避免由于传输数据的单一造成的测试覆盖不全。
设置完所有数据后,对UART的三个寄存器进行参数设置,让UART通过TX传输数据,如程序30~32行所示。由于TX管脚和RX管脚通过一个并行连接器相连,所以TX发送的数据会回到RX管脚并被RX buffer接收,如图2所示。
延迟一段时间,等待UART的RX管脚接收完数据,如程序34行所示。
等RX buffer接收完数据之后,用Uart_Buf_Compare()函数将UART发送和接收的数据进行比较,如程序35行所示。
Uart_Buf_Cormpare()函数会根据UART的8个模式和发送的数据大小,自动比较TX发送出的数据和RX接收到的数据是否一致,如果在第i(i在1到8之间)个模式不一致,uart_err[i]就会自动加1,如程序260~306所示。
所以,程序运行完成之后,只须查看uart_err[i],如果为0,说明UART在任何模式下所传输的数据是正确的,对UART模块的测试就完成了,如果不为0。说明UART发送和接收的数据不同,那就必须查一下原因了。
以上就是对通用异步收发器UART进行自动化测试的具体方案和步骤。由于利用了软件自动化的特点,因此只需点击运行,让UART自行发送接收数据,并通过软件自行比较其收发数据的正确性,无需在测试过程中修改任何参数,使得测试过程变得非常简易方便。
采用了上述的基于软件对通用异步收发器进行自动化测试的装置及方法,由于该装置中采用了连接UART的TX管脚和RX管脚的并行连接器2、可连接ARM仿真器3的FPGA开发板1、ARM仿真器3和装有嵌入式软件开发环境和自动化测试程序4的测试计算机5,实现了完全自动化功能测试,其中包括对所有变量的定义、子函数的定义、对UART寄存器进行参数设置,并比较其所传输的数据的一致性,由于在测试过程中使用了随机函数rand()产生数据,从而使得每次发送的数据都具有随机性,避免了由于数据的单一性而造成的测试覆盖不全,同时由于TX发送的不是固定长度的数据,使得测试更加全面,而且在测试过程中能够自动比较UART所传输的数据的一致性和正确性,而无须每次人工查看,既节省人力,又避免了人为比较的失误,从而确保了测试的准确性;不仅如此,本发明能够覆盖UART模块的所有功能的测试,而且测试过程自动化,简易方便,大大提高了测试效率,操作简单快捷,工作性能稳定可靠,适用范围较为广泛,为UART自动化测试技术的不断发展奠定了坚实的基础。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

Claims (9)

1、一种基于软件对通用异步收发器进行自动化测试的装置,包括内部设置有通用异步收发器的可编程逻辑器件开发板,其特征在于,所述的装置还包括并行连接器、ARM仿真器和承载有自动化测试程序的测试计算机,所述的并行连接器串接于所述的通用异步收发器的数据发送管脚与数据接收管脚之间,所述的测试计算机通过ARM仿真器与所述的可编程逻辑器件开发板相连接。
2、根据权利要求1所述的基于软件对通用异步收发器进行自动化测试的装置,其特征在于,所述的可编程逻辑器件开发板为承载有FPGA芯片的FPGA开发板,所述的通用异步收发器设置于该FPGA芯片内部。
3、根据权利要求2所述的基于软件对通用异步收发器进行自动化测试的装置,其特征在于,所述的测试计算机通过并行数据线与所述的ARM仿真器相连接,所述的ARM仿真器通过并行数据线与所述的FPGA开发板相连接。
4、根据权利要求1所述的基于软件对通用异步收发器进行自动化测试的装置,其特征在于,所述的自动化测试程序为C语言自动化测试程序。
5、一种利用权利要求1所述的装置实现基于软件对通用异步收发器进行自动化测试的方法,其特征在于,所述的方法包括以下步骤:
(1)系统进行初始化操作;
(2)所述的测试计算机通过ARM仿真器将所述的通用异步收发器的传输模式设置为内部回环模式;
(3)所述的测试计算机通过ARM仿真器对所述的通用异步收发器进行内部数据收发测试操作;
(4)所述的测试计算机判断收发数据是否有差错;
(5)如果有差错,则系统上报该差错,并重复上述步骤(2);
(6)如果无差错,则所述的测试计算机通过ARM仿真器将所述的通用异步收发器的传输模式设置为外部回环模式;
(7)所述的测试计算机通过ARM仿真器对所述的通用异步收发器进行外部数据收发测试操作;
(8)所述的测试计算机判断收发数据是否有差错;
(9)如果有差错,则系统上报该差错,并重复上述步骤(6);
(10)如果无差错,则测试结束。
6、根据权利要求5所述的实现基于软件对通用异步收发器进行自动化测试的方法,其特征在于,所述的内部数据收发测试操作,包括依次进行且相互独立的以下不同类型的数据收发测试过程:
(1)内部数据普通收发测试;
(2)内部数据位反转收发测试;
(3)内部7位数据收发测试;
(4)内部7位数据和数据位反转收发测试;
(5)内部数据奇偶校验收发测试;
(6)内部数据位延迟收发测试。
7、根据权利要求5所述的实现基于软件对通用异步收发器进行自动化测试的方法,其特征在于,所述的外部数据收发测试操作,包括依次进行且相互独立的以下不同类型的数据收发测试过程:
(1)外部数据普通收发测试;
(2)外部数据位反转收发测试;
(3)外部7位数据收发测试;
(4)外部7位数据和数据位反转收发测试;
(5)外部数据奇偶校验收发测试;
(6)外部数据位延迟收发测试。
8、根据权利要求6或7所述的实现基于软件对通用异步收发器进行自动化测试的方法,其特征在于,所述的各个数据收发测试过程均包括上千次的数据收发测试操作,每次数据收发测试操作包括以下步骤:
(1)将通用异步收发器内的所有寄存器置0;
(2)将通用异步收发器内的接收缓冲器和发送缓冲器清零;
(3)将通用异步收发器复位;
(4)设置不同的随机数种子,并根据所产生的随机数对数据发送控制参数进行配置;
(5)再次产生随机数作为测试数据送至发送缓冲器进行发送;
(6)延迟一段时间后,根据数据收发测试过程的对应类型判断接收缓冲器中所接收到的数据与测试数据是否一致;
(7)如果不一致,则将系统测试出错变量增加1。
9、根据权利要求8所述的实现基于软件对通用异步收发器进行自动化测试的方法,其特征在于,所述的判断收发数据是否有差错,包括以下步骤:
(1)如果系统测试出错变量不为0,则返回有差错的结果;
(2)如果系统测试出错变量为0,则返回无差错的结果。
CN200710170998XA 2007-11-27 2007-11-27 基于软件对通用异步收发器进行自动化测试的装置及方法 Active CN101446988B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200710170998XA CN101446988B (zh) 2007-11-27 2007-11-27 基于软件对通用异步收发器进行自动化测试的装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200710170998XA CN101446988B (zh) 2007-11-27 2007-11-27 基于软件对通用异步收发器进行自动化测试的装置及方法

Publications (2)

Publication Number Publication Date
CN101446988A true CN101446988A (zh) 2009-06-03
CN101446988B CN101446988B (zh) 2010-10-27

Family

ID=40742666

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710170998XA Active CN101446988B (zh) 2007-11-27 2007-11-27 基于软件对通用异步收发器进行自动化测试的装置及方法

Country Status (1)

Country Link
CN (1) CN101446988B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102087624A (zh) * 2009-12-02 2011-06-08 上海摩波彼克半导体有限公司 基于fpga模块实现usb接口功能验证测试的电路结构及其方法
CN102201267A (zh) * 2010-03-26 2011-09-28 上海摩波彼克半导体有限公司 基于FPGA实现Nandflash闪存控制器电路验证的平台系统及方法
CN102955127A (zh) * 2011-08-31 2013-03-06 北京中电华大电子设计有限责任公司 一种用于大规模fpga设计中的调试方法
CN110703105A (zh) * 2019-10-15 2020-01-17 宁波吉利汽车研究开发有限公司 一种电池管理系统
CN110907857A (zh) * 2019-12-10 2020-03-24 思尔芯(上海)信息科技有限公司 一种基于fpga的连接器自动检测方法
WO2020118945A1 (zh) * 2018-12-09 2020-06-18 江苏华存电子科技有限公司 一种在多核场景中可自动切换外送数据源的uart主控系统
WO2020140525A1 (zh) * 2019-01-03 2020-07-09 珠海格力电器股份有限公司 Uart模块、uart模块传输参数的调节方法和系统级芯片
CN111698105A (zh) * 2019-03-12 2020-09-22 宁德时代新能源科技股份有限公司 菊花链通信故障诊断方法和装置、电池管理系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108304285A (zh) * 2018-01-15 2018-07-20 航天科工防御技术研究试验中心 一种多端口通用异步收发器测试方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6516428B2 (en) * 1999-01-22 2003-02-04 Infineon Technologies Ag On-chip debug system
CN1293503C (zh) * 2001-04-27 2007-01-03 株式会社鼎新 系统芯片的设计校验方法和装置
CN1567219A (zh) * 2003-07-04 2005-01-19 上海华园微电子技术有限公司 非接触式集成电路卡测试电路及其测试方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102087624B (zh) * 2009-12-02 2013-07-24 上海摩波彼克半导体有限公司 基于fpga模块实现usb接口功能验证测试的电路结构及其方法
CN102087624A (zh) * 2009-12-02 2011-06-08 上海摩波彼克半导体有限公司 基于fpga模块实现usb接口功能验证测试的电路结构及其方法
CN102201267A (zh) * 2010-03-26 2011-09-28 上海摩波彼克半导体有限公司 基于FPGA实现Nandflash闪存控制器电路验证的平台系统及方法
CN102955127A (zh) * 2011-08-31 2013-03-06 北京中电华大电子设计有限责任公司 一种用于大规模fpga设计中的调试方法
CN102955127B (zh) * 2011-08-31 2015-04-22 北京中电华大电子设计有限责任公司 一种用于大规模fpga设计中的调试方法
WO2020118945A1 (zh) * 2018-12-09 2020-06-18 江苏华存电子科技有限公司 一种在多核场景中可自动切换外送数据源的uart主控系统
WO2020140525A1 (zh) * 2019-01-03 2020-07-09 珠海格力电器股份有限公司 Uart模块、uart模块传输参数的调节方法和系统级芯片
CN111698105A (zh) * 2019-03-12 2020-09-22 宁德时代新能源科技股份有限公司 菊花链通信故障诊断方法和装置、电池管理系统
CN111698105B (zh) * 2019-03-12 2021-07-30 宁德时代新能源科技股份有限公司 菊花链通信故障诊断方法和装置、电池管理系统
CN110703105A (zh) * 2019-10-15 2020-01-17 宁波吉利汽车研究开发有限公司 一种电池管理系统
CN110703105B (zh) * 2019-10-15 2021-12-28 宁波吉利汽车研究开发有限公司 一种电池管理系统
CN110907857A (zh) * 2019-12-10 2020-03-24 思尔芯(上海)信息科技有限公司 一种基于fpga的连接器自动检测方法
CN110907857B (zh) * 2019-12-10 2022-05-13 上海国微思尔芯技术股份有限公司 一种基于fpga的连接器自动检测方法

Also Published As

Publication number Publication date
CN101446988B (zh) 2010-10-27

Similar Documents

Publication Publication Date Title
CN101446988B (zh) 基于软件对通用异步收发器进行自动化测试的装置及方法
US5600579A (en) Hardware simulation and design verification system and method
US8281280B2 (en) Method and apparatus for versatile controllability and observability in prototype system
US7225357B2 (en) SDIO card development system
CN102662835B (zh) 一种针对嵌入式系统的程序调试方法及嵌入式系统
CN102130951B (zh) 一种服务器及其可编程逻辑器件的远程升级方法
CN102508753B (zh) Ip核验证系统
CN107562635A (zh) 嵌入式软件测试辅助系统
US7424416B1 (en) Interfacing hardware emulation to distributed simulation environments
CN107704346B (zh) Soc芯片调试方法及调试系统
CN107907814B (zh) 一种提高芯片量产测试效率的方法
CN101963934B (zh) 一种基于8051核的片上系统的在线调试方法
CN102880536A (zh) 一种多核处理器的jtag调试方法
CN102681924A (zh) 软硬件协同验证平台
CN101382583A (zh) 多核微处理器jtag调试方法
CN102542110A (zh) 一种应用于移动存储soc芯片的仿真验证方法
CN102214132A (zh) 一种调试龙芯cpu和南北桥芯片的方法和装置
CN114064458A (zh) 接口可扩展的通用性的jtag调试方法及系统
CN112596743B (zh) 一种基于jtag接口的军用fpga通用重构电路
CN103376340A (zh) 一种转接板、多平台串行测试系统及方法
CN112732508A (zh) 一种基于Zynq的可配置通用IO测试系统及测试方法
CN116610590A (zh) 基于zynq平台实现多片fpga远程调试方法及系统
CN102567196A (zh) 一种处理器仿真调试方法及装置
CN107632910A (zh) 一种测试方法和装置
CN103136078A (zh) 基于c模型的多接口仿真测试系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20170626

Address after: 201203 Shanghai Zhangjiang High Tech Park of Pudong New Area Chunxiao Road No. 439 Building No. 2

Patentee after: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Address before: The Zhangjiang hi tech park Shanghai City Chenhui road 201203 Lane 377 No. 42

Patentee before: Shanghai Mobilepeak Semiconductor Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190311

Address after: 101399 Building 8-07, Ronghui Garden 6, Shunyi Airport Economic Core Area, Beijing

Patentee after: Xin Xin finance leasing (Beijing) Co.,Ltd.

Address before: 201203 No. 439 Chunxiao Road, Zhangjiang High-tech Park, Pudong New Area, Shanghai

Patentee before: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20090603

Assignee: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Assignor: Xin Xin finance leasing (Beijing) Co.,Ltd.

Contract record no.: X2021110000008

Denomination of invention: Test method of universal asynchronous transceiver based on software

Granted publication date: 20101027

License type: Exclusive License

Record date: 20210317

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221014

Address after: 201203 Shanghai city Zuchongzhi road Pudong New Area Zhangjiang hi tech park, Spreadtrum Center Building 1, Lane 2288

Patentee after: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Address before: 101399 Building 8-07, Ronghui Garden 6, Shunyi Airport Economic Core Area, Beijing

Patentee before: Xin Xin finance leasing (Beijing) Co.,Ltd.