APP下载

NiosII在外测高功放系统中的应用与开发

2023-08-23干洁石雅文周欢欢

电子制作 2023年14期
关键词:外设输出功率嵌入式

干洁,石雅文 ,周欢欢

(1.中国电子科技集团公司第二十七研究所(河南方达空间信息技术有限公司),河南郑州,450005;2.63767部队,陕西西安,710043)

0 引言

近年来,随着航天测控、卫星应用、广播通信技术向深空的不断探索,作为微波宽带高功放技术也迎来了新的发展。由于功放设备的接口类型多样、控制过程复杂、对控制电路的电磁兼容性和控保实时性要求较高,因此对高功放系统的监控设计显得尤为重要。

Altera公司的NiosII软核是一种颠覆传统的嵌入式系统设计理念,它采用SOPC硬件和软件相结合的整体解决方案,使得嵌入式系统的硬件电路变得更加简单、高效,更容易理解;软件设计变得更加轻松,更容易实现移植。其最大的优点是兼具FPGA内在并行优势及SOPC的双重特点,既具备FPGA灵活,可裁剪,可扩充,可升级的特点,还可以根据个人的需求对Nios的外围设备进行灵活修改,使得硬件利用率最大化。此外,还可将硬件特性添加到产品生命周期中的任何一个阶段,而不需要对电路板进行重新设计,从而可适应多变的需求,缩短开发时间。

1 NiosII的介绍

NiosII系列处理器为Altera公司发布的基于嵌入式处理器的第二代FPGA,其性能高达200DMIP以上,可满足各类嵌入式系统的需求。NiosII处理器核拥有全32位指令集、32位指令/数据线、32个通用寄存器、32个优先级不同的外部中断源、2Gbyte的寻址空间以及256个用户定义的CPU指令。此外,Altera为NiosII提供了完备的开发环境和丰富的IP核资源,为NiosII开发奠定了基础。SOPCBuilder硬件开发环境和NiosII集成开发环境是NiosII系列嵌入式芯片最基础的软件开发平台,能够对用户的设计进行快速的验证,提升了开发效率。在QuartusII中,集成的SOPCBuilder开发组件在配置生成片上系统后,可以根据需要选择库中IP模块、存储器、外围接口和处理器等,最终实现对SOPC的高度集成化。

2 高功放系统的工作原理

高功放系统在开环工作状态下,小信号由图1所示中的小信号输入端进入前驱放大器输入端,放大后的信号通过多级末放单元合成后输出至天线。NiosII数字处理板根据控制计算机的设置功率采用数控粗调与压控细调相结合的方法,实现对输出功率0.1dB步进精细调整,大于30dB的大步进调整满足最终的实际输出功率。由于微波器件在实际工作状态下会受到环境温度和高低压电源波动的影响,实际输出功率与设置功率会出现较大的偏差,因此在高功放系统设计中引入功率电平自动控制ALC,对输出功率进行闭环动态自我调整,可以有效减小输出功率的波动,从而改善输出功率的稳定性。

图1 高功放系统的工作原理图

NiosII数字处理板还通过采集检测功放各级单元模块的工作状态等相关数据实现整机的全方位控保功能,比如反射过大保护,过温保护,过流保护以及模块故障保护等,根据不同的故障等级采用不同的控制措施,如提示故障状态、发出声音报警或及时快速关闭射频开关等,保护功放设备免受损坏。电路设计方面,采用高集成多层板设计,信号接地、电源接地尽量分离,为避免引入不必要的干扰,尽量采用差分或平衡接口电路来进行信号的传输。

3 NiosII的设计实现

■3.1 硬件及外设的构成

根据设计需求NiosII数字处理板主要由FPGA的NiosII处理器及一系列外设组成。整个硬件系统通过FPGA实现了NiosIICPU、片内外设、片内存储器、片外外设之间的接口,因为FPGA具有可编程性,所以NiosII处理器可以按照设计需要定制其功能,从而符合性能和成本的要求;NiosII系统中剩余资源也可以用来实现其他功能的系统,添加一些有用的外围设备。其硬件原理图如图2所示。

图2 NiosII数字处理板的硬件原理图

本设计FPGA采用的是CycloneIIIEP3C16,它在65nm低功耗工艺下制造,在逻辑容量、PLL、乘法器以及I/O数目等方面都有了较大的提升,并且延续了Cyclone系列的低成本定位。系统电源部分是由5V和12V外部电源输入,经电压转换电路将其转换为3.3、2.5V、1.2V以满足不同部分的电压需求,其中,12V作为DA输出供电电压,DC-DC稳压电源模块PTH05000W将5V输入电压变换为3.3V作为FPGAI/O口供电电压,PTH03000W将3.3V输入电压变换为1.2V,LT1963-2.5将3.3V变为2.5V作为FPGAI/O内核供电电压。系统输入时钟为50MHz晶振输入,可通过Nios中锁相环倍频技术将其提升至100MHz来运行。外部存储器FLASH选用的是EPCS16SI8N,它是Altera的串行配置器件系列之一,具有存储数据和专用程序的双重功能。它不仅具有ISP和flash存储器访问接口等先进特性,还采用了SOIC封装,为FPGA的设计实现了低成本,微型化的解决方案。

SDRAM同步动态随机存储器运行时钟频率可以在100MHz以上,它的应用范围主要是在程序的运行空间、大数据存储等方面,它是由多个逻辑BANK构成,每一个BANK都有多个存储单元,根据BANK地址以及行、列地址来定位一个存储单元,本设计中采用的一款MT48LC4M16A2TG芯片,存储容量为1M*16bit*4Bank(64MB),行地址12位,列地址8位(行列地址复用),一个BANK:2^12行*2^8列=4096*256=1048576。外围设备的I/O电路选用了SN74ALC164245与5V外设接口,选通端由Nios根据设计需要配置为输入或输出接口。网络通信接口电路则采用了一款应用于高性能嵌入式领域的芯片W5300,与WIZnet之前的芯片方案相比较,其内存空间和数据处理能力都有了很大的提升,芯片内部集成了TCP/IP协议和10/100M的以太网MAC和PHY,可以十分简单快速地实现Internet连接,W5300与Nios通过Avalon总线系统对其寄存器进行配置,类似访问SDRAM存储器,从而完成上电初始化、通用寄存器配置和socket寄存器配置过程,并可通过访问每个端口的TX/RX FIFO寄存器来获取网络通信数据。

本设计包括的硬件资源有:

1个4×4键盘接口;

1个240×128点阵液晶显示模块接口,1个240×64点阵液晶显示模块接口,1个128×64OLED液晶显示模块接口,三个接口分时使用;

8个通道(带运算放大器)的12位AD转换单元,其中3个通道分别接3个8选1开关可扩展为24个通道;

2路(带运算放大器)的12位DA;

2个RS232接口;

6个RS422接口,其中2个接口可由开关配置为RS485接口;

1个百兆以太网接口(RJ45),具备6个网络状态指示灯;

1个标准JTAG调试下载口;

12路TTL电平->RS422电平转换接口;

12路RS422电平->TTL电平转换接口;

48个5VTTL接口,输入输出可程序配置(可兼容I2C接口);

7个达林顿驱动接口;

1个有源蜂鸣器。

■3.2 构建SOPC系统

在NiosII的SOPCBuilder硬件开发环境中,Nios核设计是与传统硬件设计区别最大的,它可以自由地构建自己所需的CPU及外设接口如图3所示,首先通过SOPCBuilder添加CPU核,根据设计需要选择合适的CPU结构,增加Avalon三态桥组件与CPU接口相连,再添加其他接口和存储器,最后分配系统地址,生成系统即可。在核设计中既可以利用Altera公司提供的众多开放的IP核资源,也可以利用第三方的IP核来加速开发外设,这些IP核可以包括处理器、SDRAM、Flash、UART、各种I/O等,如果没有现成外设控制器,也可以自行编写设计IP核进行仿真验证后封装为硬件逻辑,本设计中的键盘控制接口,风机转速测量接口均采用HDL源码构建,无需外部接口电路从而节约了硬件成本。

图3 SOPC中的IP模块及接口电路

■3.3 集成NiosII到QuartusII工程中

在SOPC硬件系统配置完毕之后,创建并生成一个新的SOPC系统,得到用于QuartusII编译的HDL源文件及顶层原理图模块,可以将这些模块当作一个元件来调用。之后,在QuartusII工具栏中展开整体引脚分配,并成功地对硬件系统进行编译,编译器通过一系列的逻辑优化组合、布线及时序分析等操作,会生成一个或多个硬件系统的配置文件,再利用USB-Blaster电缆将配置数据下载到FPGA中,测试完成后的配置文件下载至板上非易失存储器中保存,从而完成NiosII系统硬件设计工作,系统原理图如图4所示。

■3.4 SOPC系统的软件开发

NiosII IDE是一款Altera公司推出的集成开发环境,目前已被各大嵌入式工具提供商所选用。该软件以开放式和可扩展的Eclipse平台为基础,将通用用户界面和顶级开放的特性有机地融合在一起,可轻松地与第三方工具无缝整合。在NiosII IDE环境中,可以实现全部的软件开发工作,其中包含对程序的编辑,编译及调试。

对高功放系统的软件需求进行分析以后,对高功放系统的软件进行了模块化设计,明确划分了六个软件单元:

(1) 程序主函数单元:首先要进行初始化,包括全局变量,网络模式寄存器,上电初始值配置及显示,打开外部中断,循环调用设备状态采集函数。

(2) 设备状态采集单元:由主函数循环调用,每循环一次对设备的工作状态采集一次,如果设备工作状态发生变化时给予显示更新处理。

(3) 控制单元:控制单元的输入命令来源有两路,一路来自键盘输入,另一路来自上位机输入,如果命令正确并且监控模式在对应的方式下,执行命令对设备进行相应的控制或参数的设置,执行成功或条件不满足均结束此流程。其中的ALC功率调整程序流程图如图5所示。闭环控制系统在每次设置功率后,将事先校准的设置功率换算电压作为控制基准电压与输出功率耦合后反馈的检波电压反复比较,不断细调压控电压,使输出功率逐步趋近并持续稳定在设置功率上。

图5 ALC功率调整程序流程图

Ps:设置功率(W);

FIX:功率耦合器固有衰减(dB);

VPin:基准输出功率检波电压(mV);

VPout:实际输出功率检波电压(mV);

V:DA输出压控调整电压(mV);

Vbase:压控调整最小步进电压(mV);

n:电压调整次数(Vbase,n根据实际联调情况确定)。

(4) 参数显示单元:主要完成液晶显示模块的初始化、清屏、对坐标位置显示参数等功能。

(5) 键盘处理单元:接收面板小键盘的输入,包括控制命令、参数设置、光标移动、翻屏等操作命令;当任一按键动作产生时,软件采用外部中断方式来获取,对输入的命令均进行参数合法性检查,执行正确的命令及参数。

(6) 网络通信处理单元:具备与上位机软件的网络通信功能,接收命令类型有两种:一种是查询命令,当接收到此命令时,向上位机上报当前的设备工作状态;另一种命令是参数控制命令,当接收到此命令时,按照正确的参数格式要求对设备进行相应的参数配置和状态控制,无论是否控制成功都要按约定格式给予上位机对应的响应。

将编写好的模块经编译器进行编译,生成目标文件,通过IDE软件将程序烧写到FPGA硬件中,最终完成设计。

4 结语

本文提供的设计方法可以兼容多种常用硬件接口,具有高度通用性,只需要对部分软件进行修改,就能够适用于大部分嵌入式应用场景,节约了开发成本,对同类型产品设计具有一定的参考价值。该设计已在本单位评审通过纳入共用模块管理,它不仅在高功放系统上得到广泛应用,还在S/X/KA频段跟踪接收机、导频接收机等多个工程项目中使用,经过现场常年使用验证,其性能稳定可靠,效果优秀。

猜你喜欢

外设输出功率嵌入式
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
适用于智能电网的任意波形输出功率源
基于双层BP神经网络的光伏电站输出功率预测
Altera加入嵌入式视觉联盟
分布式发电系统并网逆变器输出功率的自适应控制
倍福 CX8091嵌入式控制器
Microchip推出具备双ADC外设的全新器件,扩展其低成本8位PIC®单片机产品线
大全集团对其光伏组件产品提供25年输出功率线性质保服务
外设天地行情