当前位置:首页 > 芯闻号 > 技术解析
[导读]本文将介绍基于模型的DDS芯片设计以及它的实现,如果你对芯片设计过程存在兴趣,不妨继续往下阅读哦。

芯片设计在芯片行业具有重要地位,对于芯片设计,大家或多或少有所耳闻。为增进大家对芯片设计的了解,本文将介绍基于模型的DDS芯片设计以及它的实现。如果你对芯片设计过程存在兴趣,不妨继续往下阅读哦。

一、引言

1971 年,美国学者J.TIerncy.C.M.Rader 和B. Gold 应用全数字技术,从相位概念出发给出了直接合成波形的一种新的频率合成原理, 这就是DDS ( Direct DIGITAL Synthesizer),直接数字合成技术。近几年超高速数字电路的发展尤其是大规模超高速FPGA 技术日渐成熟,以及对DDS 的深入研究,使得DDS 的最高工作频率以及噪声性能已接近并达 到与锁相频率合成器相当的水平。与其它频率合成方法相比,DDS 具有频率转换时间短、 频率分辨率高、输出相位连续、可编程、全数字化、易于集成等突出优点。本文提出的方法 基于Xilinx 公司和它的合作者联合提出的XtremeDSP 解决方案,从系统结构设计直接映射到基于FPGA 的DSP 系统硬件实现。在这种基于模型的设计技术中,利用Simulink 的图形化界面由系统的技术条件建立系统的数学模型,通过算法对模型进行仿真优化,再转化成IP 核实现。System generator 同Simulink 模型工具结合,可以将算法参数化、最优化,并可 自动从行为级的系统模型转换到FPGA 实现,不需手工重设,从而避免了繁琐的编程工作,大大节省了开发时间并降低了出错的概率。

二、DDS 的基本原理


三、在MATLAB 中建立的DDS 模型并在ISE 中实现

3.1 建立DDS 模型

Simulink 是一个可用于多领域动态系统仿真的平台,为动态系统提供建模和分析的方法,提供交互的图形化方框图环境带有为信号处理、通信和控制等可定制的模块集。System Generator 就是Xilinx 公司的一个专有模块集(Blockset),它是Simulink 的一个插件, 包括基本DSP 函数和逻辑算符,其中包含的预先定义好的模块可以保证FPGA 实现时位和周期的正确。用它可以自动生成VHDL 语言、测试向量等文件,还可以自动将特定的设计模块 映射成高度优化的IP 核模型。在本文介绍的设计中,最后生成的工程文件中就自动映射出一个累加器核和一个单口块ROM 核。

根据DDS 控制原理在MATLAB 环境中建立如下的模型(图1):其中在存储正弦数据的RO中设定Depth 为:4096,IniTIal Value Vector 为:2047*sin(pi*(0:4095)/2048)+2047,即让System Generator 在编译过程中自动产生一个存储4096 个正弦数据的ROM。为了配合 使用开发板上的D/A 模块,ROM 中的每个值设置成12 位无符号数。Accumulator 模块用来进 行相位的累加,AddSub 模块将相位偏移量与相位累加值相加,作为ROM2 的地址输入。在仿真前,设置相位控制字为PWord=512,由公式算出移相后的波形应该较基准正弦波偏移 ;

设置频率控制字FWord=4,将仿真时间设置为2048,这样 从理论上我们应该可以看到两个周期的完整波形输出。运行仿真,可以在Scope 中观察到如图2.1 中波形。改变控制字的值,就可以得到不同频率、不同相位的波形(图2.2)。

3.2 在ISE 中实现并仿真

点击System Generator 图标中的generate 按钮,生成可综合的VHDL 代码,并在ISE 中打开。先对代码使用Synthesize-XST 进行综合,通过之后可以观察到系统RTL 级视图。然后创建一个.tbw 文件对综合后的设计进行仿真,能够得到和MATLAB 环境下一样的仿真结果(按照正弦规律变化的离散数值序列)。为了能够在实验板上实现设计,在ISE 环境中建立 顶层文件,将System Generator 产生的文件与PicoBlaze 的控制程序文件结合,再进行对 应的功能仿真,正确后加载约束文件,生成比特流文件。

四、设计的硬件实现

选择在Xilinx 公司的Spartan-3E Starter Kit 开发板上实现整个设计。在该开发板 上,有一片LTC2* D/A 芯片,通过一个SPI 接口与FPGA 管脚相接,能够提供4 路独立的模拟量输出。为了便于对D/A 芯片以及各种控制接口的控制,在实现过程中使用了一个 PicoBlaze 软核。

PicoBlaze 是一个紧凑型、资源占用极少、完全嵌入式的8 位精简指令集 微控制器软核。我们可以在文本编辑环境下根据PicoBlaze 的指令系统编写自己的控制代码,然后保存为.psm 格式的文件,再用Xilinx 的KCPSM3 assembler 对文件进行编译,编译通过后自动生成一个储存用户程序的ROM(VHDL 文件)。将生成的ROM 文件和KCPSM3 软核加载到工程中,并建立上层文件对各输入、输出口及中断进行配置,这样,一个PicoBlaze 软核就设计成功了。在PicoBlaze 的控制程序中采用软件中断方式控制D/A 芯片以20KHZ 的频率对数字量采 样。在每个采样过程中,由PicoBlaze 软核控制向D/A 芯片发送32 位控制字,其中有12 位待转换的数字量、4 位通道选择控制字、4 位模式控制字,其余各位为0。在ISE 中对主时钟进行软件分频,将开发板上原本50MHZ 的时钟降低到100KHZ 之后再接到DDS 产生电路 的输入时钟端口。这样, 在FWord = 4的情况下, DDS 的输出频率输入时钟可以直接接入50MHZ 的晶振,这样,在同样频率控制字的情况下输出频率也会相应提高。这里分频只是为了配合相对低速的D/A 芯片,以使得输出波形每个周期的采样数相对 多一些,以便于用示波器进行观察。

将生成的比特流代码下载到目标板,板上的开关信号作为用户接口控制FWord 的值,控制不同开关的关闭和开启,模拟不同频率控制字的情况,得到不同频率的波形,用示波器观察开发板上J5 连接器的A 通道,得到如图3 的波形:观察波形,与由公式计算出的理论值吻合,证明了本文所介绍的方法的有效性、可行性。在ISE 的设计使用摘要窗口中,我们可以清楚的看到该系统所占用的芯片资源极少,由此可见,如果我们加大ROM 的深度,并且 通过DCM 时钟管理提高主时钟频率的话,能够很容易的实现更高频率、更高精度的DDS 芯片。

以上便是小编此次带来的“芯片设计”相关内容,通过本文,希望大家对DDS芯片的设计与实现具备一定的了解。如果你喜欢本文,不妨持续关注我们网站哦,小编将于后期带来更多精彩内容。最后,十分感谢大家的阅读,have a nice day!

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

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭