引言:随着设计复杂性的增加,基于文本规范的传统开发模式已无法满足SDR硬件和软件的可移植性要求。本文讨论的采用“基于模型的设计”思想的设计新方法,可解决这些挑战并充分发挥SDR的潜能。
尽管软件无线电(SDR)的指导原则是“开发一次,随处运行”,但是每当硬件发生变化时,所有开发经常要重新开始。业界已经认识到,基于文本规范的传统开发模式已无法满足SDR硬件和软件的可移植性要求。这种认识促使下一代通信无线电的一个新设计方法的产生。该方法基于更高层次抽象描述,采用“基于模型的设计”思想,其核心为基于“与实现无关的模型(IIM)”和“特定实现的模型(ISM)”的可操作性规范。联合战术无线电系统(JTRS)的联合项目办公室(JPO)已经提出这些可操作规范的使用指导方针,以便能充分发挥SDR的潜能。
SDR所提供的无线电可被动态地编程,以支持不同的波形标准、提供新特性、改善系统性能,以及支持新的业务。目前SDR发展的推动者主要是美国军方,他们希望在SDR上实现基础的JTRS(下一代通信系统)。SDR将让士兵能在各种通信系统上进行通讯,并仅需通过增加软件就可模仿任何无线电的功能。与此同时,一个开放和可互操作的框架,特别是由软件通信架构(SCA)定义的框架,可显著减少设计、部署和维护将来无线电的费用。从目前来看,由于SDR的低成本优势,许多商用无线设备厂商也逐步开始采纳SDR架构。
作为JTRS项目的一个重要分支,SCA提供了一个定义在各种软、硬件之间如何实现互操作性的开放架构框架。SCA还提出一个被设计用来提供不同波形(与GSM和 802.11等标准类似)之间互操作性的核心框架(CF),这些波形作为软件应用用在商业用途中,可被下载到任何支持SCA规范的无线电设备上。
开发复杂度增加
几乎每次通信技术的重大进步都会给软件和硬件设计工程师带来巨大挑战,SDR也不例外。领先的武器承包商、电子元件供应商以及系统集成商目前都在开发下一代SDR,并承诺新的SDR将使无线通信改头换面,各种无线设备将可以相互操作,新功能的添加也将可通过软件下载来实现。
通过运行在更灵活的硬件上的软件程序来实现无线系统与任何波形之间的通信,将是一个很大的设计挑战。在当今的军用或商用无线平台中,硬件都是针对波形进行优化,特别是射频部分更是针对无线电所工作的狭窄频段进行优化。从专用设计转向通用设计必然会对系统的实时性能、电源消耗和尺寸大小等方面带来不利影响。
传统设计方法的缺点
到目前为止,大多数SDR设计工程师一直使用传统的设计方法:将系统架构师定义的规范细化为文档,用这些文档指导专注于信号处理或射频工程领域的项目团队,然后由这些团队定义硬件、设计电路、编写软件、运行仿真、测试并生成大量数据,这些数据被用来验证最终实现结果是否满足规范要求。
这种方法的一个重要问题是,许多错误常常要在原型阶段上所有模块可以一起测试的时候才能被检测出来。如果产品原型不满足规范,设计工程师必须确定问题是出自于系统需求、仿真模型、接口,还是目标处理器。因为解决问题的成本随着设计规模的增大而不断增加,所以目标处理器出现问题将快速增加开发成本。
波形可移植性的关键挑战
虽然这些挑战不易解决,但与多目标开发的要求相比,其难度则逊色多了。每一个主要的开发项目都必须考虑各种硬件选项,包括通用处理器(GPP)、DSP、FPGA,而且硬件的选择常常要到开发过程进入到一定阶段时才能确定下来。即使硬件已经选定,设计工程师也必须对硬件升级和外形因子改变有所准备,以便能完全改变开发方向,比如从DSP转换到FPGA。传统的开发方法与特定硬件架构相关联,因此为了实现一种新的硬件平台,必须从技术规范重新开始。
意识到传统设计方法的局限性,JTRS联合项目办公室提出了一种新的设计方法。在该方法中,波形规范在一个可执行的IIM(与硬件规范无关)以及一个或多个可执行的ISM(与硬件规范有关)中定义。这种方法有三个优点:首先,IIM和ISM是单个、明确、可执行的波形规范,可以在团队、部门和承包商之间共享;其次,它们提供了一个高层次的设计视角,以进行系统级的分析和折衷,并发现潜在的设计和实现错误;最后,它们可降低将波形从一个无线电装置移植到另一个无线电装置的成本,而同时还支持性能分析、需求分析跟踪以及高性能波形设计。
IIM包含可用来定义、表征和验证波形行为的信息,波形行为可以被验证和跟踪是否满足波形需求文档中的要求。波形的信号流、控制流和联网方式可以利用波形子系统边界、子系统抖动、延时和定时要求、子系统处理要求以及信号端口采样次数等信息来定义。可执行的IIM提供一个测试台来验证波形功能模块或者系统是否满足系统要求,并验证它们的性能。
另一方面,ISM反映了预期实现被移植到特定无线电装置架构时的详情。该模型包含更多将处理元件分配到各种处理器资源的信息,这可让设计工程师详细了解此实现。它还包括目标处理器的执行时间、延迟时间、存储器和队列大小的模型,这允许波形设计工程师以及后续移植工作能在系统级层次上理解资源变化带来的影响,例如:吞吐量、抖动、延时、存储器消耗、DC功率和实时性能。
基于模型的设计使IIM 和ISM成为现实
经过验证的基于模型的设计技术包含了IIM 和ISM概念。不同于基于文本的方法(依赖于对不断改变的设计规范文件的解释),基于模型的设计以方框图可执行规范的创建为基础。可执行规范可以消除设计的不确定性,并实现整个组织和客户、承包商、供应商之间的通讯。利用基于模型的设计,算法工程师、RF设计工程师、软件和硬件设计工程师以及其它开发团队都可以进行合作,做出设计折衷以及评估方案,从而提高系统性能并降低成本。
该波形的可执行规范最初在高层次上定义的,它利用预建的元素和先进的算法,并包含了其它一些可编程语言,如C、C++、Fortran、MATLAB或 HDL代码。然后,执行这个规范以确定目前模型中的算法或元件所能提供的性能。通过在不同的状态、参数值和输入情况下执行系统行为级的仿真,设计工程师能很快识别、隔离并修复系统设计问题。通过增加、减少或者移动模块,或者改变参数并立即评估这些变化带来的影响,设计工程师可以很快地修改设计。
通过简单地改变参数,设计工程师能够评估从浮点模型(通常在设计的早期使用)到定点模型的影响。定点模型通常用在硬件实现阶段以减小系统的体积、内存和电源消耗。
在基于文本的方法中,不同元件的实现(无论是硬件还是软件)一般都是手工重新编码,这个过程不但费时,而且容易出错。基于模型的设计包含了IIM和ISM两种模型,前者由与硬件无关的功能模块组成,后者由针对特定硬件优化过的模块组成。随着开发流程从制定规范阶段发展到设计、实现并进入整体系统的验证和测试,模型的内容也越来越详细,但它在整个过程中始终是系统单一而明确的代表。
在保护设计知识产权的同时,这种模型可被用来自动生成许多硬件平台都能使用的代码,包括用于GPP的C代码、用于DSP的C代码和汇编代码,以及用于FPGA的HDL代码。自动代码的生成能为生成的代码提供编码标准,因为同样的构造可用在每一个实现中。这种方法可消除手工编码的错误,并限制仿真代码和实际嵌入式代码之间的潜在误差。由于代码可直接跟踪仿真,所以错误必然出现在接口或实时约束条件下的执行当中。因为这些模型是独立于嵌入式硬件而开发的,所以可以很方便将它移植到其它平台上,并在以后系统中复用。
在整个开发过程中,将测试功能集成到模型中可确保设计质量。每一种模型都有一组测试向量,并对每个发行版本都有测试结果的基线。不断验证和确认有助于较早发现问题,这样解决起来也更简单且花费更少。可在以后设计过程中使用系统架构师开发的系统级模型,以便结合实际的仿真或测试数据,从系统的角度对设计进行验证。
本文小结
在实现SDR所需的开发方法中,基于模型的设计是关键。它可以在不同的硬件、软件以及SCA核框架平台上支持自动代码生成和代码可移植性。通过建立可执行的规范、IIM和ISM模型,并维护原始波形规范的可跟踪性、确保在整个开发过程中不断验证,基于模型的设计方法可以使SDR的开发过程简化并更有效率。采用该方法设计和部署SDR比传统的方法更加简单、更加鲁棒,从而提高SDR系统的性能和可靠性,并降低设计成本。
作者:Alex Rodriguez
MathWorks公司