本文摘要:摘要:软件无线电就是应用软件实现无线电的功能,即在处理器能力允许的范围内,由软件完成信号的编解码、调制解调、扩频解扩等功能。这项技术允许在通用的通信硬件平台上加载不同的通信软件,实现不同设备的互通与兼容。本文中软件无线电的基带处理芯片采用
摘要:软件无线电就是“应用软件实现无线电的功能”,即在处理器能力允许的范围内,由软件完成信号的编解码、调制解调、扩频解扩等功能。这项技术允许在通用的通信硬件平台上加载不同的通信软件,实现不同设备的互通与兼容。本文中软件无线电的基带处理芯片采用了DSP+ARM的双核心结构,其中DSP负责实时信号处理,ARM负责控制功能及高层协议下的数据交互。基带处理芯片可支持军用和民用的多种模式,能够满足多种通信的需求。
关键词:软件无线电;基带SoC;双核心
引言传统软件无线电平台普遍采用两种方案。第一种方案是FPGA方案,即采用高速通用处理器、数字信号处理器和现场可编程门阵列(FPGA)等可编程器件为主构成的一个硬件平台。这类平台具有体积大、功耗高、成本贵等问题,不利于大量装备和普及。第二种是ASIC方案,即通过控制ASIC完成一些数字信号与比特流处理。ASIC方案中,ASIC的工作能力是由开发者定义的,将ASIC设计成参数可控的工作方式。
但是ASIC一旦设计完成,投入生产后不可改变,同时ASIC的结构与功能的复杂程度的加大将导致成本不断提高。上述两种方案各有优缺点,在这里考虑到DSP的通用性、灵活性和易开发等特点,以及ARM的超强控制逻辑,设计了基于ARM+DSP的双核心架构基带芯片,使单芯片能够满足多种通信模式的需求。
1基带SoC设计
ARM内核具有良好的控制能力,在嵌入式系统中主要用来进行控制工作。作为主控CPU,首先要具有较低的功耗,主频要高,这样才能流畅地运行上层应用;另外,接口的种类也要多,从而可以使性能更好地进行数据交互。基于以上两点,硬件平台中选择了ARM1136JF作为SoC的主控核。ARM11的外设有视频VGA接口、音频IIS接口、串口、SPI接口、IIC接口、MPMC接口等,可外接NORFLASH、NANDFLASH、SPIFLASH、SD卡等存储芯片和一些其他满足通用接口的从机芯片。ARM1136JF处理性能约为1.2DMIPS,功耗可低至0.21mW/MHz。通过AHB和APB组成的64/32bit内部总线和外部模块相连。ARM11处理器的超强性能是由一系列的架构特点所决定的。
总的来说,ARMv6架构通过以下4点来增强处理器的性能:(1)多媒体处理扩展,使MPEG4编码/解码加快一倍,音频处理加快一倍;(2)增强的Cache结构,如实地址Cache,减少Cache的刷新和重载,减少上下文切换的开销;(3)增强的异常和中断处理,使实时任务的处理更加迅速;(4)支持Unaligned和Mixed-endian数据访问,使数据共享、软件移植更简单,也有利于节省存储器空间。ARM11处理器是为了有效的提供高性能处理能力而设计的。
在这里需要强调的是,ARM并不是不能设计出运行在更高频率的处理器,而是,在处理器能提供超高性能的同时,还要保证功耗、面积的有效性。ARM11优秀的流水线设计是这些功能的重要保证。ARM11处理器的流水线和以前的ARM内核不同,它由8级流水线组成,比以前的ARM内核提高了至少40%的吞吐量。8级流水线可以使8条指令同时被执行。从通常的角度说,过长的流水线往往会削弱指令的执行效率。
一方面,如果随后的指令需要用到前面指令的执行结果作为输入,它就需要等到前面指令执行完。ARM11处理器通过forwarding来避免这种流水线中的数据冲突,它可以让指令执行的结果快速进入到后面指令的流水线中。另一方面,如果指令执行的正常顺序被打断(如出现跳转指令),普通流水线处理器往往要付出更大的代价,ARM11通过实现跳转预测技术来保持最佳的流水线效率。这些特殊技术的使用,使ARM11处理器优化到更高的流水线吞吐量的同时,还能保持和5级流水线(如ARM9处理器中的流水结构)一样的有效性。
DSP主要进行数据运算,完成基带数字信号的实时处理。硬件平台中选择了DSP540作为数据信号处理器,DSP540具有4个乘法器和6个加法器,每个时钟周期最多可执行4条指令,是一款低功耗高性能的16位定点DSP。DSP540使用先进的软件开发工具链、SoC设计工具和一整套的立即可用的软件来开发音频处理、音/视频多媒体应用和其他更多场合的应用,并配备Z.Turbo加速器,允许SoC设计工程师通过指令集扩展或者协处理器实现加速处理器的性能。尤其是该核以双MAC核的系统成本实现了4MAC的功能、低能耗和同级最优的代码密度,这一优势使DSP540成为带多媒体应用的频带处理的极佳DSP。
1)时钟设计全部采用单一同步时钟系统,外部2Bit输入静态时钟切换信号,分别为zsp_clk_ena和ARM_clk_ena。ARM_clk_ena时,ARM11可以获得时钟,正常工作。当zsp_clk_ena为1时,无论内部zsp时钟控制管脚为何逻辑,DSP540都可以获得时钟,正常工作;当zsp_clk_ena为0时,DSP540受内部时钟控制,这个管脚下拉,所以不能获得时钟。这样就可以使得ARM可以控制DSP540时钟开关。
2)程序空间设计在双核设计中,一共有4块ram区供双核运行程序,分别是Iram、Dram、Sram、Share_ram。其中,Iram和Dram是zsp使用的区域,分别放置DSP540的程序的代码段和数据段,大小均为128KB,满足调制程序设计大小,可由ARM11向其中写入相应程序。Sram区供ARM11执行程序内存区,大小为256KB。还有一个Share_ram是双核共用,均可访问数据和执行程序,大小为256KB,用于对内存区的补充,这个区域最重要的目的还是实现双核之间信息交互。
3)双核交互设计双核为SMP结构,ARM11作为主控核负责控制DSP540和数据交互。ARM11的SFR寄存器区有两个寄存器sys_ctl和svc_ctl。通过配置sys_ctl,可以实现对DSP540的复位、开关以及模式转换;通过配置svt_ctl可以实现DSP540复位之后的程序入口,在相应区域下载程序,在Share_ram中放置数据,可以实现DSP540启动之后直接运行相应程序,处理相应数据。DSP540也可以将处理之后的数据放置在Share_ram中,然后向ARM11发出中断,让ARM11接收数据,实现了双核数据的双向交互。芯 片上电之后从Norflash中自举,初始化ARM,搬移DSP程序到指定区域,然后开启DSP时钟,复位DSP,ARM上执行操作系统或者其他管理软件,从DSP指定输出位置读取码流,然后再进行相应处理。
4)中断设计DSP540核中自带中断模块,包括两个定时器、外部中断等,可以通过程序配置。ARM11外挂INTC中断模块,有16个中断源,包括各个外设的中断,也可以接受DSP540发来的中断,进行数据接收。INTC作为标准AHB从机连接到CPU(ARM1136JF-S),FIQ和IRQ信号连接到CPU的FIQ和IRQ输入。外围设备的中断请求线连接到INTC模块的INTSRCx输入。为了确保最高向量地址寄存器(HVA)能用单独指令读取,INTC位于存储器上4K空间0xff00_0000。
2工作原理
1)信号处理模块DSP540是构成软件无线电系统硬件平台的主要器件,其高性能与低功耗使其成为各种无线和有线通信系统的理想器件。基于DSP540芯片仿真实现软件无线可以随时增加新的信号处理方式而无须改变系统的硬件结构。只要将新的设计重新下载到数字信号处理器件里即可,这一项工作可直接放在ARM主控程序中完成。DSP上电之前,ARM已经将调试好之后的程序搬移到DSP540的Iram和Dram,然后将DSP540的程序指针指向Iram区。DSP540在收到时钟开启、复位信号之后,开始执行程序,程序就是实现特定通信功能的函数,数据处理结束后,DSP540将处理后的数据流放入Share_ram中。Share_ram双核信息交互的重要区域。
2)控制模块在控制模块中,主体是ARM处理器。ARM处理器提供了一套基本的控制逻辑,用软件来控制信号处理模式的转化,使用者可以采用这种缺省的控制逻辑,也可以根据实际情况重新编写控制软件,这样就使系统的控制变得十分灵活。
ARM核上可运行操作系统、高层协议或者GUI等,也可只运行定制的专用通信程序。音频处理部分由ARM软解码或者ARM内自带解码器完成。数字调制解调在软件无线电基带中的实现验证了用DSP+ARM作为软件无线电数字信号处理芯片架构的可行性。利用DSP以及ARM的可编程性,可以在系统中实现各种通信模式的算法,充分体现了软件无线电的灵活性。
3)基带模块基带模块是完成基带信号的编解码,完成业务信息和控制信息的信道编码、解密等,其中信道编码包括卷积码、奇偶码、交织码等。
3平台使用
芯片的架构是ARM11+DSP双核心。DSP540使用先进的Zview开发套件。Zview是基于eclipse内核开发的软件工具,它由集成开发环境、编译器、汇编器、优化器、链接器、调试器、模拟器、和性能分析工具组成,使用方便,可实现DSP540代码的高效编译、灵活连接、在线调试等。按照信号的调制解调方式,编写完成c代码之后,可以通过debug窗口进行调试,调试过程支持单指令、单步、断点、全速、结束等操作。
程序调试结束之后,通过Zview自带工具,使用命令将执行文件转化为二进制文件,交付给ARM11搬移,实现ARM11对DSP540程序的控制。ARM11使用ARMRealview开发套件。ARMRealview是ARM公司将Realview与eclipse结合,经过16年的研究推出的ARM开发套件,可以为ARM架构提供最优异的支持。ARMRealview包含优化的标准C/C++编译器、链接器、汇编器、调试器、映像转换工具等等,可以实现C语言的高效编译、灵活链接和在线调试等。
对于ARM程序的调试,可以使用Trace32仿真器和调试软件。Trace32是由德国lauterbach公司研制开发的一款仿真测试工具。作为一种真正集成化、通用性系统仿真器可以组成多种方案,可以支持网络方案、实验室单机方案、异地光纤方案等,它具有全模块化、积木式结构、可支持Jtag接口和所有cpu,能够实现全双口仿真内存、实时内存查看、代码覆盖、16M的追踪缓存用于实时跟踪和触发、批处理语言(自动调试)等高级调试方法。
软件开发论文: 计算机软件开发中JAVA编程语言的应用
4结语
本文探讨了一种基于ARM+DSP非对称双核架构的软件无线电基带SoC芯片的设计方案,这种基带芯片实现了传统方案的小型化,使得单一芯片可以满足多种通信模式的需求,缩短了软件无线电的开发周期,对软件无线电的整体方案设计具有一定的参考价值,应用前景非常广阔。
参考文献:
[1]吴启晖.软件无线电在第三代移动通信系统中的应用与新进展[J].电信科学,2000,(7)
[2]Srikanteswara.SoftRadioImplementationsfor3GandFutureHighDataRateSystems.lobalTelecommunicationsConference,2001,Vol.6
[3]马忠梅.ARM嵌入式处理器结构与应用基础[M].北京:北京航空航天大学出版社,2007
[4]田泽.嵌入式系统开发与应用[M].北京:北京航空航天大学出版社,2010
[5]李驹光.ARM应用系统开发详解:基于S3C4510B的系统设计[M].北京:清华大学出版社,2003.12
[6]SteveFurber.ARMSoC体系结构[M].田泽,等译.北京:北京航空航天大学出版社,2002.10
[7]魏忠.嵌入式系统开发详解[M].北京:电子工业出版社,2003.1
作者:李晓雄,杜献娜,张宏科,张勇
转载请注明来自发表学术论文网:http://www.fbxslw.com/jjlw/28035.html