黄玉斌,范朝元,钟志强,逯玉宏,唐先建
(重庆金美通信有限责任公司,重庆,400030)
在无线通信设备测试测量领域,需要用到各种通用和专用的功率测量仪器,功率测试测量仪器用于完成对各种无线通信设备发射机不同频点的发射功率测试。发射功率是表征射频信号特性的一个重要参数,随着移动通信技术的发展,对射频信号功率的精确测量已成为无线通信测量中的重要一环[1]。但是,在测试测量仪器作为功率测量仪器首先需要对自身的精度进行校准。传统的校准方法是通过信号源和测试仪器互联,采用人工手动进行校准,每次校准涉及数百甚至上千个频点,如果是批量生产,则需要校准的频点数目将不计其数。人工手动校准方法存在效率低、频点覆盖率不全、容易出错等问题。
为了解决上述问题,本文提出了一种基于Windows编程工具VC++设计的一款界面控制软件,通过远程自动控制KEYSIGHT信号发生器,实现了对功率测试仪的功率测量精度进行自动校准。极大的提高测量仪器自身的校准效率和准确性,该技术可以广泛应用于测试测量仪器的研发和批生产过程。
功率校准是指用信号源标定功率类测试测量仪表不同频点基准功率值的过程。功率校准连接图如图1所示。
图1 功率校准连接图
测试仪的射频功率检测模块由可编程衰减器[2],检波器[3],MCU[4]等组成。测试仪获取功率校准值的原理为:信号源输出某个幅度功率值,通过检波器输出的偏置电压为VTADJ;MCU通过AD采集偏值电压VTADJ,并且经过多次采样后取平均得到一个稳定的数值,这个值即为当前频点测试仪对应的功率校准值。
功率校准值是通过平滑差值计算的方法得到的。平滑差值常用的计算方法有二次曲线法和多点斜率法,其中多点斜率法采用了多条直线段来模拟曲线的线性度,比二次曲线有更好的线性度;同时又不需要复杂的算法去根据采样点生成二次曲线公式,所以采用了多点斜率法来计算功率校准值。如表1所示为测试仪校准得到部分频点功率校准值表。
表1 部分信号源标定值对应功率校正值表
获取所有频点功率校准值后,可得到一个功率校准值查找表,此时将图1中的信号源变为任意无线通信设备的发射机,MCU得到的采样值通过查找表并结合之前的数学线性关系进行转换计算,就可得到被测设备的射频输出功率。计算流程如图2所示。
图2 射频功率输出计算流程图
由于硬件的个体差异,单个测试仪设备获取的功率校准值不能通用,为保证每个测试仪的功率测试精度,每个测试仪在出厂之前都必须进行功率校准,如果是手动的方式完成的功率校准工作,工作量巨大,手动校准过程繁琐,并且由于重复操作次数数量巨大,这会大大增加操作过程出错的风险。
为缩短校准完成时间及避免操作错误风险,有必要在PC端设计一款自动功率校准软件,能够同时进行仪器控制和串口通信,用程序执行的方式代替人工手动校准过程。
自动功率校准控制软件编程工具选择了VC++,选择的版本为较新的VS2010,其类库和开发技术都比较完善。
VC++全称是Visual C++,是由微软提供的C++开发工具。VC++不仅是一个编译器更是一个集成开发环境,包括编辑器、调试器和编译器等,一般它包含在Visual Studio中。Visual Studio包含了VB、VC++、C#等编译环境。
软件的具体开发使用到的是VC++的MFC。MFC全称Microsoft Foundation Classes(微软基础类库),它是VC++的核心,是C++与Windows API的结合,很彻底的用C++封装了Windows SDK中的结构和功能,还提供了一个应用程序框架,此应用程序框架为软件开发者完成了一些例行化的工作,比如各种窗口、工具栏、菜单的生成和管理等,不需要开发者再去解决那些很复杂很乏味的难题,大大减少了软件开发者的工作量,提高了开发效率。
自动功率校准的首要任务是通过PC实现远程控制信号源。选择的信号源为KeySight公司的E8257D。
E8257D提供了4种接口:GPIB、LAN、RS232和USB,用户可选择其一进行仪器的远程控制操作。所有接口中LAN和USB比较常用,软件开发选择的LAN以太网口[5]。
以太网口远程控制信号源可选择的通信协议包括:VXI-11、Sockets LAN、TELNET、FTP及LXI。其中又以VXI-11和Sockets Lan最常用,软件开发选择的VXI-11。
VXI-11规范属于VXIbus规范集,定义了控制器和设备通过TCP/IP网络通信的网络仪器协议。VXI-11又称为TCP/IP协议,针对所有基于LAN的测试设备,几乎支持所有的KeySight仪器。
KeySight公司为用户提供了指令集SCPI对仪器进行远程操作。SCPI(可编程仪器标准命令)是架构在IEEE488.2上的新一代仪器控制语法,是一种基于ASCII的仪器编程语言。SCPI作为仪器程控命令,实现对仪器的控制,使得不同测试仪器的相同功能具有相同的命令形式。自动功率控制软件开发主要采用SCPI指令实现对信号源的具体操作[6]。
除实现远程控制仪器以外,控制软件另外一个主要功能是实现与测试仪的串口通信,通过串口设置测试仪射频模块相关参数,并获取MCU计算得到的参数对应功率校正值。
需要MFC设计实现的几个主要串口通信功能包括:
(1)初始化界面:自动获取全部可用串口。
(2)打开串口:读取串口号,初始化波特率、校验位、数据位等串口参数(如果串口已打开则关闭)。
(3)发送数据:更新控件状态,进入串口事件驱动函数,读缓冲区并完成数据转换。
(4)退出界面(串口若开启,则关闭串口后退出)。
为实现测试仪自动功率校准搭建的硬件连接环境如图3所示。
图3 自动功率校正硬件实现环境
自动功率校准的核心是通过有序的设置信号源和测试仪,获取测试仪所有频点的所有电平的功率校准反馈值,保存在测试仪内部存储器中,用于测试仪的功率测试功能。具体流程如图4所示。
图4 自动功率校正流程图
从流程图可以看到,要获取所有的功率校准值,就需要对信号源及串口操作2000多次,纯人工操作的话工作量相当巨大,而采用图5所示的自动功率校正控制软件,只需要调试人员点击几个按钮,所有的流程工作即可完成。
图5 自动功率校正界面控制软件
将自动功率校准软件完成功率校准的测试仪设备用于实际测试,测试了某无线设备的发射功率,将测试仪测得结果与标准功率计测得结果比较,差值在±0.5dBm以内,符合预期,与手动校准的设备性能一致。之前完成一次手动功率校准的时间大概需要1天时间,而自动功率校准完成的时间大概在10分钟左右,并且可以随时重复校准。
测试仪在出厂应用之前必须进行功率校准,考虑到手动功率校准工作量巨大,耗时耗力,所以有必要实现测试仪的自动功率校准。通过采用自动功率校准界面控制软件,成功实现了自动功率校准。实践结果表明,本设计技术极大的提高测量仪器自身的校准效率和准确性,可以广泛应用于测试测量仪器的研发和批生产过程。