一种单片机的在线编程测试方法研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2019年第10期(总第391期)
电子质量
作者简介院陈龙(1993-),男,江苏盐城人,硕士学历,助理工程师,
主要从事集成电路测试工作。
一种单片机的在线编程测试方法研究
Research of the On-line Programming and Test on MCU
陈龙,何笑,解维坤,苏洋(中国电子科技集团公司第五十八研究所,江苏无锡214035)
Cheng Long,He Xiao,Xie Wei-kun,Su Yang (China Electronics Technology Group Corporation No.58Research Institute,Jiangsu Wuxi 214035)
摘要:单片机是一种集成电路芯片,在工业控制领域得到广泛的应用。
而传统的单片机测试方法是先编程后上测试机测试,依赖下载器和人工操作,导致生产效率偏低。
该文研究了基于ATE 测试系统的单片机在线编程测试方法。
以C8051F061型单片机电路为例,利用JTAG 边界扫描原理设计了基于J750EX 测试系统的单片机的在线测试方案,
实现了J750EX 测试系统对单片机的在线编程测试。
实验结果表明,一种单片机的在线编程测试方法一方面解决了传统测试方法依赖下载器的问题,另一方面减少了测试过程中的人工操作,提高了生产效率,能够满足C8051F061型单片机的编程测试需求。
关键词:单片机;在线编程;自动测试系统;JTAG 中图分类号:TN407
文献标识码:B
文章编号:1003-0107(2019)10-0086-04
Abstract:MCU is a kind of integrated circuit chip,which is widely used in the field of industrial control.The tradi-tional MCU testing method is programming at first then testing on ATE (Automatic Test Machine).It is based on downloaders and manual operations so that it causes low efficiency on productions.This paper investigates the on-line programming and testing method of MCU based on ATE.We choose C8051F061as the example that the on-line programming test of MCU based on J750EX test system is designed by using JTAG boundary scan principle,which realize the on-line programming test of MCU on J570EX test system.The experimental results show that an on-line programming test method for MCU can not only solves the problem that the additivity of downloaders by traditional test method but also reduces the manual operation in the testing process and imp-roves production efficiency,which meets the programming test requirements of C8051F061MCU.Key words:MCU;On-line program;ATE;JTAG CLC number:TN407
Document code:B
Article ID :1003-0107(2019)10-0086-04
0概述
单片机是一种集成电路芯片,
是采用超大规模集成电路技术把CPU、RAM、ROM、多种IO 口和中断系统、定时器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域得到广泛的应用[1]。
常规的单片机编程测试方法是将编程和测试分开,主要利用上位机通过数据通信接口将烧写程序下载到单片机里,然后再通过测试设备给输入并且读输出,从而判断单片机的好坏。
但是,常规的测试办法摆脱不了
下载器和过多的人工操作,
在烧写过程中花费大量的测试时间,而且烧写程序不止一个,使得测试流程复杂且测试成本高,导致生产效率偏低。
本论文提出了一种单片机的在线编程测试方法。
一方面解决了传统测试方法依赖下载器的问题,另一方面减少了测试过程中的人工操作,
提高了生产效率。
1单片机测试原理
1.1单片机测试原理框架
随着半导体技术的发展,集成电路的集成度大幅提高,芯片复杂度的增加对测试行业带来了很大的挑战。
集成电路测试按测试内容主要分为参数测试和功能测试,对于微处理器来说也主要包括这两项测试。
微处理器包含丰富的指令集,而且种类繁多,不同的微处理器有不同的测试规范[2]。
图1所示为一个微处理器测试模型,自动测试装置ATE为被测微处理器提供电源和时钟信号,通过施加测试向量模拟微处理器的仿真通信接口来控制微处理器工作,从而达到测试的目的。
图1单片机测试模型
电路测试按测试类型分,可分为电功能测试和电性能测试。
功能测试是一种用来测试半成品/成品或生产环节中的某一个工序,以此来判断被测对象是否达到了初始设计者目的。
功能测试能够检测大量实际重要功能通路及结构验证,确定没有硬件错误。
这需要将大量模拟/数字激励不断加到被测单元上,同时监测同样多数量的模拟/数字响应,并完全控制其执行过程。
对于微处理器来说,功能测试主要是指令集测试、片内存储器测试以及其他特定功能的测试。
其中,指令集测试包含数据传送类指令,算术运算类指令,逻辑运算类指令,调用转移类指令,控制类指令等;片内存储器测试指对片内RAM、寄存器进行读写操作,判断功能是否按照设计要求实现等;一些特定功能测试,如PWM功能测试、中断功能测试、高速IO功能测试、ADC功能测试等[3]。
性能测试就是测试产品的参数,验证参数是否达到产品的设计要求。
参数测试包括直流参数测试和交流参数测试。
直流参数测试包括直流参数包括电源电流、输入电平、输出驱动、I/O端口漏电等,交流参数测试包括地址到读出延迟、输入时钟到输出时钟延迟、READ到数据输入延迟、READ脉冲宽度等,不同的微处理器所包含的微处理器不尽相同,要根据具体要求来测[4]。
1.2单片机向量生成方法
(1)手工编写测试向量码
即逐条翻译指令,逐行编写测试代码。
MCU类IC 的结构系统复杂而庞大,并非一张简单的二维真值表,而是三维、四维或更复杂的关系。
指令周期因指令而异,指令之间又有着千丝万缕的联系。
所以它们的测试代码通常都至少需要上万行,才能达到比较高的故障覆盖率,可想而知逐条编写的工作量是多么巨大[5]。
(2)设计提供测试向量码
这种方法可以省去编写测试代码的时间,同时代码的可靠性得到保障。
但事实上,由于害怕技术泄露,作为普通的用户,这样的测试码很难拿到。
对于普通的用户来说,以上两种单片机向量生成方法明显是不适用的,常规的单片机编程测试方法是将编程和测试分开,利用官方提供的下载器将程序烧写进单片机的ROM中。
本文提出一种单片机的在线编程测试方法,利用自主编程的转码软件自动生成单片机向量文件。
2测试方案
2.1传统方案介绍
常规的单片机编程测试方法是将编程和测试分开,主要利用上位机通过数据通信接口将烧写程序下载到单片机里,然后再通过测试设备给输入并且读输出,从而判断单片机的好坏。
但是,常规的测试办法摆脱不了下载器和过多的人工操作,在烧写过程中花费大量的测试时间,而且烧写程序不止一个,使得测试流程复杂且测试成本高,导致生产效率偏低。
2.2本文方案介绍
本文提供了一种单片机的在线编程测试方法,用于对单片机电路进行故障检测,单片机测试框架如图2所示,所述测试方法包括单片机烧写文件HEX、转码软件、机台测试程序、测试板和测试机,其中:单片机、测试板和测试机为方法的硬件组成部分。
图2单片机测试框架图
单片机烧写文件HEX是记录文本行的ASCII文本文件,在HEX文件中,每一行是一个HEX记录,
由十六
2019年第10期(总第391期)
电子质量
进制数组成的机器码或者数据常量。
HEX文件由各个单片机厂家的官方开发软件自动生成[6]。
转码软件总体流程如图3所示,由单片机开发软件、HEX(单片机烧写文件)转SVF(串行向量文件)软件、SVF (串行向量文件)转ATP(机台向量格式)软件,机台转码软件组成。
图3转码软件总体流程图
单片机开发软件为单片机厂商官方提供,用于生成HEX(单片机烧写文件)。
HEX转SVF软件为Microsoft Visual Studio2008平台下通过自主编程生成的软件,用于将HEX转化为SVF文件,SVF的全称是Serial Vector Format,是IEEE1149.1的一部分,主要用来控制JTAG 收发数据。
HEX转SVF软件流程图如图4所示,通过逻辑分析仪得到单片机下载时的JTAG四个引脚的时序,经过归纳总结出同一系列的单片机从HEX转化为SVF 的规律,生成HEX2SVF转化软件。
所述SVF转ATP软件为Microsoft Visual Studio 2008平台下通过自主编程生成的软件,用于将SVF转化为ATP格式。
SVF转ATP软件流程图如图5所示,将SVF的指令按照指令协议转化为二进制文件,然后根据机台需求将二进制文件转化为ATP文件。
机台转码软件将ATP转化为PAT格式文件(向量格式),此软件由ATE厂商提供。
机台测试程序调用烧写PAT文件对单片机进行在线烧写,调用测试PAT对单片机进行测试。
图4HEX转SVF软件流程图
图5SVF转ATP软件流程图
3测试实例
为了验证该在线编程测试方法的使用效果,本文以Silicon公司C8051F061单片机为例子,在J750EX测试系统上对封装为TQFP64的C8051F061进行测试。
使用传统单片机测试方案发现由于下载器和人工的参与,烧写过程中花费大量的测试时间,而且烧写程序不止一个,使得测试流程复杂且测试成本高,导致生
产效率偏低。
使用我们的单片机在线编程测试方法,将编程和测试全部在J750EX 测试系统上进行,测试结果和传统方案取得的结果一致,测试结果正常,该在线编程测试方法对提高测试效率和增加测试覆盖率具有很好的效果,
实验数据如图6所示。
此在线编程测试方法不仅可以应用到单片机的测试中,也可以应用在其他类型的集成电
路测试中。
图6在线编程测试数据
4结束语
本文主要叙述了在测试单片机过程中不可避免的编程,自主编写了一套转码软件来简化单片机的测试流程和提高开发效率。
在对单片机的实际测试应用中,该在线编程测试方法对提高测试效率和增加测试覆盖率具有很好的效果,同时对其他类型的电路测试也有借鉴作用。
参考文献:
[1]胡勇,李轩冕,贺志容.单片机测试向量生成技术研究[J].计算机与数字工程,2010,38(9):90-92,150.
[2]薛宏,王怀荣.16位单片机测试技术研究[J].电子与封
装,2008,8(3):28-30,34.
[3]席筱颖.8位MCU 设计验证及测试向量故障覆盖率分析[D].哈尔滨:哈尔滨理工大学,2007.
[4]Baughman J M,Perocchi F,Girgis H S,et al.Integrative ge-nomics identifies MCU as an essential component of the mitochondrial calcium uniporter[J].Nature,2011,476(7360):341-345.
[5]石巍.基于AVR 单片机的测试模块在半导体编带设备上的应用[J].电子测试,2018,(1):108-108,110.[6]ing Serial Vector Format Files to Program XC9500/XL/XV Devices In-System[P].XAPP067,2002.。