你的位置:EETOP 赛灵思(Xilinx) 社区 >> >> 全部 >> 详细内容

扩频通信芯片STEL-2000A的FPGA实现

发布者:jackzhang 时间:2011-02-20 20:43:11

  扩频通信因其很好的保密性、隐蔽性、抗干扰性以及抗多径效应等优势得到了快速发展和广泛应用。因此,许多公司推出了各种型号的扩频集成电路,典型的有STEL-2000A,该芯片因外围电路简单而得到了广泛应用。

  然而,由于该芯片是基于专用集成电路(ASIC)技术,其内部电路和大部分功能已经固化,对不同的场合缺乏灵活性,对以后系统升级也造成很大困难。而现场可编程门阵列(FPGA)内部资源丰富,功能强大,并且可重复编程,现场可修改设计,加之其相应的EDA软件功能完善,仿真能力好,有丰富的IP核资源,在成本和灵活性等方面都有很大优势,使得利用FPGA进行复杂数字系统的设计已成为主流。

  近几年来国内外有许多学者利用FPGA对扩频通信系统中的某一个模块进行设计,如:数控振荡器、PN码发生器、匹配滤波器。也有学者尝试对整个系统进行设计,但这些努力大多仅限于软件上的功能仿真,并且对一些关键模块缺乏清晰的描述。

  本文对扩频芯片关键模块的实现方法进行了阐述,并推导出详细参数,基于ISE 10.1实现了整个系统,最后下载到FPGA芯片中调试成功。

  1 STEL-2000A系统的整体框架

  1.1 发射子系统

  在发射子系统中,如图1所示,输入的串行二进制数据序列首先进行串并转换,分成两路(I路和Q路)速率减半的序列,由于采用QPSK调制方式,为了避免相位模糊问题,在串并转换后进行差分编码,然后将差分编码器的输出序列与PN码生成器输出的伪随机序列进行异或运算,完成信号的频谱扩展,再将扩频输出的两路数据分别与数控振荡器(NumericallyContmlkd Oscillator,NCO)的两路正交载波输出各自相乘,最后将相乘后的结果相加,这样就实现了DQPSK调制,输出的是数字化的已调信号。

发射子系统

  1.2 接收子系统

  接收系统要完成数字中频信号到基带信号的转换、信号的捕获、同步、解扩、差分解调以及并串转换等功能,如图2所示。进入接收系统的是经正交采样 (Quadraturc Samping)后的数字中频信号,经下变频器生成基带信号,再将其输出送入匹配滤波器。在匹配滤波器中,主要实现信号的同步与解扩。解扩后的数据进行差分解调,差分解调过程中的中间结果送入自动频率控制(Automatic Frequency Control,AF-C)模块以生成校正信号来自动调整NCO的输出频率,最后将解调输出数据经并串转换便得到原始数据序列。

接收子系统

  2 关键模块分析与实现

  2.1 NCO模块

  NCO采用Xilinx公司提供的直接数字式频率合成器(Direct Digital Synthesizer,DDS)IP核,DDS的工作原理如图3所示,在参考时钟的驱动下,N位加法器对频率控制字K和N位累加寄存器中的值进行相加,相加后的结果存入累加寄存器中,以累加寄存器中的值为地址将波形存储器里相应地址的数据读出,即输出正弦或余弦信号的幅度值。

DDS的工作原理

  累加寄存器长度为N,则波形存储器2N用个样点来表示正弦波的一个周期,地址每次累加K相当于每隔K个点输出一次,输出一个完整的正弦波需要时间公式,则DDS的输出频率fout满足关系式公式。当K取1时输出频率为最大频率分辨率公式。参数设置主时钟为100 MHz,△f=1.0 Hz,可得N=27,由于要求的输出频率为2 MHz,可得:K=2 684 355。据此对DDS IP核进行元件例化程序如下:

程序

程序

  2.2 下变频模块

  下变频模块主要是将输入的数字中频信号进行数字式下变频,从而产生基带信号,即待解扩的信号。设输入信号是经正交采样后的数字中频信号:

公式

  式中,I_PN和Q_PN为扩频后的信号,ω为本地NCO产生的正弦和余弦信号的角频率。

  让输入信号与本地NCO产生的正弦与余弦信号进行相乘,即:

公式

  这里需要4个乘法器和2个加法器,由于对乘法器的速度要求较高,本系统调用了Virtex-II Pro开发板上FPGA芯片XC2VP30的硬核乘法器。将Iout和Qout进行低通滤波就得到基带信号。

  对于低通滤波器的实现,STEL-2000A使用了积分清洗滤波器(Integrate and Dump Filter,I&D)。本系统采用比较成熟且实现方便的级联积分梳状(CIC)滤波器来实现低通滤波的功能。该滤波器由加法器、反相器和延时器构成,不需要乘法器,这比一般的FIR和IIR节省很多FPGA资源。实现框图如图4所示,fs为采样频率。

实现框图

  系统中CIC滤波器参数的设置为:M=1,N=4,R=20。为了保证运算不发生溢出,可以根据公式:公式,计算出内部需要的最大信号线宽度。在本系统中输入信号线宽度B=3,则取BMAX=20。为减少后端匹配滤波器的运算量,取CIC滤波器输出的高三位近似。

最新课程

  • 深入浅出玩儿转FPGA

    本视频基于Xilinx公司的Artix-7FPGA器件以及各种丰富的入门和进阶外设,提供了一些典型的工程实例,帮助读者从FPGA基础知识、逻辑设计概念

  • 从零开始大战FPGA基础篇

    本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“

  • Verilog基础及典型数字

    课程中首先会给大家讲解在企业中一般数字电路从算法到流片这整个过程中会涉及到哪些流程,都分别使用什么工具,以及其中每个流程都分别做了