ARM Cortex-M3 微处理器测试方法研究与实现
扫描二维码
随时随地手机看文章
作为32 位RISC 微处理器主流芯片,ARM 芯片得到长足发展和广泛应用.因而,ARM 芯片的测试需求更加强劲的同时,测试工作量在加大,测试复杂度也在增加.本文给出了基于ARM Cortex-M3 的微处理器测试方法,该方法也可用于类似结构的微处理器测试.
0
随着半导体技术的发展,集成电路制程工艺从深亚微米发展到纳米级,晶体管集成度的大幅提高使得芯片复杂度增加,单个芯片的功能越来越强.二十世纪90 年代ARM 公司成立于英国剑桥,主要出售芯片设计技术的授权.采用ARM 技术知识产权( IP 核)的微处理器,即ARM 微处理器,已遍及工业控制.消费类电子产品.通信系统.网络系统.无线系统等各类产品市场,基于ARM 技术的微处理器应用约占据了32 位RISC 微处理器七成以上的市场份额.ARM 芯片的广泛应用和发展也给测试带来了挑战,集成电路测试一般采用实际速度下的功能测试,但半导体技术的发展使得测试开发工程资源按几何规律增长,自动测试设备(ATE)的性能赶不上日益增加的器件I/O 速度的发展,同时也越来难以满足ARM 等微处理器测试所用的时序信号高分辨率要求,因而必须不断提高自动测试设备的性能,导致测试成本不断攀升.此外,因为ARM 芯片的复杂度越来越高,为对其进行功能测试,人工编写测试向量的工作量是极其巨大的,实际上一个ARM 芯片测试向量的手工编写工作量可能达到数十人年甚至更多.本文针对ARM Cortex 内核的工作原理,提出了一种高效的测试向量产生方法,并在BC3192 测试系统上实现了对ARMCortex-M3 内核微处理器的测试.
1 微处理器测试方法
集成电路测试主要包括功能测试和直流参数的测试,微处理器的测试也包括功能和直流参数测试两项内容.微处理器包含丰富的指令集,而且微处理器种类繁多,不同微处理器之间很难有统一的测试规范.为了使测试具有通用性,我们有必要对微处理器的测试建立一个统一的模型,如图1 所示.芯片测试系统为被测微处理器提供电源和时钟,并能够模拟微处理器的仿真通信接口来控制微处理器工作,同时配合仿真时序施加激励向量,从而达到测试目的.
按微处理器仿真通信接口大致分两类,一类是具有仿真接口(如JTAG)的微处理器,一类是没有仿真接口的微处理器,对于配备类似JTAG 接口的微处理器,测试仪通过仿真一个JTAG 接口对被测芯片进行功能或参数测试.没有配备仿真调试接口的芯片,可以根据芯片的外部接口和引导方式选择测试模型.
1.1 跟踪调试模式
大多数的微处理器都提供了跟踪调试接口,例如最常用的JTAG 接口,Cortex-M3 内核除了支持JTAG 调试外,还提供了专门的指令追踪单元(ITM).JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1 兼容),主要用于芯片内部测试.现在多数的高级器件都支持JTAG协议,如ARM.DSP.FPGA 器件等.标准的JTAG 接口是4 线:
TMS.TCK.TDI.TDO,分别为模式选择.时钟.数据输入和数据输出线.JTAG 最初是用来对芯片进行测试的,因此使用JTAG 接口测试微处理器具有很多优点.
用JTAG 接口对微处理器进行仿真测试,是通过测试系统用测试矢量模拟一个JTAG 接口实现对微处理器的仿真控制,其核心是状态机的模拟,图2 所示为测试系统使用的JTAG TAP 控制器的状态转换图.