APP下载

一种基于多线程的宽带跳频物理层DSP设计实现方法*

2015-03-14王云飞

舰船电子工程 2015年8期
关键词:物理层线程中断

邓 恰 王云飞

(广州海格通信集团股份有限公司 广州 510663)



一种基于多线程的宽带跳频物理层DSP设计实现方法*

邓 恰 王云飞

(广州海格通信集团股份有限公司 广州 510663)

论文针对宽带跳频系统的设计实现,给出了一种基于多线程的宽带物理层波形的DSP实现方法,详细介绍了多线程宽带物理层波形的框架搭建及收发流程具体实现方法,并通过硬件仿真检验了设计的可行性。

DSP/BIOS; 宽带跳频; 多线程; 物理层

Class Number TN914.42

1 引言

随着移动通信技术的发展,各种新业务的需求不断涌现[1~3],每种新业务都希望系统提供最高的数据速率、最低的时延和抖动。于此同时,随着数字信号处理器(Digital Signal Processor,DSP)的发展,造就了更高级的接收机,能够在很短的时间内处理百万数据,从而使宽带通信成为了可能。

在军用通信领域,跳频系统作为一种常用的抗干扰方式而被广泛采用,更高的跳速意味着更强的抗跟踪干扰和抗截获能力,随之而来的是实现难度的提升,带宽和跳速的提升同时对通信系统的设计实现提出了更高了标准,要求DSP实现人员在信道编解码、调制解调、信号检测及均衡处理等方面都需要针对宽带通信的特点进行重新设计,以期达到最终的设计指标。

2 设计的难点

宽带高速跳频系统的设计难点主要体现在如下几个方面: 1) 高带宽带来的数据量激增,随着带宽的提升,数据样点数据成倍增长,传统的仅依靠DSP主频的提升来提高运算效率的方法已经不能够满足数据实时性处理的需求,需要充分挖掘DSP的软硬件处理资源来实现高效率的数据处理,如库文件、内联函数、编解码协处理器(TCP、VCP)、EDMA模块等; 2) 高跳速带来的是每跳时间的成倍缩短,要求DSP在更短时间内同时完成更多的任务。在软硬件处理性能受限情况下,如何能够控制DSP来进行高效并行的数据处理显得尤为紧迫。DSP/BIOS的使用能够彻底解决这一问题,实现人员通过DSP/BIOS进行合理的软件框架搭建,并根据实际需求将软件模块按照线程优先级进行分配,从而使系统满负荷运行,进一步提高处理效率。

3 DSP/BIOS简介

在嵌入式系统开发中,DSP芯片被广泛应用于各种通信开发系统当中,为了满足DSP芯片开发过程中的实时性需求,各种实时性操作系统被大量的引入,其中包括第三方的操作系统(VxWorks、μcOS-2等)和芯片厂商推出的针对芯片定制的操作系统如TI公司的DSP/BIOS等。

第三方实时操作系统由于应用门槛较高,需要专利授权以及技术支持薄弱而没有得到广泛的采用;芯片厂商针对自有芯片推出的操作系统由于定制性好,技术支持有力,移植性强而被大量的开发用户广泛采用,TI针对芯片开发的DSP/BIOS操作系统是一个可用于实时调度、同步以及实施分析的可裁剪内核,提供了抢占式的多任务调度机制,所有模块可以被动态或者静态的创建。

DSP/BIOS操作系统能够使用户的应用程序可以由一个线程集合构筑起来,每一个线程执行一个模块化的功能。通过允许高优先级的线程抢占低优先级的线程,以及允许阻塞、同步、通信等各种线程间的交互方式,使得多线程的应用程序可以在一个处理器上运行。DSP/BIOS支持多种不同优先级的线程,每种线程类型都有不同的执行和抢占特性。

图1 DSP/BIOS线程的优先级示意图

在DSP/BIOS中,各种线程按照优先级从高到低的顺序排列如下:硬件断(HWI)有最高的优先级,然后是软中断(SWI),软中断可以被高优先权软中断或硬中断抢占。软中断是不能被阻塞的。任务(TSK)的优先权低于软中断,共有15个任务优先权级别。任务在等待某个资源有效时可以被阻塞。后台线程(IDL)是DSP/BIOS中优先级最低的线程。图1列出了DSP/BIOS中各种线程的优先级示意。

4 物理层DSP框架设计

本文所述的宽带无线通信系统物理层采用DSP/BIOS的多级线程进行框架搭建,成个程序框架如图2所示,整个物理层框架由两个FPGA外部GPIO硬中断进行驱动,分别对应读写中断和跳中断。其中读写中断的周期为20μs,用于用户控制DSP从FPGA进行上下变频数据的搬移,波形按跳进行切换,跳中断的周期为0.5ms,用于用户控制DSP进行收发过程中每跳状态的跳转。

图2 物理层多线程框架

由上图可以看出,当FPGA读写中断到来时,DSP根据所处的收发状态启动EDMA进行数据搬移SWI,进行下变频数据符号的读取或上变频数据符号的写入操作;由于收发数据的处理任务都使用了TSK线程进行配置,因此在数据搬移完成之后启动了一个信号量触发SWI进行TSK信号量的触发操作,目的是利用TSK的阻塞机制判断资源的准备情况并实时的进行信号量触发,启动相应的数据处理TSK。

当FPGA跳中断到来的时候,DSP首先会进入跳状态控制SWI,主要功能是完成下跳状态的配置并启动对应的数据处理TSK。若下跳是发送状态,则根据发送的跳类型进行同步跳发TSK或者数据跳发TSK(如图中灰色箭头所示);反之,若下跳是接收状态,则根据接收跳的情况触发对应的信号检测TSK、同步跳收TSK或者数据跳收TSK。

后台线程IDL主要负责系统中一些优先级较低的操作,如信令交互、状态上报、参数的加注等,由于优先级较低,线程对软硬件资源的占用度较低,能够在关键线程执行的时间空隙进行处理,提高了处理效率。

5月,中国人民救国会一届二中全会在上海召开,并通过了宣言。宣言指出:“今后本会仍一本过去传统的精神,与国内各民主政团,共同努力,以争取独立、和平、民主的早日实现。”根据这个方针,救国会对当时的时局提出反对外国侵略势力干涉中国内政、反对内战、要求保障生存权等四项主张。沙千里在会上积极拥护这些主张,并充满信心地认为,在十年前我们能结成抗战统一阵线而取得抗战的胜利,在今后我们必然也能结成民主统一阵线而获得民主的成功!

5 物理层发送流程实现

系统设计中定义了两种跳结构,同步跳和数据跳,分别用来传递同步状态信息(进行系统同步)和用户数据信息(传递用户数据),发送流程的实现过程中分别针对两种跳结构设计了对应的实现流程。

图3给出了同步跳的发送流程,由同步跳发送流程图可以看出,同步跳使用了卷积码作为信道编码方法,同步信息首先经过CRC校验算法生成对应的CRC校验比特;CRC校验比特与同步信息进行拼接之后进行卷积码编码,编码完成之后的信息经过BPSK调制映射成调制符号;生成的调制符号再和PN序列进行拼接并生成对应的循环前缀,就完成了同步跳的生成操作。其中,增加CRC校验比特是为了保证同步信息的正确识别;PN序列的拼接是为了便于接收过程中的信号检测和信道估计操作;循环前缀则是为了消除多径延迟的影响,消除符号间干扰ICI。

图3 同步跳发送流程

图4 数据跳发送流程

数据跳的发送流程与同步跳类似,也是用户信息经过信道编码、调制、PN序列拼接和生成循环前缀操作,如图4,此处不再赘述。

需要进行说明的是,不同于同步跳的信息采用的卷积码编码方式,数据跳采用了Turbo码[7~8]进行信道编码,并在编码之后进行了编码信息交织操作,扰乱了编码信息,提高了抗干扰性能,数据跳根据速率的不同采用了不同的码率和调制方式,可以根据实际信道传输条件适当采用较高的码率和高阶调制来获得更高的用户速率。

6 物理层接收流程实现

物理层的接收流程主要分为同步跳和数据跳接收两个部分[9~10],本文首先来介绍同步跳接收的实现,同步跳用来进行系统同步,其接收的成功与否决定整个系统是否同步。因此,同步跳接收流程的设计实现是决定整个系统成功的关键,由图5可以看出,在同步跳接收过程中,首先要进行信号检测,信号检测的目的是完成同步跳的识别,由于同步跳PN序列采用了相关性较强的ZC序列(归一化自相关为1,互相关为0),程序设计实现过程中使用本地PN同接收信号进行PN相关的方法进行信号检测,通过PN相关峰的能量来判断同步跳的到达与否,当系统识别到PN相关峰的能量超过某一门限时,即认为信号检测到达,开始同步跳接收操作。

图5 同步跳接收流程

在信号检测完成之后,进行多径位置识别操作,步骤是通过PN相关峰能量的累加来识别主径的位置,作为后续数据操作的基准参考位置,当主径位置对齐之后,就开始进行信道估计操作,目的是估计出信道的时域和频域响应,对接收到的数据进行矫正和恢复,提高系统传输质量,降低误码率。

信道均衡通过信道估计的结果,对接收符号进行处理以抵消信道对信号的影响,从而降低码间干扰的影响。系统采用频域均衡的方法来进行均衡操作,之所以选择频域均衡主要是因为: 1) 可以考虑使用2的幂次的FFT/IFFT来实现DFT/IDFT操作; 2) 同时域均衡相比,在信道频率选择性较广的情况下,频域均衡能够显著的降低复杂度。

图6 数据跳接收流程

在同步跳软信息解调之后,采用VCP协处理器进行卷积码译码操作,然后对译码完成的硬判决输出信息进行CRC校验,当CRC校验成功时就认为同步跳接收成功,进行后续的接收流程处理。

数据跳的接收流程与同步跳类似,区别之处在于由于此时系统已经同步,不需要进行信号检测操作,只需要进行多径同步、信道估计、信道均衡、软信息解调等操作,同时由于数据跳信息在Turbo编码之后进行了交织,因此在Turbo译码之前需要进行一次解交织操作,最后解交织之后的软信息使用TCP进行Turbo码译码操作,得到用户信息。

7 仿真测试

设计实现阶段使用TI公司的TMS320C6416芯片进行验证实现,并在中频数字板上进行了收发波形的测试操作,中频部分的截图如图7、图8所示。

图7 发送波形测试效果图

图7给出了发送波形的示波器截图,通过示波器截图可以看出,系统发送方循环发送了“同步跳+7个数据跳”的时隙结构,接收方通过中频直接对发送的波形进行了信号检测、同步跳的接收和数据跳的译码操作。

图8 接收波形测试效果图

图8给出了接收流程的示波器截图,通过示波器截图可以看出,系统首先会进行信号检测,当信号检测成功之后便开始同步跳接收操作,当同步跳译码信息CRC校验成功之后,便认为系统同步成功,开始进行数据跳的接收操作,数据跳软信息解调之后便启动Turbo译码操作,通过接收流程的数字探头标记可以看出,由于系统采用了多线程,数据读写、Turbo译码与接收流程宏观上并行执行,提高了数据处理效率。

8 结语

本文提出了一种基于多线程的进行宽带物理层波形设计实现的方法,详细介绍了多线程宽带物理层波形的框架搭建及收发流程具体实现方法,并通过硬件仿真测试检验了设计的可行性。

综上所述,通过设计高效灵活的物理层框架,流程模块的优化以及芯片协处理器的使用,系统的信号处理能力能够得到极大的提升,实现更高带宽的无线传输。

[1] 尹长川,罗涛,乐光新.多载波宽带无线通信[M].北京:北京邮电大学出版社,2004.

[2] 佟学俭,罗涛.OFDM移动技术原理与应用[M].北京:人民邮电出版社,2003.

[3] 王文博,郑侃.宽带无线通信OFDM技术[M].北京:人民邮电出版社,2003.

[4] TMS320C6416 Fixed-Point Digital Signal Processor, Data Sheet[S]. 2008.

[5] TMS320C64X/C64X+DSP CPU and Instruction Set Refernce Guide[S]. 2008.

[6] 沈嘉,索士强,全海洋,等.3GPP长期演进(LTE)技术原理和系统设计[M].北京:人民邮电出版社,2008.

[7] BERROU C, THITIM AJSHIMA P. Near Shannon limit error correcting coding and decoding Turbo codes[C]//Proc of ICC’93. Geneva, Switzerland: IEEE,1993:1064-1070.

[8] BERROU C, GLAVIEUX A, THITIMAJSHIMA P. Near shannon limit error-correcting coding and decoding: Turbo code[C]//Proc of IEEE ConfCommunications. IEEE,1993:1064-1070.

[9] Erik Dahlman, Stefan Parkvall, Johan Skold, Per Beming. 3G Evolution HSPA and LTE for Mobile Broadband Second Edition[S]. 2010.

[10] 3GPP TS 25.212 v6.6.0 Multiplexing and channel coding(FDD)[S]. 2005.

A Design Method of Wideband-hopping Physical-layer Based on Multithreading

DENG Qia WANG Yunfei

(Guangzhou Haige Communications Industry Group Co., Ltd, Guangzhou 510663)

In this paper, a design method of wideband-hopping physical layer is discussed, which is based on multithreading. The method of how to design the physical-layer framework using DSP/BIOS and the details of transmitting and receiving procedure are given exactly. Finally, the feasibility of the method is tested on hardware.

DSP/BIOS, wideband-hopping, multithreading, physical layer

2015年2月12日,

2015年3月25日

邓恰,男,硕士,研究方向:DSP设计实现。王云飞,男,硕士,研究方向:数字信号处理。

TN914.42

10.3969/j.issn1672-9730.2015.08.025

猜你喜欢

物理层线程中断
基于K-ML-MPWFRFT的物理层安全传输技术
实时操作系统mbedOS 互斥量调度机制剖析
基于国产化环境的线程池模型研究与实现
“单片机中断概述”微课教学设计
公路联网电子不停车收费系统路侧单元物理层自动测试软件研发
一种考虑GPS信号中断的导航滤波算法
Linux中断线程化分析及中断延时测试
跟踪导练(二)(5)
一种应用于5G基于LDPC码的物理层包编码
卫星通信物理层安全技术探析