首页 新闻资讯 技术资料 论坛 网站地图
开发工具 AD/DA 接口电路 综合电子技术 CPLD/FPGA 电源系列 消费电子
电子元器件搜索:
IC库存(8958万) PDF资料(329万) IC价格 IC求购 资讯 技术资料
维库电子市场网是知名的电子元器件交易网站, 为电子生产企业提供IC库存和技术资料查询服务。
位置: 首页 > 详细信息
  基于FPGA和SRAM的数控振荡器的设计与实现
出处:综合电子论坛 时间: 2007-10-09
点点雨 发布于 2006-10-23 20:05:29
表情基于FPGA和SRAM的数控振荡器的设计与实现

1 引言

    数控振荡器是数字通信中调制解调单元必不可少的部分,同时也是各种数字频率合成器和数字信号发生器的核心。随着数字通信技术的发展。对传送数据的精度和速率要求越来越高。如何得到可数控的高精度的高频载波信号是实现高速数字通信系统必须解决的问题。可编程逻辑器件和大容量存储器的发展为这一问题的解决带来了曙光。本文介绍如何用FPGA(现场可编程逻辑门阵列)和SRAM(静态随机存储器)实现高精度数控振荡器。

2 NCO概述

    NCO(Numerical Controlled Oscillator)即数控振荡器用于产生可控的正弦波或余弦波。其实现的方法目前主要有计算法和查表法等。计算法以软件编程的方式通过实时计算产生正弦波样本.该方法耗时多且只能产生频率相对较低的正弦波.而需要产生高速的正交信号时,用此方法无法实现。因此,在实际应用中一般采用最有效、最简单的查表法,即事先根据各个NCO正弦波相位计算好相位的正弦值。并以相位角度作为地址把该相位的正弦值数据存储在表中,然后通过相位累加产生地址信息读取当前时刻的相位值在表中对应的正弦值,从而产生所需频率的正弦波。

    用查表法实现NCO的性能指标取决于查表的深度和宽度,即取决于表示相位数据的位数(查表存储器地址线的位数)和表示正弦值数据的位数(查表存储器数据线的位数)。改善NCO性能最简单和最根本的方法是加大查找表的深度和宽度。目前,用查找表法实现NCO的普遍做法是用片内ROM作为查找表,由于片内资源的限制,查找表的深度和宽度一般不会很大(通常为256x8 bits),大大限制了NCO性能的提高。用独立的大容量SRAM作为查找表,把查找表从片内移到片外,可以较好解决这个问题。基于这种思想,笔者成功地用FPGA(Xilinx公司的XC2V1000型门阵列)和SRAM(Cypress公司的CY7C1021型存储器)实现了NCO。

3 NCo的实现

3.1 结构设计

    用FPGA和SRAM实现的NCO的结构如图1所示。大框内部分是由FPGA完成.主要部件分为频率控制字寄存器、相位控制字寄存器、通道控制字寄存器、累加器、加法器、通道选择器和锁存器等。微处理器对NC()进行控制,可用单片机或DSt,(数字信号处理器)实现。


点击看原图

3.1.1 频率控制字寄存器、相位控制字寄存器、累加器和加法器

    频率控制字寄存器和相位控制字寄存器都是32位并行输入,并行输出寄存器,它们通过微处理器接口进行读写。频率控制字寄存器确定载波的频率.相位控制字寄存器确定载波的初始相位。32位累加器对代表频率的频率控制字进行累加运算,累加结果与代表初始相位的相位控制字通过32位加法器进行相加运算.相加结果的高16位数据读取查找表的地址信息。频率控制字寄存器、相位控制字寄存器、累加器和加法器可以用VHD[.语言描述,集成在一个模块中,其VHDL源程序如下:


点击看原图

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示


axw_peng 发布于 2006-10-23 21:40:14
表情顶!!!
zhan_cl 发布于 2006-10-24 10:15:09
表情不错的文章
联想中国 发布于 2006-10-31 16:05:18
表情看看先
doliya19821001 发布于 2007-10-9 15:38:59
表情感谢楼主
关闭】 【打印
相关专题  
接口电路
嵌入式软件
工业控制
嵌入式开发新闻
CPLD/FPGA
存储器
嵌入式系统
开发工具
数控系统
应用产品
嵌入式硬件
AD/DA
汽车电子
传感控制
医疗电子
计算机外设
软件开发
测试测量
军工/航空航天
电源系列
安防产品
综合电子技术
SOPC
消费电子
通信产品

© 2007 百斯嵌入式开发网 网站地图