中国电子科技集团公司第十三研究所 潘海波
伴随着时代的进步和科技的发展,微波功放已经从单独的微波性能需求逐渐向包含对数字信息需求的方向发展。相对于过去的微波功放产品,近年来微波功放大部分都包括外部通信、衰减、移相、输出功率档位切换、工作状态实时采集等需求,单片机也越来越多的应用于微波功放。鉴于各个微波功放的微波性能并非完全一致,这就导致单片机中软件的个别参数并非完全一致,随着同型号微波功放样需求数量的增多,势必导致软件数量增多,不利于软件管理。因此,如果将不一致的参数可以通过外部通信接口进行设置修改,很大程度上便利了微波功放的调试和软件的管理。现以RS232 串口修改微波功放内部参数为例进行说明。
微波功放需要进行修改的参数通常为输出功率拟合公式系数、电压拟合公式系数、电流拟合公式系数、电压告警门限、电流告警门限、温度告警门限,具体信息如表1所示。微波功放内部控制器使用单片机C8051F500,微波功放与控制端连接使用RS232 串口,如图1 所示。控制端通过上位机界面发送参数修改指令,微波功放内部的C8051F121 判断指令格式是否正确,如果指令格式正确则进行指令解析,根据解析结果执行响应的参数修改,修改完成后进行数据更新,然后向控制端回报修改结果,整个修改流程结束,具体流程如图2 所示。
图1 微波功放与控制端连接方式Fig.1 Connection mode of microwave power amplifier and control terminal
图2 参数设置流程Fig.2 Parameter setting process
微波功放使用Silicon 公司的51 单片机C8051F500,该单片机是一个高集成、低功耗的八位嵌入式微处理器,CIP-51 内核与MCS-51TM 指令集完全兼容,50MHz 时钟频率下的峰值处理速度可达50MIPS,支持18 个中断源,中断类型包括查询和触发两种方式。除CIP-51 内核外,器件还集成了丰富的模拟和数字资源,包括4K字节的数据存储器,CAN、LIN、SMBus、UART、SPI串行接口,4 个定时器,6 个可编程计数器阵列通道,内部稳压器,32 通道的12 位ADC,内部电压基准和温度传感器,2 个电压比较器以及C2 调试端口。此外,内部高精度振荡器可产生24MHz 内部时钟频率,通过内部时钟乘法器可产生最高50MHz 的时钟频率。
本次设计使用单片机C8051F500 的内部24MHz 时钟,串口通信速率为9600bps,1 位停止位,8 位数据位,无奇偶校验位。微波功放需要配置的参数共6 种9 个参数,具体信息如表1 所示。C8051F500 单片机与控制端之间的通信协议帧如表2 所示。
表2 单片机与控制端之间的通信协议格式Tab.2 Communication protocol format between MCU and control terminal
C8051F500 接收到正确格式指令后进行指令分类,然后对单片机自带Flash 中存储参数位置的数据进行擦除、写入和读取,最后更新参数数据。各个参数在C8051F 内部Flash 存储位置如下:
(1)电压参数存储起始位置为0x1a00,占用6 字节;
(2)电流参数存储起始位置为0x1a06,占用6 个节;
(3)输出功率参数存储起始位置为0x1a10,占用6字节;
(4)高温告警门限参数存储起始位置为0x1a0C,占用1 字节;
(5)过压告警门限参数存储起始位置为0x1a0D,占用1 字节;
(6)欠压告警门限参数存储起始位置为0x1a0E,占用1 字节;
(7)过流告警门限参数存储起始位置为0x1a0F,占用1 字节;
C8051F500 软件程序中涉及到的主要函数如下:
(1)指令分类相关函数
(2)对Flash 更改相关函数
(3)更新参数数据函数
控制端上位机界面利用C#语言编写,控制端上位机界面如图3 所示,上位机界面共分为参数设置、参数查询、数据三个区域。参数设置区域用于进行功率参数、电压参数、电流参数、告警门限数值修改,参数查询用于显示当前参数数值,数据部分用于显示发送、接收到的数据内容和数据帧数。
图3 上位机参数设置界面Fig.3 Upper computer parameter setting interface
通过该种方式设置修改微波功放的内部参数,更适用于需生产数量较多的微波功放,这样不仅避免了微波功放之间因内部参数不一致产生多个软件程序的问题,同时也可以缩减产品的调试时间。经过使用之后发现,日后还可以增加微波功放软件程序更新等更多功能,后续将继续进行改进。