"); //-->
Kevin J. Cassidy
市场应用工程师
Jeffery Allan Means
客户经理
Tektronix, Inc
现代移动电话具有非凡的特色和性能。随着设备性能的提高,其设计也越来越复杂。本文介绍了数字设计测试设备在移动电话射频和中频验证以及信号处理过程中的应用。
今天的移动电话是RF和DSP的超凡结合。信号处理器是使人们更快地完成这些复杂设计并且获得更高集成度的关键技术。虽然技术复杂度在增加,但无线市场的竞争压力要求不断缩短典型无线设备的开发周期,而缩短开发周期需要有合适的测试工具,来加速无线设备调试过程。
在以DSP为核心的移动电话系统的测试和验证过程中,使用象逻辑分析仪这样的数字设计测试设备非常有效。本文将以一种按照欧洲电信标准协会(ETSI)GSM体系设计的移动电话为例来讲述这一点。该设备的信号处理过程简化框图如图1所示。
图1:移动电话框图
|
由该框图可以明显看到,DSP参与了移动电话的整个数据和音频处理过程。移动电话中的这款DSP芯片是专为无线应用设计的,它有一个全新的处理器内核,此内核是以无线处理和低能耗为基础开发的。该DSP的设计者为此芯片开发了两个版本,一个是仿真版,另一个是产品版。仿真版的芯片将许多总线外置,以便对信号进行检测和监控,并使软件代码在处理器之外的RAM中运行。而在产品版的芯片中,软件代码则是存储在设备的ROM中。
系统的调试
甚至在投片之前,就已经有一种工具可用来实现对DSP的计算机仿真。仿真工具的一个缺点是它不能反映系统的实时行为,在硬件系统中运行非常快的一个任务在仿真器中可能要花数小时才能完成。一旦完成投片,唯一的内置调试工具就是DSP芯片上的一个JTAG(Joint Test Action Group)边界扫描端口。通过该JTAG端口,设计人员能够观察到该处理器中待处理信息的一个有限的子集,比如该处理器中寄存器的内容。但是,该工具仅能完成5%的调试任务。
逻辑分析仪
逻辑分析仪是一种验证仪器,利用它可同时观测当今微处理器的大量引脚上的信号变化情况。现代的逻辑分析仪应该有足够多的探头同时检测处理器内存中的信息处理情况、I/O操作以及控制信号的变化,Tektronix TLA 700逻辑分析仪就是这样一个例子,它可同时监测680个数字通道,能够以高达200MHz的时钟频率捕获这些信号,并在这样的数据速率下对每个输入引脚存储高达512K的采样值。
TLA逻辑分析仪还有一个处理器支持工具包,可以对当今的许多微处理器和DSP提供帮助。这些支持器件包括用来连接处理器引脚的硬件和驻留在逻辑分析仪内的软件,并且能以反汇编代码的形式观察捕捉到数据。这意味着对于需要模拟显示数据的场合,可将一个数字存储示波器(DSO)模块插入到TLA逻辑分析仪的主机中,或者将外置的DSO与TLA 700一起使用。TLA中的DSO模块可有2或4个通道以及高达1GHz的模拟带宽。便携式TLA 700的框图见图2。
图2:TLA 700逻辑分析仪
|
通过使用TLA分析仪及连接到仿真版DSP的探头适配器,硬件设计的调试将比使用现有的工具更加简单。从连接到DSP的TLA上可以观察到处理器中的信号传递途径、内存读写、状态位以及I/O操作。使用逻辑分析仪会使芯片的基本时序参数的测试更加容易,TLA还可以同时测量所有地址和数据行的建立和保持时间。图3显示了逻辑分析仪与微处理器的探头适配器的连接情况。
图3:逻辑分析仪的探头适配器与微处理器的连接
|
逻辑分析仪的软件调试能力在于它能够实时地捕获许多总线、控制信号以及处理器的状态位信息。利用这些数据,人们开发出了能够在逻辑分析仪上显示软件指令的微处理器支持工具包,使得用汇编语言或高级语言编写的代码可以和硬件信号一起显示在逻辑分析仪上。利用数据的反汇编视图,软件工程师能够快速调试有错误的代码。
尽管起初并没有用于测试移动电话的DSP处理器支持工具,但是应用工程师们为该芯片开发了一个定制的反汇编程序。Tektronix有一个专为开发反汇编程序而设计的基于PC的工具包。利用此工具,一旦反汇编程序写成,调试诸如语音编码器、卷积编码/解码、加密/解密功能以及频率测量等DSP算法的速度就会加快。例如,向语音编码器中注入测试向量,然后在TLA分析仪上捕获这些信号,就可以对语音编码器的各个阶段进行调试。
当使用一个具有性能分析功能的逻辑分析仪时,可以从统计上确定哪些代码运行得特别慢。有了这一功能,就能够很快发现那些导致“硬件失速”从而减慢运行速度的代码,并通过重新编码来加提高运行速度。加速软件的运行速度的好处很多,如降低电话的总功耗。
新的处理器硬件中可能包含未知的软件漏洞。在软件调试中使用逻辑分析仪可以发现软件中存在的问题,其中一个例子是对第二个数学操作数的内存寻址的限制。例如,在方程:
result = operand1 + operand2
中,如果软件知道第二个操作数operand2是一个常数,它就可能选择从DSP的ROM中读取。但是,DSP的硬件设计却使得operand2只能在RAM中寻址。要发现这一漏洞需要对真实硬件而不是仿真硬件进行观测,因为仿真器并没有模拟这一缺陷。
将逻辑分析仪连接到DSP总线上,还可以捕获微处理器和DSP之间的信息传递。利用该数据,逻辑分析仪可用来调试移动电话协议栈第一层的驱动程序。采用Microsoft Windows Component Object Model (COM/DCOM)技术,可以捕获信息并将信息输出到运行在分析仪内部计算机上的C语言程序中,该C语言程序接收十六进制的代码并将其转换为易于识别的系统信息。
软件调试问题尤为重要,因为生成一个新的ROM版DSP芯片需要花费数周时间以及成千上万美元的费用。如果ROM中的代码存在错误,将会导致很高的修正费用及更长的开发时间.
软件和硬件的集成会使系统级的调试变得困难。通常在发现问题之前,必须观察电话的实际运行情况。使用逻辑分析仪进行调试,可以使用户发现系统问题的根源,无论是硬件的还是软件的。例如在该移动电话系统中,为了保证信号在正确的时间发送,关键的问题是同时观察DSP软件和接收机使能线以确保系统的时序正确。通过捕获大量的缓存数据及接收机使能线,可以发现接收机代码中的编程错误,并找出哪个地方的程序错误导致了信号传输的时序错误。DSP处于系统的中心位置,使得它可以探测到从天线到微处理器的任何系统的工作过程。
即使该移动电话系统在实验室里看上去运行得很好,但通过进行符合ETSI标准的类型确认测试,往往会发现更多的问题需要调试。
例如,我们发现一个问题,类型确认测试在微控制器中每隔30秒出现一次竞争状态,该竞争导致电话发射机每30秒拒绝输出一帧。这种竞争问题导致类型确认测试失败,但是测试设备硬件却没有给出测试失败的足够详细的信息。使用带有数字示波器的逻辑分析仪,工程师发现了这种竞争状态,于是修改软件,问题得以解决。
另一个类型确认测试失败且产生很少的解释信息的例子是GSM用户识别模块(SIM)接口测试。关于SIM接口,ETSI规范中要求检查启动时序,并消除总线上的脉冲干扰或其它瞬态现象。任何瞬态现象或时序冲突都会导致类型确认测试的失败。由于总线瞬态暂变的原因,该移动电话系统的测试失败了。后来发现该瞬态暂变的原因是:移动电话电源中的稳压器产生电压波动,这一波动渗入SIM接口,从而导致测试失败。内置的TLA DSO模块可用来识别并排除这一波动问题.
许多移动电话的卓越特点和性能都依赖于DSP。尽管DSP是加速这些复杂设计的开发过程的关键,但市场的时间压力使得快速调试DSP及其它硬件变得非常重要。要成功完成无线设计,必须由可用的调试工具的质量来保证。TLA 700逻辑分析仪是一种数字及模拟信号调试工具,它能够使软件和硬件工程师快速发现并排除设计问题,从而减少开发费用,缩短产品进入市场的时间。
欲了解更多信息,请联系作者:Kevin J. Cassidy, Jeffery Allan Means
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。