|
1. 手机测试简介
GSM( Global System for Mobile)是在全欧数字蜂窝系统的基础上发展起来的,并于1989年被接纳入ETSI组织。
它包括 GSM900/DCS1800/PCS1900 三个频段。GSM采用了0 .3GMSK的调制方式,数据的比特率正好是频偏的4倍,减小了频谱的扩散,增加了信道的有效性,采用高斯滤波器降低了频率的变化速度,有效地防止信号能量的扩散。
GSM系统要求有精确的相位轨迹控制,均方相位误差〈5°,峰值相位误差〈20°;GSM系统使用了TDMA/FDMA的复用方式,整个频段分为上行信道和下行信道,每个信道占用200KHZ的频宽(这叫绝对信道ARFCN),每个ARFCN可由8个用户同时共享,每个用户在时域上是不连续地占用资源,在一个时隙中的RF脉冲的幅度包络和有用信号的平坦度均有严格的规定,在577US的一个时隙周期内对手机既有大于70DB动态范围的测试也有小于1DB的有用部分平坦度的测试;GSM手机在小区内移动时要求能随时合理地调整发射功率以减少对其它用户的干扰和克服路径的衰耗;由于GSM小区的覆盖半径相当大(900MHZ:35KM;1800MHZ:2KM),要求手机能够随时进行时序的调整,保证信号在恰当的时候到达基站并避免和其它相邻时隙的信号发生冲突;手机在完全的测试中还必须仿真实际的应用环境,考虑多径衰落(MULTIPATH)和阴影衰落(FADING);为了蜂窝系统的有效管理,为了实现系统提供的各种功能,GSM系统将信道分为物理信道( ARFCN)和逻辑信道。并根据GSM需要完成的功能将逻辑信道划可分为:业务信道(transport of digitized voice and data)、控制信道(Signalling &Synchronizing)、广播信道(Frequency correction,Synchronizing, Base Identification)、通用控制信道( call)、相关控制信道 (traffic management information)。从上面的简要描述,就可以看见GSM的测试是一个相当复杂、投资巨大的过程。
2.测试的分类
GSM测试基本上可以分为2种。一种是手机认证测试( Full Type Approval),保证手机完全符合ETSI的各种规定;另一种是为了满足开发、生产的特殊需要而进行的较为简要的测试。前者通常以一个蜂窝系统仿真器为中心(Cell simulator), Rohde&Schwarz的TS8916是可以测试GSM3个工作频段的认证测试系统。它使用9个RF信道和附加的RF仪器来仿真真实的物理环境,它能测试的参数相当完善,主要有以下这些:
(1)RF发射接收部分测试,杂散辐射分析;
(2)RF发射部分测试,如RF的输出频谱分析;
(3)RF的接受部分测试,防止干扰;
(4)链接管理测试(同步);
(5)Layer 2 / Layer 3的信令测试;
(6)音频测试;
(7)补充业务测试。
所有的测试指标必须满足ETS300607-1和GSM11 .10,完整的测试项目共有190多项。由手机设计/生产厂家给出产品的各类描述性文挡提交认证机构指定的测试公司,确认后预定测试时间(按小时收费),当相应测试通过后测试公司将测试报告提交认证机构协助厂家获得FTA证书,可见这个过程的艰辛。
相对于认证测试开发和生产测试简化了许多,因为不再使用 GSM系统仿真器(十分昂贵),信令、链接管理、补充业务等不能测试,集中精力在发送、接收和音频的测试(包括:功率、相位、频率、频谱、辐射、接收信号电平和接收信号质量)。常用的射频综合测试仪有:HP8960,R& S的CMU200。
手机开发测试
到目前为止,就开发而言,除了GSM综合测试仪外,还有相应的数字电源、数字示波器、信号发生器、频谱分析仪、网络分析仪、功率表等。手机的测试除了通常意义上的硬件的检测外(包括电流、按键、显示屏、电池、音频、发送/接收指标),还必须完成对硬件不理想时的补充和完善以保证手机的整体性能,也就是需对每一台手机进行校准。一个优秀的手机校准算法和制造技术同时成为了产品质量的关键保证。下面以厦新 A8168(8198)的校准原理做一简要介绍。
基于两个主要的原因手机必须做接收方面的校准。一是手机报告的信号电平必须满足ETSI规定的GSM网络的要求;二是保证进入ADC的信号电平尽可能精确为一常数,不受天线处接收信号影响。
从图一可以知道从手机天线处接收到的信号必须经过射频(RF)、中频(IF)和基带(BaseBand)模拟部分的处理才能到达模/数转换(ADC)和数字有限冲激响应滤波器(Digial FIR Filter),而后进入DSP 进行信号协议的处理。我们的目标就是保证到达ADC的信号幅度为-10dBf,精确度为 2%。
接收方向的校准不好,尤其是计算的补偿值超过设计的容限时将导致对基站信号的错误判断,严重时会导致寻网困难和使用中丢失网络。900频段和1800频段使用相同的基带通道,中频通道,不同的射频通道所以接收校准工作需要做两次。
由于GSM工作在TDMA方式,每个手机占用的每个时隙(SLOT)仅有 577US ,必须在 577US 内完成PA的打开、稳定(携带DATA)、关闭,因此对功率时间关系(Power-Time template)有相当严格的要求,必须对所有功率级别的功率曲线的上升段/稳定段/下降段都作出校准,所以相对于接收校准,发送更加繁硕。如果不能在基站分配给自己的时隙内准确地发送出符合ETSI规定的手机的功率曲线和频谱,不但将影响别的手机、别的设备(比如收音机),也会影响自身比如电池的性能、解调数据/语音的能力和质量等。校准和硬件实现有不可分割的关系。硬件发生变化时,校准算法也必须相应变化。
因为900和1800频段使用不同的功率放大器,更由于PA响应的非线性,将每个频段细分为高功率段(High gear,GSM 功率级:5-13;DCS 功率级:0-8)和低功率段(Low gear,GSM 功率级:14-19;DCS 功率级:9-15) ,划分的基准是在这些功率段中响应相对线性。我们的目的就是给出PA在一个时隙里的控制曲线(共32个值,见图二),这个曲线与工作频段和功率级都有关系,这个曲线和PA的响应并不是一一对应的关系,这个曲线对应着DSP的格式,最后由DSP 解释后作用于PA。这个曲线是否正确由PA最后的响应是否正确决定的。900和1800 两个工作频段共有15+16=31条控制曲线需要校准。
从图三中可以看到TXP给出的格式这是一个由DSP处理的格式。
E—GSM、GSM和DCS 共存,包括信道975-1023(E-GSM)、0-124(GSM)、512-885(DCS),。这时大家共同使用一个PA,由于芯片设计水平的提高,该PA的响应比较线性使得发送校准方法有了较大的不同,同时能保证高功率级的功率尽可能精确。(例如900M功率级5的功率可以保证为32+-0.1dB)此时的发送校准使用的是线性插值:
TXP =C0+C1*MPOWER
因此校准的目标就是确定C0和C1的值,得到后就可以容易的得到各个功率级的33个TXP值, 该值在T=0处(第一个值)表示PA稳定后的输出功率;
在开发时除了常温下的发送、接收校准测试外,还必须进行手机的高低温测试、高低电压测试及各个网络的实际现场测试以保证该手机较强的适应性。除了上述意义上的发送、接收校准外,我们还进行电池校准、麦克风、扬声器、充电性能、天线等的综合测试 。
3. 测试程序的实现
3.1测试基本配置:
GPIB卡、无线测试仪、数字电源、测试夹具等组成。待测手机通过GPIB接口、COM接口、RF接口连接。
3.2软件介绍:
就编程工具而言, 采用了 National Instrument的LabWindows/CVI. 测试数据的管理用VB和SQL编写数据库管理程序.
CVI 与别的语言的优缺点 :
(1)相对于其它开发工具 VC,VB,PB 等而言 ,CVI 的优点是在其硬件的控制和数据的处理能力上 , 而用户界面 , 数据库和网络应用上的开发能力不及这些开发工具。
(2)CVI 中的多线程处理可以用 Windows SDK 函数来创建和处理 , 但是 Lab windows /CVI 本身并没有提供多线程处理功能 , 并且CVI 的很多函数库都不是多线程安全的 .
(3)CVI 可以支持数据库的访问 , 但不支持数据库的开发 , 所以在使用到数据库之时 , 可以在其他开发工具上开发出使用模块 , 然后在 CVI 中使用。因此 , 对于编程语言的使用 , 特别是针对仪器和硬件的控制 (CVI 的效率远高于 VB), 仍然应该立足于 LabWindow/CVI, 而至于界面层的实现可以考虑使用另外的开发工具。 所以 , 在没有涉及数据库 , 网络化 , 与复杂的多线程处理时 ,CVI 仍然是能够适应我们的开发需要的。
3.3 实现方案。
3.3.1 实现要求
1.主要目的是建立一个面向生产线测试的软件构架,以模块为组成单位,以可移植性为第一要求,在需要测试另外的一款手机时只需更改其中的一个模块即可,而不是重写整个程序。
2.基于这样的构架,针对生产线的测试的特点实现用一台计算机同时并行控制两台仪器,测试两台手机的要求,为生产线降低成本提高资源利用率和生产效率。
3.在实现前面两点的前提下 , 尝试用另外的开发工具来实现界面层的调用 , 在实用的基础上拥有商用软件的外观,这需要在底层要建立测试模块与界面之间的一个完善接口。
4.良好的扩充性要求 , 这主要体现在模块本身划分上 , 这需要大家的共同参与和大量的建议介入。
3.3.2 体系结构概述
3.3.3 程序一次完整动作过程分析 ( 以同时测试两台手机为例 )
1. 启动应用程序 , 指定需要载入的模块 , 指定需要使用的界面 ,Loading…
2. 根据需要完成校准和终测的选项设置 , 准备就绪 …
3. 点击开始 , 调入校准 , 终测的实现过程 , 同时运行两个任务 ,( 两个任务执行的是同一个实现模块 ), 完成一次测试。
4. 根据设置完成对数据的处理要求 , 生成所需的数据库文件。
5. 给出必要的提示 , 指示结果 ,. 准备下一次操作。
程序一次完整动作过程 ( 图 )
3.3.4 重点难点分析
1.模块划分是不是合理 , 实现功能应放在哪一块来实现 , 是很重要的 , 也比较难 , 这会直接影响到调试过程的难易程度和可扩充性。
2.多线程 ( 多任务 ) 的真正引入 , 会给程序跟踪带来极大困难 , 所以在真正开始并行两部手机测试之前先要有可靠的模块支持 , 这会给实现周期带来不确定性。
3.影响程序移植的关键性因素是模块中的全局变量 , 特别是要两台手机并行测试时 , 在模块中绝对不允许有全局变量的存在来传递函数之间的数据 , 否则全局变量也将使两台手机的测试相互影响 , 从而不能使并行测试同时进行。
4.关于调试方面,因为生产线的程序经常的需要维护 , 所以在设计之初如何保证以后维护的方便性也是很重要的。
5.CVI 环境与 Visual c++ 环境各自生成的 DLL 模块的调用规则 ( 显式调用 ) 和调试问题 ,CVI 与 Visual C++ 的编译器兼容良好。
6.调试程序的方法方面可以从两个角度来 : 第一是从界面层的角度 , 可以直接跟踪到模块内部进行调试。 第二是从底层模块的角度 , 不关心上层界面的如何实现 , 直接调试模块本身 . 第二种方法对于模块维护时的调试是很适用的,并且可以避开 teststand 与 CVI 联合调试带来的不方便性。 |
|