摘 要: 针对基于软件无线电架构的现代移动通信手持终端设计,研究了基于SB3500国产多核多线程数字信号处理器的软件无线电设计方法,实现了基于SB3500 的软件无线电硬件系统。在此基础上开发了一套适合该硬件系统的OFDM通信波形软件,用于验证该硬件系统是否满足手持终端小型化和低功耗的要求。研究表明,使用该国产多核多线程处理器进行软件无线电系统的设计开发具有广泛的应用前景。
关键词: 省级期刊论文发表,软件无线电,手持终端,SB3500,多核多线程处理器
Design of software defined radio system based on multi?core processor SB3500
ZHONG Da1, GUO Wei2, XI Yong1, TANG Qi1
(1. College of Electronic Science & Engineering, National University of Defense Technology, Changsha 410073, China;
2. Wuxi DSP Technologies Inc, Wuxi 214135, China)
Abstract: For design of the contemporary mobile communication hand?held terminal, a design method of software defined radio (SDR) system based on domestic multi?core and multi?threading digital signal processor SB3500 is studied. The SDR hardware system based on SB3500 was implemented. An OFDM communication waveform software suitable for this hardware system was developed on the basis of this method to verify whether the hardware system can satisfy the miniaturization and low?power consumption requirements of the hand?held terminal. The research result shows this domestic multi?core and multi?threading processor for developing the SDR system has a good application prospect.
Keywords: SDR; hand?held terminal; SB3500; multi?core and multi?threading processor,
0 引 言
随着4G通信网络的不断发展,手持智能终端在满足4G基本通信需求的基础上,还需要兼容2G/3G网络以及蓝牙、WiFi、FM、数字电视等各种通信制式,这对于手持终端的通信制式兼容性设计提出了较高要求。软件无线电技术采用开放式体系结构,通过在通用硬件信号处理平台上加载不同的通信波形软件,可以兼容各种无线通信制式,因此成为新一代的无线电通信技术[1]。软件无线电技术为4G手持智能终端的兼容性设计提供了思路和方法,从而成为当今移动通信领域的一个重要发展趋势,具有非常良好的发展前景。
但在软件无线电手持终端设计中,终端对系统的功耗和小型化这两方面提出了极高的要求,目前国内软件无线电领域在手持智能终端设计方面尚未能完全有效地解决低功耗与小型化问题。如何满足手持终端设备对低功耗和小型化的要求,是当前亟需解决的问题。
随着DSP技术的不断发展,最新的多核多线程DSP凭借其强大的并行信号处理能力及小型化和低功耗等特点,可以有效解决上述问题,因此引起了软件无线电领域研究人员的极大关注。另外,随着网络信息安全问题的日益突出,国家相关部门对此高度重视,对国内电子信息领域基于国产自主可控技术进行产品设计提出了迫切需求。在此背景下,本文通过引入国产多核多线程DSP芯片SB3500,提出了一种基于软件无线电技术的手持终端实现方案,并基于该芯片进行了软件无线电手持终端的硬件方案设计和OFDM通信波形软件开发。设计表明,国产多核多线程处理器在软件无线电手持终端设计领域具有良好的应用前景。
1 SB3500芯片的结构与特点
1.1 SB3500芯片结构
SB3500芯片是无锡德思普科技有限公司基于65 nm 芯片工艺设计制造的一款国产高集成度多核多线程通用数字信号处理器。该芯片由3个DSP处理器核和1个ARM926EJ?S处理器核构成,其芯片内部架构如图1所示[2]。
图1 SB3500芯片架构图
其中,3个DSP核之间采用高速数据环(High Speed Network,HSN)进行数据交换[3]。每个DSP核具有单独的指令cache和数据cache, 并包含3个独立的24 b多功能定时器(Multi?purpose Timer,MPT);各DSP核还有独立的并行数据流接口(Parallel Streaming Data,PSD),可直接与AD/DA芯片连接,实现与AD/DA之间数字信号数据的交换。DSP核的最高工作频率可达600 MHz,最高可以完成每秒96亿次的MAC运算。每个DSP核包含4个硬件线程,每个线程的最高工作频率为150 MHz。ARM926EJ?S核的最高工作频率为300 MHz,并具有LCD,USB,UART,SDIO等丰富的外设接口,因此不需要再外扩其他接口功能器件,特别适应手持终端的小型化设计。DSP核与 ARM核之间采用共享内存方式进行通信,共享内存为专用的4 KB片内内存区;3个DSP核和ARM核之间采用分布式共享内存访问方式进行内存访问[4],从而实现片内内存空间的全局共享。 SB3500芯片针对低功耗的手持终端应用而设计,在全速运行时,其最大功耗仅为500 mW。在相同的MAC处理能力下,功耗方面相比摩托罗拉和朗讯科技联合生产的SC140芯片以及TI的C64X系列芯片有较为明显的优势。
1.2 SB3500的多核多线程特点
在基于软件无线电技术的手持终端系统开发中,具有处理计算密集型高速信号的能力及较低的系统功耗是设计成功的关键。多核技术在提高系统处理器处理能力的同时,较好地实现了处理器的低功耗需求[5]。同时,异构多核结构也是多核处理器的一个重要发展方向。异构组织方式是将结构、功能、功耗、运算性能等各种不同的多种内核集成在同一块芯片上,让每个内核处理自己擅长的任务。研究表明[6],相比同构组织方式,异构多核结构具有更高的任务执行效率,从而实现了资源的最佳优化配置,并进一步地降低了系统整体功耗。SB3500 DSP芯片即采用这种异构多核技术,因此可以较好地满足高速处理能力及低功耗的要求。这种异构结构的优点在于不仅充分发挥了ARM处理器接口丰富、调试方便以及易于用户实现协议控制的使用特点,还利用多核DSP解决了大量密集型计算的处理任务。
为进一步挖掘DSP处理器的处理能力,SB3500 DSP采用了硬件多线程技术。硬件多线程技术[7]是在每个DSP处理器核中开辟多个硬件线程,每个DSP处理器核可以按照系统主频时钟节拍,在每个相邻时钟周期上从一个线程切换到下一个线程去执行相应的操作,可以使处理器内部的多个任务在时间上实现并行化执行,从而极大地提高了多任务执行效率。另外,每个DSP核的四个硬件线程采用时分复用方式占用处理器,也可以降低对内存访问速率的要求。可见,SB3500 DSP的多核多线程结构大大弥补了传统单核单线程DSP在并行处理能力方面的缺陷。
2 基于SB3500的软件无线电硬件系统设计
以SB3500为处理核心的软件无线电手持终端系统硬件设计结构如图2所示,该硬件结构由用户人机接口电路、SB3500核心电路、AD/DA电路、射频变换电路和射频收发电路等五部分组成。其中,SB3500 核心电路中的ARM内核主要负责以太网、串口、显示等人机及数据接口;DSP内核负责通信信号处理以及与AD/DA芯片间交换基带数据,并进行射频参数的配置;AD/DA电路负责获取或转换外部基带模拟信号,采用美信公司的MAX19707芯片,该芯片转换精度为双路10位,最高采样速率为45 MSPS;射频变换电路负责在AD/DA芯片和射频收发模块之间进行通信基带信号与射频信号间的相互变换;射频收发电路主要完成接收滤波和发送功率放大等任务。
图2 基于SB3500的软件无线电系统硬件设计结构
理想软件无线电系统具有宽频段射频前端以及宽带AD/DA采样等特点,然而实际设计中,受数字信号处理速度和宽带AD/DA速率及价格因素等的限制,一般会在AD/DA电路和射频收发电路之间插入中频处理模块进行频率变换,从而降低系统对AD/DA采样速率的要求。如图2所示,以发送端为例,首先将基带 IQ数据利用高集成度的射频收发器(MAX2839)变换到2.4 GHz中频频段,再通过混频器变换到所需要的工作频点。本文混频器选择威讯联合半导体公司生产的RFFC2071芯片,具体的频点参数可由DSP对 RFFC2071芯片的配置来实现。
针对软件无线电硬件系统,基于SB3500的单芯片多核结构相比于多芯片多处理器结构具有更小的尺寸;同时,由于片内总线的传输速率高于片外总线,这种单芯片多核结构的核间通信效率更高,从而提升了处理效率并降低了功耗。由此可见,该硬件系统在符合手持终端小型化和低功耗设计需求方面具有一定优势。
3 基于SB3500软件无线电硬件系统的通信波
形软件开发
3.1 基于SB3500的通信波形设计要点
通信波形的信号处理通常包含有多个处理任务单元,包括编码/解码、同步、调制/解调单元等。针对多核多线程处理器,如何进行信号处理任务的并行化是设计的重点和难点,需要针对DSP的处理特点[8]进行仔细考虑。
本文将使用流水线思想对示例波形进行并行化设计。流水线架构中的DSP端的设计涉及到状态机的使用、乒乓结构的使用、多线程处理以及内存规划等四个方面内容,这四个方面又相互关联,设计时需全局考虑。首先,DSP中没有操作系统,因此所有的状态控制都是通过代码逻辑调度实现;其次,为保证数据的实时性,需在内存方面使用乒乓结构;再者,多线程处理的使用难点在于线程间的同步以及内存访问的竞争关系,因此需要合理分配线程任务,并安排好线程处理时序关系及切换机制。
线程同步方面,最重要的是时序问题,本文采用的流水线结构需要每个线程都在既定时序结构时间内完成相关内容处理。针对内存访问的竞争关系,线程间需要利用状态机控制,避免同一数据块在同一时间段内被不同线程访问造成处理逻辑的混乱。另外,在内存规划方面,由于所有与矢量运算相关的代码和数据需全部置于DSP的片内RAM中,而每个DSP核内仅256 KB的RAM空间导致存储资源比较紧张,因此内存空间必须做合理的规划。
此外,还要注意ARM与DSP的通信接口设计。片上系统的内核间通信内容可分为两类:一类是控制与状态信息,一类是数据信息。前者通常不携带数据,但是常有较高的实时性要求;后者主要是各类数据缓冲区,其数据量偏大,同时实时通信系统对传输的实时性要求也较高。所以前者在通信中通用性较好,适合由软件实现并提供编程接口;后者则与具体应用相关性更高,适合用软件定义数据结构的方式实现。
SB3500中ARM与DSP采用共享内存方式通信,其中片内共享内存可存放8 KB信息。实际使用中可设计为邮箱通信方式[9],根据控制信息和数据信息的传输需求又可分别设计为控制邮箱与数据邮箱。邮箱中的控制信息、状态信息以及指向数据邮箱中数据内容头指针的地址存放在ARM与DSP之间的片内共享内存中,而具体数据内容则存放在片外的共享内存DDR中。 3.2 OFDM通信波形开发
正交频分复用(Orthogonal Frequeney Drvision Multiplexing,OFDM)技术是目前宽带移动通信领域的一项关键技术[10],具有很强的抗多径能力、较高的频谱利用率等特点,适用于无线信道中的高速数据传输业务,已被广泛应用于WiFi,WiMax,数字电视广播以及各种4G通信标准中。本课题中选取了OFDM技术进行通信波形开发。 OFDM波形开发中的DSP处理模块如图3所示。
图3 DSP处理模块
针对该OFDM通信波形,设计中仅使用了一个DSP核的四个线程即可实现发送或接收端的所有基带处理工作,完成对OFDM波形的多线程并行化处理工作。
线程任务的划分主要考虑每个任务模块的执行时间以及乒乓结构的时序要求。针对实时通信系统,一帧数据信号的物理层基带处理时长须小于一帧数据信号的采样时长。
综合上述考虑,对线程任务分配如下:
发送端任务划分:
线程1主要负责射频、定时器、GPIO等硬件上电初始化和PSD初始化;
线程2主要负责发送相关物理层调度、运算处理以及收发模式切换控制;
线程3主要负责控制与D/A相连的PSD接口;
线程4空闲;
接收端任务划分:
线程1主要负责射频、定时器、GPIO等硬件上电初始化和PSD初始化;
线程2主要负责接收相关物理层调度、运算处理以及收发模式切换控制;
线程3主要负责控制与A/D相连的PSD接口;
线程4主要负责初始同步、同步跟踪、频偏估计与校准等。
3.3 OFDM通信波形结果演示
由两台相同PC机分别控制两套相同的软件无线电硬件系统,ARM与PC之间通过RS 232调试口完成程序下载和调试任务。系统测试操作模型如图4所示。
图4 系统测试操作模型
图4所示模型中,ARM运行VXWORKS操作系统,发送端由PC机通过TCP/IP协议向ARM传输需要发送的数据,再由ARM将数据发送给 DSP;DSP接收到数据后进行发送端基带处理,并通过射频前端发出;接收端经射频前端接收,由DSP完成接收端基带数据处理并上报数据给ARM,ARM 再通过TCP/IP协议传输最终结果至PC机。
测试结果表明,本文的设计方案可满足软件无线电对波形软件的动态加载,使得不同通信制式的切换可以通过在线加载软件实现。与传统的多种通信体制的硬件模块并存方式相比,既减小了体积又降低了功耗,符合手持终端小型化和低功耗的设计要求。
4 结 语
本文在软件无线电手持设备的设计实现过程中,详细介绍了SB3500国产多核DSP芯片的结构与使用特点,设计了基于SB3500的软件无线电的硬件系统,进而完成了基于该系统的OFDM通信波形软件开发,实现了无线信道下基于OFDM的通信系统。结果表明,国产多核多线程DSP在软件无线电手持设备设计领域具有很好的应用前景。
参考文献
[1] 杨小牛,楼才义,徐建良.软件无线电技术与应用[M].北京:北京理工大学出版社,2010.
[2] Anon. SB3500 SandBlaster? baseband processor product features & interfaces [EB/OL]. [2011?12?12]. http://www.dspsemi.com.
[3] 郑纬民,汤志忠.计算机系统结构[M].北京:清华大学出版社,1998.
[4] SINNEN Oliver. Task scheduling for parallel systems [M]. US: Wiley?Interscience, 2007.
[5] 谢子光.多核处理器核间通信技术研究[D].成都:电子科技大学,2009.
[6] HENNESSY J L,PATTERSON D A.计算机体系结构量化方法[M].贾洪峰,译.5版.北京:人民邮电出版社,2013.
[7] 方娟.计算机系统结构[M].北京:清华大学出版社,2011.