基于ADSP-BF533的数字通信信号发生器设计与实现
扫描二维码
随时随地手机看文章
0 引言
在通信对抗的研究中,要想模拟出真实数字通信信号场景,数字通信信号发生器是不可或缺的仪器。而市面上的通信信号发生器价格十分昂贵,功能也比较简单。而且这类通信信号发生器的输出码元不可控,信噪比及干信比也不能动态调节,因此无法模拟多种调制类型通信信号的混合环境,用作通信对抗系统的性能测试信号源极为不便。所以开展高精度通信信号及噪声干扰波形的重构方法研究工作,具有重要的理论意义和实用价值。
1 ADSP-BF533芯片简介
ADSP-BF533是Blackfin系列的中高性能产品,专门针对多媒体(特别是视频处理)和通信方面的各种应用。其内部包含2个乘/累加器(MAC),2个40位的ALU,4个视频ALU和1个40位移位器。BF533内核工作时钟可高达600MHz。运算单元处理来自寄存器组的8位、16位或者32位数据。
BF533的每个MAC每周期可完成一个16位乘16位的乘法运算,并可把结果累加到40位的累加器中,同时可提供8位的精度扩展。其ALU单元执行标准的算术和逻辑运算,两个ALU可处理16或32位的数据,运算单元具有很大的灵活性.因此可以满足各种应用中信号处理的要求。
ADSP-BF533把存储器视为一个统一的4GBytes的地址空间。所有的资源,包括内部存储器、外部存储器和I/O控制寄存器,都占据公共地址空间中相应的部分,并且相互独立。此地址空间的各部分存储器按分级结构排列,以提供高性能价格比。高速、低延迟、小容量的存储器(如CACHE或SRAM)的位置非常接近处理器,而低速、高延迟、大容量、低成本的存储器(如SDRAM或Flash)远离处理器。
BF533内的L1存储器是内核中性能最高最重要的存储器;L2存储器用以提供额外的存储能力,性能较低:片外存储系统通过外部总线接口单元(EBIU)进行访问;异步存储器单元可以连接4个异步存储器bank或IO接口,每个bank可支持最大1MBytes物理寻址空问;同步存储器单元可以由SDRAM进行扩展,可以访问多达128MBytes的物理存储空间;存储器的DMA控制器提供高带宽的数据传输能力,能够在内部L1/L2存储器和外部存储器空间之间完成代码或数据的块传输。
另外,ADSP-BF533还提供一个可直接与并行A/D和D/A转换器、符合ITU-656标准的视频编码和解码器以及其它通用外设连接的并行接口(PPI)。PPI包括一个专用时钟引脚、多达3个帧同步引脚和多达16个数据引脚。PPI的通用模式分为4种主要的工作方式,即:内部产生帧同步中信号的数据接收,外部产生帧同步信号的数据接收,内部产生帧同步信号的数据发送,外部产生帧同步信号的数据发送。每种每个PPI_CLK时钟周期可传送高达16bits的数据,广泛应用于各种数据采集和数据传输的场合。
2 系统硬件设计
数字通信信号发生器系统分为两大模块:微型计算机模块和波形产生模块。其中微型计算机为通用计算机或PC,波形发生模块为设计的信号发生板卡。图1所示为系统总体框图。
通用微型计算机首先根据用户输入的参数.分别产生各种类型的数字调制信号和高斯窄带白噪声及各种类型的干扰信号,然后将数据通过USB接口传送到信号发生板卡。信号发生板卡再通过波形产生控制器循环取出通信波形存储器和干扰/噪声存储器中的数据,最后通过DAC产生连续的数字通信信号波形。图2所示为系统硬件设计框图。
硬件设计中的DSP1为整个系统的核心,可直接和微型计算机通信,并且控制着DSP2的加载和运行。DSP1的加载方式为BMODE 01方式,从外部Flash加载;DSP2为BMODE 10方式,通过SlaveSPI接口加载。
DSP1首先接收微型计算机通过USB接口传送的波形数据包,并将数据包中的通信波形或通信环境波形数据以MDMA方式传送到通信/通信信号环境波形数据存储器(SDRAM1)。同时将噪声数据以SPI MDA方式传送到DSP2的内部RAM中,然后在DSP2接收后,将噪声/干扰数据以MDMA方式分别存储到噪声/干扰数据存储段(SDRAM2)内。DSP1通过SPI非DMA方式传送信噪比/干信比参数到DSP2的内部RAM中。其中通信数据的高位(D15)为基带码流数据,D14为同步信号,用于测试基带码流。
系统中,所有波形参数的采样频率为10MHz,数据容量为16 M×16位,可存储1.5秒钟的波形数据。数据有效位数为14位。DSP1通过PPIDMA方式直接从SDRAM1中循环读取通信波形数据传送给DAC1,产生通信波形。DSP2利用程序产生随机地址,得到MDAM0的起始地址,然后将存储的噪声波形数据从SDRAM2中读入DSP2内部RAM中,并且根据信噪比在内部RAM中进行幅度加权,然后通过PPI DMA传送给DAC2,产生噪声波形。若包含干扰信号,DSP2需要通过MD-MAl将干扰数据读入内部RAM,并根据干信比在内部RAM中进行幅度加权,然后和噪声叠加,再通过PPI DMA输出到DAC2来产生干扰与噪声的混合波形。其中PPI时钟PPI_CLK信号均由各DSP的定时器产生。
两个DAC的位数是14位,并且设置为4倍插值方式,即DAC输入数据率为10MSPS,输出转换速率为40MSPS。DAC转换需要的时钟与PPI_CLK共用,DAC连接在BF533PPI总线的低14位PPI13~PPI0。基带码流通过DSPl的PPI15引脚输出,同步信号通过DSP1的PPI14引脚输出,经过74AC11244驱动输出波形。
DAC输出的模拟信号后经过AD8054缓冲放大,再经信号和噪声合成后分为两路,可作为测试波形和信号源。
若需要模拟通信信号环境,需要在微型计算机中计算多种信号的叠加数据,然后传送到通信/通信信号环境数据存储器(SDRAM1)中,其它过程均与通信方式相同。此模式下不能测试基带码流,但仍可测试同步信号。
3 系统软件设计
系统中的微型计算机采用Windows 2000/XP操作系统,其USB驱动程序由DDK开发,控制应用程序可通过VS2005进行开发。计算机可根据用户的输入参数产生2ASK、2FSK、8FSK、2PSK、2DPSK、QPSK、QDPSK等通信信号或者它们几种混合的通信环境信号,窄带高斯白噪声和噪声干扰、局部频带干扰、梳状干扰、相关干扰信号.并可将数据打包后通过USB接口发送到信号发生板卡。随后由计算机通过发送控制命令字的方式来处理数据,主要是开始输出波形、停止输出波形,更新波形数据,更新通信信号环境波形数据,更新干扰/噪声数据,更新信噪比或干信比。
系统的软件设计主要是针对BF533进行编程。Blackfin系列DSP在软件方面支持C语言和汇编语言,同时支持二者的混合编程。C语言程序结构好、可读性强、易移植,但对于中断的处理速度慢。汇编语言处理速度快但可读性差,不易调试。C和汇编混合编程结合了各自的优势,能构造出结构好且执行速度快的程序。本系统的软件程序流程图如图3所示。另外,在编程过程中主要注意以下事项:
(1)无论用C还是汇编,系统中只有一组相同的寄存器可供使用,因此要使用这些寄存器,子函数必须先保存,返回之前恢复。
(2)要严格按照寄存器的类型来使用,不同类型的寄存器不可混用。
(3)尽量节省寄存器资源。
(4)为了提高代码运行的速度,要善于使用并行指令。
在本系统中,中断与DMA方式运用较多,主要用到了PF中断、MDMA中断、SPI DMA中断和PPI DMA中断,系统中断控制器可控制所有的系统中断,并且管理他们的优先级。DMA不需要内核参入,在DMA运行中内核可以用于计算也可以响应中断。
系统上电后,DSP1先从Flash中读取自身的加载代码,然后再从Flash中读取DSP2的加载代码通过SPI接口传送到DSP2加载DSP2,最后再初始化系统时钟、SDRAM、NET2272USB控制芯片,进入等待微机用户指令状态。
4 结束语
该数字通信信号发生器只需要在通用微机或者PC机上安装软件即可实现,其成本低,效率高,实时性好,特别是在通信对抗信号源模拟方面,更是显示了无可比拟的优越性。