当前位置:首页 > 模拟 > 模拟
[导读]在高可靠应用领域,如果设计得当,将不会存在类似于MCU的复位不可靠和PC可能跑飞等问题。CPLD/FPGA的高可靠性还表现在,几乎可将整个系统下载于同一芯片中,实现所谓片上系统,从而大大缩小了体积,易于管理和屏蔽。

在高可靠应用领域,如果设计得当,将不会存在类似于MCU的复位不可靠和PC可能跑飞等问题。CPLD/FPGA的高可靠性还表现在,几乎可将整个系统下载于同一芯片中,实现所谓片上系统,从而大大缩小了体积,易于管理和屏蔽。所以,本文将在对DDS的基本原理进行深入理解的基础上,采用多级流水线控制技术对DDS的VHDL语言实现进行优化,同时考虑到系统设计中的异步接口的同步化设计问题,把该设计适配到Xilinx公司的最新90nm工艺的Spartan3E系列的FPGA中。

1 DDS基本原理及工作过程

一个基本的DDS由相位累加器、波形存储器ROM、D/A转换器和低通滤波器组成,如图1所示。

 

<center>

 

在图1中,fc为时钟频率,K为频率控制字(N位),m为ROM地址线位数,n为ROM数据线宽度(一般也为D/A转换器的位数),f0为输出频率。DDS的基本工作过程如下:每来一个时钟脉冲fc,加法器将频率控制字K与累加寄存器输出的累加相位数据相加,把相加后的结果送至累加寄存器的数据输入端。其中相位累加器由N位加法器与N位累加寄存器级联构成,累加寄存器将加法器在上一个时钟脉冲作用后所产生的新相位数据反馈到加法器的输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。由此可见,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位,相位累加器的溢出频率就是DDS输出的信号频率。用相位累加器输出的数据作为波形存储器ROM的相位取样地址,可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换。波形存储器的输出送到D/A转换器,D/A转换器将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号,由低通滤波器滤除杂散波和谐波以后,输出一个频率为f0的正弦波。输出频率f0与时钟频率fc之间的关系满足下式:

 

 

由式(1)可见,输出频率f0由fc和K共同决定,保持时钟频率一定,改变一次K值,即可合成一个新频率的正弦波。DDS的最小输出频率(频率分辨率)△f可由方程△f=f0/2N确定。可见,频率分辨率在fc固定时,取决于相位累加器的位数N。只要N足够大,理论上就可以获得足够高的频率分辨精度。另外,由采样定理,合成信号的频率不能超过时钟频率的一半,即f0≤f0/2,因此频率控制值的最大值Kmax应满足Kmax≤2N-1。

2 DDS的优化设计与实现

采用VHDL硬件描述语言实现整个电路,不仅利于设计文档的管理,而且方便了设计的修改和扩充,还可以实现在不同FPGA器件[4]之间的移植。以下采用VHDL语言,探讨对FPGA实现DDS电路的三点优化方法。

2.1 流水线累加器

在用FPGA设计DDS电路时,相位累加器是决定DDS电路性能的一个关键部分。为使输出波形具有较高的分辨率,本系统采用32位累加器。但若直接用32位加法器构成累加器,则加法器的延时会大大限制累加器的操作速度。因此,这里引入了流水线算法,即采用4个8位累加器级联结构,每级用一个8位累加器实现该部分相位相加,然后将进位值传给下一级做进一步累加。这样可大幅提高系统的工作速度。但由于累加器是一个闭环反馈电路,因此必须使用寄存器,以保证系统的同步、准确运行。具体实现如图2所示。

 

 

2.2 相位/幅度转换电路

相位/幅度转换电路是DDS电路中的另一个关键部分,设计中面临的主要问题就是资源的开销。该电路通常采用ROM结构,相位累加器的输出是一种数字式锯齿波,通过取它的若干位作为ROM的地址输入,而后通过查表和运算,ROM就能输出所需波形的量化数据。考虑到正弦函数的对称性:在[0,2π]内,正弦函数关于x=π成奇对称,在[0,π]内,关于x=π/2成轴对称。因此,在正弦查找表中只须存储相位在[0,π/2]的函数值。这样,通过一个正弦码表的前1/4周期就可以变换得到整个周期码表,节省了近3/4的资源,非常可观。具体实现如表1所示,为节省ROM资源,取相位累加器输出的高8位做为ROM的输入地址,其中最高位(MSB)控制对输出信号符号的处理,次高位(MSB-1)控制对输入地址的处理。

 


 

当MSB-1为‘0’(一,三象限)时,对查找地址phase(5...0)不做任何处理;当其为‘1’(二,四象限)时,对phase(5...0)取反。ROM的输出为10位数据,其中最高位为符号位。当MSB为‘0’(一,二象限)时,输出信号符号位为‘0’,低9为ROM中的幅度数据;当其为‘1’(三,四象限)时,输出信号符号位为‘1’,低9位为ROM中的幅度数据的相反数的补码。ROM的VHDL实现的主要部分如下:

architecture Behavioral of rom is

signal sin:STD_LOGIC_VECTOR(8 downto 0);

signal temp:STD_LOGIC_VECTOR(5 downto 0);

begin

temp<=phase when MSB-1=′0′ else

not phase;

process(temp)

begin

case temp is

when ″000000″=>

sin<=″000000000″;

…… --正弦查找表由MATLAB生成

end case;

end process;

data_out<=″0″ & sin when MSB=′0′ else

″1″ & not sin+″000000001″;

end Behavioral;

2.3 同步接口电路设计

在使用DDS时,需要为其提供频率控制字K的值,一般通过中央控制单元MCU来完成,其以数据总线及写时钟信号的方式与FPGA内的DDS实体进行通讯,同时DDS在FPGA内部又是在本地时钟fc驱动下运行。由于MCU的写时钟和FPGA内的本地时钟异步,两者之间进行通讯难免存在数据不稳等问题,特别是在通讯速度较高时,这一异步接口问题会更加突出。为了实现异步接口的同步化,本文提出了如图3所示的接口同步电路。

 

3 硬件实现及仿真结果

本文使用VHDL 语言对各个模块及DDS系统进行描述。顶层文件如下所示:

Entity dds is

Port(reset:in std_logic;--全局复位信号

fre:in std_logic_vector(7 downto 0);

--频率控制字输入

clk:in std_logic;

--系统时钟

fwwrn:in std_logic;      --频率控制字写信号

gen:in std_logic_vector(0 downto 0);--波形控制字

amp_out:out std_logic_vector(9 downto 0));

--正弦波幅度输出

end dds;

architecture Behavioral of dds is

component fcwld--接口同步模块

Port(reset:in std_logic;

clk:in std_logic;

fre:in std_logic_vector(7 downto 0);

fwwrn:in std_logic;

syncfreq:out std_logic_vector(31 downto 0));

--合成频率控制字

end component;

component accumulator        --流水线累加器块

Port(reset:in STD_LOGIC;

clk:in STD_LOGIC;

syncfreq:in STD_LOGIC_VECTOR(31 downto 0);

phase:out STD_LOGIC_VECTOR(7 downto 0));

--相位高八位输出

end component;

component rom--波形存储器模块

Port(phase:in STD_LOGIC_VECTOR(7 downto 0);

gen:in STD_LOGIC_VECTOR(0 downto 0);

amp_out:out STD_LOGIC_VECTOR(9 downto 0));

end component;

为了对DDS进行评估,将以上设计在Xilinx公司的开发软件中进行了设计及优化,目标器件为其最新的90nm工艺器件Spartan3E中最小器件XC3S100E-4VQ100C,该设计所占用的FPGA资源如表2所示。

 

center>

 

由表2可以看出,本文给出的DDS设计占用资源很少,由于XC3S100E的市场价格在2美金左右,故本设计所占的硬件成本可以缩减到0.2美金左右。同时在ISE8.2中该设计的系统时钟最大达到159.6MHz。以上的设计性能几乎和现有的专用芯片相当,但成本下降很多。

为了进一步验证本文给出的DDS设计系统在功能和时序上的正确性,对其进行了时序仿真,使用的仿真软件为Modelsim6.1。仿真结果表明,该DDS系统可以运行在较高的工作频率下。

本文在对DDS的基本原理进行深入理解的基础上,通过采用三种优化与设计技术:(1)使用流水线累加器在不过多增加门数的条件下,大幅提高了芯片的工作速度;(2)压缩成正弦查找表,在保证芯片使用精度的情况下减少了近3/4面积,大大节约了ROM的容量。(3)采用同步接口电路设计方案,消除了系统的接口不稳定性。同时使用VHDL语言实现了优化,并把该设计适配到Xilinx公司的最新90nm工艺的Spartan3E系列的FPGA中,实际结果表明了本文给出的DDS设计方案在硬件开销方面的优势。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

-CAS推出CAS IP Finder,旨在改进知识产权搜索 AI增强解决方案深化搜索功能,优化用户体验  俄亥俄州哥伦布2025年9月9日 /美通社/ --...

关键字: FINDER IP ST AI

柏林2025年9月9日 /美通社/ -- 总部位于迪拜的生活方式科技品牌ASTRAUX强势亮相2025年柏林国际电子消费品展览会(IFA),首次推出的三款原创产品引发广泛关注,成功将品牌推向绿色出行与智能生活领域的舆论焦...

关键字: ST COM AI GLOBAL

北京2025年9月5日 /美通社/ -- 近日,2025年中瑞商业大奖颁奖典礼在北京举行,SGS通标标准技术服务有限公司(以下称SGS通标)作为瑞士SGS在中国的分支机构荣获了传承奖的殊荣。SGS通标北京总经理...

关键字: 可持续发展 ST AI ABILITY

RighValor现已基于Synaptics® Astra™ SL1600系列SOC运行,提供隐私至上的实时边缘智能。 加利福尼亚州帕洛阿尔托2025年9月5日 /美通社/ -- 边缘分布式代理AI先驱企业Righ今日...

关键字: 智能家居 SYNAPTICS AI ST

马萨诸塞州剑桥2025年8月20日 /美通社/ -- 今天,晶泰科技(2228.HK)宣布与韩国领先的制药企业——韩国Dong-A ST(东亚公司)签署合作备忘录(MOU),...

关键字: 泰科 AI 机器人 ST

上海2025年7月25日 /美通社/ -- 昨日,在首届上海国际低空经济博览会现场,昂际智航与翊飞航空科技正式签署ES1000型号铁鸟及101工程实验样机飞控电子集成和试飞支持合同。此次采购合同签署标志着双方自2024年...

关键字: 运输机 飞控系统 EV ST

杭州 2025年7月16日 /美通社/ -- 近日,当美国加征关税,欧美市场增长持续承压之际,米奥兰特以"会展+AI"的创新模式在越南、印尼、阿联酋三地相继启动新兴市场开拓行动。依托技术赋能与本地化...

关键字: AI 中国制造 ST 数据驱动

新加坡 2025年6月11日 /美通社/ -- 在近日由新加坡资讯通信媒体发展局(IMDA)主办的2025年新加坡亚洲科技大会(ATxSG)核心活动—亚洲科技峰会(ATxS...

关键字: 新加坡 IO 生成式AI ST

香港 2025年6月4日 /美通社/ -- 全球领先的互联网社区创建者 - 网龙网络控股有限公司 (“网龙”或“本公司”,香港交易所股票代码:777)欣然宣布,公司创始人兼...

关键字: AI EDA TE ST

论文展示了前沿生成式人工智能平台及其集成工作流程在快速开发ISM5939中的赋能,验证了人工智能在药物发现中的潜力。 不同于直接STING激动剂,ISM5939通过靶向ENPP1精准调控肿瘤组织内的STING信...

关键字: AI ST ISM BSP
关闭