微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > 在SoPC上实现波形发生器

在SoPC上实现波形发生器

时间:09-03 来源:互联网 点击:
2.2 DDS IP的实现

数字直接频率合成技术(Direct Digital Frequency Synthesis,简称DDS或DDFS)的基本原理是利用采样定理,通过查表法产生波
形,其基本电路原理如图5所示。

DDS的频率及步进容易控制,且合成的频率取决于累加器及查找表的速度,采用FPGA可以很好的发挥这项优势,获得精细的步进及宽频带。使用HDL硬件描述语言,可以很方便的描述出DDS的FPGA硬件实例。在基本的DDS模块上,添加相应的控制寄存器,通过向不同的寄存器内写入相应的控制字,实现频率以及幅度的可控性。最后通过IBM CoreConnect技术,在DDS模块外面添加总线接口,作为自定义IP,成功地将其挂载到系统总线上,便可以方便的对其进行读写操作,实现DDS模块与MicroBlaze的通信。图6是从用户逻辑到成为符合IBM CoreConnect技术规范的DDS IP的实现过程。

DDS的VHDL代码作为子模块与opb_core_ssp0_ref.vhd模块共同构成opb_DDS IP Core,其中ipif(IP InterFace )符合IBM CoreConnect规范,负责DDS逻辑与OPB总线之间的通信。在EDK中,通过Create/Import IP工具把opb_DDS添加到系统中,并为其分配地址,建立端口连接,之后就可以使用该IP了。DDS IP配合控制程序可产生各种波形,并对频率、幅度进行精确的控制。

2.3 其余部分

系统所需要的LCD显示、DAC控制等模块,均通过与生成DDS IP相同的方式,编写为符合IBM CoreConnect总线规范的IP,以供使用。

在硬件系统构建完毕之后,使用Platgen工具生成网表文件和Bitgen工具生成相应的硬件配置文件。若将工程导入到ISE软件中,可以进行优化设置,还可以将工程导入到其他的综合工具如Synplify Pro进行实现。IP核的编写是在ISE中完成的。无论对于整个系统还是一个单独的IP,都可以利用Modelsim工具进行行为及时序仿真。最后,为此系统描写XBD(Xilinx Board Description)板级描述文件,通过此文件,EDK可以通过BSB(Base System Builder)模式自动生成基本的硬件系统,并对所添加的端口进行约束,这样可以实现资源的继承性使用。


图5 DDS原理硬件实现图



  图6 DDS IP的实现方式示意图

3 软件系统的实现

EDK提供了免费的GNU C Compiler,可以支持标准C。同时,EDK为多种IP以API的形式提供了驱动函数,有利于程序的开发。XPS所集成的软件工程管理工具允许在一个硬件平台上同时开发多个软件工程。完成软件代码的编写后,使用EDK集成的XMD和GDB调试器对代码进行仿真和调试,也可以配合ChipScope(片内逻辑分析仪)进行硬件及软件的协同调试。XMD通过MDM模块和JTAG口连接目标板上的CPU,GDB可以对程序进行单步调试或断点设置。针对本设计及应用,编写了系统控制及液晶显示程序。程序编译后生成为elf文件,通过Update bitstream工具把程序同硬件配置文件合成为Download.bit文件,把此文件下载到目标板后,FPGA首先根据硬件配置信息建立硬件系统,并把程序代码映射到片内BRAM中,最后启动MicroBlaze,运行程序。

4 总结

本系统基于FPGA,以MicroBlaze为核心,加入具有良好特性的DDS IP,并辅以必要的外围电路,构成了高度集成化的系统。另外,SoPC系统的柔性配置,使得可以基于此系统扩展片外存储器,并可以实现RTOS操作系统的移植,以实现更丰富的功能和完成更复杂的任务。

参考文献

1 徐欣,卢启中,于红旗. 基于FPGA的嵌入式系统设计. 北京:机械工业出版社,2004
2 高吉祥,丁文霞. 电子技术基础实验课程与设计. 北京:电子工业出版社,2002
3 Xilinx Software tools User Guide
[table][/table]

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top