用于智能天线设计的多路信号源分析
时间:2009-09-17 18:31:55点击:次
1.引言
智能天线是由多个天线单元组成的天线阵列,但是传统的波形发生器多为两路,无法模拟智能天线所接收到的阵列信号。本文研制的多通路信号源,能同时产生独立且时钟同步的8路信号。通过可视化的操作界面对各阵元天线的波形进行设计。系统采用了板卡分离的设计使得系统有较强的扩展性,方便了工程人员对通信设备的各种设计。
2.系统基本原理
系统框图如图(1)所示。本系统采用DDFS的方法产生所需波形。PLD用于地址累加,RAM 用于波形存储,本系统采用51系列的单片机进行接口的控制。51系列单片机虽然是8位的单片机,但却是一个十分经典通用的单片机系列。它的操作简单,特别是与计算机的串口的连接,完全不用理会底层的操作。但是它也有一个致命的弱点--运行速度较低,计算性能较低,完全无法和具有流水指令集的DSP相比,因此无法直接使用它实现DDFS频率合成,所以须采用计算机生成波形数据,使用较高频率下工作的PLD器件推动RAM阵列合成所需的信号。
系统里波形存储没有采用一般的单一存储器的存储方法,因为在较高频率下无法使用非易失性存储器,若使用高速存储器SRAM,则在二次加电后数据将会丢失。这里使用了双存储器方法,即同时使用FLASH和SRAM存储数据,所需数据通过计算机计算后经串行口或USB口下载到FLASH中。以后每次加电,数据再从FLASH转移到高速RAM中进行DDFS合成。这样就可以弥补两者的不足。
前面已经介绍了本系统所使用的双存储器机制,这里再介绍一下各存储器的选型及工作方式。FLASH使用W29C040,它的写操作是按页操作,每页256个字节,容量为512K字节。SRAM使用的是ALLIANCE的AS7C3256-15,容量32K字节,速度为15 。经过电脑计算软件计算所得的数据经过计算机串口或USB口下载到系统板中,在每次加电后数据再从FLASH转存到RAM中。
在计算机下载中数据又分为从串口下载和USB口下载,数据如果从串口下载首先必须下载到RAM中,再一页一页的写到FLASH中,因为串口速率最高为128000波特率,接收一个字节的最短时间为 ,单片机在写完一个字节后写线就升高,由参考资料的时序可以看出若FLASH写线变高时间过长就会进入内部的写操作,因此接下载的数据将无法写入FLASH。为此必须先把256个字节数据写到RAM中再从RAM写到FLASH。如果使用USB接口,只要设置在高速状态下就可以直接写FLASH。
系统所采用的RAM数据位只有8位,而DA为12位所以必须由2片RAM合成一个12位的数据。但是如果这样,其中一片RAM 要丢掉一半的存储空间,所以使用3片RAM提供共24位数据给2片DA,这样节省了RAM空间,其电路如图(2)
系统的USB接口采用飞利浦的USB接口芯片PDIUSBD12。PDIUSBD12是一片USB接口芯片它可以把串行数据转换为8位的并行数据,符合通用串行总线USB 1.1 版规范,集成了FIFO存储器收发器以及电压调整器,可与任何外部微控制器/微处理实现高速并行接口2M 字节/秒,完全自治的直接内存存取DMA 操作,集成320 字节多结构FIFO 存储器,主端点的双缓冲配置增加了数据吞吐量并轻松实现实时数据传输,在批量模式和同步模式下均可实现1M 字节/秒的数据传输速率。
由于微处理器速度限制和数字滤波器运算量的要求,系统通常在中频部分进行数字化,然后再进入DSP进行处理。因此该系统产生的8路模拟信号最高输出为10.7MHz。理论上只要相位累加器的位数足够大相位分辨率可以足够精确,但综合考察目前存储器、计数器的技术水平,选择D/A转换速率不小于要求输出基带最高频率的四倍则。这里选取了AD9752。此芯片是美国AD公司生产的高性能DA器件。它是TxDACTM系列成员之一,其分辨率为12位,速率可达100MHz,它采用单一电源供电,范围为2.7-5.5V。 AD9752采用先进的COMS工艺。边缘触发锁存和1.2V的带补偿的内置参考电压,提供了完整的单片DAC解决方案。AD9752是差分电流输出,满量程为20mA,输出阻抗大于100kΩ。它的差分电流输出,支持单端或差分应用。电流输出可直接与电阻连接提供两个互补的单端电压输出,也可直接输入变压器,输出电压为1.25V。由于DA的时钟是在上升沿锁存数据,因此D/A数据的输入要考虑到在同时钟源下,会与下降沿锁数据的器件存在一个脉冲的时延,因此在它的时钟端加入了一个非门进行时钟的翻转。DA输出的信号须加以低通滤波器平滑信号,但由于所需信号为一个10.7M的带通信号所以可以用一个带通滤波器代替。
PLD使用的是MAX7128-15,在设计时使用了图形化参数宏模块(LPM)和硬件描述语言(AHDL)相结合的方法。PLD内部框图如图(3)。其中外部数据总线用于连接单片机的地址和数据总线。由于系统共用一套总线所以总线控制主要是进行总线的仲裁,使单片机不会与相位累加器产生总线上的碰撞。地址,数据总线用于连接RAM地址和数据总线,地址译码用于选择各个RAM。
3.电路板设计
在电路板的设计中发现,如果使用一块电路板则布线过长且有较多的信号反射。而且系统时钟走线很难达到一致。纵观此系统发现,此系统电路单元重复较多。所以采用了板卡分离的设计方法,即把单片机和可编程器件作为系统主板如图(4)左,而把DA和RAM作为一块扩展卡,每个扩展卡上有两路输出信号,通过总线扩展把他们连接起来。这样就可使用不同的扩展卡实现不同的系统功能,为系统更进一步的开发提供了很宽的空间。此外这样的设计也减小了系统的体积,提高了单元电路的利用率。
4.软件设计
控制程序设计
在单片机上所需实现的主要是各种端口的控制,没有较复杂的算法,因此只给出了程序的流程图,其中包括中断处理程序和上电复位初始化程序两部分。在初始化的时候对USB的初始化稍复杂,须进行USB总线的枚举,同步断点使能,模式设置等。各流程如图(5)
系统软件设计
系统软件采用VB编写,主要是完成数据的下载和波形的计算。对于数据的下载主要是对串口和USB的操作。在VB中有大量的控件可使用,使得各种操作变得简单。在下载程序中主要使用了Microsoft comm Control控件控制串行口的数据下载,这里得串口采用定时中断的方式发送数据。这是因为在单片机端为了设计简单没有进行数据的流控,因此数据可能会丢失。对于USB的操作VB需要调用Creatfile(),CreatFile(),WriteFile(),ClosseFile()等API函数。调用这些API需要进行申明,但是它的申明与C中有所不同,具体参考了VB中所带的“API文本浏览器”中的内容。系统软件除了负责下载还要负责进行波形的数据计算,此系统主要是给智能天线测试用,所以设计的软件只模拟天线阵列中8个天线接收的不同信号。它可以调整信号的数量,可以对每个信号进行幅度和相位的调整,并且可以模拟理想状态下的阵列输出信号,这样便可以与所要测试的系统进行比较。图(6)是软件界面。图中只显示了两路信号,图(7)是用示波器显示的与图(6)相对应的系统输出波形。