1、112|电子制作2023 年 7 月科技论坛NiosII 在外测高功放系统中的应用与开发干洁1,石雅文2,周欢欢2(1.中国电子科技集团公司第二十七研究所(河南方达空间信息技术有限公司),河南郑州,450005;2.63767部队,陕西西安,710043)摘要:本文给出了一种基于NiosII软核处理器对外弹道测量高功放系统监视控制的设计方法,实现对功放设备的工作参数实时监测、状态控制、功率设置等功能,最终获得稳定可靠的输出功率,达到系统对信号源头的可靠性要求。在多个系统工程的实际应用中,成功地验证了本设计方法的正确性。关键词:NiosII;高功放;SOPC0 引言近年来,随着航天测控、卫星应用
2、、广播通信技术向深空的不断探索,作为微波宽带高功放技术也迎来了新的发展。由于功放设备的接口类型多样、控制过程复杂、对控制电路的电磁兼容性和控保实时性要求较高,因此对高功放系统的监控设计显得尤为重要。Altera 公司的 NiosII 软核是一种颠覆传统的嵌入式系统设计理念,它采用 SOPC 硬件和软件相结合的整体解决方案,使得嵌入式系统的硬件电路变得更加简单、高效,更容易理解;软件设计变得更加轻松,更容易实现移植。其最大的优点是兼具 FPGA 内在并行优势及 SOPC 的双重特点,既具备 FPGA 灵活,可裁剪,可扩充,可升级的特点,还可以根据个人的需求对 Nios 的外围设备进行灵活修改,使
3、得硬件利用率最大化。此外,还可将硬件特性添加到产品生命周期中的任何一个阶段,而不需要对电路板进行重新设计,从而可适应多变的需求,缩短开发时间。1 NiosII 的介绍NiosII 系列处理器为 Altera 公司发布的基于嵌入式处理器的第二代 FPGA,其性能高达 200DMIP 以上,可满足各类嵌入式系统的需求。NiosII 处理器核拥有全 32 位指令集、32 位指令/数据线、32 个通用寄存器、32 个优先级不同的外部中断源、2Gbyte 的寻址空间以及 256 个用户定义的 CPU 指 令。此 外,Altera 为 NiosII 提供了完备的开发环境和丰富的 IP 核资源,为 Nios
4、II 开发奠定了基础。SOPCBuilder硬件开发环境和 NiosII 集成开发环境是NiosII 系列嵌入式芯片最基础的软件开发平台,能够对用户的设计进行快速的验证,提升了开发效率。在 QuartusII 中,集成的 SOPCBuilder 开发组件在配置生成片上系统后,可以根据需要选择库中 IP 模块、存储器、外围接口和处理器等,最终实现对 SOPC 的高度集成化。2 高功放系统的工作原理高功放系统在开环工作状态下,小信号由图 1 所示中的小信号输入端进入前驱放大器输入端,放大后的信号通过多级末放单元合成后输出至天线。NiosII 数字处理板根据控制计算机的设置功率采用数控粗调与压控细调
5、相结合的方法,实现对输出功率 0.1dB 步进精细调整,大于 30dB 的大步进调整满足最终的实际输出功率。由于微波器件在实际工作状态下会受到环境温度和高低压电源波动的影响,实际输出功率与设置功率会出现较大的偏差,因此在高功放系统设计中引入功率电平自动控制 ALC,对输出功率进行闭环动态自我调整,可以有效减小输出功率的波动,从而改善输出功率的稳定性。NiosII 数字处理板还通过采集检测功放各级单元模块的工作状态等相关数据实现整机的全方位控保功能,比如反射过大保护,过温保护,过流保护以及模块故障保护等,根据不同的故障等级采用不同的控制措施,如提示故障状态、发出声音报警或及时快速关闭射频开关等,
6、保护功放设备免受损坏。电路设计方面,采用高集成多层板设计,信号接地、图 1高功放系统的工作原理图wwwele169com|113科技论坛电源接地尽量分离,为避免引入不必要的干扰,尽量采用差分或平衡接口电路来进行信号的传输。3 NiosII 的设计实现 3.1 硬件及外设的构成根据设计需求 NiosII 数字处理板主要由 FPGA 的 NiosII处理器及一系列外设组成。整个硬件系统通过 FPGA 实现了NiosIICPU、片内外设、片内存储器、片外外设之间的接口,因为 FPGA 具有可编程性,所以 NiosII 处理器可以按照设计需要定制其功能,从而符合性能和成本的要求;NiosII 系统中剩
7、余资源也可以用来实现其他功能的系统,添加一些有用的外围设备。其硬件原理图如图 2 所示。本 设 计 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 口供电电压,PTH0
8、3000W 将 3.3V输入电压变换为 1.2V,LT1963-2.5 将 3.3V 变为 2.5V 作为FPGAI/O 内核供电电压。系统输入时钟为 50MHz 晶振输入,可通过Nios中锁相环倍频技术将其提升至100MHz来运行。外部存储器 FLASH 选用的是 EPCS16SI8N,它是 Altera 的串行配置器件系列之一,具有存储数据和专用程序的双重功能。它不仅具有 ISP 和 flash 存储器访问接口等先进特性,还采用了 SOIC 封装,为 FPGA 的设计实现了低成本,微型化的解决方案。SDRAM 同 步 动 态 随 机 存 储 器 运 行 时 钟 频 率 可 以在 100MH
9、z 以上,它的应用范围主要是在程序的运行空间、大数据存储等方面,它是由多个逻辑 BANK 构成,每 一 个 BANK 都 有 多 个 存 储 单 元,根 据 BANK 地址 以 及 行、列 地 址 来 定 位 一 个 存 储 单 元,本 设 计 中采 用 的 一 款 MT48LC4M16A2TG 芯 片,存 储 容 量 为1M*16bit*4Bank(64MB),行 地 址 12 位,列 地 址 8 位(行 列 地 址 复 用),一 个 BANK:212 行*28 列=4096*256=1048576。外 围 设 备 的 I/O 电 路 选 用 了SN74ALC164245 与 5V 外设接口
10、,选通端由 Nios 根据设计需要配置为输入或输出接口。网络通信接口电路则采用了一款应用于高性能嵌入式领域的芯片 W5300,与 WIZnet 之前的芯片方案相比较,其内存空间和数据处理能力都有了很大的提升,芯片内部集成了 TCP/IP 协议和 10/100M 的以太网 MAC 和 PHY,可以十分简单快速地实现 Internet 连接,W5300 与 Nios 通过 Avalon 总线系统对其寄存器进行配置,类似访问 SDRAM 存储器,从而完成上电初始化、通用寄存器配置和 socket 寄存器配置过程,并可通过访问每个端口的 TX/RXFIFO 寄存器来获取网络通信数据。图 2NiosII
11、 数字处理板的硬件原理图本设计包括的硬件资源有:1 个 44 键盘接口;1 个 240128 点阵液晶显示模块接口,1 个 24064点阵液晶显示模块接口,1 个 12864OLED 液晶显示模块接口,三个接口分时使用;8 个通道(带运算放大器)的 12 位 AD 转换单元,其中 3 个通道分别接 3 个 8 选 1 开关可扩展为 24 个通道;2 路(带运算放大器)的 12 位 DA;2 个 RS232 接口;6 个 RS422 接 口,其 中 2 个 接 口 可 由 开 关 配 置 为RS485 接口;1个百兆以太网接口(RJ45),具备6个网络状态指示灯;1 个标准 JTAG 调试下载口
12、;12 路 TTL 电平 RS422 电平转换接口;12 路 RS422 电平 TTL 电平转换接口;48个5VTTL接口,输入输出可程序配置(可兼容I2C接口);7 个达林顿驱动接口;1 个有源蜂鸣器。3.2 构建 SOPC 系统在 NiosII 的 SOPCBuilder 硬件开发环境中,Nios 核设计是与传统硬件设计区别最大的,它可以自由地构建自己所需的 CPU 及外设接口如图 3 所示,首先通过 SOPCBuilder114|电子制作2023 年 7 月科技论坛添加 CPU 核,根据设计需要选择合适的 CPU 结构,增加Avalon 三态桥组件与 CPU 接口相连,再添加其他接口和存
13、储器,最后分配系统地址,生成系统即可。在核设计中既可以利用 Altera 公司提供的众多开放的 IP 核资源,也可以利用第三方的 IP 核来加速开发外设,这些 IP 核可以包括处理器、SDRAM、Flash、UART、各种 I/O 等,如果没有现成外设控制器,也可以自行编写设计 IP 核进行仿真验证后封装为硬件逻辑,本设计中的键盘控制接口,风机转速测量接口均采用 HDL 源码构建,无需外部接口电路从而节约了硬件成本。图 3SOPC 中的 IP 模块及接口电路 3.3 集成 NiosII 到 QuartusII 工程中在 SOPC 硬件系统配置完毕之后,创建并生成一个新的 SOPC 系统,得到用
14、于 QuartusII 编译的 HDL 源文件及顶层原理图模块,可以将这些模块当作一个元件来调用。之后,在 QuartusII 工具栏中展开整体引脚分配,并成功地对硬件系统进行编译,编译器通过一系列的逻辑优化组合、布线及时序分析等操作,会生成一个或多个硬件系统的配置文件,再利用 USB-Blaster 电缆将配置数据下载到 FPGA 中,测试完成后的配置文件下载至板上非易失存储器中保存,从而完成 NiosII 系统硬件设计工作,系统原理图如图 4 所示。图 4NiosII 系统原理图 3.4 SOPC 系统的软件开发NiosIIIDE 是一款 Altera 公司推出的集成开发环境,目前已被各大
15、嵌入式工具提供商所选用。该软件以开放式和可扩展的 Eclipse 平台为基础,将通用用户界面和顶级开放的特性有机地融合在一起,可轻松地与第三方工具无缝整合。在 NiosIIIDE 环境中,可以实现全部的软件开发工作,其中包含对程序的编辑,编译及调试。对高功放系统的软件需求进行分析以后,对高功放系统的软件进行了模块化设计,明确划分了六个软件单元:(1)程序主函数单元:首先要进行初始化,包括全局变量,网络模式寄存器,上电初始值配置及显示,打开外部中断,循环调用设备状态采集函数。(2)设备状态采集单元:由主函数循环调用,每循环一次对设备的工作状态采集一次,如果设备工作状态发生变化时给予显示更新处理。
16、(3)控制单元:控制单元的输入命令来源有两路,一路来自键盘输入,另一路来自上位机输入,如果命令正确并且监控模式在对应的方式下,执行命令对设备进行相应的控制或参数的设置,执行成功或条件不满足均结束此流程。其中的 ALC 功率调整程序流程图如图 5 所示。闭环控制系统在每次设置功率后,将事先校准的设置功率换算电压作为控制基准电压与输出功率耦合后反馈的检波电压反复比较,不断细调压控电压,使输出功率逐步趋近并持续稳定在设置功率上。图 5ALC 功率调整程序流程图wwwele169com|115科技论坛Ps:设置功率(W);FIX:功率耦合器固有衰减(dB);VPin:基准输出功率检波电压(mV);VPout:实际输出功率检波电压(mV);V:DA 输出压控调整电压(mV);Vbase:压控调整最小步进电压(mV);n:电压调整次数(Vbase,n 根据实际联调情况确定)。(4)参数显示单元:主要完成液晶显示模块的初始化清屏对坐标位置显示参数等功能。(5)键盘处理单元:接收面板小键盘的输入,包括控制命令参数设置光标移动翻屏等操作命令;当任一按键动作产生时,软件采用外部中断方式来获取,对输入的命令