了解最新公司动态及行业资讯
吴碧霞,吴佳佳,徐 亮 (南京熊猫汉达科技有限公司,江苏 南京 210001)
摘要:为了满足用户在不同的卫星通信体制下的语音通信和数据传输需求,文章提出了一种基于软件 无线电(Software-Defined Radio,SDR)技术的卫星通信波形软件动态加载方法。 针对卫星通信终端设 备普遍存在硬件设计制作周期偏长、开发部署成本较高的现实特点,该方法能够在通用化的硬件平台 上,通过动态加载适配不同体制的卫星通信波形软件,灵活实现多种通信体制下的无线通信功能。 这 一设计不仅可以满足用户多样化的通信需求,还有效提升了卫星通信终端设备的功能灵活性与架构 可重构性,显著降低了终端硬件的研发成本,同时大幅缩短了设备从设计到落地的周期,为卫星通信 终端的高效开发与快速迭代提供了有力支撑。
关键词:软件无线电;动态加载;模式切换
0 引言
SDR 的核心理念是将传统硬件无线电中依赖专 用电路实现的信号处理功能迁移到软件层面来完成。 它能够借助软件编程的方式,灵活定义并动态改变无 线电设备的各项功能与技术特性,整个过程无须对硬 件结构进行任何改动。 作为新一代无线通信系统的 典型代表,SDR 凭借其高度的灵活性、架构的开放性 以及应用的通用性,正深刻重塑着无线通信技术的发 展格局[1-3] 。 基于软件无线电的通用硬件平台,若要 实现在不同卫星通信体制之间的通信功能切换,须对 可编程处理器的软件进行重新加载与配置[4-5] ,传统 的方法主要是通过 PC 机借助专用接口对现场可编程 门阵列(Field Programmable Gate Array,FPGA)等可编 程处理器进行软件加载和配置[6] ,但这种方式无法做 到脱机加载。
针对上述问题,本文提出了一种基于 SDR 的卫 星通信波形软件动态加载方法。 该方法将多个分别 适配不同通信体制下的 FPGA 卫星通信波形软件通 过在线烧写的方式分别存储在嵌入式硬件设备上的 多个存储器中;之后,根据用户在实际应用中的不同 使用需求,能够从相应的存储器中向 FPGA 芯片加载 对应的卫星通信波形软件,进而实现在不同卫星通信 体制下灵活切换的无线通信功能。 这种设计既保留 了软件无线电架构的开放性与灵活性,又通过硬件存 储资源的合理分配,解决了传统加载方式对外部设备 的依赖问题。
1 总体方案
本文提出的基于 SDR 的卫星通信波形软件动态加载方法嵌入式硬件原理如图 1 所示,上位机与数字 信号处理器(Digital Signal Processor,DSP) 通过控制 器局域网络(Controller Aera Network Interface,CAN) 接口相连,DSP 与 ARM(Advanced Risc Machines) 通 过串行通信接口(Serial Communication Interface,SCI) 相连,DSP 软件通过配置 2 个通用输入输出(GeneralPurpose Input / Output,GPIO)引脚的输出值来控制复 杂可 编 程 逻 辑 器 件 ( Complex Programmable Logic Device,CPLD)的逻辑电路:当 GPIO5 和 GPIO6 引脚 分别输出 0 和 1 时,CPLD 电路可将 DSP 与 Flash1 存 储器通过串行外设接口( Serial Peripheral Interface, SPI)相连接;当 GPIO5 和 GPIO6 引脚分别输出 1 和 0 时,CPLD 电路可将 DSP 与 Flash2 存储器通过 SPI 接 口相连接;当 GPIO5 和 GPIO6 引脚分别输出 0 和 0 时,CPLD 可将 FPGA 与 Flash1 存储器通过 SPI 接口 相连接;当 GPIO5 和 GPIO6 引脚分别输出 1 和 1 时, CPLD 可将 FPGA 与 Flash2 存储器通过 SPI 接口相 连接。
在基于 SDR 的嵌入式硬件模块上,若要实现卫 星通信波形软件的动态加载,须预先通过在线烧写 的方式,将适配不同通信体制的各 FPGA 卫星通信 波形软件分别写入模块内部对应的 Flash 存储器。 之后,再根据实际使用需求,通过模式切换机制从相 应的 Flash 存储器中,将卫星通信波形软件动态加载 至 FPGA 芯片内部运行。 通过这一过程,能够在同 一个嵌入式硬件模块上,仅仅通过加载不同的波形 软件,就能灵活实现不同通信体制下的卫星通信 功能。

2 工作流程
2. 1 在线烧写流程
在线烧写 FPGA 卫星通信波形软件的工作流程 如图 2 所示。 DSP 软件接收到上位机软件发送的程 序更新指令,须判断程序代码编号是否属于 FPGA 波 形软件程序(例如代码编号为 0xC1 表示适配卫星通 信体制 1 的 FPGA 波形软件,代码编号为 0xC2 表示 适配卫星通信体制 2 的 FPGA 波形软件)。 在收到开 始帧时,须保存 FPGA 波形软件的总校验值,再根据 FPGA 波形软件的代码编号配置 GPIO5 和 GPIO6 的 输出值来控制 CPLD 的电路逻辑,将 DSP 与 Flash1 或 Flash2 存储器通过 SPI 接口相连,接着通过扇区擦除 指令擦除选中的 Flash 存储器的扇区 0。 在收到中间 帧时,要判断当前的帧序号与上一帧帧序号是否连 续,不连续则终止此次在线烧写流程,帧序号连续则 继续后续流程。 每收到一帧数据,要计算接收到的数 据总字节数,确保已收到的数据总字节数小于 Flash 存储器已擦除的扇区的总字节数,然后再将收到的数 据写入 Flash 存储器,写入后再从刚写入的地址读出 数据,判断写入数据与读出数据是否一致,确保数据 写入的正确性。 在收到结束帧时,要判断所有写入 Flash 存储器中的数据累加和,与收到开始帧时保存 的总校验值是否一致,一致则表明 FPGA 波形软件的 在线烧写流程已完成,否则表明此次烧写失败。
2. 2 动态加载流程
动态加载 FPGA 卫星通信波形软件的工作流程如 图 3 所示,DSP 软件接收到 ARM 软件发送的模式切换 指令,判断当前正在运行的 FPGA 波形软件的模式与 待切换的 FPGA 波形软件的模式是否一致,若一致则 不需要切换;若不一致,DSP 软件先通过配置 GPIO5 和 GPIO6 的输出值切换 CPLD 逻辑电路,将 FPGA 芯片与 待读取数据的 Flash 存储器相连接,然后 DSP 软件再通 过配置 GPIO9 输出上升沿,FPGA 芯片检测到上升沿 就从相连接的 Flash 存储器中读取并加载波形软件数 据,从而完成 FPGA 波形软件的动态加载。
3 软件实现
3. 1 上位机软件
上位机软件运行在 PC 机内,它通过 CAN 接口与 DSP 软件进行交互, 可以将适配不同通信体制的 FPGA 波形软件的 bin 格式文件按照约定的帧格式进 行分包组帧,然后发送给 DSP 软件。 上位机软件与 DSP 软件交互的指令主要包括程序更新指令、程序加 载响应指令、程序加载结果指令、程序烧写结果指令。
3. 2 ARM 软件
ARM 软件与 DSP 软件通过 SCI 接口交互,嵌入 式硬件模块上电后,ARM 软件启动时会主动向 DSP 软件发送模式上报指令,DSP 软件根据接收到的模式 上报指令中的模式字段配置 GPIO 引脚输出值切换 CPLD 的逻辑电路,给 FPGA 芯片加载与当前模式匹 配的卫星通信波形软件。 在需要模式切换时,ARM 软件会向 DSP 软件发送模式切换指令,DSP 软件再 根据接收到的模式切换指令的模式字段配置 GPIO 引脚输出值切换 CPLD 的逻辑电路,将 FPGA 芯片与 匹配的 Flash 存储器相连,给 FPGA 芯片加载相应的 波形软件。
3. 3 DSP 软件
DSP 软件是实现本文提出的基于 SDR 的卫星通 信波形软件动态加载方法的流程控制的核心部分,它 可以通过配置 GPIO5 和 GPIO6 引脚的输出值切换 CPLD 的 4 种逻辑电路: 将 DSP 芯 片 与 Flash1 或 Flash2 存储器相连接,或将 FPGA 芯片与 Flash1 或 Flash2 存储器相连接。 DSP 软件通过与上位机软件、 ARM 软件、CPLD、Flash 存储器的相互协作,共同完成 FPGA 卫星通信波形软件的动态加载。 本文中提到 的 2 块 Flash 存储器芯片选用的都是 IS25LP256 芯 片,该芯片总存储容量有 32 MB,完全满足 FPGA 卫星 通信波形软件 bin 格式文件的存储需求。 DSP 软件 与 IS25LP256 芯片软件交互使用到的基本命令如表 1 所示,DSP 软件主要通过扇区擦除指令、写使能指令、 页编程指令、读数据指令等命令与 IS25LP256 芯片进波形软件的存储;再根据从 ARM 软件接收到的模式 切换指令,切换 CPLD 的逻辑电路,将 FPGA 芯片与 匹配的 Flash 存储器相连接;最后通过配置 GPIO9 引 脚输出上升沿,完成 FPGA 波形软件的动态加载。
4 结语
本文提出了一种基于 SDR 的卫星通信波形软件 动态加载方法,能够在不更换嵌入式硬件模块的前提 下,灵活满足用户在不同卫星通信体制下的语音通信 与数据传输需求。 从实际应用价值来看,它不仅丰富 了嵌入式硬件模块的功能多样性,还通过减少硬件迭 代频率大幅缩短了研发周期,同时有效降低了硬件研 发的总成本。 经过实际项目的验证,该方法具有良好 的可靠性与运行稳定性,是 SDR“以软件定义功能” 这一核心概念在卫星通信领域的具体落地实践,为卫 星通信终端的柔性化设计与高效化部署提供了可行 路径。
参考文献
[1]侯国帅,黎明,柴源,等. 基于软件无线电的通信 卫星柔 性 测 试 技 术 [ J ]. 航 天 器 工 程, 2024 ( 3 ): 129-134.
[2]张嵩. 基于 FPGA 与软件无线电架构的数字信道 化研究[D]. 成都:电子科技大学,2024.
[3]王赢. 基于软件无线电的通用调制器设计和实现 [J]. 无线互联科技,2022(4):12-14.
[4]赵飞. 一种基于 DSP+FPGA 架构的软件在线升级 实现[J]. 现代导航,2021(6):462-465.
[5]高艳鹍,刘华,刘朝晖. 基于 TMS320C6678 DSP + 天熠嵌入式操作系统的软件模块动态加载的研究与 实现[J]. 仪器仪表用户,2023(3):10-15,83.
[6]林志堂,林敏. 软件无线电中软件加载研究与实 现[J]. 桂林电子科技大学学报,2010(2):137-140.
Design and implementation of dynamic loading method for satellite communication waveform software based on SDR
Abstract; In order to meet users, needs for voice communication and data transmission under different satellite communication systems, this paper proposes a dynamic loading method for satellite communication waveform software based on software-defined radio technology. In view of the practical characteristics of satellite communication terminal equipment, such as relatively long hardware design and manufacturing cycles, high development and deployment costs, this method can flexibly realize wireless communication functions under various communication systems by dynamically loading satellite communication waveform software adapted to different systems on a generalized hardware platform. This design not only satisfies users, diverse communication needs but also effectively enhances the functional flexibility and architectural reconfigurability of satellite communication terminal equipment. It significantly reduces the research and development costs of terminal hardware, while greatly shortening the cycle from equipment design to implementation, thus providing strong support for the efficient development and rapid iteration of satellite communication terminals
Key words; SDR; dynamic loading; mode switching