专利名称:一种基于dsp核的物理层系统验证装置及方法
技术领域:
本发明涉及无线通信系统的验证技术,特别涉及基于DSP核的物理层系统验证装置及方法。
背景技术:
第三代移动通信及其演进技术LTE系统的空中接口,即UE和网络之间的接口,由物理层Li、数据链路层L2和网络层L3组成。物理层Ll是空中接口的最底层,支持比特流在物理介质上的传输。物理层Ll向高层提供数据传输服务,这些服务的接入是通过传输信道来实现的。物理层主要完成以下功能传输信道错误检测和上报;传输信道的FEC编译码;传输信道和编码组合传输信道的复用/解复用;编码组合传输信道到物理信道的映射;物理信道的调制/扩频和解调/解扩;频率和时钟同步;功率控制;RF处理和UE定位等。物理层Ll从数据链路层L2获取层间原语,并通过物理连接向对等实体发送或从对等实体接收数据和信令。物理层涉及大量复杂的运算过程,对实时性要求比较高,一般采用DSP软件和硬件加速器来实现。在芯片流片之前,如何提前进行更多的物理层系统软件代码的测试,特别是软件操作硬件的控制代码,以减少在芯片系统集成时错误的几率,缩短整个芯片系统的开发周期,一直是困扰软件和系统开发人员的主要问题。针对软硬件的系统级协同验证,业界常采用的方式为FPGA原型验证。FPGA原型验证的特点是运行速度快,可以达到很高的时序准确度,但是相对的开发成本也增加很多,而且FPGA内的信号线的可观察性也很低,我们只能利用逻辑分析仪观察到I/O脚的信号变化,所以一旦出现问题,很难及时进行定位,且其测试现场很难进行复现,给测试人员带来了诸多调试方面的困难和挑战,大大延长了整个芯片系统的开发周期。
发明内容
为解决以上问题,本发明提供一种基于DSP核的物理层系统代码验证装置及方法,不需要集成高层协议代码及硬件射频等设备,使用RTL级代码来模拟实际芯片的行为,在软仿的环境下生成详尽的打印信息和波形文件,能够高效实现物理层系统代码的调试和功能验证,迅速发现和定位其中的问题,在芯片流片之前进行软硬件协同验证,大大减少了芯片流片后系统集成的问题,缩短了整个芯片开发的周期。本发明的一种基于DSP核的物理层系统代码验证装置,包括DSP软核S01,用于运行物理层系统软件代码,完成整个物理层软件实现代码和硬件加速器的控制;向其它模块发送指令并接收响应,是整个物理层系统装置的控制中心;硬件加速器模块S02,用于数据处理过程,完成物理层接收和发送功能,复杂的物理运算、存储和搬数等功能,包括接收系统单元和发送系统单元;射频仿真模块M01,用于射频与物理层间的数据交互,当物理层的配置命令为接收时,从测试例库DOl中提取射频数据,将数据发送到硬件加速器模块S02中的接收系统单元;当配置命令为发送时,射频仿真模块会从硬件加速器模块S02中的发送系统单元接收收据,并将接收的数据保存到输出数据库D02中;命令解析模块M02,用于模拟高层协议栈,组装并解析物理层和高层协议栈之间的原语交互信息,完成整个物理层和高层协议栈的通信流程;测试例库D01,至少包括物理层系统软件的编译输出文件、高层协议栈原语指令和数据、射频输入数据文件,用于为DSP软核D01、命令解析模块M02和射频仿真模块MOl提供控制和数据信息;输出数据库D02,至少包括生成的跟踪信息文件和波形文件,用于检查控制流程的正确性,以及问题的定位。本发明的一种基于DSP核的物理层系统代码验证方法,包括SlOl =DSP软核SOl启动,从测试例库DOl中提取物理层系统软件编译后的文件信息,开始运行整个物理层系统软件代码;S103 =DSP软核SOl向硬件加速器模块S02发出初始化信息,完成硬件加速器模块S02的初始化工作;S104:根据物理层通信协议,命令解析模块M02从测试例库DOl中提取高层原语信息和数据等,并向DSP软核SOl发送第一条高层原语指令,通知物理层软件进行相应的操作;S105 =DSP软核SOl收到高层原语命令后,对原语命令进行解析,然后进入物理层软件控制和处理流程;S106 :DSP软核SOl启动相应的硬件加速器模块,并进行相互间通信,如启动相应的算法加速器、滤波器等,进行数据接收、信道估计、信道编解码等物理层过程;S107 该步骤与S106同步进行,主要是完成射频仿真模块和硬件加速器间数据的收发功能;当配置模式为接收模式时,射频仿真模块会从测试例库DOl中提取射频数据,并将数据发送给接收硬件加速器模块;当配置模式为发送模式时,射频仿真模型从发送硬件加速器模块接收数据,并将发送数据以文本的形式保存到输出数据库中;S108 当DSP处理完第一条原语命令,即完成上述S105 S107步骤后,向命令解析模块M02发送原语响应信息;S109 命令解析模块M02收到DSP软核的原语响应信息后,会进行命令解析,判断物理层响应信息的正确性,并组装好下一个原语命令。与现有技术相比,本发明适用于物理层系统模块、链路和射频驱动等功能测试,通过模拟高层和射频等,与DSP物理层进行原语的交互和数据的收发,具有实时跟踪、打印、数据保存和自动对比等功能、具有生成包含DSP软核和硬件加速器等模块的波形文件等功能。该方案和装置在应用过程中,基本能够解决所有软件bug,使得经本发明方案验证过的物理层系统代码可以很快的移植到FPGA或真实的芯片环境中,大大缩短了整个芯片系统的开发周期,并且,本发明基于DSP的物理层系统验证装置,是在工作站上的软仿环境中设计并运行的,不需要额外硬件测试设备,不涉及硬件开销的增加。
图1为本发明物理层系统验证装置优选实施例结构图2为本发明物理层系统验证装置另一优选实施例结构图;图3为本发明物理层系统验证装置的系统跟踪模块优选实施例结构图;图4为本发明物理层系统验证装置的系统跟踪模块另一优选实施例结构图;图5为本发明物理层系统验证方法优选另一实施例流程图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明基于DSP核的物理层系统验证装置及方法作进一步详细说明。本发明一种基于DSP核的物理层系统代码验证装置,如图1所示,包括DSP软核S01,用于运行物理层系统软件代码,完成整个物理层软件实现代码和硬件加速器的控制;向其它模块发送指令并接收响应,是整个物理层系统装置的控制中心;硬件加速器模块S02,用于数据处理过程,完成物理层接收和发送功能,复杂的物理运算、存储和搬数等功能,包括接收系统单元和发送系统单元;射频仿真模块M01,用于射频与物理层间的数据交互,当物理层的配置命令为接收时,从测试例库DOl中提取射频数据,将数据发送到硬件加速器模块S02中的接收系统单元;当配置命令为发送时,射频仿真模块会从硬件加速器模块S02中的发送系统单元接收收据,并将接收的数据保存到输出数据库D02中;命令解析模块M02,用于模拟高层协议栈,组装并解析物理层和高层协议栈之间的原语交互信息,完成整个物理层和高层协议栈的通信流程;测试例库D01,至少包括物理层系统软件的编译输出文件、高层协议栈原语指令和数据、射频输入数据文件,用于为DSP软核D01、命令解析模块M02和射频仿真模块MOl提供控制和数据信息;输出数据库D02,至少包括生成的跟踪信息文件和波形文件,用于检查控制流程的正确性,以及问题的定位。上述模块为本发明基于DSP核的物理层系统代码验证装置的基本结构,属于一种基于DSP核的物理层系统基本验证方案,能够完成整个物理层系统的软硬件协同验证功能。在此基本方案和装置的基础上,可以增加辅助模块,得到以下几种改进方案优选的,作为一种改进方式,在所述基本结构基础上增加系统跟踪模块M03,如图2所示,该系统跟踪模块完成整个验证装置的跟踪功能;所述系统跟踪模块M03包括跟踪命令解析模块M03_01、控制信息处理模块M03_02、数据处理模块M03_03和打印输出模块M03_04,如图3所示。当接收到DSP软核的跟踪命令后,跟踪命令解析模块M03_01解析跟踪命令的内容,判断跟踪的模式,主要有控制信息和数据信息两种跟踪模式;然后向控制信息处理模块M03_02和数据处理模块M03_03发送具体的跟踪指令,控制信息处理模块M03_02和数据处理模块M03_03收到命令后,进行控制信息和数据信息的分析处理,并将处理后的控制信息和数据输出到打印输出模块,由输出打印模块M03_04将跟踪的具体内容显示在运行界面上,或直接打印到跟踪文件输出到输出数据库中;优选的,作为进一步改进方式,将系统跟踪模块M03再进行扩展,增加DSP软核信息跟踪模块M03_05,该模块直接与DSP软核相连接,时刻监测DSP软核运行的情况,并将DSP软核内主要的处理信息跟踪出来,如DSP处理器PC指针、内部操作寄存器、地址寄存器、控制寄存器等在不同运行时间的取值。并将跟踪信息送到打印输出模块,输出文件到输出数据库中。该改进加强了装置的系统跟踪功能,在DSP软核运行过程中出现问题时(如PC指针跑死等),可以协助验证人员分析定位问题,加快定位问题的时间,如图4所示。优选的,作为进一步改进方式,继续对跟踪系统M03进行扩展,增加异常处理模块M03_06,有两个主要的功能一、负责搜集控制信息处理模块M03_03和DSP软核信息跟踪模块M03_05的异常信息,并将跟踪信息通过打印输出模块保存到输出数据库中;二、验证装置异常停止功能。该模块内定义了异常问题严重等级,对搜集到的异常信息进行等级分类,包括WARNING、ERROR、FATAL三种警告等级,并将警告内容显示到运行界面上,同时通过打印输出模块M03_04输出到输出数据库中。在验证过程中,该模块会纪录警告信息的出现次数,当统计的ERROR次数达到规定的上限值、或出现FATAL警告时,控制整个验证装置停止工作。该改进方案,增加了异常处理功能,增强了整个装置的系统跟踪调试能力,同时防止了由于软件跑死造成的程序无限期运行出现的可能性,大大节省了测试例的运行时间和占用的空间资源。优选的,在基本装置或上述改进装置的基础上,将系统跟踪模块M03进行扩展,增加DSP软核信息跟踪模块M03_05,该模块直接与DSP软核相连接,时刻监测DSP软核运行的情况,并将DSP软核内主要的处理信息跟踪出来,如DSP处理器PC指针、内部操作寄存器、地址寄存器、控制寄存器等在不同运行时间的取值。并将跟踪信息送到打印输出模块,输出文件到输出数据库中。优选的,作为另一种改进方式,在所述基本结构基础上增加校验模块M04,如图2所示,系统软件运行过程中,可以随时增加自动校验机制,用以检查参数、数据等正确性;此时DSP软核SO1需要向自动校验模块发送自动校验命令,自动校验模块收到命令后,进行命令解析,然后从测试例库中提取参考信息和数据文件,与DSP软核SOl实际运行的结果进行对比,并将对比结果及时反馈给DSP软核S01,同时将对比信息打印并输出到输出数据库中D02。该改进方案,增加了验证自动化对比和校验功能,当验证过程中出现问题时,可根据软件控制程序判断是否继续工作下去,减少了手动对比和查看打印信息的工作,并能较快地发现和定位问题。本发明所述基于DSP核的物理层系统验证装置的工作流程,如图5所示,包括SlOl =DSP软核SOl启动,从测试例库DOl中提取物理层系统软件编译后的文件信息,开始运行整个物理层系统软件代码;S103 =DSP软核SOl向硬件加速器模块S02发出初始化信息,完成硬件加速器模块S02的初始化工作;S104 根据物理层通信协议,命令解析模块M02从测试例库DOl中提取高层原语信息和数据等,并向DSP软核SOl发送第一条高层原语指令,通知物理层软件进行相应的操作;S105 =DSP软核SOl收到高层原语命令后,对原语命令进行解析,然后进入物理层软件控制和处理流程;S106 :DSP软核SOl启动相应的硬件加速器模块,并进行相互间通信,如启动相应的算法加速器、滤波器等,进行数据接收、信道估计、信道编解码等物理层过程;
7
S107 该步骤与S106同步进行,主要是完成射频仿真模块和硬件加速器间数据的收发功能。当配置模式为接收模式时,射频仿真模块会从测试例库DOl中提取射频数据,并将数据发送给接收硬件加速器模块;当配置模式为发送模式时,射频仿真模型从发送硬件加速器模块接收数据,并将发送数据以文本的形式保存到输出数据库中;S108 当DSP处理完第一条原语命令,即完成上述S105 S107步骤后,向命令解析模块M02发送原语响应信息;S109 命令解析模块M02收到DSP软核的原语响应信息后,会进行命令解析,判断物理层响应信息的正确性,并组装好下一个原语命令;优选的,包括步骤SllO 重复步骤S104 S109,向DSP物理层发送下一条原语命令,直到完成所有的原语命令交互;优选的,在步骤SlOl与S103之间还包括步骤S102 =DSP软核SOl向系统跟踪模块发送第一条跟踪启动指令,通知系统跟踪模块M03进入跟踪状态,跟踪模块从接收到S102跟踪初始化指令后,监测DSP软核发出的跟踪信息指令;优选的,Slll 当跟踪模块M03监测到跟踪指令后,进行命令解析和跟踪,当解析出的命令为跟踪控制参数信息时,将软件需要跟踪的控制参数信息显示在运行界面上,并将跟踪信息以文本的形式通过打印输出模块保存到输出数据库中;当解析出的命令为数据跟踪时,通过打印输出模块将数据以文本的形式保存到输出数据库中,此时不会将数据显示到运行界面上,若跟踪数据是硬件加速器输入或输出存储器中的数据,还需要和硬件加速器进行交互,完成数据的保存功能;优选的,还包括S112,系统跟踪模块M03不断地监测DSP软核发出的跟踪信息指令,重复完成Slll所述的步骤,直到整个系统跟踪验证的完成;优选的,本发明所述装置增加了 M04自动校验模块,从DSP软核SOl开始工作以后,便可以随时向自动校验模块发送指令,启动自动校验功能。当自动校验模块收到命令后,进行命令解析,然后从测试例库中提取参考信息和数据文件,与DSP软核SOl实际运行的结果进行对比,并将对比结果及时反馈给DSP软核S01,同时将对比信息打印并输出到输出数据库中D02 ;优选的,将系统跟踪模块M03进行扩展,增加DSP软核信息跟踪模块M03_05。其实施过程与跟踪系统类似,但稍微不同的是,系统跟踪模块是通过接收跟踪指令被动的跟踪,而DSP软核信息跟踪模块则是时刻主动的监测DSP软核的内部工作状态。从DSP软核SOl开始工作以后,该模块时刻监测DSP软核运行的情况,并将DSP软核内主要的内部处理信息跟踪出来,如DSP处理器内部的PC指针、操作寄存器、地址寄存器、控制寄存器等在不同运行时刻的取值。并将相应的跟踪信息通过打印输出模块,以文本的形式保存到输出数据库中;优选的,继续对跟踪系统M03进行扩展,增加异常处理模块M03_06。其实施过程与跟踪系统同步进行,时刻搜集控制信息处理模块M03_03和DSP软核信息跟踪模块M03_05的异常信息;DSP软核SOl系统软件工程与异常处理模块M03_06 —样定义有WARNING、ERROR、FATAL三种警告等级。当物理层系统软件检测到运行的控制条件分支错误时、或自动校验模块反馈的是错误校验信息时,DSP软核会将不同等级的警告参数通过跟踪命令的方式发送给系统跟踪模块,通过命令解析M03_01和控制信息处理模块M03_03将异常信息收集保存;同时异常处理模块从控制信息处理模块M03_03监测这些异常信息;异常处理模块在收集控制信息处理模块M03_03异常信息的同时,也时刻在收集DSP软核信息跟踪模块M03_05的异常信息。与收集控制信息处理模块M03_03异常信息不同的是,DSP软核信息跟踪模块M03_05内部不会定义异常信息等级警告,主要是由系统设计人员在异常处理模块根据DSP软核的运行情况进行警告等级的划分和定义。现有的DSP软核异常信息主要涉及以下三个方面一、DSP软核处理器PC指针运行异常,定义PC保持值超过时间T时,该模块提示FATAL信息;二、DSP软核处理器的地址寄存器出现不可能存在的地址值时,该模块会提示ERROR信息;三、系统软硬件运行完毕,系统装置验证停止前检查DSP软核的中断请求寄存器,若还有未处理的中断,该模块提示WARNING信息。后续还可以针对实际中不同的应用需求,增加异常信息处理机制;异常处理模块针对上述所述的异常信息,进行警告信息的统计和打印,将警告信息显示到运行界面上,并以文本形式通过打印输出模块保存到输出数据库中。当统计ERROR信息次数达到规定的上限值、或出现FATAL警告时,会立即停止整个验证装置工作。在上述方案中,增加部分模块,增强了系统跟踪的能力,同时也增强了系统异常处理的能力,加强了整个验证系统的可控性,大大加快了验证的进度,缩短了验证周期。实际上,本发明所述方案不限于DSP核的系统,而且适用于所有嵌入式系统的软硬件开发平台。以上所举实施方式或者实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种基于DSP核的物理层系统代码验证装置,其特征在于,包括DSP软核(SOl),用于运行物理层系统软件代码,完成整个物理层软件实现代码和硬件加速器的控制;向其它模块发送指令并接收响应;硬件加速器模块(S(^),用于数据处理过程,完成物理层接收和发送功能,复杂的物理运算、存储和搬数等功能,包括接收系统单元和发送系统单元;射频仿真模块(MOl),用于射频与物理层间的数据交互,当物理层的配置命令为接收时,从测试例库(DOl)中提取射频数据,将数据发送到硬件加速器模块(S(^)中的接收系统单元;当配置命令为发送时,射频仿真模块会从硬件加速器模块(S02)中的发送系统单元接收收据,并将接收的数据保存到输出数据库(D02)中;命令解析模块(M02),用于模拟高层协议栈,组装并解析物理层和高层协议栈之间的原语交互信息,完成整个物理层和高层协议栈的通信流程;测试例库(DOl),至少包括物理层系统软件的编译输出文件、高层协议栈原语指令和数据、射频输入数据文件,用于为DSP软核(DOl)、命令解析模块(M(^)和射频仿真模块(MOl)提供控制和数据信息;输出数据库(D02),至少包括生成的跟踪信息文件和波形文件,用于检查控制流程的正确性,以及问题的定位。
2.如权利要求1所述物理层系统代码验证装置,其特征在于,还包括系统跟踪模块(M03),用于整个验证装置的跟踪,与硬件加速器(S02)、DSP软核和输出数据库(D02)连接;所述系统跟踪模块(MO; )包括跟踪命令解析模块(M03_01)、数据处理模块(M03_02)、控制信息处理模块(M03_03)和打印输出模块(M03_04)。
3.如权利要求2所述物理层系统代码验证装置,其特征在于,所述系统跟踪模块(M03)还包括DSP软核信息跟踪模块(M03_(^),与DSP软核和打印输出模块(M03_04)相连接。
4.如权利要求3所述物理层系统代码验证装置,其特征在于,所述系统跟踪模块(M03)还包括异常处理模块(M03_06),与控制信息处理模块(M03_0;3)、DSP软核信息跟踪模块(M03_05)和打印输出模块(M03_04)相连接。
5.如权利要求1-4任一所述物理层系统代码验证装置,其特征在于,还包括校验模块M04,用于检查参数、数据等正确性,与DSP软核双向数据连接,接收测试例库DOl的数据,将校验发送给输出数据库(D02)。
6.一种基于DSP核的物理层系统代码验证方法,其特征在于,包括SlOl :DSP软核(SOl)启动,从测试例库(DOl)中提取物理层系统软件编译后的文件信息,开始运行整个物理层系统软件代码;5103:DSP软核(SOl)向硬件加速器模块(S(^)发出初始化信息,完成硬件加速器模块(S02)的初始化工作;5104根据物理层通信协议,命令解析模块M02从测试例库(DOl)中提取高层原语信息和数据等,并向(DSP)软核(SOl)发送第一条高层原语指令,通知物理层软件进行相应的操作;5105:DSP软核(SOl)收到高层原语命令后,对原语命令进行解析,然后进入物理层软件控制和处理流程;5106=DSP软核(SOl)启动相应的硬件加速器模块,并进行相互间通信;5107射频仿真模块和硬件加速器间的数据收发,当配置模式为接收模式时,射频仿真模块(MOl)从测试例库(DOl)中提取射频数据,并将数据发送给接收硬件加速器模块(S02);当配置模式为发送模式时,射频仿真模块(MOl)从发送硬件加速器模块(S(^)接收数据,并将发送数据以文本的形式保存到输出数据库(D02);5108当DSP处理完一条原语命令,即完成上述S105 S107步骤后,向命令解析模块(M02)发送原语响应信息;S109:命令解析模块(M02)收到DSP软核的原语响应信息后,会进行命令解析,判断物理层响应信息的正确性,并组装好下一个原语命令。
7.如权利要求6所述物理层系统代码验证方法,其特征在于,还包括步骤SllO 重复步骤S104 S109,向DSP物理层发送下一条原语命令,直到完成所有的原语命令交互。
8.如权利要求6所述物理层系统代码验证方法,其特征在于,在步骤SlOl与S103之间还包括步骤S102 :DSP软核(SOl)向系统跟踪模块(M03)发送第一条跟踪启动指令,通知系统跟踪模块(MO; )进入跟踪状态,跟踪模块从接收到S102跟踪初始化指令后,监测DSP软核发出的跟踪信息指令。
9.如权利要求8所述物理层系统代码验证方法,其特征在于,当系统跟踪模块(M03)监测到跟踪信息指令后,进行命令解析和跟踪,当解析出的命令为跟踪控制参数信息时,将软件需要跟踪的控制参数信息显示在运行界面上,并将跟踪信息以文本的形式通过打印输出模块保存到输出数据库中;当解析出的命令为数据跟踪时,通过打印输出模块将数据以文本的形式保存到输出数据库中;和/或若跟踪数据是硬件加速器输入或输出存储器中的数据,还需要和硬件加速器进行交互,完成数据的保存。
10.如权利要求6-9任一所述物理层系统代码验证方法,其特征在于,从DSP软核(SOl)开始工作以后,时刻搜集控制信息处理模块(M03_03)和DSP软核信息跟踪模块(M03_05)的异常信息,当检测到运行的控制条件分支错误或者自动校验模块反馈的是错误校验信息时,DSP软核将不同等级的警告参数通过跟踪命令的方式发送给系统跟踪模块。
全文摘要
本发明涉及无线通信系统的验证技术,特别涉及基于DSP核的物理层系统验证装置及方法,所述装置包括DSP软核、硬件加速器模块、射频仿真模块、命令解析模块、测试例库和输出数据库;本发明还提供相应的测试方法;本发明适用于物理层系统模块、链路和射频驱动等功能测试,通过模拟高层和射频等,与DSP物理层进行原语的交互和数据的收发,使得经本发明方案验证过的物理层系统代码可以很快的移植到FPGA或真实的芯片环境中,大大缩短了整个芯片系统的开发周期,并且,本发明基于DSP的物理层系统验证装置,是在工作站上的软仿环境中设计并运行的,不需要额外硬件测试设备,不涉及硬件开销的增加。
文档编号H04B17/00GK102567162SQ20101062160
公开日2012年7月11日 申请日期2010年12月31日 优先权日2010年12月31日
发明者张旭峰, 杨小勇, 杨德勇, 王明耀, 袁艳 申请人:重庆重邮信科通信技术有限公司