基于dsp数字信号处理器软件无线电系统的设计与实现内容摘要:

有64路独立通道的增强型直接内存访问控制器(EDMA); 1个数据管理输入/输出模块(MDIO); 1个I2C总线模块; 3个32位通用定时器; 1个符合IEEE。 L1高速缓存16kBC64xDSP内核SDRAML2高速缓冲存储器 256kB增强型的DMA控制器视频端口0L1数据缓冲区16kB视频端口2视频端口1MCASP10/100Mbit/s 以太网66MHz PCIEMIF DM642结构示意图、软件实现的选择标准的软件无线电采用模块化结构的宽带A/D和D/A及高速DSP来建立VME公共硬件平台,支持并行、流水线及异种多处理机;将射频、中频、基带和比特流部分组装在一个VME系统中,来完成无线电系统的基本的功能;用工作站将用户接口、研究工具、开发工具和本地信源编码/解码等都集成在一起,提供对系统的软件支持。 天线、VME分系统和工作站构成一个完整的软件无线电系统结构。 软件无线电系统的硬件平台的实现方案主要有四种:DSP方案、FPGA方案、ASIC方案以及计算机工作站方案。 计算机工作站功能是最多的,开发工具也非常多,系统扩展性和现场可编程性都非常强,但是尺寸和成本却太高; FPGA现场可编程性和系统扩展性很好,但是功能较少;ASIC虽然系统扩展性强,但是功能却一般,且无现场可编程性;DSP功能和现场可编程性都比较强,尺寸和成本以及系统扩展性也相当适中,所以一般都采用基于DSP硬件平台来设计的方案。 从上面的分析我们可以得出,现在DSP运算能力仍然非常有限,如果只用DSP来实现软件无线电是基本不可能的,有些处理,例如解调解扩都可以放到FPGA上,FPGA的芯片容量效率较高,它的规模取决于匹配滤波器的带宽和性能、同步算法的复杂性、相关处理的复杂性等。 实施不同的调制和解调,在DSP的主要区别在于在其软件实现,编程就行了主程序调用相应的软件模块。 这也是软件无线电技术多模块实现思想的具体体现。 滤波器ADCFPGAFIFODSP系统天线FIFODAC麦克风 一种基于DSP的软件无线电硬件平台在这里DSP系统可以包含单个或者多个通用DSP,例如可以用2片TMS320DM642, FIFO可以自动存储转换结果,DSP芯片也可以有外部资源。 另外,用可配置的数字ASIC加上DSP来实现软件无线电的灵活性,还可以使用多用途调制解调芯片(MMC)[15],它包括了由ASIC所实现的调制解调函数、先进的功率管理、一个可编程的DSP核心,以及一些个输入输出的接口逻辑。 可以做到的窄带干扰抑制的MMC卡,数字到数字的转换,调制和解调,电源管理等,它们是由可编程DSP核心控制ASIC电路来完成。 因此,为减小DSP的工作压力可以采用专用的、高编程的硬件来完成高速的滤波和处理,当然,这些专用的可编程硬件是常见的,这种混合的DSP的软件无线电结构仍能满足设计要求。 基于DSP的硬件设计是日前可以具体实现的设计,通用性、灵活性都非常好,也相对开发较容易,性能较好。 软件无线电的软件结构可以采用基于OSI参考模型的分层软件体系,支持开放式的模块化设计。 软件无线电是整体可编程的,包括无线电频段,信道接入方式和信道调制。 但也与使用软件控制的数字无线通信之间的重要区别。 凡DSP需要处理与信道编码,正交数字上变频和多速率信号处理,在这里特定的DSP编程不再赘述。 DSP编程语言C和汇编语言,软件编程相对简单,但它的编程通常是串行处理,而不是平行的,它仅仅是在芯片之间的平行,但FPGA可以实现高性能并行,这就是为什么我们介绍FPGA的一个重要原因。 出于同样的算法,使用不同的编程效率是不同的,人工用高级语言编程效率比汇编语言编写的命令级,高级语言程序比通过软件工具自动生成的算法编程和高效率。 选择什么样的编程取决于对系统资源的紧张程度。 灵活应用软件无线电的基本硬软件模块,可使软件无线电设备对传播条件具有多种自适应能力,多种抗干扰能力,灵活可变的多址方式,用户需要的多种业务及多种组网与接口能力等。 实现软件无线电的硬件平台主要包括以下四类:数字信号处理器(DSP)方案、专用集成芯片(ASIC)方案、现场可编程逻辑器件(FPGA)方案以及计算机工作站方案。 下面对这四种方案的优缺点作一个系统比较。 表 四种硬件平台方案特点比较性能方案 功能尺寸成本现场可编程性系统扩张性开发难度通用DSP多适中较低强好一般ASIC一般大高无好较难FPGA少小较高强较好难计算机工作站很多很大很高强很好很难考虑到 DSP 的通用性、灵活性和开发调试方便容易等特点,所以本系统选用以DSP 为核心的硬件系统作为软件无线电系统的设计研究平台。 本系统是一个单通道通信系统,DSP芯片作为数字信号处理部分的硬件核心,系统的核心结构采用DSP+A/D+D/A。 在系统的发送端,A/D将采样的基带信息送至DSP,经DSP处理后产生的调制信号送至D/A转换成模拟的调制信号,然后模拟混频器电路增大到无线频率范围内的频率调制信号,并通过天线发射出去。 在接收端,将天线接收的调制信号由滤波放大后,由混频器将高频信号转换成中频信号送至 A/D,A/D 采样后送至DSP进行信号的解调,最后将解调出的基带信号经 D/A转换送至低放输出。 这种方案,开放性强,可实现通过软件编程参数或波形的变化,而不用重新设计一个新的硬件平台,可以实现各种通信系统的互联互通,覆盖不同的频段,以支持不同的通信格式,网络,调制和解调,编码和解码方法。 大多数通用DSP信号处理的其他部件,如高速FFT和扩频匹配滤波器等,用于完成,以实现实时处理,可以实现使用专用处理器,通用DSP工作过程降低系统压力,提高其系统运作性能[16]。 第三章 系统硬件设计 系统总体方案概述本系统是以DSP为核心,是基于DSP的软件无线电系统建立的一个平台,是一个单信道的发射器和一个接收器。 通过加载不同的软件程序包实现AM调制与解调。 该系统具有很好的兼容性,通用性和开放性。 整个系统平台可分为发送系统与接收系统,这两个系统除了模拟端部分不相同之处以外,DSP系统部分采用了以DSP芯片TMS320DM642为核心的硬件系统,发送系统完成语音信号的低通采样、调制以及数模转换,接收系统则完成调制信号的低通采样、解调以及数模转换,系统硬件框图如图 所示。 通用DSPJTAG仿真外部时钟外部时钟窄带A/DD/A基带信号调制信号PC开发软件窄带A/DD/A射频前端射频信号语言信号 系统硬件框图在图 所示的系统硬件框图中,DSP 完成数字信号处理算法的实现等功能。 计算机是开发平台,本设计中用 ,DSP通过计算机的USB端口与计算机进行通信,计算机可以将DSP的程序通过 JTAG 口加载到DSP的程序存储器(RAM, Random Access Memory)中,或者也可将程序先烧写在闪存flash芯片中,利用DSP片内的Boot loader 并行引导程序将flash 中的应用程序引导到DSP片内独立运行。 这种方案用软件编程来实现用户改变参数或波形,而无需重新设计和建立无线电设备,可以实现各种通信系统的互联互通,覆盖不同的频段,以支持不同的通信格式、网络、调制、编码等。 大多信号的处理都选择用通用可编程DSP来处理,另一部分则用如高速FFT和扩频匹配滤波器等,为达到实时处理要求,用专用处理器实现,基于DSP硬件的设计是目前可实现的一种设计与研究[17]。 它的设计通用性、灵活性比较好,开发比较容易,性能比较好。 我们选择一个比较实用的折衷方案,采用专用的、高可编程性的数字下变频器来完成高速的滤波和处理,以减小对DSP的处理速度上的压力。 并且只要这些专用硬件是通用的而且可以由软件控制,这种硬件与DSP的混合结构仍然符合软件无线电系统的设计要求。 A/D 转换器在 DSP 的外围电路中,A/D转换器是一个十分重要的器件,用来使输入的模拟信号量化为数字信号,为后续的 DSP 处理做准备。 本设计采用的是 TI 公司专为 DSP配套制作的一种A/D转换器TLV320AIC23。 TLV320AIC23语音编解码模块是TI公司通用的语音处理模块。 TLV320AIC23是一款高性能的立体声音频芯片,内置耳机输出放大器,支持MIC和LINE IN两种输入方式(二选一),且对输入和输出都具有可编程增益调节。 AIC23的模数转换(ADCs)和数模转换(DACs)部件高度集成在芯片内部,采用了先进的Sigma-delta过采样技术,可以在8K到96K的频率范围内提供16bit、20bit、24bit和32bit的采样,ADC和 DAC的输出信噪比分别可以达到90dB和100dB。 与此同时,AIC23还具有很低的能耗,回放模式下功率仅为23mW,省电模式下更是小于15uW。 由于具有上述优点,使得AIC23是一款非常理想的音频模拟I/O器件。 在TI的很多DSK和EVM上都使用。 DSK上一般使用的模拟输入是麦克风或者是立体声输入,将其转换成数字数据存入缓冲区被DSP处理。 DSP处理完成后将数字数据转换成模拟数据从耳机或者立体声输出。 硬件设计多通道语音串行接口(McASP)是专门为多通道语音应用而优化的多用途通道。 McASP 包括发送部分和接收部分,两者是可同步运行或者相互独立。 AIC23B的数据传输口可以和DM642的McASP接口无缝连接。 AIC23B的数据口如下所述:BCLK:数据口位时钟信号,当AIC23B为从模式时,该时钟由DSP产生;AIC123B 为主模式时,该时钟由AIC23B 产生。 LRCIN:数据口 DAC 输出的帧同步信号。 LRCOUT:数据口 ADC 输入的帧同步信号。 DIN:数据口 DAC 输出的串行数据输入。 DOUT:数据口 ADC 输入的串行数据输出。 TLV320AIC23B 的工作模式共有 4种,分别是Right justified,Left justified, IS Modes, DSP Mode。 采用 DSP 模式与 DM642 连接。 此时 AIC23B 设为主模式,McASP的接收时钟与帧同步信号都由AIC23B 来提供。 McASP设置为TDM 模式,每帧 4 个slot。 由于这里只使用了一个AIC23B 芯片,因此只激活第一个slot,每接收(或发送)一帧信号,即收到AIC23B传输过来的一个字,此时的XDATA(或 RDATA)被置1,并触发一个EDMA通道开始数据传输。 MODECSDinDoutAXR[0]AXR[1]TLVAIC23BTMS320DM642ACLKX(R)BCLK LRCINLRCOUTAFSXAFSRSCLSDASCLKSDIN 图 AIC23B和DM642的连接图。 系统上电后首先完成自己的初始化,包括 RAM 的配置、中断的开放和屏蔽等,然后就是 EDMA,I2C,AIC23B,MCASP等的设置。 语音信号每160个点为一帧,因此每个buffer长度为160个字,AIC23采集数据后,经由 EDMA 通道,送入接收 pingpong 缓存中,当 ping(pong)缓存满了以后,向DSP发出中断,DSP 响应后开始数据处理,对该帧信号加汉明窗,进行帧长20 ms,帧移10 ms的分帧处理。 因此处理后的信号每帧有160个点,帧移为80点。 经过判决处理后,然后将数据发往发送pingpong 缓存,由 EDMA 发送到AIC23B中。 开始EMIFA设置中断初始化McASP初始化AIC23B初始化EDMA初始化 转换流程图第四章 系统软件的设计与实现 DSP系统的设计和实现。 在进行DSP系统设计之前,首先要明确设计任务,给出设计任务书。 在设计任务书中,应该将系统要达到的功能描述准确、清楚。 描述的方式可以是人工语言,也可以是流程图或算法描述。 在此之后应该把设计任务书转化为量化的技术指标。 结合DSP系统的设计,这些技术指标主要包括:(l)系统采样。 (2)由采样的算法所需最大时间及系统对实时程度的要求判断系统能否完成工作。 (3)由数据量及程序的长短决定片内RAM的容量,是否需要扩展片外RAM及片外RAM容量。 (4)由系统所要求的精度决定是16位还是32位,是定点还是浮点运算。 (5)根据系统是计算用还是控制用来决定对输入输出端口的要求。 根据要求写出任务说明根据任务确定技术指标确定DSP及外围芯片总体设计确定软硬件分工软件设计说明软件编程和调试系统集成硬件设计说明硬件硬件调试 DSP总体设计流程图系统测试首先采用高级语言或MATLAB等对算法进行仿真,确定最佳算法并初步确定参数,对系统中的哪些功能用软件实现,哪些功能用硬件实现进行初步的分工。 完成了上述总体设计之后,就可以进入软硬件设计。 DSP的软件编程既可以用汇编语言又可以用C语言,极大地方便了DSP开发人员。 然而用C语言编写的程序效率往往不太高。 在实时性要求比较高的场合仍采用汇编语言。 软件设计和编程主要根据系统要求和所选的DSP芯片编写相应的DSP汇编程序,若系统运算量不大且有高级语言编译器支持,也可用高级语言(如C语言)编程。 由于现有的高级语言编译器的效率还比不上手工编写汇编语言的效率,因此在实际应用系统中常常采用高级语言和汇编语言的混合编程方法,即在算法运算量大的地方,用手工编写的方法编写汇编语言,而运算量不大的地方则采用高级语言。 采用这种方法,既可缩短软件开发的周期,提高程序的可读性和可移植性,又能满足系统实时运算的要求。 而DSP硬件的设计主要是根据系统要求选用合适的器件,设计系统,作出系统原理图,检查。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。