2 基本单元的设计
 图2 两路PN码的初步设计图
PN码产生器包括两种:码长分别为1023位的码产生器及261 888位的截短码产生器,初步的设计如图2所示,PNMZ为码钟,产生RESET信号同时复位长、短码产生器。
Gold码由两路小M序列异或组成,下面介绍210-1位码产生器的设计:
PN码的本原多项式为:

初相 A:0010011100
B:1001001000
 图3 210-1位PN码发生器的FPGA设计图
210-1位PN码产生器的FPGA设计如图3所示。pnmz为码钟输入端;pnm_reset为PN码的复位端;pnm为码输出端;q1为码全“1”信号输出端。当复位脉冲信号来到后,移位寄存器在码钟推动下从设定的初值开始左移,左移移位寄存器的高位先出,产生小M序列。两路小M序列异或产生PN码。两路比较器产生的信号相与后输出全“1”信号。PN码产生器划分成的下一级基本单元,包括移位寄存器、比较器、与门、异或门,都可以直接用EDA元件库里的元件。
扩频调制器的FPGA仿真
 图4 两路PN码的功能仿真图
 图5 两路PN码的时序仿真图
工程上,FPGA的仿真类型可分为功能仿真和时序仿真(或称前仿真和后仿真)。功能仿真是未经布线和适配之前,使用原始设计综合之后的文件进行仿真。时序仿真,即将FPGA设计综合之后,再由FPGA适配器(完成芯片内自动布线等功能)映射于具体芯片后得到的文件进行仿真。
本文选用QuartusII3.0集成的仿真工具进行波形仿真。对设计的主要模块在通过综合之后,首先进行功能仿真,验证原始设计的正确性,验证设计结果的逻辑功能是否符合原始规定的逻辑功能。通过功能仿真之后,在设计中考虑器件延时后,再进行布局布线后的仿真,通过观察波形和数据,可验证是否能满足时序要求,是否能得到预期的值。
在设计过程中,作者针对主要的电路模块进行了仿真,包括:PN码产生器、信息注入电路、并/串转换电路等。下面介绍扩频调制器两路PN码产生器的仿真及设计改进过程。
1 PN码产生器的功能仿真
扩频调制器的两路PN码产生器,I路短码的初相是“10,1101,0100”,Q路长码的初相“00,0010,0000,1010,0100”(码初相指两路小M序列初相异或后的初值)。初始的设计见图3。对设计综合过后,进行功能仿真。仿真结果说明:两路PN码起始同步,PNI起始相位:10,1101,0100;PNQ起始相位:00,0010,0000,1010,0100。原始设计符合要求。仿真结果如图4所示。(PNMZ为码钟;RESET为复位信号;PNI、PNQ为I、Q两路PN码;QUANI、QIANQ为I、Q两路PN码全“1”信号。)
2 PN码产生器的时序仿真
通过功能仿真之后,对设计进行布局布线编译,然后进行时序仿真。发现可能会在PN码序列中产生毛刺信号,并通过多次仿真发现复位信号也可能产生毛刺信号,导致I、Q两路信号起始不同步,如图5所示。
 图6 改进后的两路PN码设计图
 图7 改进后的PN码时序仿真图
作者对电路进行改进,将复位信号、PN码信号、全“1”信号上加上D触发器,用码钟打一次,消除电路毛刺。改进后的电路如图6所示。
再次进行时序仿真,发现毛刺消除,PN码产生正常,说明两路PN码电路设计正确,可以作为经验证的基本单元加入扩频调制器的FPGA设计。
结束语
本文介绍了一种扩频通信调制器的FPGA设计实现方法,着重说明了PN码产生器的设计仿真过程,形象地阐述了FPGA自顶向下的设计思想及详尽的设计流程。FPGA在无线通信工程领域的应用已非常普遍,掌握一种好的设计方法对电子设计师们很重要,希望本文对读者有所帮助。 |