一种提高芯片量产测试效率的方法技术

技术编号:17703519 阅读:43 留言:0更新日期:2018-04-14 16:56
本发明专利技术公开了一种提高芯片量产测试效率的方法,该方法首先芯片上电初始化串口,循环等待接收命令,当接收到数据后,对接收到的数据进行解析,区分命令是要配置寄存器还是进入测试项,如果是进入测试项,则把接收正确的数据当作地址送至PC指针,PC指针根据地址指向不同的测试项目,相应测试项目配置完成后,芯片再次循环等待接收命令,如果是进入寄存器配置,则向指定的地址写入数据,配置完成后,芯片进入循环等待接收命令。该方法能够最大程度上提升易用性和稳定性,降低耦合性,增强扩展性,从而降低测试工程师的开发难度,降低芯片生产测试成本。

【技术实现步骤摘要】
一种提高芯片量产测试效率的方法
本专利技术属于芯片测试的
,特别涉及提高SOC和MCU类芯片产测效率的方法。
技术介绍
芯片设计企业为了保证芯片到最终用户手中时,芯片各项功能、性能指标满足要求,通常会进行大量的测试验证。对于芯片设计企业,测试从大方向上可分为研发性测试和生产性测试,研发性测试周期一般在一至三个月之间,测试时会尽量覆盖到芯片每一项功能和性能指标,对测试时间不敏感。生产性测试对测试成本非常敏感,会兼顾测试成本和测试项,要求在最小成本下覆盖率尽可能高。目前在生产测试中通用的测试方法主要有以下三种:1、利用芯片IO口使能上拉时,输入电平为高的特性,让芯片检测到IO口电平被拉低时,进入测试项,不同的IO口关联不同的测试项,外部测试系统拉低相应IO口电平,进入不同的测试项进行测试,如图1所示。2、利用芯片IO口使能上拉时,输入电平为高的特性,使用两个IO口输入状态组合,比如芯片设置A端口检测到下降沿时进入A测试项,在进入B测试项时,要求A测试项测试完成且B端口检测到下降沿,接着进入C测试项要求B测试项测试完成且A检测到下降沿,如此循环往复,如图2所示。3、仿照四线SPI通信接口的形式,四个信号分别标记为SCK,SDA,DOUT和CMD,在开始通信前,芯片循环等待CMD信号拉低,检测到CMD下降沿后,开始接收8位数据,接收完8位数据后,拉高DOUT信号,然后芯片据接收到的数据选择不同的测试项,如图3所示。方法一简单易用,但没有反馈机制,IO口电平容易被影响,稳定性差,同时满足不了测试项很多,测试端口有限的情形。方法二解决了芯片IO端口少的问题,但和方法1类似,稳定性差,且程序耦合性极强,验证和修改程序困难。方法三相对于前两种方法有很大改进,简单易用,耦合性低,扩展性强,但测试效率较低,因为测试系统需要占用四个IO资源,如果芯片IO资源偏少,测试项需要复用通信IO口,则进入下次测试,需要重启芯片设置,测试成本上升,且其对输入的数据没有校验机制,稳定性差。
技术实现思路
基于此,因此本专利技术的首要目地是提供一种提高芯片量产测试效率的方法,该方法能够最大程度上提升易用性和稳定性,降低耦合性,增强扩展性,从而降低测试工程师的开发难度,降低芯片生产测试成本。本专利技术的另一个目地在于提供一种提高芯片量产测试效率的方法,该方法可以自由增减测试项,各测试项测试独立,相关测试项配置完成后,程序返回接收命令状态,不影响当前测试项测试进行,同时进入下一项测试只需要再次发送命令,节省测试时间,大大节约测试成本。为实现上述目的,本专利技术的技术方案为:一种提高芯片量产测试效率的方法,其特征在于该方法首先芯片上电初始化串口,循环等待接收命令,当接收到数据后,对数据进行异或校验,确保接收数据正确,然后对接收到的数据进行解析,区分命令是要配置寄存器还是进入测试项,如果是进入测试项,则把接收正确的数据当作地址送至PC指针,PC指针根据地址指向不同的测试项目,相应测试项目配置完成后,芯片再次循环等待接收命令,如果是进入寄存器配置,则向指定的地址写入数据,配置完成后,芯片进入循环等待接收命令。进一步,所述方法,先初始化芯片,进行相关配置,如果芯片本身带有uart外设,则使用芯片自带的外设,如果没有,则用通用IO口模拟UART。更进一步,除了事先初始化串口外,还需要给需要测试的测试项分配不同的入口地址,入口地址的范围由芯片字长决定,一般芯片的字长最小8位,最多可以链接256个测试项。更进一步,分配好入口地址后,就要进入不同的测试项进行设置,每个测试项单独写成一个文件,公共函数独立为一个文件,方便各个模块进行调用,寄存器配置也单独分配一个地址,作为一个单独文件,每个测试项配置完成后,返回到串口接收数据状态。开始测试时,外部测试系统先发送数据0xA5,芯片接收到A5h后确认一帧数据开始传输,接着外部测试系统发送0x01或0x02,0x01代表选择测试项目,0x02代表配置寄存器,芯片接收到数据后进入不同的情形,等待接收选择测试项数值,如果是选择测试项目,芯片系统接着就只需要接收0xFF和0xFF与测试项数值异或的数据。如果是选择配置寄存器,则需要接收三个数据,分别是需要配置寄存器的地址、需要配置寄存器的值、以及寄存器地址和寄存器值异或的待校验数据。更进一步,该方法的具体实现步骤为:101、初始化串口;102、接收数据,并判断是否接收到0xA5,如果是,则进行下一步,如果否则继续接收数据;103、进一步判断是否接收到0x01或0x02,如果是,则进行下一步,如果否则继续该步骤;104、判断接收的数据是0x01还是0x02,如果是0x01则转到105步骤,如果是0x02,则转到108步骤;105、判断是否接收到测试项入口地址,如果是则进行下一步,如果否则继续该步骤;106、判断是否接收到0xFF,如果是则进行下一步,如果否则继续该步骤;107、判断是否接收到异或的数据,如果是则进行112步骤,如果否则继续该步骤;108、判断是否接收到寄存器配置项入口地址,如果是则进行下一步,如果否则继续该步骤;109、判断是否接收到要配置的寄存器地址,如果是则进行下一步,如果否则继续该步骤;110、判断是否接收到要配置的寄存器数据,如果是则进行下一步,如果否则继续该步骤;111、判断是否接收到地址与数据异或的数据,如果是则进行下一步,如果否则继续该步骤;112、芯片对接收的数据进行处理;113、判断接收数据是否正确;114、根据接收值选择不同的测试项目进行测试。本专利技术增加了寄存器配置,一方面使得直接在上位机编写脚本发送指令控制芯片发生相关操作成为可能,完全不用事先写入大量的测试代码,对于存储空间非常小的芯片尤其有用。另外一方面,对于某项功能需要验证多种情形很有用,通过配置寄存器不同值选择不同情形,避免罗列过多测试项,耦合性也可以做到更低。本专利技术采用串口UART选通不同的测试项,UART为异步通信总线,通过TX端口发送数据,通过RX端口接收数据,只需要芯片能正确接收数据,所以只需要占用一个RX管脚。绝大部分SOC和MCU类芯片都有UART串口,一些没有串口外设的芯片,也可以通过IO端口进行模拟,所以应用非常广泛。因为不同的测试项是根据入口地址进行,所以可以自由增减测试项,各测试项测试独立,相关测试项配置完成后,程序返回接收命令状态,不影响当前测试项测试进行,同时进入下一项测试只需要再次发送命令,省去芯片重新上电,重新进测试项的时间耗费,大大节约测试成本。附图说明图1是现有技术所实施每个IO口控制相应测试项的流程图。图2是现有技术所实施两个IO口循环控制相应测试项的流程图。图3是现有技术所实施模拟SPI口控制相应测试项的流程图。图4是本专利技术所实施的工作流程图。图5是本专利技术所实施的具体处理流程图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。图4所示,为本专利技术所实现的工作流程,图中所示,芯片上电初始化串口,循环等待接收命令,当接收到数据后,对数据进行异或校验,确保接收数据正确,然后对接收到的数据进行解析,区分命令是要配置寄存器还是本文档来自技高网
...
一种提高芯片量产测试效率的方法

【技术保护点】
一种提高芯片量产测试效率的方法,其特征在于该方法首先芯片上电初始化串口,循环等待接收命令,当接收到数据后,对数据进行异或校验,确保接收数据正确,然后对接收到的数据进行解析,区分命令是要配置寄存器还是进入测试项,如果是进入测试项,则把接收正确的数据当作地址送至PC指针,PC指针根据地址指向不同的测试项目,相应测试项目配置完成后,芯片再次循环等待接收命令,如果是进入寄存器配置,则向指定的地址写入数据,配置完成后,芯片进入循环等待接收命令。

【技术特征摘要】
1.一种提高芯片量产测试效率的方法,其特征在于该方法首先芯片上电初始化串口,循环等待接收命令,当接收到数据后,对数据进行异或校验,确保接收数据正确,然后对接收到的数据进行解析,区分命令是要配置寄存器还是进入测试项,如果是进入测试项,则把接收正确的数据当作地址送至PC指针,PC指针根据地址指向不同的测试项目,相应测试项目配置完成后,芯片再次循环等待接收命令,如果是进入寄存器配置,则向指定的地址写入数据,配置完成后,芯片进入循环等待接收命令。2.如权利要求1所述的提高芯片量产测试效率的方法,其特征在于所述方法,先初始化芯片,进行相关配置,如果芯片本身带有uart外设,则使用芯片自带的外设,如果没有,则用通用IO口模拟UART。3.如权利要求2所述的提高芯片量产测试效率的方法,其特征在于除了事先初始化串口外,还需要给需要测试的测试项分配不同的入口地址,入口地址的范围由芯片字长决定,一般芯片的字长最小8位,最多可以链接256个测试项。4.如权利要求3所述的提高芯片量产测试效率的方法,其特征在于分配好入口地址后,就要进入不同的测试项进行设置,每个测试项单独写成一个文件,公共函数独立为一个文件,方便各个模块进行调用,寄存器配置也单独分配一个地址,作为一个单独文件,每个测试项配置完成后,返回到串口接收数据状态。5.如权利要求4所述的提高芯片量产测试效率的方法,其特征在于开始测试时,外部测试系统先发送数据0xA5,芯片接收到A5h后确认一帧数据开始传输,接着外部测试系统发送0x01或0x02,0x01代表选择测试项目,0x02代表配置寄...

【专利技术属性】
技术研发人员:方学南
申请(专利权)人:芯海科技深圳股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1