3.1.2通道控制字寄存器和通道选择器
通道控制字寄存器和频率控制字寄存器与相位控制字寄存器的结构完全一样.都是32位并行输入/并行输出寄存器,通过微处理器接口进行读写。通道控制字寄存器仅用最后一位对通道选择器进行控制。通道选择器是二选一复用器.当Sel控制端为O时选择通道l,当Sel控制端为1时选择通道2。通道选择器作为SRAM与FPGA的接口.每个通道不仅包括16条地址线,而且还有3条控制线和32条数据线。在图l中,为了使NCO的结构更加清晰,通道选择器的控制线和数据线没有表示出来。 3.1.3 SRAM和锁存器
SRAM是64Kx32的高性能静态RAM.由2个CY7C102l(64KXl6)并联构成,用作查找表。SRAM通过微处理器进行配置,直接存放2路、1个周期、65 536个16位载波样本(高16位存放正弦波,低16位存放余弦波)。虽然SRAM是异步器件,但由于工作速度极高,在简单控制逻辑配合下完全可以工作在同步模式下。NCO工作时.控制逻辑(用VHDL语言描述)通过通道l使SRAM的控制信号线处于读有效电平,用相位地址直接驱动SRAM.从SRAM读出的数据进入32位锁存器.分2路直接输出.不需要任何地址和数据转换逻辑。用于锁存器的时钟和用于累加器、加法器的时钟在相位上相差180°,这是由SRAM的开关特性决定的。 3.2 NCO的工作过程
NCO工作前必须对SRAM进行初始化.图2示出NCO的工作流程。首先,微处理器向通道控制字寄存器写入1,使通道选择器选择微处理器接口。然后.微处理器对SRAM进行配置.向SRAM中写入载波样本.接着,微处理器向频率控制字寄存器和相位控制字寄存器写入频率控制字和相位控制字,确定载波的频率和初始相位.最后,向通道控制字寄存器写入0.通道选择器选择通道l,使NCO处于工作状态。此时微处理器可以对频率控制字寄存器和相位控制字寄存器进行动态读写,实现对NCO的动态实时控制.完成NCO频率与初始相位的调整。
3.3 NCO性能评估
按照上述结构.笔者设计了一种NCO系统。该系统的工作时钟为80MHz.用DSP作为微处理器。通过系统测试.该NCO的性能指标达到了设计要求,频率分辨率△f=O.0186Hz,信噪比(SNR)在100dB以上.图3示出NCO的典型特性曲线。
|