在SOPC上实现的波形发生器

发布者:大头玩家最新更新时间:2006-09-27 来源: 单片机及嵌入式系统应用关键字:总线  波形  模块  寄存 手机看文章 扫描二维码
随时随地手机看文章

引 言

  SoPc可编程片上系统是一种特殊的嵌入式微处理器系统。首先,它是片上系统(SoC),即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,以FPGA为硬件基础,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件系统在线可编程的功能。

  IP(Intellectual Property)知识产权是SoC设计中非常重要的内容。资源复用(IP Reuse)是指在集成电路设计过程中,通过继承、共享或购买所需的部分或全部知识产权内核(IP Core)进行设计、综合和验证,从而加速流片设计过程的设计方法。IP技术包含两个方面的内容:IP核的生成和IP核的重用。本设计中采用VHDL语言,构建一个功能强大的完整DDS模块,并根据IBM CoreCon-nect总线连接规范,在DDS模块外面添加OPB(On-chipPeripheral Bus)片上外设总线接口,封装为自定义IP,添加到硬件系统中。

  对于本设计来说,利用SoPc和IP的优势是可以利用最少的元器件,创建一个易配置、易扩展、易修改并且易于继承使用的集成系统。该系统的创建是基于Xilinx公司提供的嵌入式开发工具包EDK(Embedded DevelopmentKit)来实现的。EDK自带了MicroBlaze软核和PowerPC硬核微处理器及大量免费IP,有利于构建简易系统。针对MicroBlaze及PowerPC提供的C语言编译器,可使系统的功能实现更加简易。对基于MicroBlaze的系统,Mi-croBlaze通过OPB总线与外设IP及外部存储器控制接口相连接,通过LMB(Local Memory Bus)总线与FPGA片上块存储器BRAM(BlOCk RAM)相连接,还可以通过EMC(External Memory control)等存储器控制IP扩展片外RAM或ROM。

1 系统的架构

  本设计采用SoPC可编程片上系统的思想,利用Xil-inx的spartan3系列XC3S400 FPGA,通过EDK开发工具包的集成开发环境XPS(xilinx Platform studio)完成了FPGA硬件系统设计及基于此硬件系统的软件开发。图1是基于EDK的系统开发设计流程图,设计分为硬件设计和软件设计两部分。硬件设计符合基于HDL硬件描述语言的EDA开发流程,是根据硬件系统合理使用总线IP和外设IP,并为各个实例定义地址范围以及输出端口和时钟,经过综合及布线后形成硬件配置文件。软件设计与传统的嵌入式软件开发设计类似,是在硬件设计的基础上根据处理器所支持的指令集以及编译环境编写程序代码,然后对代码编译烧写及调试。

  该设计通过FPGA实现所有数字部分。系统的示意图如图2所示。

  在FPGA内部,以MicroBlaze为控制核心,以DDSIP为波形发生功能实现核心,同时加入了其他的IP核,诸如调试用的 MDM(Microprocessor Debug Module),用于与PC进行通信的UART(Universal AsynchronousReceiver&Transmitter)通用异步传输模块,以及LCD显示和4×4按键控制模块,实现了系统的高度集成。FPGA硬件系统为数字系统产生数字量,外围电路加上高速数模转换器件DAC902,把波形数据转换为模拟波形,即实现了完整的可编程片上系统的波形发生器。

2 硬件系统的具体实现

  本设计以32位MicroBlaze软核处理器为系统的核心部分,负责指令的执行。各种IP包括自主编写的以及EDK自带的,使用XPS下的ADD/Edit Cores工具,通过相应类型的总线连接到MicroBlaze上。其中UART、LCD、GPIO和自主编写的DDS的IP都是通过OPB(On-chipPeripheral Bus)片上外设总线连接到处理器上的。程序存储器RAM则是由FPGA内部的BRAM实现,并通过LMB(Local Memory Bus)本地存储器总线与MicroBlaze相连接。自主编写的IP与总线间的接口符合CoreConnect规范,实现了IP间的无缝结合,方便了数据的读写及时序控制。图3给出了在FPGA内部由各种IP组合成的可编程硬件系统。

  硬件系统所包含的器件如图3右部分所示。Microb-laze_0是该系统的CPU,其中的debug—module为调试模块,dimb_cntlr和ilmb_cntlr为片上BRAM控制器。Lmb_bram为片上BRAM,它通过LMB总线与BRAM控制器相连,接受CPU的读写访问。DDFS是为实现DDS编写的IP模块。RS232为UART模块,用于与其他设备的通信以及程序调试。LCD IP负责128×64点阵液晶的显示控制。COL和ROW是例化后的GPIO接口,用于连接4×4键盘。

2.1 MicroBlaze软核处理器


  MieroBlaze是Xilinx提供的32位微处理器IP核,是哈佛结构的RISC微处理器,有较高的性能。它可以在性价比很高的SpartanIII系列FPGA上实现。EDK为其提供了MB-GCC,支持C及C++语言。MicroBlaze架构如图4所示。

  该处理器含有32个32位的通用寄存器,2个专用寄存器,独立的32位数据和指令总线,并与IBM的OPB总线完全兼容,具有32位的指令宽度支持三个操作数和两种寻址模式,以及可选的硬件乘除法及浮点运算单元。

2.2 DDS IP的实现

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

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

  DDS的VHDL代码作为子模块与opb_core_ssp0_ref.vhd模块共同构成opb_DDS IP Core,其中ipif(IP InterFace)符合IBM CoreConnect规范,负责DDS逻辑与OPB总线之间的通信。在EDK中,通过Create/ImpottIP工具把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)模式自动生成基本的硬件系统,并对所添加的端口进行约束,这样可以实现资源的继承性使用。

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

关键字:总线  波形  模块  寄存 引用地址:在SOPC上实现的波形发生器

上一篇:基于ARM-Linux和CDMA的远程视频监控系统
下一篇:嵌入式MPEG-2远程网络视频监控系统的实现

推荐阅读最新更新时间:2024-05-13 18:14

STM32的多个ADC模块如何同时采样转换详细应用实例说明
在STM32家族里,多数系列芯片内含2到3个ADC模块,有的甚至更多,比方G4系列可以有5个ADC模块。其中,通道数因不同的系列或型号多少不等,几个到几十个的都有。有时,我们可能需要多个ADC模块同时工作,比方3个ADC模块同时采样转换。这时如果芯片内含有3个ADC模块,并支持同时采样转换就很方便。比方STM32F4系列、STM32F7等其它系列都含有3个ADC模块,并支持同时AD采样转换。 这里就3个ADC模块同时进行采样转换应用,做个简单实现示例,以供有需要的用户参考。此时3个ADC模块会建立主从关系。以STM32F4芯片为例。内部大致框架如下: 采样转换时按如下图示操作,每次对分别属于3个ADC模块的3个通道进行AD
[单片机]
STM32的多个ADC<font color='red'>模块</font>如何同时采样转换详细应用实例说明
基于CAN/LIN总线的汽车通信网络设计与实现
   引言   随着汽车电子技术及网络技术的不断发展,人们对汽车安全性、可靠性的要求也越来越高,为了解决由汽车电子元器件的增加而带来的通信问题,这就要求采用一种高速、多路、共享的汽车通信网络。目前,已经开发出多种总线,如CAN(Controller Area Network)控制器局域网 ,LIN(Local Interconnect Network)局域互联网,FlexRay,Most等。但CAN和LIN构成目前汽车上最广泛的总线形式。本文主要介绍已得到众多汽车制造商推崇的网络技术---CAN 总线和LIN 总线技术。    CAN总线、LIN总线简介及各自通信协议   CAN总线及LIN总线简介   20世纪80
[嵌入式]
大联大世平推出基于TI产品的小尺寸电机控制模块参考设计
电子网消息,致力于亚太地区市场的领先半导体元器件分销商---大联大控股宣布,其旗下世平力推基于德州仪器(TI)TIDA-01389的小尺寸电机控制模块参考设计,可用于汽车天窗和车窗的控制、刷式直流电机驱动器、工业步进驱动等系统。 大联大世平此次推出的小尺寸电机控制模块参考设计师基于TI的TIDA-01389模块,此参考设计还包括两个用于对电机位置进行编码的TI DRV5013-Q1锁存霍尔传感器: TIDA-01389模块是一种单通道H桥栅极驱动器,它使用四个外部N通道MOSFET,旨在驱动一个双向刷式直流电机。其内部集成的PH/EN、独立H桥或PWM接口允许轻松连接到控制器电路。内部感测放大器提供可调的电流控制。该模块通
[半导体设计/制造]
纺织生产控制系统中现场总线技术的研究及应用设计
   随着计算机技术、通信技术和控制技术的发展,现场总线技术逐渐被广泛运用到工业控制系统中,在纺织工业中也开始得到应用。本文介绍了现场总线的基本原理,对现行的几种现场总线进行了比较,在分析总结数字化纺织生产控制系统发展新特点的基础上,介绍了现在国内外纺织行业在应用现场总线方面的情况。     1 引言     随着我国纺织工业持续快速的发展,现代纺织技术将以电子信息技术为主导,以智能化生产为主要特征 。目前,国产纺织机械设备控制系统的开发多侧重于实现单台设备的纺织工艺性能自动化,将机器所具有的先进功能封闭在单机系统内,而忽略了系统的网络化构成,其结果势必使机器的结构(特别是其控制系统)愈来愈复杂,使机器成为纺织企业自动化体系中的
[嵌入式]
一种PCI总线仲裁器的设计与实现
随着VLSI/ULSI技术的发展,可编程逻辑器件EPLD/FPGA越来越受到人们的青睐,由于它具有集成度高、速度快、开发周期短、费用低、用户可定义功能及可重复编程和擦写等许多优点,其应用领域不断扩大。这些器件的灵活性和通用性使得它们已成为研制和开发复杂数字系统的理想选择。 在PCI总线技术规范的基础上,采用EPLD实现了高速PCI总线背板中多主控设备的总线仲裁。 1 PCI总线的仲裁机制 PCI总线仲裁是基于访问而不是基于时间片,也就是说,对于一个PCI总线主设备,必须为它在总线上进行的每次访问提出仲裁要求。PCI总线上采用的是并行仲裁(也叫独立请求仲裁)方案,其仲裁机制如图1所示。在这种仲裁中,每个主控器各有自己独立
[嵌入式]
DC/DC电源模块在绣花机控制系统中的应用
我国的纺织业历史悠久,加入世贸组织后更是成为世界第一纺织品生产大国,这给刺绣业带来了宽阔的发展空间。绣花机是随着电子技术和机电一体化技术的发展而逐渐发展起来的刺绣设备,它使传统的手工绣花实现高速度、高效率,并且还满足手工绣花无法达到的 多层次、多功能、统一性和完美性 的要求。 本文主要介绍了广州金升阳科技有限公司的一种DC/DC电源模块在绣花机控制系统中的应用解决方案,同时简单描述金升阳DC/DC电源模块的特性。 1. 电脑绣花机的工作原理 电脑绣花机的基本功能就是通过控制各电机协同配合工作,在布料上按照花样数据形成针迹完成刺绣过程。花样文件可以通过如软盘、U盘等存储介质拷贝到控制系统内部的存储器中,控制系统根据花样的要求来
[电源管理]
DC/DC电源<font color='red'>模块</font>在绣花机控制系统中的应用
基于CPCI总线多DSP系统的高速主机接口设计
    在现代通信、雷达和声纳系统中,随着实时处理要求的不断提高,对数字信号处理系统也提出了更高的要求。板载多片高性能的DSP芯片,配合大容量的SDRAM,可以很好地满足上述要求,并且已经成为了数字信号处理系统发展的趋势。采用CPCI总线集成系统,可以方便主机进行调试,控制和管理DSP系统。系统中的主机接口可以使主机通过CPCI总线访问板上的DSP和SDRAM芯片,这是多DSP系统设计的关键点之一。     不同于以往简单地使用一个CPLD进行粘合逻辑设计,本文提出了一种基于双状态机+Cache,预存预取的主机接口设计结构。在主机接口中设立了一个Cache,降低了CPCI总线与板上DSP和SDRAM芯片的耦合度,并且设计了两个
[嵌入式]
电子束焊机中的PLC特殊模块应用技术
    摘要: 介绍了利用PLC特殊功能模块实现对电子束流的起/起弧的梯度控制、高压电源的软启动和软关机、工作台的运动速度控制等功能。给出了应用特殊模块设计的控制系统结构及电路、并对用该方法设计的几种控制系统的控制原理进行了重点说明。     关键词: 电子束焊机  高压  电子束流  梯度  工作台 1 概述 电子束焊机是包括真空、高压、电子技术、自动控制和计算机等多种专业学科的高能束焊接设备,它主要由真空系统、高压电源、栅偏电源、阴极加热电源及其它控制电源、工作台运动机构等部分组成。电子速焊机包括几十个开关量输入、模拟量和较多的开关量输出以及焊接过程控制。由于用一般的模拟控制系统难以实现这些功能的控制。因而
[工业控制]
小广播
最新应用文章

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved